Liigu sisu juurde

Ühilduvus ja versiooniuuendused

See leht koondab teabe, mida on vaja teada enne uuendamist või täpse väljundi eeldamist: käitusaja nõuded, millist TailwindCSS versiooni port järgib, mille poolest TailwindPHP erineb teadlikult versioonist TailwindCSS ning iga versiooni märkused. Täielik ajalugu on failis CHANGELOG.md.

Nõuded

  • PHP 8.2 või uuem. Testikomplekt töötab versioonidega PHP 8.2, 8.3 ja 8.4.
  • Laiendused ctype ja mbstring. Kompilaator kutsub funktsioone ctype_* ja mb_chr(). Mõlemad on kaasas enamiku PHP järkudega ja ametlike Docker tõmmistega, kuid composer.json ei deklareeri neid veel (#11), nii et ilma nendeta paigaldatakse pakett, kuid see ebaõnnestub käitusajal.
  • Valikuline: pcntl võimaldab CLI --watch-režiimil SIGINT/SIGTERM korral korrektselt peatuda. Ilma selleta töötab jälgimisrežiim endiselt.

Node.js, FFI-t ega natiivseid binaarfaile ei kasutata.

Millist TailwindCSS versiooni järgitakse

Versioon 1.7.0 järgib versiooni TailwindCSS v4.3.3. Ülesvooluhoidla on fikseeritud giti alamoodulina failis reference/tailwindcss, selle testikomplektid võetakse sellest fikseeritud väljavõttest ning 4,427 teste käitatakse iga tõukega (vt Jõudlus ja testimine). Porditud pluginad järgivad versioone @tailwindcss/typography ja @tailwindcss/forms ning klassiutiliidid clsx-i, tailwind-merge ja CVA-d; kõik on samal viisil fikseeritud.

Teadaolevad erinevused versioonist TailwindCSS

Serialiseerimise üksikasjad

Genereeritud CSS vastab viite testikomplektidele. Mõned serialiseerimise üksikasjad erinevad sellest, mida TailwindCSS CLI väljastab, kuid ükski neist ei muuda kaskaadi:

  • Tootjaprefiksid: kui viide väljastab nii autori kirjutatud rea -webkit-* kui ka genereeritud rea, väljastab TailwindPHP ühe rea.
  • Alandatud pseudoelementide (::file-selector-button, ::-webkit-datetime-edit-*) algsed selektoriloendid säilivad, selle asemel et jagada need iga pseudoelemendi kohta eraldi reegliks.
  • Autori kirjutatud ülakomadega stringid jäävad ülakomadega ('Segoe UI'), selle asemel et neid topeltjutumärkideks normaliseerida.
  • Koos esinevaid pika vormi omadusi ei ühendata lühivormiks (Tailwind väljund ei vaja seda kunagi).
  • .p-0 säilitab padding: 0px, samas kui viide CLI väljastab padding: 0, sest väljavõetud testikorpus fikseerib kuju 0px. Minimeerija lühendab selle kujule 0.

Pole kaasatud

TailwindPHP on CSS kompilaator. Sellest on välja jäetud Tailwind ökosüsteemi redaktoritööriistad (IntelliSense, automaattäitmine, klasside sortimine) ja lähtekaardid, seega puudub CLI-il valik --map.

Sisu skannimine

tw::generate() ja TailwindCompiler::generate() loevad klassinimesid ainult atribuutidest class ja className. Stringides PHP või JavaScript olevate klassinimede puhul kasutage tw::extractCandidatesFromStrings() või @source inline("…"). @source teevorme API eirab ja CLI arvestab nendega vaid osaliselt (vt allpool).

Praeguse versiooni teadaolevad probleemid

Valdkond Praegune käitumine Probleem
CLI @source Teid ja globaalseid mustreid ei rakendata; selle asemel skannitakse sisendfaili kataloogi ning @source not ei jäta midagi välja. Vt Mida CLI skannib #8
CLI --optimize Minimeerib nagu --minify #9
CLI pikad suvandid --input file.css (tühikutega eraldatud) eiratakse; kasutage --input=file.css või -i file.css #13
Plugina variandid addVariant()/matchVariant() variandid ja tüpograafiaelemendi modifikaatorid (prose-headings: …) kompileeritakse ilma selektorita #10
@apply miksinid @apply --my-mixin; jäetakse edastamise asemel välja #12
Viite impordid Väljund on tühi, kui viite import eelneb utiliitide impordile; @import "tailwindcss" reference ei avalda mõju #14

Uuendamise märkused

1.7.0

  • Baididena erinev väljund võrreldes versiooniga 1.6.x, kuid funktsionaalselt võrdväärne viitega TailwindCSS v4.3.3. Nähtavad muudatused hõlmavad järgmist:
    • Vahekordajad: p-1 väljastab padding: var(--spacing), mitte calc(), ning kordaja 0 väljastab lihtsa nullpikkuse.
    • Murrud teisendatakse protsentideks: w-1/2 väljastab width: 50%.
    • Värvid: oklch()/oklab() heledus serialiseeritakse protsendina (oklch(62.3% .214 259.815)), white ja black lühendatakse kujule #fff ja #000.
    • CSS2 pseudoelemendid serialiseeritakse ühe kooloniga (:before, :after, :first-letter, :first-line).
    • Pesastatud @media/@supports/@container reeglid tasandatakse oma kohas lähtekoodi järjekorras, selle asemel et tõsta lõppu; deklaratsioonid järjestatakse lightningcss-i reeglite järgi ja varjutatud kordusdeklaratsioonid eemaldatakse.
  • Väljundil põhinevad vahemälud tühjenevad korra. tw::generate() failivahemälu võti ei sisalda versiooni TailwindPHP, seega käivitage pärast uuendamist tw::clearCache() (või kataloog, mille edastasite kui cache). Kompilaatori oleku vahemälu kehtetuks muutmine toimub automaatselt.
  • Uus: @variant autori CSS-is, CSS miksinid @apply-is, @media reference ja @import "…" reference, täielik --value()/--modifier() mootor funktsionaalse @utility jaoks, rangem @utility nimede valideerimine ning tw::compile() valik polyfills.

1.6.1

  • Uus: utiliit container (width: 100% ja iga murdepunkti kohta üks max-width).
  • Koos kasutatavad --tw-* muutujad (translate, scale, rotate, skew, filtrid ja muud) registreeritakse nüüd @property-iga, nii et laaditabelid saavad need @property reeglid ja teisendused, näiteks translate-x-7, rakenduvad brauseris.

1.6.0

  • Uus: püsiv kompilaatori oleku vahemälu (stateCacheFile tw::compile()-is ja TailwindCompiler-is, StateCache\compileCssCached()) ning eraldi funktsioonid parseCssState()/finalizeCssState()/compileParsed(). Olemasolevad väljakutsed toimivad täpselt nagu varem.

1.5.0

  • TailwindCompiler alamklassid, mis kirjutavad üle generate() või css(), peavad lisama valikulise parameetri bool $minify = false; PHP lükkab tagasi üledefinitsioonid, millest on vanema valikuline parameeter välja jäetud.
  • Minimeeritud väljundi loob nüüd serialiseerija, seega erinevad minimeeritud baidid veidi versiooni 1.4.x omadest (minimeeritud väljundi järgi võtmega vahemälud tühjenevad korra).
  • Uus: generateExact() ja cssExact() ühe pikaealise kompilaatori abil lehepõhise CSS jaoks.