Esantioneaza configurarea monorepo cu spatii de lucru pentru fire, dactilografiat si lerna.
Configurarea explicata
Scule
-
Monorepo este instalat folosind fire.
- Pachetele sunt conectate automat intre ele, ceea ce inseamna ca puteti face pachete incrucisate in cadrul repo.
- devDependentele sunt comune si apar doar in pachetul radacina.json. Mai usor de gestionat si actualizat.
- Fiecare pachet are propriile scripturi si dependente. Acestea sunt instalate in radacina node_modules, utilizand acelasi mecanism de deduptie folosit de fire pentru pachete individuale.
- Adaugarea de pachete noi este la fel de simpla ca aruncarea unui pachet existent in folderul pachetelor si reluarea firului.
-
Scripturile Monorepo sunt executate folosind lerna.
- lerna publish – publicare cu pachete multiple.
- lerna run – rularea scripturilor de pachete.
- lerna actualizat – afiseaza pachetele modificate (de la ultima eticheta).
-
Sursele si testele sunt scrise in TypeScript strict.
- Baza comuna tsconfig.base.json.
-
Testarea se face folosind mocha si chai.
- Proiecte usoare, testate in lupta, cu putine dependente.
- Poate fi inclus si utilizat in browser.
Pachete de esantioane incluse
-
@ esantion / componente
- Biblioteca de componente React.
-
@ esantion / aplicatie
- Reactioneaza aplicarea.
- Foloseste pachetul @ sample / components (de asemenea, in interiorul monorepo).
peliculas porno gay en español porno gratis anal
mama me folla me follo a mi madrastra
chicas altas follando rusas desnudas
videos de lucio saints maduras en grupo
viejas cachondas orgias rusas
comic maduras videos actrices españolas desnudas
mi vecina me folla chicas corriendose a chorros
peliculas porno castellano sobar tetas
videos porno tetonas gratis follando en tenerife
tias cachondas tetas en publico
porno viejas en español porno español años 70
orgias amateur pollas corriendose
me follo a mi madre videos x incesto
corridas internas peludas mi mujer follando
videos ponos abuelas ardientes
tias corriendose transexual española follando
coñosxxx mamadas por dinero
follando despues de la fiesta maria patiño desnuda
porno casero real español milfs españolas
incesto asiatico mamada a caballo
-
@ esantion / server
- Aplicatie expresa.
- Foloseste pachetul @ sample / app (de asemenea, in interiorul monorepo).
- Asculta pe http: // localhost: 3000 (redare numai client) http: // localhost: 3000 / server (redare SSR).
Structura si configuratiile de baza
Solutii de styling
Acest depozit isi propune sa evite prezentarea in detaliu a solutiilor de styling.
Exista o configurare naiva css-loader / mini-css-extract-plugin pentru biblioteca sanitize.css utilizata, dar infrastructura nu contine nicio copiere a activelor (in folderul dist) si, prin urmare, nu accepta activele css locale .
Fiecare solutie de styling are propriul set de cerinte de infrastructura.
Solutiile bazate pe CSS-in-JS, de exemplu, probabil ca nu va trebui sa va faceti griji deloc si sa functionati fara configurare suplimentara.
In cadrul Wix, folosim Stylable, care are propriul CLI (stc) pentru a construi si / sau a copia fisiere .st.css in dist.
Suport complet pentru importul codului sursa .css / .scss / .less /. Orice ar necesita o cladire suplimentara. Ar trebui abordat si pentru Node, daca se doreste executarea mocha la testele care importa aceste fisiere sursa.
Managementul dependentei
In mod traditional, lucrul cu proiecte in depozite separate face dificila mentinerea versiunilor devDependencies aliniate, deoarece fiecare proiect isi poate specifica propriile versiuni devDependency.
Monorepos simplifica acest lucru, deoarece dependentele dev sunt partajate intre toate pachetele din monorepo.
Avand in vedere acest lucru, folosim urmatoarea structura de dependenta:
- devDependencies sunt plasate in pachetul radacina.json
- dependente si peer Dependentele sunt plasate in package.json al pachetului relevant care le necesita, deoarece fiecare pachet este publicat separat
Noi devDependente pot fi adaugate la pachetul radacina.json folosind fire:
Unele pachete depind de pachetele fratilor din cadrul monorepo. De exemplu, in aceasta repo, @ sample / app depinde de @ sample / components. Aceasta relatie este doar o dependenta normala si poate fi descrisa in package.json al aplicatiei astfel:
Implementare
yarn lerna publish va publica noi versiuni ale pachetelor la npm.
Lerna cere noi numere de versiune pentru pachetele care s-au schimbat de la ultima versiune si dependentele acestora. Fiecare pachet are un script de preambalare care ruleaza automat compilarea inainte de ambalare.
yarn lerna publish –force-publish va forta eliberarea tuturor pachetelor, indiferent de care s-au schimbat efectiv.
Implementarea activelor aplicatiilor / serverelor pe serverele de productie reale nu este afisata.








