Siirry sisältöön

Yhteensopivuus ja päivitys

Tälle sivulle on koottu tiedot, jotka on hyvä tietää ennen päivitystä tai tarkkaa tulostetta edellyttävää käyttöä: ajoaikavaatimukset, mitä TailwindCSS-julkaisua siirros seuraa, miten TailwindPHP eroaa tietoisesti TailwindCSS-alkuperäisversiosta sekä julkaisukohtaiset huomautukset. Koko historia on kohteessa CHANGELOG.md.

Vaatimukset

  • PHP 8.2 tai uudempi. Testisarja toimii versioilla PHP 8.2, 8.3 ja 8.4.
  • ctype- ja mbstring-laajennukset. Kääntäjä kutsuu toimintoja ctype_* ja mb_chr(). Molemmat toimitetaan useimpien PHP-koontien ja virallisten Docker-näköistiedostojen mukana, mutta composer.json ei vielä ilmoita niitä (#11), joten ilman niitä koonti asentaa paketin mutta epäonnistuu suorituksen aikana.
  • Valinnainen: pcntl mahdollistaa sen, että CLI-toiminnon --watch-tila pysähtyy siististi tapahtumissa SIGINT/SIGTERM. Ilman sitä seurantatila toimii silti.

Node.js-laajennusta, FFI:tä tai natiivibinäärejä ei tarvita.

Mitä TailwindCSS-julkaisua seurataan

Julkaisun 1.7.0 seuranta kattaa TailwindCSS v4.3.3. Upstream-repositorio on kiinnitetty reference/tailwindcss-hakemistoon git-alirepositoriona, sen testisarjat on poimittu tästä kiinnitetystä työkopiosta, ja 4,427-testit suoritetaan jokaisen pushin yhteydessä (katso Suorituskyky ja testaus). Siirretyt lisäosat noudattavat @tailwindcss/typography- ja @tailwindcss/forms-kirjastojen käytäntöjä, ja luokkien apuohjelmat seuraavat clsx-, tailwind-merge- ja CVA-kirjastoja, jotka kaikki on kiinnitetty samalla tavalla.

Tunnetut erot tuotteeseen TailwindCSS verrattuna

Sarjallistuksen yksityiskohdat

Luotu CSS vastaa viitetestisarjoja. Muutamat sarjallistuksen yksityiskohdat eroavat siitä, mitä TailwindCSS CLI tuottaa, mutta ne eivät muuta kaskadia:

  • Valmistajakohtaiset etuliitteet: jos viite tuottaa sekä kirjoitetun -webkit-*-rivin että luodun rivin, TailwindPHP tuottaa yhden rivin.
  • Vanhempaa syntaksia käyttävät pseudoelementit (::file-selector-button, ::-webkit-datetime-edit-*) pysyvät kirjoitetuissa valitsinluetteloissaan sen sijaan, että ne jaettaisiin omiksi säännöikseen.
  • Kirjoitetut yksinkertaiset lainausmerkkijonot säilyvät yksinkertaisina lainausmerkkeinä ('Segoe UI') sen sijaan, että ne muutettaisiin kaksoislainausmerkeiksi.
  • Samanaikaisesti esiintyviä pitkämuotoisia ominaisuuksia ei yhdistetä lyhytmuotoiseksi ominaisuudeksi (Tailwind-tulosteessa siihen ei ole tarvetta).
  • .p-0 säilyttää padding: 0px-muodon, kun taas viite CLI tuottaa padding: 0-muodon, koska poimitussa testikorpuksessa käytetään 0px-muotoa. Minimoija lyhentää sen muotoon 0.

Ei sisälly

TailwindPHP on CSS-kääntäjä. Siitä puuttuvat Tailwind-ekosysteemin editorityökalut (IntelliSense, automaattinen täydennys ja luokkien lajittelu) sekä lähdekartat, joten CLI-komennolla ei ole --map-valintaa.

Sisällön skannaus

tw::generate() ja TailwindCompiler::generate() lukevat luokkanimet vain kohteiden class ja className attribuuteista. Jos luokkanimet ovat merkkijonoissa PHP tai JavaScript, käytä tw::extractCandidatesFromStrings() tai @source inline("…"). Kohteen @source polkumuodot ohitetaan kohteessa API, ja CLI huomioi ne vain osittain (katso alta).

Nykyisen julkaisun tunnetut ongelmat

Alue Nykyinen toiminta Ongelma
CLI @source Polkuja ja yleismerkkejä ei käytetä, vaan skannataan syötetiedoston hakemisto. Lisäksi @source not ei sulje pois mitään. Katso Mitä CLI skannaa #8
CLI --optimize Minimoi kuten --minify #9
CLI-pitkät valinnat --input file.css (välilyönneillä eroteltu) ohitetaan; käytä --input=file.css- tai -i file.css-muotoa #13
Laajennusmuunnelmat addVariant()/matchVariant()-muunnelmat ja typografian elementtimääritteet (prose-headings: …) kääntyvät ilman valitsintaan #10
@apply-mixin-määritykset @apply --my-mixin; poistetaan sen sijaan, että se välitettäisiin eteenpäin #12
Viitetuonnit Tuloste on tyhjä, kun viitetuonti on työkaluohjelmien tuontia ennen; @import "tailwindcss" reference ei vaikuta #14

Päivityshuomiot

1.7.0

  • Tavukohtaisesti muuttuva tuloste verrattuna versioon 1.6.x, vaikka se on toiminnallisesti vastaava kuin TailwindCSS v4.3.3-viite. Näkyviä muutoksia ovat muun muassa:
    • Välimatkakertoimet: p-1 tuottaa padding: var(--spacing)-arvon calc()-arvon sijaan, ja kertoimella 0 saadaan pelkkä nollapituus.
    • Murtoluvut muunnetaan prosenteiksi: w-1/2 tuottaa width: 50%.
    • Värit: oklch()/oklab()-vaaleus sarjallistetaan prosenttina (oklch(62.3% .214 259.815)), ja white ja black lyhenevät muotoihin #fff ja #000.
    • CSS2-pseudoelementit sarjallistetaan kaksoispisteen sijaan yhdellä kaksoispisteellä (:before, :after, :first-letter, :first-line).
    • Sisäkkäiset @media-, @supports- ja @container-säännöt litistetään paikoilleen lähdejärjestyksessä sen sijaan, että ne siirrettäisiin loppuun. Määritykset järjestetään uudelleen lightningcssin mukaisesti, ja peittyvät päällekkäiset määritykset poistetaan.
  • Tulosteeseen sidotut välimuistit tyhjenevät kerran. Kohteen tw::generate() tiedostovälimuisti ei sisällytä avaimensa TailwindPHP-versiota, joten suorita päivityksen jälkeen tw::clearCache() (tai hakemisto, jonka välitit muodossa cache). Kääntäjän tilavälimuisti mitätöi itsensä.
  • Uutta: @variant tekijän CSS-määrityksissä, CSS-mixin-määritykset kohteessa @apply, @media reference ja @import "…" reference, koko --value()/--modifier()-moottori toiminnallisille @utility-arvoille, tiukempi @utility-nimien tarkistus ja kohteen tw::compile() polyfills-valinta.

1.6.1

  • Uutta: container-apuohjelma (width: 100% sekä yksi max-width kutakin taitekohtaa kohti).
  • Yhdistetyt --tw-*-muuttujat (siirto, skaalaus, kierto, vinous, suodattimet ja muut) rekisteröidään nyt kohteessa @property, joten tyylitiedostoihin lisätään kyseiset @property-säännöt ja esimerkiksi translate-x-7-muunnokset toimivat selaimessa.

1.6.0

  • Uutta: pysyvä kääntäjän tilavälimuisti (stateCacheFile kohteissa tw::compile() ja TailwindCompiler, StateCache\compileCssCached()) sekä jaetut parseCssState()-, finalizeCssState()- ja compileParsed()-funktiot. Olemassa olevat kutsut toimivat täsmälleen kuten ennen.

1.5.0

  • Kohteen TailwindCompiler aliluokkien, jotka korvaavat generate()- tai css()-toiminnon, on lisättävä valinnainen bool $minify = false-parametri. PHP hylkää ohitukset, jotka jättävät pois yliluokan valinnaisen parametrin.
  • Minimoitu tuloste tulee sarjallistajalta, joten tavut eroavat hieman tuotteesta 1.4.x (minimoituun tulosteeseen sidotut välimuistit tyhjenevät kerran).
  • Uutta: generateExact() ja cssExact() mahdollistavat sivukohtaiset CSS-arvot yhdellä pitkään käytössä olevalla kääntäjällä.