Added new_site as a raw tailwind+html site; initialized npm modules; demo template
This commit is contained in:
306 files changed
+70895
No files matched your search
+21
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) Tailwind Labs, Inc.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
<p align="center">
|
||||
<a href="https://tailwindcss.com" target="_blank">
|
||||
<picture>
|
||||
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/tailwindlabs/tailwindcss/HEAD/.github/logo-dark.svg">
|
||||
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/tailwindlabs/tailwindcss/HEAD/.github/logo-light.svg">
|
||||
<img alt="Tailwind CSS" src="https://raw.githubusercontent.com/tailwindlabs/tailwindcss/HEAD/.github/logo-light.svg" width="350" height="70" style="max-width: 100%;">
|
||||
</picture>
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
A utility-first CSS framework for rapidly building custom user interfaces.
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://github.com/tailwindlabs/tailwindcss/actions"><img src="https://img.shields.io/github/actions/workflow/status/tailwindlabs/tailwindcss/ci.yml?branch=next" alt="Build Status"></a>
|
||||
<a href="https://www.npmjs.com/package/tailwindcss"><img src="https://img.shields.io/npm/dt/tailwindcss.svg" alt="Total Downloads"></a>
|
||||
<a href="https://github.com/tailwindcss/tailwindcss/releases"><img src="https://img.shields.io/npm/v/tailwindcss.svg" alt="Latest Release"></a>
|
||||
<a href="https://github.com/tailwindcss/tailwindcss/blob/master/LICENSE"><img src="https://img.shields.io/npm/l/tailwindcss.svg" alt="License"></a>
|
||||
</p>
|
||||
|
||||
---
|
||||
|
||||
## Documentation
|
||||
|
||||
For full documentation, visit [tailwindcss.com](https://tailwindcss.com).
|
||||
|
||||
## Community
|
||||
|
||||
For help, discussion about best practices, or any other conversation that would benefit from being searchable:
|
||||
|
||||
[Discuss Tailwind CSS on GitHub](https://github.com/tailwindcss/tailwindcss/discussions)
|
||||
|
||||
For chatting with others using the framework:
|
||||
|
||||
[Join the Tailwind CSS Discord Server](https://discord.gg/7NF8GNe)
|
||||
|
||||
## Contributing
|
||||
|
||||
If you're interested in contributing to Tailwind CSS, please read our [contributing docs](https://github.com/tailwindcss/tailwindcss/blob/next/.github/CONTRIBUTING.md) **before submitting a pull request**.
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
#!/usr/bin/env node
|
||||
var it=(t,e)=>(e=Symbol[t])?e:Symbol.for("Symbol."+t),rt=t=>{throw TypeError(t)};var V=(t,e,n)=>{if(e!=null){typeof e!="object"&&typeof e!="function"&&rt("Object expected");var i,r;n&&(i=e[it("asyncDispose")]),i===void 0&&(i=e[it("dispose")],n&&(r=i)),typeof i!="function"&&rt("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},q=(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 st(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]=ot(n[l],o))}{let l=r.slice(2);n[l]!==void 0&&(i[r]=ot(n[l],o))}}return i}function ot(t,e){switch(e){case"string":return B(t);case"boolean":return R(t);case"number":return O(t);case"boolean | string":return R(t)??B(t);case"number | string":return O(t)??B(t);case"boolean | number":return R(t)??O(t);case"boolean | number | string":return R(t)??O(t)??B(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 O(t){if(typeof t=="number")return t;{let e=Number(t);if(!Number.isNaN(e))return e}}function B(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 L,transform as It}from"lightningcss";import{existsSync as Et}from"node:fs";import Q from"node:fs/promises";import C from"node:path";var v=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 pt from"node:path";import{stripVTControlCharacters as Ot}from"node:util";import g from"picocolors";import lt from"enhanced-resolve";import At from"node:fs";import{createRequire as Ft}from"node:module";var kt=Ft(import.meta.url).resolve;function at(t){if(typeof globalThis.__tw_resolve=="function"){let e=globalThis.__tw_resolve(t);if(e)return e}return kt(t)}var Yt=lt.ResolverFactory.createResolver({fileSystem:new lt.CachedInputFileSystem(At,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 A(){return`${g.italic(g.bold(g.blue("\u2248")))} tailwindcss ${g.blue(`v${Bt()}`)}`}function N(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 K(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 z(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 F(t,e=0){return`${" ".repeat(e+D.indent)}${t}`}function w(t=""){process.stderr.write(`${t}
|
||||
`)}function d(t=""){process.stdout.write(`${t}
|
||||
`)}function Bt(){if(typeof globalThis.__tw_version=="string")return globalThis.__tw_version;let{version:t}=JSON.parse(Rt.readFileSync(at("tailwindcss/package.json"),"utf-8"));return t}import G from"node:fs/promises";import Dt 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(Dt.dirname(t),{recursive:!0}),await G.writeFile(t,e,"utf8")}var mt=String.raw,p=Lt.DEBUG;function U(){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&&w(e.toString()),process.exit(1)}}async function bt(t){var Z=[];try{let e=V(Z,new dt);p&&e.start("[@tailwindcss/cli] (initial build)");let n=C.resolve(t["--cwd"]);t["--output"]&&t["--output"]!=="-"&&(t["--output"]=C.resolve(n,t["--output"]));t["--input"]&&t["--input"]!=="-"&&(t["--input"]=C.resolve(n,t["--input"]),Et(t["--input"])||(w(A()),w(),w(`Specified input file ${N(ct(t["--input"]))} does not exist.`),process.exit(1)));let i=process.hrtime.bigint();let r=t["--input"]?t["--input"]==="-"?await J():await Q.readFile(t["--input"],"utf-8"):mt`
|
||||
@import 'tailwindcss';
|
||||
`;let o={css:"",optimizedCss:""};async function a(S,b,m){let x=S;if(b["--minify"]||b["--optimize"])if(S!==o.css){p&&m.start("Optimize CSS");let $=Pt(S,{file:b["--input"]??"input.css",minify:b["--minify"]??!1});p&&m.end("Optimize CSS"),o.css=S,o.optimizedCss=$,x=$}else x=o.optimizedCss;p&&m.start("Write output"),b["--output"]&&b["--output"]!=="-"?await ft(b["--output"],x):d(x),p&&m.end("Write output")}let s=t["--input"]&&t["--input"]!=="-"?C.resolve(t["--input"]):null;let l=s?C.dirname(s):process.cwd();let u=s?[s]:[];async function f(S,b){p&&b.start("Setup compiler");let m=await zt(S,{base:l,onDependency(E){u.push(E)}}),x=(m.root==="none"?[]:m.root===null?[{base:n,pattern:"**/*"}]:[m.root]).concat(m.globs),$=new Wt({sources:x});return p&&b.end("Setup compiler"),[m,$]}let[y,h]=await ht(()=>f(r,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=V(x,new dt);p&&c.start("[@tailwindcss/cli] (watcher)");let tt=process.hrtime.bigint();let et=[];let P="incremental";let nt=u;for(let T of m){if(nt.includes(T)){P="full";break}et.push({file:T,extension:C.extname(T).slice(1)})}let j="";if(P==="full"){let T=t["--input"]?t["--input"]==="-"?await J():await Q.readFile(t["--input"],"utf-8"):mt`
|
||||
@import 'tailwindcss';
|
||||
`;Ut(nt),u=s?[s]:[],[y,h]=await f(T,c),p&&c.start("Scan for candidates");let M=h.scan();p&&c.end("Scan for candidates"),p&&c.start("Setup new watchers");let Ct=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=Ct,p&&c.start("Build CSS"),j=y.build(M),p&&c.end("Build CSS")}else if(P==="incremental"){p&&c.start("Scan for candidates");let T=h.scanFiles(et);if(p&&c.end("Scan for candidates"),T.length<=0){let M=process.hrtime.bigint();w(`Done in ${z(M-tt)}`);return}p&&c.start("Build CSS"),j=y.build(T),p&&c.end("Build CSS")}await a(j,t,c);let $t=process.hrtime.bigint();w(`Done in ${z($t-tt)}`)}catch($){var E=$,_t=!0}finally{q(x,E,_t)}}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 W=h.scan();p&&e.end("Scan for candidates");p&&e.start("Build CSS");let k=await ht(()=>y.build(W));p&&e.end("Build CSS");await a(k,t,e);let I=process.hrtime.bigint();w(A());w();w(`Done in ${z(I-i)}`)}catch(St){var xt=St,Tt=!0}finally{q(Z,xt,Tt)}}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 v,r=new Set,o=new v;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 y=>{if(y.type==="delete")return;let h=null;try{h=await Q.lstat(y.path)}catch{}!h?.isFile()&&!h?.isSymbolicLink()||r.add(y.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:L.Nesting,exclude:L.LogicalProperties|L.DirSelector|L.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 _ from"picocolors";function Y({invalid:t,usage:e,options:n}){let i=process.stdout.columns;if(d(A()),t&&(d(),d(`${_.dim("Invalid command:")} ${t}`)),e&&e.length>0){d(),d(_.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=>_.dim(f));let u=K(s,i-D.indent-a.length-1);u.length>1&&r!==0&&d(),d(F(`${a}${u.shift()}`));for(let f of u)d(F(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(_.dim("Options:"));let s=8;for(let{description:l,default:u=null}of Object.values(n)){let f=o.shift(),y=s+(a-f.length),h=2,W=i-f.length-y-h-D.indent,k=K(u!==null?`${l} ${_.dim(`[default:\u202F${N(`${u}`)}]`)}`:l,W);d(F(`${_.blue(f)} ${_.dim(_.gray("\xB7")).repeat(y)} ${k.shift()}`));for(let I of k)d(F(`${" ".repeat(f.length+y+h)}${I}`))}}}var H={"--help":{type:"boolean",description:"Display usage information",alias:"-h"}},X=st({...U(),...H}),wt=X._[0];wt&&(Y({invalid:wt,usage:["tailwindcss [options]"],options:{...U(),...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:{...U(),...H}}),process.exit(0));bt(X);
|
||||
+41
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"name": "@tailwindcss/cli",
|
||||
"version": "4.0.5",
|
||||
"description": "A utility-first CSS framework for rapidly building custom user interfaces.",
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/tailwindlabs/tailwindcss.git",
|
||||
"directory": "packages/@tailwindcss-cli"
|
||||
},
|
||||
"bugs": "https://github.com/tailwindlabs/tailwindcss/issues",
|
||||
"homepage": "https://tailwindcss.com",
|
||||
"bin": {
|
||||
"tailwindcss": "./dist/index.mjs"
|
||||
},
|
||||
"exports": {
|
||||
"./package.json": "./package.json"
|
||||
},
|
||||
"files": [
|
||||
"dist"
|
||||
],
|
||||
"publishConfig": {
|
||||
"provenance": true,
|
||||
"access": "public"
|
||||
},
|
||||
"dependencies": {
|
||||
"@parcel/watcher": "^2.5.1",
|
||||
"enhanced-resolve": "^5.18.0",
|
||||
"lightningcss": "^1.29.1",
|
||||
"mri": "^1.2.0",
|
||||
"picocolors": "^1.1.1",
|
||||
"@tailwindcss/node": "^4.0.5",
|
||||
"@tailwindcss/oxide": "^4.0.5",
|
||||
"tailwindcss": "4.0.5"
|
||||
},
|
||||
"scripts": {
|
||||
"lint": "tsc --noEmit",
|
||||
"build": "tsup-node",
|
||||
"dev": "pnpm run build -- --watch"
|
||||
}
|
||||
}
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) Tailwind Labs, Inc.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
<p align="center">
|
||||
<a href="https://tailwindcss.com" target="_blank">
|
||||
<picture>
|
||||
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/tailwindlabs/tailwindcss/HEAD/.github/logo-dark.svg">
|
||||
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/tailwindlabs/tailwindcss/HEAD/.github/logo-light.svg">
|
||||
<img alt="Tailwind CSS" src="https://raw.githubusercontent.com/tailwindlabs/tailwindcss/HEAD/.github/logo-light.svg" width="350" height="70" style="max-width: 100%;">
|
||||
</picture>
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
A utility-first CSS framework for rapidly building custom user interfaces.
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://github.com/tailwindlabs/tailwindcss/actions"><img src="https://img.shields.io/github/actions/workflow/status/tailwindlabs/tailwindcss/ci.yml?branch=next" alt="Build Status"></a>
|
||||
<a href="https://www.npmjs.com/package/tailwindcss"><img src="https://img.shields.io/npm/dt/tailwindcss.svg" alt="Total Downloads"></a>
|
||||
<a href="https://github.com/tailwindcss/tailwindcss/releases"><img src="https://img.shields.io/npm/v/tailwindcss.svg" alt="Latest Release"></a>
|
||||
<a href="https://github.com/tailwindcss/tailwindcss/blob/master/LICENSE"><img src="https://img.shields.io/npm/l/tailwindcss.svg" alt="License"></a>
|
||||
</p>
|
||||
|
||||
---
|
||||
|
||||
## Documentation
|
||||
|
||||
For full documentation, visit [tailwindcss.com](https://tailwindcss.com).
|
||||
|
||||
## Community
|
||||
|
||||
For help, discussion about best practices, or any other conversation that would benefit from being searchable:
|
||||
|
||||
[Discuss Tailwind CSS on GitHub](https://github.com/tailwindcss/tailwindcss/discussions)
|
||||
|
||||
For chatting with others using the framework:
|
||||
|
||||
[Join the Tailwind CSS Discord Server](https://discord.gg/7NF8GNe)
|
||||
|
||||
## Contributing
|
||||
|
||||
If you're interested in contributing to Tailwind CSS, please read our [contributing docs](https://github.com/tailwindcss/tailwindcss/blob/next/.github/CONTRIBUTING.md) **before submitting a pull request**.
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
import { ResolveHook } from 'node:module';
|
||||
|
||||
declare let resolve: ResolveHook;
|
||||
|
||||
export { resolve };
|
||||
+1
@@ -0,0 +1 @@
|
||||
import{isBuiltin as i}from"node:module";var o=async(a,e,u)=>{let r=await u(a,e);if(r.url===import.meta.url||i(r.url)||!e.parentURL)return r;let t=new URL(e.parentURL).searchParams.get("id");if(t===null)return r;let l=new URL(r.url);return l.searchParams.set("id",t),{...r,url:`${l}`}};export{o as resolve};
|
||||
+117
@@ -0,0 +1,117 @@
|
||||
import { Candidate, Variant } from './candidate';
|
||||
import { compileAstNodes } from './compile';
|
||||
import { ClassEntry, VariantEntry } from './intellisense';
|
||||
import { Theme } from './theme';
|
||||
import { Utilities } from './utilities';
|
||||
import { Variants } from './variants';
|
||||
import { Features } from 'tailwindcss';
|
||||
export { Features } from 'tailwindcss';
|
||||
|
||||
declare const DEBUG: boolean;
|
||||
|
||||
declare const env_DEBUG: typeof DEBUG;
|
||||
declare namespace env {
|
||||
export { env_DEBUG as DEBUG };
|
||||
}
|
||||
|
||||
type DesignSystem = {
|
||||
theme: Theme;
|
||||
utilities: Utilities;
|
||||
variants: Variants;
|
||||
invalidCandidates: Set<string>;
|
||||
important: boolean;
|
||||
getClassOrder(classes: string[]): [string, bigint | null][];
|
||||
getClassList(): ClassEntry[];
|
||||
getVariants(): VariantEntry[];
|
||||
parseCandidate(candidate: string): Readonly<Candidate>[];
|
||||
parseVariant(variant: string): Readonly<Variant> | null;
|
||||
compileAstNodes(candidate: Candidate): ReturnType<typeof compileAstNodes>;
|
||||
getVariantOrder(): Map<Variant, number>;
|
||||
resolveThemeValue(path: string): string | undefined;
|
||||
trackUsedVariables(raw: string): void;
|
||||
candidatesToCss(classes: string[]): (string | null)[];
|
||||
};
|
||||
|
||||
type StyleRule = {
|
||||
kind: 'rule';
|
||||
selector: string;
|
||||
nodes: AstNode[];
|
||||
};
|
||||
type AtRule = {
|
||||
kind: 'at-rule';
|
||||
name: string;
|
||||
params: string;
|
||||
nodes: AstNode[];
|
||||
};
|
||||
type Declaration = {
|
||||
kind: 'declaration';
|
||||
property: string;
|
||||
value: string | undefined;
|
||||
important: boolean;
|
||||
};
|
||||
type Comment = {
|
||||
kind: 'comment';
|
||||
value: string;
|
||||
};
|
||||
type Context = {
|
||||
kind: 'context';
|
||||
context: Record<string, string | boolean>;
|
||||
nodes: AstNode[];
|
||||
};
|
||||
type AtRoot = {
|
||||
kind: 'at-root';
|
||||
nodes: AstNode[];
|
||||
};
|
||||
type AstNode = StyleRule | AtRule | Declaration | Comment | Context | AtRoot;
|
||||
|
||||
type Resolver = (id: string, base: string) => Promise<string | false | undefined>;
|
||||
interface CompileOptions {
|
||||
base: string;
|
||||
onDependency: (path: string) => void;
|
||||
shouldRewriteUrls?: boolean;
|
||||
customCssResolver?: Resolver;
|
||||
customJsResolver?: Resolver;
|
||||
}
|
||||
declare function compileAst(ast: AstNode[], options: CompileOptions): Promise<{
|
||||
globs: {
|
||||
base: string;
|
||||
pattern: string;
|
||||
}[];
|
||||
root: "none" | {
|
||||
base: string;
|
||||
pattern: string;
|
||||
} | null;
|
||||
features: Features;
|
||||
build(candidates: string[]): AstNode[];
|
||||
}>;
|
||||
declare function compile(css: string, options: CompileOptions): Promise<{
|
||||
globs: {
|
||||
base: string;
|
||||
pattern: string;
|
||||
}[];
|
||||
root: "none" | {
|
||||
base: string;
|
||||
pattern: string;
|
||||
} | null;
|
||||
features: Features;
|
||||
build(candidates: string[]): string;
|
||||
}>;
|
||||
declare function __unstable__loadDesignSystem(css: string, { base }: {
|
||||
base: string;
|
||||
}): Promise<DesignSystem>;
|
||||
|
||||
declare class Instrumentation implements Disposable {
|
||||
#private;
|
||||
private defaultFlush;
|
||||
constructor(defaultFlush?: (message: string) => undefined);
|
||||
hit(label: string): void;
|
||||
start(label: string): void;
|
||||
end(label: string): void;
|
||||
reset(): void;
|
||||
report(flush?: (message: string) => undefined): void;
|
||||
[Symbol.dispose](): void;
|
||||
}
|
||||
|
||||
declare function normalizePath(originalPath: string): string;
|
||||
|
||||
export { Instrumentation, __unstable__loadDesignSystem, compile, compileAst, env, normalizePath };
|
||||
+121
@@ -0,0 +1,121 @@
|
||||
import { Candidate, Variant } from './candidate';
|
||||
import { compileAstNodes } from './compile';
|
||||
import { ClassEntry, VariantEntry } from './intellisense';
|
||||
import { Theme } from './theme';
|
||||
import { Utilities } from './utilities';
|
||||
import { Variants } from './variants';
|
||||
import { Features } from 'tailwindcss';
|
||||
export { Features } from 'tailwindcss';
|
||||
|
||||
declare const DEBUG: boolean;
|
||||
|
||||
declare const env_DEBUG: typeof DEBUG;
|
||||
declare namespace env {
|
||||
export { env_DEBUG as DEBUG };
|
||||
}
|
||||
|
||||
type DesignSystem = {
|
||||
theme: Theme;
|
||||
utilities: Utilities;
|
||||
variants: Variants;
|
||||
invalidCandidates: Set<string>;
|
||||
important: boolean;
|
||||
getClassOrder(classes: string[]): [string, bigint | null][];
|
||||
getClassList(): ClassEntry[];
|
||||
getVariants(): VariantEntry[];
|
||||
parseCandidate(candidate: string): Readonly<Candidate>[];
|
||||
parseVariant(variant: string): Readonly<Variant> | null;
|
||||
compileAstNodes(candidate: Candidate): ReturnType<typeof compileAstNodes>;
|
||||
getVariantOrder(): Map<Variant, number>;
|
||||
resolveThemeValue(path: string): string | undefined;
|
||||
trackUsedVariables(raw: string): void;
|
||||
candidatesToCss(classes: string[]): (string | null)[];
|
||||
};
|
||||
|
||||
type StyleRule = {
|
||||
kind: 'rule';
|
||||
selector: string;
|
||||
nodes: AstNode[];
|
||||
};
|
||||
type AtRule = {
|
||||
kind: 'at-rule';
|
||||
name: string;
|
||||
params: string;
|
||||
nodes: AstNode[];
|
||||
};
|
||||
type Declaration = {
|
||||
kind: 'declaration';
|
||||
property: string;
|
||||
value: string | undefined;
|
||||
important: boolean;
|
||||
};
|
||||
type Comment = {
|
||||
kind: 'comment';
|
||||
value: string;
|
||||
};
|
||||
type Context = {
|
||||
kind: 'context';
|
||||
context: Record<string, string | boolean>;
|
||||
nodes: AstNode[];
|
||||
};
|
||||
type AtRoot = {
|
||||
kind: 'at-root';
|
||||
nodes: AstNode[];
|
||||
};
|
||||
type AstNode = StyleRule | AtRule | Declaration | Comment | Context | AtRoot;
|
||||
|
||||
type Resolver = (id: string, base: string) => Promise<string | false | undefined>;
|
||||
interface CompileOptions {
|
||||
base: string;
|
||||
onDependency: (path: string) => void;
|
||||
shouldRewriteUrls?: boolean;
|
||||
customCssResolver?: Resolver;
|
||||
customJsResolver?: Resolver;
|
||||
}
|
||||
declare function compileAst(ast: AstNode[], options: CompileOptions): Promise<{
|
||||
globs: {
|
||||
base: string;
|
||||
pattern: string;
|
||||
}[];
|
||||
root: "none" | {
|
||||
base: string;
|
||||
pattern: string;
|
||||
} | null;
|
||||
features: Features;
|
||||
build(candidates: string[]): AstNode[];
|
||||
}>;
|
||||
declare function compile(css: string, options: CompileOptions): Promise<{
|
||||
globs: {
|
||||
base: string;
|
||||
pattern: string;
|
||||
}[];
|
||||
root: "none" | {
|
||||
base: string;
|
||||
pattern: string;
|
||||
} | null;
|
||||
features: Features;
|
||||
build(candidates: string[]): string;
|
||||
}>;
|
||||
declare function __unstable__loadDesignSystem(css: string, { base }: {
|
||||
base: string;
|
||||
}): Promise<DesignSystem>;
|
||||
declare function loadModule(id: string, base: string, onDependency: (path: string) => void, customJsResolver?: Resolver): Promise<{
|
||||
base: string;
|
||||
module: any;
|
||||
}>;
|
||||
|
||||
declare class Instrumentation implements Disposable {
|
||||
#private;
|
||||
private defaultFlush;
|
||||
constructor(defaultFlush?: (message: string) => undefined);
|
||||
hit(label: string): void;
|
||||
start(label: string): void;
|
||||
end(label: string): void;
|
||||
reset(): void;
|
||||
report(flush?: (message: string) => undefined): void;
|
||||
[Symbol.dispose](): void;
|
||||
}
|
||||
|
||||
declare function normalizePath(originalPath: string): string;
|
||||
|
||||
export { type CompileOptions, Instrumentation, type Resolver, __unstable__loadDesignSystem, compile, compileAst, env, loadModule, normalizePath };
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
"use strict";var Ce=Object.create;var N=Object.defineProperty;var Ne=Object.getOwnPropertyDescriptor;var $e=Object.getOwnPropertyNames;var ke=Object.getPrototypeOf,Te=Object.prototype.hasOwnProperty;var X=(e,t)=>{for(var r in t)N(e,r,{get:t[r],enumerable:!0})},Z=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of $e(t))!Te.call(e,i)&&i!==r&&N(e,i,{get:()=>t[i],enumerable:!(s=Ne(t,i))||s.enumerable});return e};var g=(e,t,r)=>(r=e!=null?Ce(ke(e)):{},Z(t||!e||!e.__esModule?N(r,"default",{value:e,enumerable:!0}):r,e)),_e=e=>Z(N({},"__esModule",{value:!0}),e);var dt={};X(dt,{Features:()=>h.Features,Instrumentation:()=>Y,__unstable__loadDesignSystem:()=>at,compile:()=>ot,compileAst:()=>lt,env:()=>$,loadModule:()=>q,normalizePath:()=>U});module.exports=_e(dt);var Re=g(require("module")),Ee=require("url");var $={};X($,{DEBUG:()=>K});var K=be(process.env.DEBUG);function be(e){if(e===void 0)return!1;if(e==="true"||e==="1")return!0;if(e==="false"||e==="0")return!1;if(e==="*")return!0;let t=e.split(",").map(r=>r.split(":")[0]);return t.includes("-tailwindcss")?!1:!!t.includes("tailwindcss")}var y=g(require("enhanced-resolve")),ye=require("jiti"),I=g(require("fs")),J=g(require("fs/promises")),v=g(require("path")),H=require("url"),h=require("tailwindcss");var k=g(require("fs/promises")),w=g(require("path")),De=[/import[\s\S]*?['"](.{3,}?)['"]/gi,/import[\s\S]*from[\s\S]*?['"](.{3,}?)['"]/gi,/export[\s\S]*from[\s\S]*?['"](.{3,}?)['"]/gi,/require\(['"`](.+)['"`]\)/gi],Oe=[".js",".cjs",".mjs"],Ue=["",".js",".cjs",".mjs",".ts",".cts",".mts",".jsx",".tsx"],Ie=["",".ts",".cts",".mts",".tsx",".js",".cjs",".mjs",".jsx"];async function Pe(e,t){for(let r of t){let s=`${e}${r}`;if((await k.default.stat(s).catch(()=>null))?.isFile())return s}for(let r of t){let s=`${e}/index${r}`;if(await k.default.access(s).then(()=>!0,()=>!1))return s}return null}async function ee(e,t,r,s){let i=Oe.includes(s)?Ue:Ie,l=await Pe(w.default.resolve(r,t),i);if(l===null||e.has(l))return;e.add(l),r=w.default.dirname(l),s=w.default.extname(l);let n=await k.default.readFile(l,"utf-8"),a=[];for(let o of De)for(let u of n.matchAll(o))u[1].startsWith(".")&&a.push(ee(e,u[1],r,s));await Promise.all(a)}async function te(e){let t=new Set;return await ee(t,e,w.default.dirname(e),w.default.extname(e)),Array.from(t)}var z=g(require("path"));var R=92,T=47,_=42,Fe=34,Ke=39,je=58,b=59,x=10,E=32,D=9,re=123,j=125,W=40,se=41,Le=91,Me=93,ie=45,L=64,We=33;function ne(e){e=e.replaceAll(`\r
|
||||
`,`
|
||||
`);let t=[],r=[],s=[],i=null,l=null,n="",a="",o;for(let u=0;u<e.length;u++){let f=e.charCodeAt(u);if(f===R)n+=e.slice(u,u+2),u+=1;else if(f===T&&e.charCodeAt(u+1)===_){let c=u;for(let d=u+2;d<e.length;d++)if(o=e.charCodeAt(d),o===R)d+=1;else if(o===_&&e.charCodeAt(d+1)===T){u=d+1;break}let p=e.slice(c,u+1);p.charCodeAt(2)===We&&r.push(ae(p.slice(2,-2)))}else if(f===Ke||f===Fe){let c=u;for(let p=u+1;p<e.length;p++)if(o=e.charCodeAt(p),o===R)p+=1;else if(o===f){u=p;break}else{if(o===b&&e.charCodeAt(p+1)===x)throw new Error(`Unterminated string: ${e.slice(c,p+1)+String.fromCharCode(f)}`);if(o===x)throw new Error(`Unterminated string: ${e.slice(c,p)+String.fromCharCode(f)}`)}n+=e.slice(c,u+1)}else{if((f===E||f===x||f===D)&&(o=e.charCodeAt(u+1))&&(o===E||o===x||o===D))continue;if(f===x){if(n.length===0)continue;o=n.charCodeAt(n.length-1),o!==E&&o!==x&&o!==D&&(n+=" ")}else if(f===ie&&e.charCodeAt(u+1)===ie&&n.length===0){let c="",p=u,d=-1;for(let m=u+2;m<e.length;m++)if(o=e.charCodeAt(m),o===R)m+=1;else if(o===T&&e.charCodeAt(m+1)===_){for(let A=m+2;A<e.length;A++)if(o=e.charCodeAt(A),o===R)A+=1;else if(o===_&&e.charCodeAt(A+1)===T){m=A+1;break}}else if(d===-1&&o===je)d=n.length+m-p;else if(o===b&&c.length===0){n+=e.slice(p,m),u=m;break}else if(o===W)c+=")";else if(o===Le)c+="]";else if(o===re)c+="}";else if((o===j||e.length-1===m)&&c.length===0){u=m-1,n+=e.slice(p,m);break}else(o===se||o===Me||o===j)&&c.length>0&&e[m]===c[c.length-1]&&(c=c.slice(0,-1));let F=M(n,d);if(!F)throw new Error("Invalid custom property, expected a value");i?i.nodes.push(F):t.push(F),n=""}else if(f===b&&n.charCodeAt(0)===L)l=C(n),i?i.nodes.push(l):t.push(l),n="",l=null;else if(f===b&&a[a.length-1]!==")"){let c=M(n);if(!c)throw n.length===0?new Error("Unexpected semicolon"):new Error(`Invalid declaration: \`${n.trim()}\``);i?i.nodes.push(c):t.push(c),n=""}else if(f===re&&a[a.length-1]!==")")a+="}",l=le(n.trim()),i&&i.nodes.push(l),s.push(i),i=l,n="",l=null;else if(f===j&&a[a.length-1]!==")"){if(a==="")throw new Error("Missing opening {");if(a=a.slice(0,-1),n.length>0)if(n.charCodeAt(0)===L)l=C(n),i?i.nodes.push(l):t.push(l),n="",l=null;else{let p=n.indexOf(":");if(i){let d=M(n,p);if(!d)throw new Error(`Invalid declaration: \`${n.trim()}\``);i.nodes.push(d)}}let c=s.pop()??null;c===null&&i&&t.push(i),i=c,n="",l=null}else if(f===W)a+=")",n+="(";else if(f===se){if(a[a.length-1]!==")")throw new Error("Missing opening (");a=a.slice(0,-1),n+=")"}else{if(n.length===0&&(f===E||f===x||f===D))continue;n+=String.fromCharCode(f)}}}if(n.charCodeAt(0)===L&&t.push(C(n)),a.length>0&&i){if(i.kind==="rule")throw new Error(`Missing closing } at ${i.selector}`);if(i.kind==="at-rule")throw new Error(`Missing closing } at ${i.name} ${i.params}`)}return r.length>0?r.concat(t):t}function C(e,t=[]){for(let r=5;r<e.length;r++){let s=e.charCodeAt(r);if(s===E||s===W){let i=e.slice(0,r).trim(),l=e.slice(r).trim();return B(i,l,t)}}return B(e.trim(),"",t)}function M(e,t=e.indexOf(":")){if(t===-1)return null;let r=e.indexOf("!important",t+1);return oe(e.slice(0,t).trim(),e.slice(t+1,r===-1?e.length:r).trim(),r!==-1)}var S=class extends Map{constructor(r){super();this.factory=r}get(r){let s=super.get(r);return s===void 0&&(s=this.factory(r,this),this.set(r,s)),s}};var Be=64;function ze(e,t=[]){return{kind:"rule",selector:e,nodes:t}}function B(e,t="",r=[]){return{kind:"at-rule",name:e,params:t,nodes:r}}function le(e,t=[]){return e.charCodeAt(0)===Be?C(e,t):ze(e,t)}function oe(e,t,r=!1){return{kind:"declaration",property:e,value:t,important:r}}function ae(e){return{kind:"comment",value:e}}function O(e,t,r=[],s={}){for(let i=0;i<e.length;i++){let l=e[i],n=r[r.length-1]??null;if(l.kind==="context"){if(O(l.nodes,t,r,{...s,...l.context})===2)return 2;continue}r.push(l);let a=!1,o=0,u=t(l,{parent:n,context:s,path:r,replaceWith(f){a=!0,Array.isArray(f)?f.length===0?(e.splice(i,1),o=0):f.length===1?(e[i]=f[0],o=1):(e.splice(i,1,...f),o=f.length):(e[i]=f,o=1)}})??0;if(r.pop(),a){u===0?i--:i+=o-1;continue}if(u===2)return 2;if(u!==1&&"nodes"in l){r.push(l);let f=O(l.nodes,t,r,s);if(r.pop(),f===2)return 2}}}function fe(e){function t(s,i=0){let l="",n=" ".repeat(i);if(s.kind==="declaration")l+=`${n}${s.property}: ${s.value}${s.important?" !important":""};
|
||||
`;else if(s.kind==="rule"){l+=`${n}${s.selector} {
|
||||
`;for(let a of s.nodes)l+=t(a,i+1);l+=`${n}}
|
||||
`}else if(s.kind==="at-rule"){if(s.nodes.length===0)return`${n}${s.name} ${s.params};
|
||||
`;l+=`${n}${s.name}${s.params?` ${s.params} `:" "}{
|
||||
`;for(let a of s.nodes)l+=t(a,i+1);l+=`${n}}
|
||||
`}else if(s.kind==="comment")l+=`${n}/*${s.value}*/
|
||||
`;else if(s.kind==="context"||s.kind==="at-root")return"";return l}let r="";for(let s of e){let i=t(s);i!==""&&(r+=i)}return r}function Ge(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 s="";if(r>4&&e[3]==="\\"){var i=e[2];(i==="?"||i===".")&&e.slice(0,2)==="\\\\"&&(e=e.slice(2),s="//")}var l=e.split(/[/\\]+/);return t!==!1&&l[l.length-1]===""&&l.pop(),s+l.join("/")}function U(e){let t=Ge(e);return e.startsWith("\\\\")&&t.startsWith("/")&&!t.startsWith("//")?`/${t}`:t}var G=/(?<!@import\s+)(?<=^|[^\w\-\u0080-\uffff])url\((\s*('[^']+'|"[^"]+")\s*|[^'")]+)\)/,ue=/(?<=image-set\()((?:[\w-]{1,256}\([^)]*\)|[^)])*)(?=\))/,He=/(?:gradient|element|cross-fade|image)\(/,Ve=/^\s*data:/i,Je=/^([a-z]+:)?\/\//,qe=/^[A-Z_][.\w-]*\(/i,Qe=/(?:^|\s)(?<url>[\w-]+\([^)]*\)|"[^"]*"|'[^']*'|[^,]\S*[^,])\s*(?:\s(?<descriptor>\w[^,]+))?(?:,|$)/g,Ye=/(?<!\\)"/g,Xe=/(?: |\\t|\\n|\\f|\\r)+/g,Ze=e=>Ve.test(e),et=e=>Je.test(e);async function ce({css:e,base:t,root:r}){if(!e.includes("url(")&&!e.includes("image-set("))return e;let s=ne(e),i=[];function l(n){if(n[0]==="/")return n;let a=z.posix.join(U(t),n),o=z.posix.relative(U(r),a);return o.startsWith(".")||(o="./"+o),o}return O(s,n=>{if(n.kind!=="declaration"||!n.value)return;let a=G.test(n.value),o=ue.test(n.value);if(a||o){let u=o?tt:pe;i.push(u(n.value,l).then(f=>{n.value=f}))}}),i.length&&await Promise.all(i),fe(s)}function pe(e,t){return de(e,G,async r=>{let[s,i]=r;return await me(i.trim(),s,t)})}async function tt(e,t){return await de(e,ue,async r=>{let[,s]=r;return await st(s,async({url:l})=>G.test(l)?await pe(l,t):He.test(l)?l:await me(l,l,t))})}async function me(e,t,r,s="url"){let i="",l=e[0];if((l==='"'||l==="'")&&(i=l,e=e.slice(1,-1)),rt(e))return t;let n=await r(e);return i===""&&n!==encodeURI(n)&&(i='"'),i==="'"&&n.includes("'")&&(i='"'),i==='"'&&n.includes('"')&&(n=n.replace(Ye,'\\"')),`${s}(${i}${n}${i})`}function rt(e,t){return et(e)||Ze(e)||!e[0].match(/[\.a-zA-Z0-9_]/)||qe.test(e)}function st(e,t){return Promise.all(it(e).map(async({url:r,descriptor:s})=>({url:await t({url:r,descriptor:s}),descriptor:s}))).then(nt)}function it(e){let t=e.trim().replace(Xe," ").replace(/\r?\n/,"").replace(/,\s+/,", ").replaceAll(/\s+/g," ").matchAll(Qe);return Array.from(t,({groups:r})=>({url:r?.url?.trim()??"",descriptor:r?.descriptor?.trim()??""})).filter(({url:r})=>!!r)}function nt(e){return e.map(({url:t,descriptor:r})=>t+(r?` ${r}`:"")).join(", ")}async function de(e,t,r){let s,i=e,l="";for(;s=t.exec(i);)l+=i.slice(0,s.index),l+=await r(s),i=i.slice(s.index+s[0].length);return l+=i,l}var mt={};function ve({base:e,onDependency:t,shouldRewriteUrls:r,customCssResolver:s,customJsResolver:i}){return{base:e,async loadModule(l,n){return q(l,n,t,i)},async loadStylesheet(l,n){let a=await we(l,n,t,s);return r&&(a.content=await ce({css:a.content,root:n,base:a.base})),a}}}async function Ae(e,t){if(e.root&&e.root!=="none"){let r=/[*{]/,s=[];for(let l of e.root.pattern.split("/")){if(r.test(l))break;s.push(l)}if(!await J.default.stat(v.default.resolve(t,s.join("/"))).then(l=>l.isDirectory()).catch(()=>!1))throw new Error(`The \`source(${e.root.pattern})\` does not exist`)}}async function lt(e,t){let r=await(0,h.compileAst)(e,ve(t));return await Ae(r,t.base),r}async function ot(e,t){let r=await(0,h.compile)(e,ve(t));return await Ae(r,t.base),r}async function at(e,{base:t}){return(0,h.__unstable__loadDesignSystem)(e,{base:t,async loadModule(r,s){return q(r,s,()=>{})},async loadStylesheet(r,s){return we(r,s,()=>{})}})}async function q(e,t,r,s){if(e[0]!=="."){let a=await xe(e,t,s);if(!a)throw new Error(`Could not resolve '${e}' from '${t}'`);let o=await he((0,H.pathToFileURL)(a).href);return{base:(0,v.dirname)(a),module:o.default??o}}let i=await xe(e,t,s);if(!i)throw new Error(`Could not resolve '${e}' from '${t}'`);let[l,n]=await Promise.all([he((0,H.pathToFileURL)(i).href+"?id="+Date.now()),te(i)]);for(let a of n)r(a);return{base:(0,v.dirname)(i),module:l.default??l}}async function we(e,t,r,s){let i=await ut(e,t,s);if(!i)throw new Error(`Could not resolve '${e}' from '${t}'`);if(r(i),typeof globalThis.__tw_readFile=="function"){let n=await globalThis.__tw_readFile(i,"utf-8");if(n)return{base:v.default.dirname(i),content:n}}let l=await J.default.readFile(i,"utf-8");return{base:v.default.dirname(i),content:l}}var ge=null;async function he(e){if(typeof globalThis.__tw_load=="function"){let t=await globalThis.__tw_load(e);if(t)return t}try{return await import(e)}catch{return ge??=(0,ye.createJiti)(mt.url,{moduleCache:!1,fsCache:!1}),await ge.import(e)}}var Q=["node_modules",...process.env.NODE_PATH?[process.env.NODE_PATH]:[]],ft=y.default.ResolverFactory.createResolver({fileSystem:new y.default.CachedInputFileSystem(I.default,4e3),useSyncFileSystemCalls:!0,extensions:[".css"],mainFields:["style"],conditionNames:["style"],modules:Q});async function ut(e,t,r){if(typeof globalThis.__tw_resolve=="function"Line truncated
|
||||
`)){this.defaultFlush=t}#r=new S(()=>({value:0}));#t=new S(()=>({value:0n}));#e=[];hit(t){this.#r.get(t).value++}start(t){let r=this.#e.map(i=>i.label).join("//"),s=`${r}${r.length===0?"":"//"}${t}`;this.#r.get(s).value++,this.#t.get(s),this.#e.push({id:s,label:t,namespace:r,value:process.hrtime.bigint()})}end(t){let r=process.hrtime.bigint();if(this.#e[this.#e.length-1].label!==t)throw new Error(`Mismatched timer label: \`${t}\`, expected \`${this.#e[this.#e.length-1].label}\``);let s=this.#e.pop(),i=r-s.value;this.#t.get(s.id).value+=i}reset(){this.#r.clear(),this.#t.clear(),this.#e.splice(0)}report(t=this.defaultFlush){let r=[],s=!1;for(let n=this.#e.length-1;n>=0;n--)this.end(this.#e[n].label);for(let[n,{value:a}]of this.#r.entries()){if(this.#t.has(n))continue;r.length===0&&(s=!0,r.push("Hits:"));let o=n.split("//").length;r.push(`${" ".repeat(o)}${n} ${P(Se(`\xD7 ${a}`))}`)}this.#t.size>0&&s&&r.push(`
|
||||
Timers:`);let i=-1/0,l=new Map;for(let[n,{value:a}]of this.#t){let o=`${(Number(a)/1e6).toFixed(2)}ms`;l.set(n,o),i=Math.max(i,o.length)}for(let n of this.#t.keys()){let a=n.split("//").length;r.push(`${P(`[${l.get(n).padStart(i," ")}]`)}${" ".repeat(a-1)}${a===1?" ":P(" \u21B3 ")}${n.split("//").pop()} ${this.#r.get(n).value===1?"":P(Se(`\xD7 ${this.#r.get(n).value}`))}`.trimEnd())}t(`
|
||||
${r.join(`
|
||||
`)}
|
||||
`),this.reset()}[Symbol.dispose](){K&&this.report()}};function P(e){return`\x1B[2m${e}\x1B[22m`}function Se(e){return`\x1B[34m${e}\x1B[39m`}process.versions.bun||Re.register?.((0,Ee.pathToFileURL)(require.resolve("@tailwindcss/node/esm-cache-loader")));0&&(module.exports={Features,Instrumentation,__unstable__loadDesignSystem,compile,compileAst,env,loadModule,normalizePath});
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
var ve=Object.defineProperty;var Ae=(e,t)=>{for(var r in t)ve(e,r,{get:t[r],enumerable:!0})};import*as k from"node:module";import{pathToFileURL as at}from"node:url";var D={};Ae(D,{DEBUG:()=>b});var b=we(process.env.DEBUG);function we(e){if(e===void 0)return!1;if(e==="true"||e==="1")return!0;if(e==="false"||e==="0")return!1;if(e==="*")return!0;let t=e.split(",").map(r=>r.split(":")[0]);return t.includes("-tailwindcss")?!1:!!t.includes("tailwindcss")}import y from"enhanced-resolve";import{createJiti as Qe}from"jiti";import z from"node:fs";import me from"node:fs/promises";import W,{dirname as oe}from"node:path";import{pathToFileURL as ae}from"node:url";import{__unstable__loadDesignSystem as Ye,compile as Xe,compileAst as Ze,Features as et}from"tailwindcss";import O from"node:fs/promises";import v from"node:path";var Se=[/import[\s\S]*?['"](.{3,}?)['"]/gi,/import[\s\S]*from[\s\S]*?['"](.{3,}?)['"]/gi,/export[\s\S]*from[\s\S]*?['"](.{3,}?)['"]/gi,/require\(['"`](.+)['"`]\)/gi],Re=[".js",".cjs",".mjs"],Ee=["",".js",".cjs",".mjs",".ts",".cts",".mts",".jsx",".tsx"],Ce=["",".ts",".cts",".mts",".tsx",".js",".cjs",".mjs",".jsx"];async function Ne(e,t){for(let r of t){let s=`${e}${r}`;if((await O.stat(s).catch(()=>null))?.isFile())return s}for(let r of t){let s=`${e}/index${r}`;if(await O.access(s).then(()=>!0,()=>!1))return s}return null}async function H(e,t,r,s){let i=Re.includes(s)?Ee:Ce,l=await Ne(v.resolve(r,t),i);if(l===null||e.has(l))return;e.add(l),r=v.dirname(l),s=v.extname(l);let n=await O.readFile(l,"utf-8"),a=[];for(let o of Se)for(let f of n.matchAll(o))f[1].startsWith(".")&&a.push(H(e,f[1],r,s));await Promise.all(a)}async function V(e){let t=new Set;return await H(t,e,v.dirname(e),v.extname(e)),Array.from(t)}import*as L from"node:path";var A=92,R=47,E=42,$e=34,_e=39,ke=58,C=59,g=10,w=32,N=9,q=123,U=125,F=40,J=41,Te=91,be=93,Q=45,I=64,De=33;function Y(e){e=e.replaceAll(`\r
|
||||
`,`
|
||||
`);let t=[],r=[],s=[],i=null,l=null,n="",a="",o;for(let f=0;f<e.length;f++){let u=e.charCodeAt(f);if(u===A)n+=e.slice(f,f+2),f+=1;else if(u===R&&e.charCodeAt(f+1)===E){let c=f;for(let d=f+2;d<e.length;d++)if(o=e.charCodeAt(d),o===A)d+=1;else if(o===E&&e.charCodeAt(d+1)===R){f=d+1;break}let m=e.slice(c,f+1);m.charCodeAt(2)===De&&r.push(ee(m.slice(2,-2)))}else if(u===_e||u===$e){let c=f;for(let m=f+1;m<e.length;m++)if(o=e.charCodeAt(m),o===A)m+=1;else if(o===u){f=m;break}else{if(o===C&&e.charCodeAt(m+1)===g)throw new Error(`Unterminated string: ${e.slice(c,m+1)+String.fromCharCode(u)}`);if(o===g)throw new Error(`Unterminated string: ${e.slice(c,m)+String.fromCharCode(u)}`)}n+=e.slice(c,f+1)}else{if((u===w||u===g||u===N)&&(o=e.charCodeAt(f+1))&&(o===w||o===g||o===N))continue;if(u===g){if(n.length===0)continue;o=n.charCodeAt(n.length-1),o!==w&&o!==g&&o!==N&&(n+=" ")}else if(u===Q&&e.charCodeAt(f+1)===Q&&n.length===0){let c="",m=f,d=-1;for(let p=f+2;p<e.length;p++)if(o=e.charCodeAt(p),o===A)p+=1;else if(o===R&&e.charCodeAt(p+1)===E){for(let h=p+2;h<e.length;h++)if(o=e.charCodeAt(h),o===A)h+=1;else if(o===E&&e.charCodeAt(h+1)===R){p=h+1;break}}else if(d===-1&&o===ke)d=n.length+p-m;else if(o===C&&c.length===0){n+=e.slice(m,p),f=p;break}else if(o===F)c+=")";else if(o===Te)c+="]";else if(o===q)c+="}";else if((o===U||e.length-1===p)&&c.length===0){f=p-1,n+=e.slice(m,p);break}else(o===J||o===be||o===U)&&c.length>0&&e[p]===c[c.length-1]&&(c=c.slice(0,-1));let T=P(n,d);if(!T)throw new Error("Invalid custom property, expected a value");i?i.nodes.push(T):t.push(T),n=""}else if(u===C&&n.charCodeAt(0)===I)l=S(n),i?i.nodes.push(l):t.push(l),n="",l=null;else if(u===C&&a[a.length-1]!==")"){let c=P(n);if(!c)throw n.length===0?new Error("Unexpected semicolon"):new Error(`Invalid declaration: \`${n.trim()}\``);i?i.nodes.push(c):t.push(c),n=""}else if(u===q&&a[a.length-1]!==")")a+="}",l=X(n.trim()),i&&i.nodes.push(l),s.push(i),i=l,n="",l=null;else if(u===U&&a[a.length-1]!==")"){if(a==="")throw new Error("Missing opening {");if(a=a.slice(0,-1),n.length>0)if(n.charCodeAt(0)===I)l=S(n),i?i.nodes.push(l):t.push(l),n="",l=null;else{let m=n.indexOf(":");if(i){let d=P(n,m);if(!d)throw new Error(`Invalid declaration: \`${n.trim()}\``);i.nodes.push(d)}}let c=s.pop()??null;c===null&&i&&t.push(i),i=c,n="",l=null}else if(u===F)a+=")",n+="(";else if(u===J){if(a[a.length-1]!==")")throw new Error("Missing opening (");a=a.slice(0,-1),n+=")"}else{if(n.length===0&&(u===w||u===g||u===N))continue;n+=String.fromCharCode(u)}}}if(n.charCodeAt(0)===I&&t.push(S(n)),a.length>0&&i){if(i.kind==="rule")throw new Error(`Missing closing } at ${i.selector}`);if(i.kind==="at-rule")throw new Error(`Missing closing } at ${i.name} ${i.params}`)}return r.length>0?r.concat(t):t}function S(e,t=[]){for(let r=5;r<e.length;r++){let s=e.charCodeAt(r);if(s===w||s===F){let i=e.slice(0,r).trim(),l=e.slice(r).trim();return K(i,l,t)}}return K(e.trim(),"",t)}function P(e,t=e.indexOf(":")){if(t===-1)return null;let r=e.indexOf("!important",t+1);return Z(e.slice(0,t).trim(),e.slice(t+1,r===-1?e.length:r).trim(),r!==-1)}var x=class extends Map{constructor(r){super();this.factory=r}get(r){let s=super.get(r);return s===void 0&&(s=this.factory(r,this),this.set(r,s)),s}};var Oe=64;function Ue(e,t=[]){return{kind:"rule",selector:e,nodes:t}}function K(e,t="",r=[]){return{kind:"at-rule",name:e,params:t,nodes:r}}function X(e,t=[]){return e.charCodeAt(0)===Oe?S(e,t):Ue(e,t)}function Z(e,t,r=!1){return{kind:"declaration",property:e,value:t,important:r}}function ee(e){return{kind:"comment",value:e}}function $(e,t,r=[],s={}){for(let i=0;i<e.length;i++){let l=e[i],n=r[r.length-1]??null;if(l.kind==="context"){if($(l.nodes,t,r,{...s,...l.context})===2)return 2;continue}r.push(l);let a=!1,o=0,f=t(l,{parent:n,context:s,path:r,replaceWith(u){a=!0,Array.isArray(u)?u.length===0?(e.splice(i,1),o=0):u.length===1?(e[i]=u[0],o=1):(e.splice(i,1,...u),o=u.length):(e[i]=u,o=1)}})??0;if(r.pop(),a){f===0?i--:i+=o-1;continue}if(f===2)return 2;if(f!==1&&"nodes"in l){r.push(l);let u=$(l.nodes,t,r,s);if(r.pop(),u===2)return 2}}}function te(e){function t(s,i=0){let l="",n=" ".repeat(i);if(s.kind==="declaration")l+=`${n}${s.property}: ${s.value}${s.important?" !important":""};
|
||||
`;else if(s.kind==="rule"){l+=`${n}${s.selector} {
|
||||
`;for(let a of s.nodes)l+=t(a,i+1);l+=`${n}}
|
||||
`}else if(s.kind==="at-rule"){if(s.nodes.length===0)return`${n}${s.name} ${s.params};
|
||||
`;l+=`${n}${s.name}${s.params?` ${s.params} `:" "}{
|
||||
`;for(let a of s.nodes)l+=t(a,i+1);l+=`${n}}
|
||||
`}else if(s.kind==="comment")l+=`${n}/*${s.value}*/
|
||||
`;else if(s.kind==="context"||s.kind==="at-root")return"";return l}let r="";for(let s of e){let i=t(s);i!==""&&(r+=i)}return r}function Ie(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 s="";if(r>4&&e[3]==="\\"){var i=e[2];(i==="?"||i===".")&&e.slice(0,2)==="\\\\"&&(e=e.slice(2),s="//")}var l=e.split(/[/\\]+/);return t!==!1&&l[l.length-1]===""&&l.pop(),s+l.join("/")}function j(e){let t=Ie(e);return e.startsWith("\\\\")&&t.startsWith("/")&&!t.startsWith("//")?`/${t}`:t}var M=/(?<!@import\s+)(?<=^|[^\w\-\u0080-\uffff])url\((\s*('[^']+'|"[^"]+")\s*|[^'")]+)\)/,re=/(?<=image-set\()((?:[\w-]{1,256}\([^)]*\)|[^)])*)(?=\))/,Pe=/(?:gradient|element|cross-fade|image)\(/,Fe=/^\s*data:/i,Ke=/^([a-z]+:)?\/\//,je=/^[A-Z_][.\w-]*\(/i,Le=/(?:^|\s)(?<url>[\w-]+\([^)]*\)|"[^"]*"|'[^']*'|[^,]\S*[^,])\s*(?:\s(?<descriptor>\w[^,]+))?(?:,|$)/g,Me=/(?<!\\)"/g,We=/(?: |\\t|\\n|\\f|\\r)+/g,Be=e=>Fe.test(e),ze=e=>Ke.test(e);async function se({css:e,base:t,root:r}){if(!e.includes("url(")&&!e.includes("image-set("))return e;let s=Y(e),i=[];function l(n){if(n[0]==="/")return n;let a=L.posix.join(j(t),n),o=L.posix.relative(j(r),a);return o.startsWith(".")||(o="./"+o),o}return $(s,n=>{if(n.kind!=="declaration"||!n.value)return;let a=M.test(n.value),o=re.test(n.value);if(a||o){let f=o?Ge:ie;i.push(f(n.value,l).then(u=>{n.value=u}))}}),i.length&&await Promise.all(i),te(s)}function ie(e,t){return le(e,M,async r=>{let[s,i]=r;return await ne(i.trim(),s,t)})}async function Ge(e,t){return await le(e,re,async r=>{let[,s]=r;return await Ve(s,async({url:l})=>M.test(l)?await ie(l,t):Pe.test(l)?l:await ne(l,l,t))})}async function ne(e,t,r,s="url"){let i="",l=e[0];if((l==='"'||l==="'")&&(i=l,e=e.slice(1,-1)),He(e))return t;let n=await r(e);return i===""&&n!==encodeURI(n)&&(i='"'),i==="'"&&n.includes("'")&&(i='"'),i==='"'&&n.includes('"')&&(n=n.replace(Me,'\\"')),`${s}(${i}${n}${i})`}function He(e,t){return ze(e)||Be(e)||!e[0].match(/[\.a-zA-Z0-9_]/)||je.test(e)}function Ve(e,t){return Promise.all(qe(e).map(async({url:r,descriptor:s})=>({url:await t({url:r,descriptor:s}),descriptor:s}))).then(Je)}function qe(e){let t=e.trim().replace(We," ").replace(/\r?\n/,"").replace(/,\s+/,", ").replaceAll(/\s+/g," ").matchAll(Le);return Array.from(t,({groups:r})=>({url:r?.url?.trim()??"",descriptor:r?.descriptor?.trim()??""})).filter(({url:r})=>!!r)}function Je(e){return e.map(({url:t,descriptor:r})=>t+(r?` ${r}`:"")).join(", ")}async function le(e,t,r){let s,i=e,l="";for(;s=t.exec(i);)l+=i.slice(0,s.index),l+=await r(s),i=i.slice(s.index+s[0].length);return l+=i,l}function pe({base:e,onDependency:t,shouldRewriteUrls:r,customCssResolver:s,customJsResolver:i}){return{base:e,async loadModule(l,n){return ge(l,n,t,i)},async loadStylesheet(l,n){let a=await he(l,n,t,s);return r&&(a.content=await se({css:a.content,root:n,base:a.base})),a}}}async function de(e,t){if(e.root&&e.root!=="none"){let r=/[*{]/,s=[];for(let l of e.root.pattern.split("/")){if(r.test(l))break;s.push(l)}if(!await me.stat(W.resolve(t,s.join("/"))).then(l=>l.isDirectory()).catch(()=>!1))throw new Error(`The \`source(${e.root.pattern})\` does not exist`)}}async function tt(e,t){let r=await Ze(e,pe(t));return await de(r,t.base),r}async function rt(e,t){let r=await Xe(e,pe(t));return await de(r,t.base),r}async function st(e,{base:t}){return Ye(e,{base:t,async loadModule(r,s){return ge(r,s,()=>{})},async loadStylesheet(r,s){return he(r,s,()=>{})}})}async function ge(e,t,r,s){if(e[0]!=="."){let a=await ce(e,t,s);if(!a)throw new Error(`Could not resolve '${e}' from '${t}'`);let o=await fe(ae(a).href);return{base:oe(a),module:o.default??o}}let i=await ce(e,t,s);if(!i)throw new Error(`Could not resolve '${e}' from '${t}'`);let[l,n]=await Promise.all([fe(ae(i).href+"?id="+Date.now()),V(i)]);for(let a of n)r(a);return{base:oe(i),module:l.default??l}}async function he(e,t,r,s){let i=await nt(e,t,s);if(!i)throw new Error(`Could not resolve '${e}' from '${t}'`);if(r(i),typeof globalThis.__tw_readFile=="function"){let n=await globalThis.__tw_readFile(i,"utf-8");if(n)return{base:W.dirname(i),content:n}}let l=await me.readFile(i,"utf-8");return{base:W.dirname(i),content:l}}var ue=null;async function fe(e){if(typeof globalThis.__tw_load=="function"){let t=await globalThis.__tw_load(e);if(t)return t}try{return await import(e)}catch{return ue??=Qe(import.meta.url,{moduleCache:!1,fsCache:!1}),await ue.import(e)}}var G=["node_modules",...process.env.NODE_PATH?[process.env.NODE_PATH]:[]],it=y.ResolverFactory.createResolver({fileSystem:new y.CachedInputFileSystem(z,4e3),useSyncFileSystemCalls:!0,extensions:[".css"],mainFields:["style"],conditionNames:["style"],modules:G});async function nt(e,t,r){if(typeof globalThis.__tw_resolve=="function"){let s=globalThis.__tw_resolve(e,t);if(s)return Promise.resolve(s)}if(r){let s=await r(e,t);if(s)return s}return B(it,e,t)}var lt=y.ResolverFactory.createResolver({fileSystem:new y.CacheLine truncated
|
||||
`)){this.defaultFlush=t}#r=new x(()=>({value:0}));#t=new x(()=>({value:0n}));#e=[];hit(t){this.#r.get(t).value++}start(t){let r=this.#e.map(i=>i.label).join("//"),s=`${r}${r.length===0?"":"//"}${t}`;this.#r.get(s).value++,this.#t.get(s),this.#e.push({id:s,label:t,namespace:r,value:process.hrtime.bigint()})}end(t){let r=process.hrtime.bigint();if(this.#e[this.#e.length-1].label!==t)throw new Error(`Mismatched timer label: \`${t}\`, expected \`${this.#e[this.#e.length-1].label}\``);let s=this.#e.pop(),i=r-s.value;this.#t.get(s.id).value+=i}reset(){this.#r.clear(),this.#t.clear(),this.#e.splice(0)}report(t=this.defaultFlush){let r=[],s=!1;for(let n=this.#e.length-1;n>=0;n--)this.end(this.#e[n].label);for(let[n,{value:a}]of this.#r.entries()){if(this.#t.has(n))continue;r.length===0&&(s=!0,r.push("Hits:"));let o=n.split("//").length;r.push(`${" ".repeat(o)}${n} ${_(ye(`\xD7 ${a}`))}`)}this.#t.size>0&&s&&r.push(`
|
||||
Timers:`);let i=-1/0,l=new Map;for(let[n,{value:a}]of this.#t){let o=`${(Number(a)/1e6).toFixed(2)}ms`;l.set(n,o),i=Math.max(i,o.length)}for(let n of this.#t.keys()){let a=n.split("//").length;r.push(`${_(`[${l.get(n).padStart(i," ")}]`)}${" ".repeat(a-1)}${a===1?" ":_(" \u21B3 ")}${n.split("//").pop()} ${this.#r.get(n).value===1?"":_(ye(`\xD7 ${this.#r.get(n).value}`))}`.trimEnd())}t(`
|
||||
${r.join(`
|
||||
`)}
|
||||
`),this.reset()}[Symbol.dispose](){b&&this.report()}};function _(e){return`\x1B[2m${e}\x1B[22m`}function ye(e){return`\x1B[34m${e}\x1B[39m`}if(!process.versions.bun){let e=k.createRequire(import.meta.url);k.register?.(at(e.resolve("@tailwindcss/node/esm-cache-loader")))}export{et as Features,xe as Instrumentation,st as __unstable__loadDesignSystem,rt as compile,tt as compileAst,D as env,j as normalizePath};
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
declare function clearRequireCache(files: string[]): void;
|
||||
|
||||
export { clearRequireCache };
|
||||
+1
@@ -0,0 +1 @@
|
||||
"use strict";var i=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var n=(r,e)=>{for(var t in e)i(r,t,{get:e[t],enumerable:!0})},u=(r,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let c of f(e))!l.call(r,c)&&c!==t&&i(r,c,{get:()=>e[c],enumerable:!(o=a(e,c))||o.enumerable});return r};var h=r=>u(i({},"__esModule",{value:!0}),r);var d={};n(d,{clearRequireCache:()=>q});module.exports=h(d);function q(r){for(let e of r)delete require.cache[e]}0&&(module.exports={clearRequireCache});
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
{
|
||||
"name": "@tailwindcss/node",
|
||||
"version": "4.0.5",
|
||||
"description": "A utility-first CSS framework for rapidly building custom user interfaces.",
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/tailwindlabs/tailwindcss.git",
|
||||
"directory": "packages/@tailwindcss-node"
|
||||
},
|
||||
"bugs": "https://github.com/tailwindlabs/tailwindcss/issues",
|
||||
"homepage": "https://tailwindcss.com",
|
||||
"files": [
|
||||
"dist/"
|
||||
],
|
||||
"publishConfig": {
|
||||
"provenance": true,
|
||||
"access": "public"
|
||||
},
|
||||
"exports": {
|
||||
".": {
|
||||
"types": "./dist/index.d.ts",
|
||||
"import": "./dist/index.mjs",
|
||||
"require": "./dist/index.js"
|
||||
},
|
||||
"./require-cache": {
|
||||
"types": "./dist/require-cache.d.ts",
|
||||
"default": "./dist/require-cache.js"
|
||||
},
|
||||
"./esm-cache-loader": {
|
||||
"types": "./dist/esm-cache.loader.d.mts",
|
||||
"default": "./dist/esm-cache.loader.mjs"
|
||||
}
|
||||
},
|
||||
"dependencies": {
|
||||
"enhanced-resolve": "^5.18.0",
|
||||
"jiti": "^2.4.2",
|
||||
"tailwindcss": "4.0.5"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "tsup-node",
|
||||
"dev": "pnpm run build -- --watch"
|
||||
}
|
||||
}
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) Tailwind Labs, Inc.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
# `@tailwindcss/oxide-linux-x64-gnu`
|
||||
|
||||
This is the **x86_64-unknown-linux-gnu** binary for `@tailwindcss/oxide`
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"name": "@tailwindcss/oxide-linux-x64-gnu",
|
||||
"version": "4.0.5",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/tailwindlabs/tailwindcss.git",
|
||||
"directory": "crates/node/npm/linux-x64-gnu"
|
||||
},
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"main": "tailwindcss-oxide.linux-x64-gnu.node",
|
||||
"files": [
|
||||
"tailwindcss-oxide.linux-x64-gnu.node"
|
||||
],
|
||||
"publishConfig": {
|
||||
"provenance": true,
|
||||
"access": "public"
|
||||
},
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
},
|
||||
"libc": [
|
||||
"glibc"
|
||||
]
|
||||
}
|
||||
Generated
Vendored
BIN
Binary file not shown.
+21
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) Tailwind Labs, Inc.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
|
||||
/* auto-generated by NAPI-RS */
|
||||
|
||||
export interface ChangedContent {
|
||||
/** File path to the changed file */
|
||||
file?: string
|
||||
/** Contents of the changed file */
|
||||
content?: string
|
||||
/** File extension */
|
||||
extension: string
|
||||
}
|
||||
export interface GlobEntry {
|
||||
/** Base path of the glob */
|
||||
base: string
|
||||
/** Glob pattern */
|
||||
pattern: string
|
||||
}
|
||||
export interface ScannerOptions {
|
||||
/** Glob sources */
|
||||
sources?: Array<GlobEntry>
|
||||
}
|
||||
export interface CandidateWithPosition {
|
||||
/** The candidate string */
|
||||
candidate: string
|
||||
/** The position of the candidate inside the content file */
|
||||
position: number
|
||||
}
|
||||
export declare class Scanner {
|
||||
constructor(opts: ScannerOptions)
|
||||
scan(): Array<string>
|
||||
scanFiles(input: Array<ChangedContent>): Array<string>
|
||||
getCandidatesWithPositions(input: ChangedContent): Array<CandidateWithPosition>
|
||||
get files(): Array<string>
|
||||
get globs(): Array<GlobEntry>
|
||||
}
|
||||
+315
@@ -0,0 +1,315 @@
|
||||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
/* prettier-ignore */
|
||||
|
||||
/* auto-generated by NAPI-RS */
|
||||
|
||||
const { existsSync, readFileSync } = require('fs')
|
||||
const { join } = require('path')
|
||||
|
||||
const { platform, arch } = process
|
||||
|
||||
let nativeBinding = null
|
||||
let localFileExisted = false
|
||||
let loadError = null
|
||||
|
||||
function isMusl() {
|
||||
// For Node 10
|
||||
if (!process.report || typeof process.report.getReport !== 'function') {
|
||||
try {
|
||||
const lddPath = require('child_process').execSync('which ldd').toString().trim()
|
||||
return readFileSync(lddPath, 'utf8').includes('musl')
|
||||
} catch (e) {
|
||||
return true
|
||||
}
|
||||
} else {
|
||||
const { glibcVersionRuntime } = process.report.getReport().header
|
||||
return !glibcVersionRuntime
|
||||
}
|
||||
}
|
||||
|
||||
switch (platform) {
|
||||
case 'android':
|
||||
switch (arch) {
|
||||
case 'arm64':
|
||||
localFileExisted = existsSync(join(__dirname, 'tailwindcss-oxide.android-arm64.node'))
|
||||
try {
|
||||
if (localFileExisted) {
|
||||
nativeBinding = require('./tailwindcss-oxide.android-arm64.node')
|
||||
} else {
|
||||
nativeBinding = require('@tailwindcss/oxide-android-arm64')
|
||||
}
|
||||
} catch (e) {
|
||||
loadError = e
|
||||
}
|
||||
break
|
||||
case 'arm':
|
||||
localFileExisted = existsSync(join(__dirname, 'tailwindcss-oxide.android-arm-eabi.node'))
|
||||
try {
|
||||
if (localFileExisted) {
|
||||
nativeBinding = require('./tailwindcss-oxide.android-arm-eabi.node')
|
||||
} else {
|
||||
nativeBinding = require('@tailwindcss/oxide-android-arm-eabi')
|
||||
}
|
||||
} catch (e) {
|
||||
loadError = e
|
||||
}
|
||||
break
|
||||
default:
|
||||
throw new Error(`Unsupported architecture on Android ${arch}`)
|
||||
}
|
||||
break
|
||||
case 'win32':
|
||||
switch (arch) {
|
||||
case 'x64':
|
||||
localFileExisted = existsSync(
|
||||
join(__dirname, 'tailwindcss-oxide.win32-x64-msvc.node')
|
||||
)
|
||||
try {
|
||||
if (localFileExisted) {
|
||||
nativeBinding = require('./tailwindcss-oxide.win32-x64-msvc.node')
|
||||
} else {
|
||||
nativeBinding = require('@tailwindcss/oxide-win32-x64-msvc')
|
||||
}
|
||||
} catch (e) {
|
||||
loadError = e
|
||||
}
|
||||
break
|
||||
case 'ia32':
|
||||
localFileExisted = existsSync(
|
||||
join(__dirname, 'tailwindcss-oxide.win32-ia32-msvc.node')
|
||||
)
|
||||
try {
|
||||
if (localFileExisted) {
|
||||
nativeBinding = require('./tailwindcss-oxide.win32-ia32-msvc.node')
|
||||
} else {
|
||||
nativeBinding = require('@tailwindcss/oxide-win32-ia32-msvc')
|
||||
}
|
||||
} catch (e) {
|
||||
loadError = e
|
||||
}
|
||||
break
|
||||
case 'arm64':
|
||||
localFileExisted = existsSync(
|
||||
join(__dirname, 'tailwindcss-oxide.win32-arm64-msvc.node')
|
||||
)
|
||||
try {
|
||||
if (localFileExisted) {
|
||||
nativeBinding = require('./tailwindcss-oxide.win32-arm64-msvc.node')
|
||||
} else {
|
||||
nativeBinding = require('@tailwindcss/oxide-win32-arm64-msvc')
|
||||
}
|
||||
} catch (e) {
|
||||
loadError = e
|
||||
}
|
||||
break
|
||||
default:
|
||||
throw new Error(`Unsupported architecture on Windows: ${arch}`)
|
||||
}
|
||||
break
|
||||
case 'darwin':
|
||||
localFileExisted = existsSync(join(__dirname, 'tailwindcss-oxide.darwin-universal.node'))
|
||||
try {
|
||||
if (localFileExisted) {
|
||||
nativeBinding = require('./tailwindcss-oxide.darwin-universal.node')
|
||||
} else {
|
||||
nativeBinding = require('@tailwindcss/oxide-darwin-universal')
|
||||
}
|
||||
break
|
||||
} catch {}
|
||||
switch (arch) {
|
||||
case 'x64':
|
||||
localFileExisted = existsSync(join(__dirname, 'tailwindcss-oxide.darwin-x64.node'))
|
||||
try {
|
||||
if (localFileExisted) {
|
||||
nativeBinding = require('./tailwindcss-oxide.darwin-x64.node')
|
||||
} else {
|
||||
nativeBinding = require('@tailwindcss/oxide-darwin-x64')
|
||||
}
|
||||
} catch (e) {
|
||||
loadError = e
|
||||
}
|
||||
break
|
||||
case 'arm64':
|
||||
localFileExisted = existsSync(
|
||||
join(__dirname, 'tailwindcss-oxide.darwin-arm64.node')
|
||||
)
|
||||
try {
|
||||
if (localFileExisted) {
|
||||
nativeBinding = require('./tailwindcss-oxide.darwin-arm64.node')
|
||||
} else {
|
||||
nativeBinding = require('@tailwindcss/oxide-darwin-arm64')
|
||||
}
|
||||
} catch (e) {
|
||||
loadError = e
|
||||
}
|
||||
break
|
||||
default:
|
||||
throw new Error(`Unsupported architecture on macOS: ${arch}`)
|
||||
}
|
||||
break
|
||||
case 'freebsd':
|
||||
if (arch !== 'x64') {
|
||||
throw new Error(`Unsupported architecture on FreeBSD: ${arch}`)
|
||||
}
|
||||
localFileExisted = existsSync(join(__dirname, 'tailwindcss-oxide.freebsd-x64.node'))
|
||||
try {
|
||||
if (localFileExisted) {
|
||||
nativeBinding = require('./tailwindcss-oxide.freebsd-x64.node')
|
||||
} else {
|
||||
nativeBinding = require('@tailwindcss/oxide-freebsd-x64')
|
||||
}
|
||||
} catch (e) {
|
||||
loadError = e
|
||||
}
|
||||
break
|
||||
case 'linux':
|
||||
switch (arch) {
|
||||
case 'x64':
|
||||
if (isMusl()) {
|
||||
localFileExisted = existsSync(
|
||||
join(__dirname, 'tailwindcss-oxide.linux-x64-musl.node')
|
||||
)
|
||||
try {
|
||||
if (localFileExisted) {
|
||||
nativeBinding = require('./tailwindcss-oxide.linux-x64-musl.node')
|
||||
} else {
|
||||
nativeBinding = require('@tailwindcss/oxide-linux-x64-musl')
|
||||
}
|
||||
} catch (e) {
|
||||
loadError = e
|
||||
}
|
||||
} else {
|
||||
localFileExisted = existsSync(
|
||||
join(__dirname, 'tailwindcss-oxide.linux-x64-gnu.node')
|
||||
)
|
||||
try {
|
||||
if (localFileExisted) {
|
||||
nativeBinding = require('./tailwindcss-oxide.linux-x64-gnu.node')
|
||||
} else {
|
||||
nativeBinding = require('@tailwindcss/oxide-linux-x64-gnu')
|
||||
}
|
||||
} catch (e) {
|
||||
loadError = e
|
||||
}
|
||||
}
|
||||
break
|
||||
case 'arm64':
|
||||
if (isMusl()) {
|
||||
localFileExisted = existsSync(
|
||||
join(__dirname, 'tailwindcss-oxide.linux-arm64-musl.node')
|
||||
)
|
||||
try {
|
||||
if (localFileExisted) {
|
||||
nativeBinding = require('./tailwindcss-oxide.linux-arm64-musl.node')
|
||||
} else {
|
||||
nativeBinding = require('@tailwindcss/oxide-linux-arm64-musl')
|
||||
}
|
||||
} catch (e) {
|
||||
loadError = e
|
||||
}
|
||||
} else {
|
||||
localFileExisted = existsSync(
|
||||
join(__dirname, 'tailwindcss-oxide.linux-arm64-gnu.node')
|
||||
)
|
||||
try {
|
||||
if (localFileExisted) {
|
||||
nativeBinding = require('./tailwindcss-oxide.linux-arm64-gnu.node')
|
||||
} else {
|
||||
nativeBinding = require('@tailwindcss/oxide-linux-arm64-gnu')
|
||||
}
|
||||
} catch (e) {
|
||||
loadError = e
|
||||
}
|
||||
}
|
||||
break
|
||||
case 'arm':
|
||||
if (isMusl()) {
|
||||
localFileExisted = existsSync(
|
||||
join(__dirname, 'tailwindcss-oxide.linux-arm-musleabihf.node')
|
||||
)
|
||||
try {
|
||||
if (localFileExisted) {
|
||||
nativeBinding = require('./tailwindcss-oxide.linux-arm-musleabihf.node')
|
||||
} else {
|
||||
nativeBinding = require('@tailwindcss/oxide-linux-arm-musleabihf')
|
||||
}
|
||||
} catch (e) {
|
||||
loadError = e
|
||||
}
|
||||
} else {
|
||||
localFileExisted = existsSync(
|
||||
join(__dirname, 'tailwindcss-oxide.linux-arm-gnueabihf.node')
|
||||
)
|
||||
try {
|
||||
if (localFileExisted) {
|
||||
nativeBinding = require('./tailwindcss-oxide.linux-arm-gnueabihf.node')
|
||||
} else {
|
||||
nativeBinding = require('@tailwindcss/oxide-linux-arm-gnueabihf')
|
||||
}
|
||||
} catch (e) {
|
||||
loadError = e
|
||||
}
|
||||
}
|
||||
break
|
||||
case 'riscv64':
|
||||
if (isMusl()) {
|
||||
localFileExisted = existsSync(
|
||||
join(__dirname, 'tailwindcss-oxide.linux-riscv64-musl.node')
|
||||
)
|
||||
try {
|
||||
if (localFileExisted) {
|
||||
nativeBinding = require('./tailwindcss-oxide.linux-riscv64-musl.node')
|
||||
} else {
|
||||
nativeBinding = require('@tailwindcss/oxide-linux-riscv64-musl')
|
||||
}
|
||||
} catch (e) {
|
||||
loadError = e
|
||||
}
|
||||
} else {
|
||||
localFileExisted = existsSync(
|
||||
join(__dirname, 'tailwindcss-oxide.linux-riscv64-gnu.node')
|
||||
)
|
||||
try {
|
||||
if (localFileExisted) {
|
||||
nativeBinding = require('./tailwindcss-oxide.linux-riscv64-gnu.node')
|
||||
} else {
|
||||
nativeBinding = require('@tailwindcss/oxide-linux-riscv64-gnu')
|
||||
}
|
||||
} catch (e) {
|
||||
loadError = e
|
||||
}
|
||||
}
|
||||
break
|
||||
case 's390x':
|
||||
localFileExisted = existsSync(
|
||||
join(__dirname, 'tailwindcss-oxide.linux-s390x-gnu.node')
|
||||
)
|
||||
try {
|
||||
if (localFileExisted) {
|
||||
nativeBinding = require('./tailwindcss-oxide.linux-s390x-gnu.node')
|
||||
} else {
|
||||
nativeBinding = require('@tailwindcss/oxide-linux-s390x-gnu')
|
||||
}
|
||||
} catch (e) {
|
||||
loadError = e
|
||||
}
|
||||
break
|
||||
default:
|
||||
throw new Error(`Unsupported architecture on Linux: ${arch}`)
|
||||
}
|
||||
break
|
||||
default:
|
||||
throw new Error(`Unsupported OS: ${platform}, architecture: ${arch}`)
|
||||
}
|
||||
|
||||
if (!nativeBinding) {
|
||||
if (loadError) {
|
||||
throw loadError
|
||||
}
|
||||
throw new Error(`Failed to load native binding`)
|
||||
}
|
||||
|
||||
const { Scanner } = nativeBinding
|
||||
|
||||
module.exports.Scanner = Scanner
|
||||
+63
@@ -0,0 +1,63 @@
|
||||
{
|
||||
"name": "@tailwindcss/oxide",
|
||||
"version": "4.0.5",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/tailwindlabs/tailwindcss.git",
|
||||
"directory": "crates/node"
|
||||
},
|
||||
"main": "index.js",
|
||||
"types": "index.d.ts",
|
||||
"napi": {
|
||||
"name": "tailwindcss-oxide",
|
||||
"triples": {
|
||||
"additional": [
|
||||
"armv7-linux-androideabi",
|
||||
"aarch64-linux-android",
|
||||
"aarch64-apple-darwin",
|
||||
"aarch64-unknown-linux-gnu",
|
||||
"aarch64-unknown-linux-musl",
|
||||
"armv7-unknown-linux-gnueabihf",
|
||||
"x86_64-unknown-linux-musl",
|
||||
"x86_64-unknown-freebsd",
|
||||
"i686-pc-windows-msvc",
|
||||
"aarch64-pc-windows-msvc"
|
||||
]
|
||||
}
|
||||
},
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"@napi-rs/cli": "^2.18.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
},
|
||||
"files": [
|
||||
"index.js",
|
||||
"index.d.ts"
|
||||
],
|
||||
"publishConfig": {
|
||||
"provenance": true,
|
||||
"access": "public"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@tailwindcss/oxide-android-arm64": "4.0.5",
|
||||
"@tailwindcss/oxide-darwin-arm64": "4.0.5",
|
||||
"@tailwindcss/oxide-darwin-x64": "4.0.5",
|
||||
"@tailwindcss/oxide-freebsd-x64": "4.0.5",
|
||||
"@tailwindcss/oxide-linux-arm-gnueabihf": "4.0.5",
|
||||
"@tailwindcss/oxide-linux-arm64-gnu": "4.0.5",
|
||||
"@tailwindcss/oxide-linux-arm64-musl": "4.0.5",
|
||||
"@tailwindcss/oxide-linux-x64-gnu": "4.0.5",
|
||||
"@tailwindcss/oxide-win32-x64-msvc": "4.0.5",
|
||||
"@tailwindcss/oxide-linux-x64-musl": "4.0.5",
|
||||
"@tailwindcss/oxide-win32-arm64-msvc": "4.0.5"
|
||||
},
|
||||
"scripts": {
|
||||
"artifacts": "napi artifacts",
|
||||
"build": "napi build --platform --release --no-const-enum",
|
||||
"dev": "cargo watch --quiet --shell 'npm run build'",
|
||||
"build:debug": "napi build --platform --no-const-enum",
|
||||
"version": "napi version"
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user