Acesta a fost initial depozitul VM EthereumJS. In primul trimestru al anului 2020 am adunat cateva dintre elementele sale de baza pentru a simplifica dezvoltarea. Mai jos puteti gasi pachetele incluse in acest depozit.
???? Va rugam sa retineti ca filiala principala este actualizata zilnic, iar pentru a inspecta codul legat de o anumita versiune de pachet, consultati etichetele.
Raport de acoperire
Versiunea detaliata poate fi vazuta pe Codecov.io
Relatia de dependenta a pachetului
Pentru a actualiza diagrama de mai sus, utilizati aceasta adresa URL de editare si deschideti un nou PR cu modificarile. Asigurati-va ca actualizati atat diagrama, cat si adresa URL de editare.
Dezvoltare rapida
Mai intai, asigurati-va ca aveti submodulul git ethereum-tests, executand:
Acest monorepo foloseste Lerna. Conecteaza pachetele locale impreuna, facilitand mult dezvoltarea.
TLDR: Configurare
TLDR: Pentru a actualiza dependentele si pachetele de (re) legaturi
Mai sus este cel mai rapid mod de a va configura. Mergand pe drum, exista doua seturi de comenzi: comenzi specifice proiectului si pachetului . Le puteti gasi la ./package.json si respectiv ./packages/*/package.json. Iata o defalcare:
Scripturi de proiect – ruleaza din radacina depozitului
instalare npm
Adauga dependente listate in pachetul radacina. De asemenea, executa scriptul bootstrap descris mai jos, instaland toate dependentele subpachetelor.
npm rulati bootstrap
Instaleaza dependente pentru toate pachetele secundare si le leaga pentru a crea un mediu de dezvoltare integrat.
npm run build
Construieste toate pachetele monorepo in mod implicit. Daca este furnizat un domeniu, acesta va construi doar acel pachet special.
Exemplu acoperit, care va construi doar pachetul VM: npm run build – –scope @ ethereumjs / vm
npm run build: tree – –scope @ ethereumjs / blockchain
Construieste toate pachetele locale de care depinde pachetul furnizat (de exemplu: @ ethereumjs / blockchain) si se construieste singur.
Daca nu este furnizat niciun domeniu, npm ruleaza build: tree, va construi toate subpachetele.
npm ruleaza curat
Elimina directorul radacina si pachetele node_modules si alte fisiere generate, cum ar fi acoperire, dist si altele. Acest lucru este util pentru a rula dupa schimbarea ramurilor, pentru a avea o ardezie curata cu care sa lucrati.
npm run lint si npm run lint: fix
Aceste scripturi executa lint si respectiv lint: fix, la toate pachetele monorepo. Merita remarcat faptul ca exista un carlig git in loc care ruleaza npm run scame pentru fiecare apasare git. Aceasta verificare poate fi omisa folosind git push [comanda] –no-verify.
Scripturi de pachete – ruleaza de la ./packages/ <nume>
⚠️ Important: daca executati instalarea npm din directorul pachetelor, acesta va elimina toate linkurile catre pachetele locale, extragand toate dependentele din npm. Rulati instalarea npm numai din radacina.
española folla penes enormes
orgia bisexual follando a mi hijastra
porno madre hijo español porno retro incesto
ver pelis eroticas presentadoras desnudas
miriam sanchez videos porno travesti paja
pilladas desnudas abuela española follando
xxxmamas pelis porno español online
porno gay cerdo porno jovencitas españolas
se folla al follando con la abuela
porno hentail maduras peludas españolas
penes erectos andaluzas follando
pilladas cagando porno hoy
mamada a caballo mujeresfollando
pilladas españolas follando jolla pr
violadas xxx gays haciendo el amor
españolas follando por dinero subporno
madura se corre porno español playa
videos gays españoles lecturas porno
porno viola a su madre hentai castellano
me corro sin avisar videos porno manga
Exista un set de comenzi destul de standardizate pe care le veti gasi in fiecare pachet al acestui depozit.
npm run build
Foloseste compilatorul TypeScript pentru a construi fisiere sursa. Fisierele rezultate pot fi gasite la pachetele / <nume> / dist.
npm acoperire de rulare
Ruleaza orice este pe scriptul de testare npm, capturand informatii despre acoperirea testarii. Pana la final, afiseaza un tabel de acoperire. Rapoarte suplimentare pot fi gasite la pachetele / <nume> / acoperire /.
npm executati docs: build
Genereaza documentatia pachetului si le salveaza in ./packages/ <nume> / docs.
npm run scame
Verifica stilul codului conform regulilor definite in ethereumjs-config.
npm run lint: fix
Remediaza stilul de cod conform regulilor. Spre deosebire de npm run lint, aceasta comanda scrie de fapt in fisiere.
npm test de rulare
Ruleaza testele pachetului.
Retineti ca VM are mai multe domenii de testare – consultati pachetele / vm / package.json pentru mai multe informatii.
Mergand mai departe
Deoarece acest proiect este alimentat de Lerna, il puteti instala la nivel global pentru a va bucura de mai multe optiuni. Consultati documentele Lerna pentru comenzi suplimentare.
- npm install -g lerna
- lerna alerga
- lerna exec
Curatarea modulelor_nod
Ridicarea este activata, astfel incat dependentele sunt mutate in radacina node_modules. lerna clean nu elimina radacina node_modules, astfel incat, pentru comoditate, puteti utiliza scriptul proiectului npm run clean.
Testarea pachetelor la nivel local pe alte proiecte
Exista cateva modalitati prin care puteti lega acest pachet de depozitare la alte proiecte inainte de publicare. Puteti lega dependente de simboluri cu npm link <package> sau puteti instala pachete din sistemul de fisiere folosind npm install <folder>. Dar acestea sunt supuse unor externalitati si cel mai important cu modul in care managerul dvs. de pachete gestioneaza ciclul de viata al pachetelor in timpul instalarilor.
Nota: Referintele Git nu functioneaza cu setarile monorepo din cutie din cauza lipsei de traversare a directorului pe sintaxa. De exemplu:
npm instalati [email protected]: ethereumjs / ethereumjs-monorepo.git
O modalitate de a prelua pachete de la distanta de la GitHub inainte de publicare este utilizarea gitpkg.now.sh.
Dar exista o modalitate mai curata de a va gestiona dependentele folosind Verdaccio.
Instalati Verdaccio
Verdaccio este un registru si un proxy npm care poate fi de mare ajutor pentru a testa pachetele la nivel local. Consultati ghidul lor de Notiuni introductive.
Instaleaza, ridica dependente si construieste pachete
instalare npm
Publica pachete monorepo in Verdaccio
lerna exec “npm publish –registry http: // localhost: 4873 –ignore-scripts”
Anulati publicarea tuturor pachetelor monorepo din Verdaccio
lerna exec “npm unpublish $ LERNA_PACKAGE_NAME –register http: // localhost: 4873 –force”
Configurati domeniul @ethereumjs pe serverul Verdaccio local
npm config set @ethereumjs: registry http: // localhost: 4873
Desfasurati domeniul de aplicare @ethereumjs pe serverul local Verdaccio
npm config delete @ethereumjs: registry
Testarea E2E in CI
Verdaccio este, de asemenea, configurat in fluxul de lucru e2e_tests CI si ofera o modalitate de a instala pachetele @ethereumjs la o comitere arbitrara intr-un proiect extern din lumea reala si de a rula testele unitare cu acesta. Aceasta strategie de testare este imprumutata de la etereum / soliditate, care verifica Soliditatea cea mai recenta impotriva OpenZeppelin si altii pentru a fi la curent cu modul in care schimbarile locale ar putea afecta proiectele critice din aval de acestea.
Testele de acest gen sunt:
- un test de sanatate inaintea publicarii care descopera modul in care performeaza @ethereumjs in salbaticie
- utile pentru a prinde probleme greu de anticipat
- expus la esec din motive in afara controlului @ ethereumjs, ex: atunci cand remediaza aici erori de suprafata in tinta.
Testele E2E sunt construite prin clonarea unei tinte din lumea reala si utilizarea npm sau fire pentru a inlocui dependentele sale existente @ethereumjs cu versiunile publicate in efemerul registru privat npm al CI.
In practica, proiectele complexe ar putea avea mai multe versiuni ale pachetelor @ethereumjs imbricate in arborele lor de dependenta. Este important sa le constrangeti pe toate la versiunile publicate practic pentru ca testul sa fie valid. Acest lucru se poate face folosind functia de rezolutie selectiva a dependentei Yarn. Pasul de publicare verdaccio scrie o harta json cu numele pachetelor @ethereumjs si versiunile lor publicate practic in resolutions.json in directorul radacina. Acest obiect poate fi injectat in package.json al tintei E2E sub cheia de rezolutii si Yarn va instala versiuni noi peste tot asa cum era de asteptat.
Consultati documentatia noastra organizationala pentru o introducere in EthereumJS, precum si informatii despre standardele actuale si cele mai bune practici.
Daca doriti sa va alaturati pentru munca sau sa faceti imbunatatiri la biblioteci, aruncati o privire la ghidurile noastre de contributie.
MIT








