Compare commits

...

348 Commits

Author SHA1 Message Date
github-actions[bot]
cd7947adbc chore: update versions (6-next) (#2450)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2021-09-25 17:44:58 +02:00
Juan Picado
5fed1955a9 refactor: rematch as web state storage for UI (#2447)
* trying rematch

refactor: rematch for store packages

migrate login to rematch

Update packages/plugins/ui-theme/src/store/store.ts

Co-authored-by: Sergio Moreno <sergiomorenoalbert@gmail.com>

hide temporary

fix test for login

migrate package download resource

fix tests

* add missing fixture

* migrate detail page support

* fix tests

* migrate search

* migrate search

* clean up tests

* remove tags

* fix lint

* add changeset

* fix: search model typings

* add type

* types

* apply suggestions

Co-authored-by: Sergio Moreno <22656541+semoal@users.noreply.github.com>
2021-09-25 17:35:03 +02:00
Juan Picado
9dbf73e955 remove typedoc dep, not need it now to fix the changesets 2021-09-19 21:34:38 +02:00
Zameer Haque
2c594910d8 fix: do not throw multiple logger deprecation warning if using default logger config (#2446) 2021-09-19 20:20:46 +02:00
Juan Picado
90818700a3 rename translation file (#2445)
avoid ui translations are being uploaded
2021-09-18 12:45:27 +02:00
Juan Picado
7af1e6cc84 update readme 2021-09-18 11:46:15 +02:00
Juan Picado
757bded72e improve ci syn translations 2021-09-18 10:01:22 +02:00
Juan Picado
1b9bf35c87 add steps to add new languages to ui contributing guidelines 2021-09-18 09:43:14 +02:00
Juan Picado
eb2afc4d6d sync translations on merge in master 2021-09-18 09:20:24 +02:00
Juan Picado
5be013a059 update contributing guidelines and chat reference 2021-09-18 09:07:22 +02:00
Juan Picado
8d6d6097c6 refactor: using ui translations from crowdin (#2442)
* refactor: using ui translations from crowdin

* move tasks

* fix tests
2021-09-17 21:19:50 +02:00
Juan Picado
531289f59d update ui crowdin assets 2021-09-17 07:41:11 +02:00
Juan Picado
5e784d1188 refactor: one single file for i18n conf ui (#2440)
* refactor: one single file for i18n conf ui

* add test for crowdin

* cleanup

* space
2021-09-17 07:17:34 +02:00
Juan Picado
7dde848d0c refactor: replace flag icons with library (#2439)
* feat: simplify i18n translations config and flags

* fix icons

* lint

* update test
2021-09-16 21:46:56 +02:00
Justin Johansson
71874de027 build: upgrade to husky@7.0.2 & configure for lint-staged (#2436) 2021-09-16 07:03:57 +02:00
Joon du Randt
f13dacef9c Updated config map param name in helm example (#2435) 2021-09-14 20:38:50 +02:00
Juan Picado
761f1696f2 update e2e page docs 2021-09-13 22:14:09 +02:00
Juan Picado
f412e8f8d6 Update README.md 2021-09-13 20:56:55 +02:00
rvo
f5fd7bf5bf docs(docker): spelling and minor grammar fix (#2434) 2021-09-12 21:23:02 +02:00
Juan Picado
3d26a8190c eslint deps (#2433)
* eslint deps

* Update pnpm-lock.yaml
2021-09-12 20:33:24 +02:00
Juan Picado
e50410a875 feat: fastify search endpoint v1 without auth and format (#2432) 2021-09-12 17:12:47 +02:00
Juan Picado
60d7b35d88 refactor: search logic to storage pkg (#2431)
* refactor: search logic to storage pkg

* add test

* update undici

* add tests

* Update ci.yml

* fix ci

* fix tests

* fix ci

* fix tests

* fix ci

* restore some deps

* Update Version.test.tsx

* disable debug
2021-09-12 16:21:19 +02:00
Juan Picado
1042f9bf76 update benchmark with v6.0.0-6-next.23 2021-09-08 20:32:38 +02:00
github-actions[bot]
e10637f0f3 chore: update versions (6-next) (#2427)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2021-09-08 19:33:09 +02:00
Juan Picado
459b6fa72b refactor: search v1 endpoint and local-database (#2340)
* Refactor local-storage async

refactor local storage search stream

Remove async from local-storage, refactor search with streams

refactor search with undici fetch

finish search refactor

stream multiple request to single stream

refactor storage types

remove async dependency #1225

add score and refactor metadata

remove old search async

fix missing stream local data

clean up

clean up

refactor folder search

format

fix some test

fix issue on publish

filter preview

update ci

delete package folder refactor

refactor get packages methods

fix tests

fix lock file

add changeset

fix test windows

disable some test

update package json versions

* fix merge

* fix e2e cli

* restore e2e

* Update process.ts

* Update process.ts

* add improvement

* format

* Update utils.ts

* test

* test

* Update search.spec.ts

* Update search.spec.ts

* Update search.spec.ts

* test

* Update ci.yml

* clean up

* fix tests

* Update tags.ts

* Update index.spec.ts

* document changeset

* format
2021-09-08 19:06:37 +02:00
Juan Picado
10868ed434 chore: bump up website version 2021-09-08 07:05:25 +02:00
Juan Picado
ada8165f98 website: add video channel logo access 2021-09-08 07:04:35 +02:00
Juan Picado
57755f31ba docs: update talks document 2021-09-08 06:56:59 +02:00
Snyk bot
9e29bf8890 fix: docker-examples/v5/reverse_proxy/nginx_relative/nginx_ssl/Dockerfile to reduce vulnerabilities (#2417)
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-DEBIAN10-GLIBC-1315333
- https://snyk.io/vuln/SNYK-DEBIAN10-OPENSSL-1569403
- https://snyk.io/vuln/SNYK-DEBIAN10-OPENSSL-1569403
- https://snyk.io/vuln/SNYK-DEBIAN10-OPENSSL-1569406
- https://snyk.io/vuln/SNYK-DEBIAN10-OPENSSL-1569406
2021-09-04 17:02:22 +02:00
Snyk bot
e2a67bafbe fix: docker-examples/v4/reverse_proxy/nginx/relative_path/nginx_ssl/Dockerfile to reduce vulnerabilities (#2416)
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-DEBIAN10-GLIBC-1315333
- https://snyk.io/vuln/SNYK-DEBIAN10-OPENSSL-1569403
- https://snyk.io/vuln/SNYK-DEBIAN10-OPENSSL-1569403
- https://snyk.io/vuln/SNYK-DEBIAN10-OPENSSL-1569406
- https://snyk.io/vuln/SNYK-DEBIAN10-OPENSSL-1569406
2021-09-04 17:02:09 +02:00
Justin Johansson
7c9561b019 Indiescripter/last misc deps update for now (#2422)
* build: update @babel/* devDeps

* build(ui-theme): update terser-webpack-plugin devDep

* build(e2e-cli): update npm & pnpm latest deps published yesterday

* build(ui-theme): update react-router-dom devDep

* build(standalone/ui-theme): update webpack devDev published today

* build(memory): update memfs dep published yesterday

* build(active-directory): update dep activedirectory2 major version

* build: remove currently unused devDep @types/lowdb

* build(fastify-migration/hooks/local-storage/mock/node-api/verdaccio-htpasswd): update dep core-js

* build: remove @commitlint/* devDeps no longer used in master

* build(ui-theme): update @testing-library/react devDep major version
2021-09-04 14:33:45 +02:00
Juan Picado
ed3677a5b6 fix format 2021-09-04 10:35:32 +02:00
Juan Picado
055544238a Update README.md 2021-09-04 10:31:46 +02:00
Juan Picado
4937dba06e Update README.md 2021-09-04 10:30:28 +02:00
Justin Johansson
3e65791564 Indiescripter/upgrade website docusaurus (#2414)
* build(website): update @docusaurus/* deps & devDeps to v2.0.0-beta.6

* build(website): update devDeps esbuild (patch), sass (minor)

* build: pin some innocuous devDeps versions to restart GH CI
2021-09-04 10:29:15 +02:00
Juan Picado
cf1b6cdb04 allow workflow_dispatch on benchmark 2021-09-04 09:57:30 +02:00
Juan Picado
ca86082e08 fix benchmarks 2021-09-04 09:54:38 +02:00
Juan Picado
ef60e83d6c update benchmarks settings 2021-09-04 09:32:18 +02:00
github-actions[bot]
ff1822c961 chore: update versions (6-next) (#2419) 2021-09-04 08:59:14 +02:00
Justin Johansson
df0da3d699 fix(core/hooks/mock/node-api): add missing core-js dep (#2418) 2021-09-04 08:47:57 +02:00
Juan Picado
af035e4f87 Update changesets.yml 2021-09-03 23:19:27 +02:00
github-actions[bot]
99dad7759e chore: update versions (6-next) (#2412)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2021-09-03 23:01:18 +02:00
Juan Picado
2e3b9552cc test release on npmjs as alpha tag (#2411)
* node 14 as minimum for cli

* Create perfect-emus-clean.md

* Update utils.spec.ts
2021-09-03 22:46:04 +02:00
Juan Picado
b6e8554764 chore: setup release on npmjs as tag 2021-09-03 22:17:22 +02:00
Justin Johansson
b51892cb9a Indiescripter/upgrade husky (#2410)
* build: update husky v7.0.2, lint-staged v11.1.2

* build: husky v7.0.2 did not install git hooks; try v4.3.5
2021-09-03 21:55:39 +02:00
Justin Johansson
7e4d5615a4 Indiescripter/upgrade webpack (#2409)
* build(cli): remove unused commander dep

* build(e2e-ui): tweak lodash devDep to exact version

* build: tweak exact versions; @verdaccio:commons-api, get-port, semver

* style: private true prop first in package.jsons (monorepo convention)

* build: update all dep packages with webpack in name except webpack-dev-server

Co-authored-by: Juan Picado <juanpicado19@gmail.com>
2021-09-03 19:06:27 +02:00
Justin Johansson
d21279b35c Indiescripter/update misc deps (#2408)
* build(cli): remove unused commander dep

* build(e2e-ui): tweak lodash devDep to exact version

* build: tweak exact versions; @verdaccio:commons-api, get-port, semver

* style: private true prop first in package.jsons (monorepo convention)
2021-09-03 17:40:21 +02:00
Justin Johansson
5941edcf38 Indiescripter/update ui-theme package deps (#2403)
* build(ui-theme): update ora depDep major from v4.0.4 to v6.0.0

* build(ui-theme): update @testing-library/dom depDep major from v7.31.2 to v8.2.0

* build(ui-theme): update css-loader depDep major from v5.2.1 to v6.2.0

* build(ui-theme): update history depDep major from v4.10.1 to v5.0.1

* build(ui-theme): remove unused devDep resolve-url-loader

* build(ui-theme): remove unused devDep source-map-loader

* build(ui-theme): update style-loader depDep major from v1.2.1 to v3.2.1

* build(ui-theme): update mini-css-extract-plugin depDep major from v1.6.0 to v2.2.2

* build(ui-theme): update i18next depDep major from v19.9.2 to v20.6.0

* build(ui-theme): update stylelint-config-recommended depDep major from v3.0.0 to v5.0.0

* revert(ui-theme): downgrade history depDep major back to v4.10.1 from v5.0.1

* build(ui-theme): remove lint-staged devDep (it's in the root package)

* revert(ui-theme): downgrade ora depDep major from v6 to v5.4.1 (esm problem)

* build: rebase against master & recreate pnpm lockfile
2021-09-03 09:53:05 +02:00
github-actions[bot]
a6bbc8ecc6 chore: update versions (6-next) (#2404) 2021-09-03 08:00:18 +02:00
Snyk bot
3763b9f285 fix: Dockerfile to reduce vulnerabilities (#2406) 2021-09-03 07:59:44 +02:00
Simon Lorenz
f96b147ea1 fix: resolves several issues of audit plugin (#2400)
* fixes an ssl error by correcting the host header
* fixes an `413 - entity too large` / `400 -Invalid compressed payload` error by
  explicitly setting the content-encoding header
* sends json body to remote registry
* adds new `/advisories/bulk` endpoint
* respects `strict_ssl` setting

Co-authored-by: Juan Picado <juanpicado19@gmail.com>
2021-09-02 22:24:31 +02:00
Justin Johansson
1117dd347b Indiescripter/update mostly e2e test deps (#2401)
* build: update e2e-ui devDep puppeteer v9.1.1 to v10.2.0

* build: misc update aws-sdk patch version

Co-authored-by: Juan Picado <juanpicado19@gmail.com>
2021-09-02 06:44:46 +02:00
Justin Johansson
78486b87e8 build: remove some unused dependencies (#2402)
* build: remove unused dep core-js from node-api package

* build: remove unused dep pretty-ms from logger-prettify package
2021-09-02 06:14:04 +02:00
Justin Johansson
b121e3662f Indiescripter/align website format lint configs (#2398)
* build: update deps dompurify, esbuild-loader, envinfo, express-rate-limit, fastify, handlebars, jsdom

* build: remove unused devDep wait-on

* build: update dep http-status-codes

* build: update devDeps @typescript-eslint/*; deps aws-sdk & memfs

* build: update devDep terser-webpack-plugin

* build: update devDep eslint-plugin-prettier

* build: update dev/devDeps node-fetch, react-hook-form

* build: update e2e-cli deps npm & pnpm

* build: update website devDev sass

* build: update ui-theme devDep github-markdown-css

* build: update logger dep pino minor version

* build: update web devDep node-html-parser

* build: remove some legacy flow-typed cruft

* style: eslint-config-airbnb-typescript => @verdaccio/eslint-config; use prettier width 100 in website

* fix: attempt eslint fix in Features.tsx as suggested by @semoal; website eslint still 1 error

* fix: attempt to fix eslint warn about hooks usage

Co-authored-by: Sergio Moreno <22656541+semoal@users.noreply.github.com>
2021-09-01 19:15:15 +02:00
SaintMalik
2e51c931dd docs: fix typos (#2399) 2021-09-01 19:13:09 +02:00
Justin Johansson
4b0eaff5f7 Update many package deps including babel, @types, react & more (#2395) 2021-09-01 07:35:24 +02:00
Justin Johansson
15d5e969c4 Update & make dependency versions consistent in packages/* (#2393)
* docs: improve pnpm development setup info in CONTRIBUTING.md

* build: make dependency versions consistent in packages/*

Updated to latest minor/patch versions; left major version unchanged for now

Did not change react dependencies in ui-theme package

Added .project file for Eclipse IDE users

* revert: rollback @changesets dep versions & maintain kleur v3.0.3
2021-08-30 08:19:08 +02:00
Juan Picado
9805298893 Update docusaurus.config.js 2021-08-29 08:37:11 +02:00
Juan Picado
e0e39540c5 chore: update version website add header link 2021-08-29 08:11:55 +02:00
Justin Johansson
7c75776c84 docs: improve pnpm development setup info in CONTRIBUTING.md (#2392) 2021-08-28 09:30:41 +02:00
Juan Picado
586f1b0684 docs: improve url_prefix info 2021-08-22 10:25:40 +02:00
Juan Picado
d036190aff docs: improve reverse proxy headers info 2021-08-22 10:22:59 +02:00
Juan Picado
988ff72081 docs: improve url_prefix docs and public domain override 2021-08-22 10:20:23 +02:00
Peter Sergeant
b6495d5b6c Try and make the formatting and English a little more consistent (#2321)
* Try and make the formatting and English a little more consistent

* Wrap specifically at 80 rather than a more random approach
* Little English language fixups, including making it more

* fix: format

Co-authored-by: Peter Sergeant <pete@clueball.com>
Co-authored-by: Juan Picado <juanpicado19@gmail.com>
2021-08-12 20:05:27 +02:00
Juan Picado
2f033888e4 website: updagre text size (#2363)
* updagre text size

* try latest pnpm

* Update website.yml

* Update website.yml
2021-08-12 08:20:54 +02:00
Snyk bot
8a8f2b6774 fix: docker-examples/v5/reverse_proxy/nginx/relative_path/nginx/Dockerfile to reduce vulnerabilities (#2371)
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-ALPINE314-CURL-1533447
- https://snyk.io/vuln/SNYK-ALPINE314-CURL-1533452
- https://snyk.io/vuln/SNYK-ALPINE314-CURL-1533458
- https://snyk.io/vuln/SNYK-ALPINE314-CURL-1533461
- https://snyk.io/vuln/SNYK-ALPINE314-CURL-1533461
2021-08-08 19:39:05 +02:00
Juan Picado
3fe8cb0406 readme format 2021-08-06 21:35:43 +02:00
VerdaccioBot
13710ba371 Update README.md 2021-08-06 21:29:56 +02:00
Juan Picado
e39fbfee5f Update _redirects 2021-08-06 20:39:02 +02:00
Juan Picado
14671d8a10 add chat redirect 2021-08-05 06:21:38 +02:00
Juan Picado
be2626fcd5 chore: format 2021-08-03 22:49:48 +02:00
Juan Picado
717175567c chore: add more tweets 2021-08-03 22:49:01 +02:00
Juan Picado
65e077a926 chore: add more tweets 2021-08-03 22:46:25 +02:00
Juan Picado
b704689309 fix: website helm command 2021-08-03 21:38:28 +02:00
Juan Picado
f625c114bb docs: fix wrong language title docs 2021-07-30 09:10:07 +02:00
Juan Picado
42d08eb423 chore: more missings redirect for languages and enable zh-cn was missing 2021-07-30 08:44:34 +02:00
Juan Picado
668bbd0955 chore: redirect en language to root 2021-07-30 08:30:41 +02:00
Juan Picado
2ce7c7dfad chore: add netlify redirect 2021-07-30 08:20:12 +02:00
Sergio Moreno
a2877ab03c docs: update to @docusaurus/beta-4 (#2361) 2021-07-29 12:19:37 +02:00
wandertaker
12d4b1ffc2 Fix broken Docker Example Links (#2357)
* Update README.md

Fix broken links in README

* Fix broken AWS example link
2021-07-28 20:08:32 +02:00
Sergio Moreno
0fb5d31596 fix: add contextualSearch to Algolia Search (#2356) 2021-07-28 14:02:39 +02:00
Juan Picado
b315d4e113 Update CONTRIBUTING.md 2021-07-28 08:14:20 +02:00
Juan Picado
6ab1faa25e Update CONTRIBUTING.md 2021-07-28 08:13:58 +02:00
Sergio Moreno
2808cc268f fix: useBaseUrl on translated links (#2354) 2021-07-28 00:12:04 +02:00
Sergio Moreno
d1d820f8b2 fix: useBaseUrl on translated links (#2353) 2021-07-28 00:04:36 +02:00
Sergio Moreno
25a4601594 fix: website heap size and website.yml path (#2352) 2021-07-27 23:30:02 +02:00
Juan Picado
28ce2a99da Update README.md 2021-07-27 22:46:18 +02:00
Sergio Moreno
7521a59f19 fix: crowdin secrets on website not passed on ci (#2350) 2021-07-27 22:39:24 +02:00
Sergio Moreno
1ca89d923e fix: dsn build on website (#2349) 2021-07-27 22:34:07 +02:00
Juan Picado
386e47c34b Update Dockerfile 2021-07-27 21:59:22 +02:00
Juan Picado
fc185335a3 Update changesets.yml 2021-07-27 21:59:01 +02:00
Sergio Moreno
a6b0d63afb feat: migrate Verdaccio.org to Docusaurus v2 and new design (#2343)
Co-authored-by: Juan Picado <juanpicado19@gmail.com>
2021-07-27 21:52:49 +02:00
Snyk bot
b8c7b771ad fix: docker-examples/v5/reverse_proxy/nginx/relative_path/nginx_ssl/Dockerfile to reduce vulnerabilities (#2344)
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-DEBIAN10-LIBXML2-429486
- https://snyk.io/vuln/SNYK-DEBIAN10-SYSTEMD-345386
- https://snyk.io/vuln/SNYK-DEBIAN10-SYSTEMD-345386
- https://snyk.io/vuln/SNYK-DEBIAN10-SYSTEMD-345391
- https://snyk.io/vuln/SNYK-DEBIAN10-SYSTEMD-345391
2021-07-24 14:21:55 +02:00
Juan Picado
2645ae2e48 Update SECURITY.md 2021-07-21 07:55:42 +02:00
Juan Picado
66c6df4ae9 Update 2019-04-19-diving-into-jwt-support-for-verdaccio-4.md 2021-07-21 07:55:18 +02:00
Juan Picado
feb385c8fd Update 2019-09-30-verdaccio-430-release.md 2021-07-21 07:54:55 +02:00
Juan Picado
bd9b170090 Update 2019-09-30-verdaccio-430-release.md 2021-07-21 07:54:16 +02:00
Juan Picado
30c5c19d5f Update 2019-04-19-diving-into-jwt-support-for-verdaccio-4.md 2021-07-21 07:53:50 +02:00
Juan Picado
9e419a99fc Update SECURITY.md 2021-07-21 07:51:28 +02:00
Juan Picado
9faf6cb209 Update stale.yml 2021-07-21 07:39:48 +02:00
Juan Picado
90b8bc242c chore: upgrade benchmark to v5.1.2 2021-07-14 20:35:47 +02:00
Joseph Mearman
c45711ade5 fix bad reference to docker yaml (#2329)
* fix bad reference to docker yaml

* Partially revert "fix bad reference to docker yaml"

This partially reverts commit 8299c29467.
2021-07-13 20:06:21 +02:00
Juan Picado
625f529fe9 New Crowdin updates (#2325)
* docs(website): new translation for puppet.md in Filipino

* docs(website): new translation for puppet.md in Serbian (Latin)

* docs(website): new translation for puppet.md in Tajik

* docs(website): new translation for puppet.md in Yoruba

* docs(website): new translation for repositories.md in Romanian

* docs(website): new translation for repositories.md in Spanish

* docs(website): new translation for repositories.md in Chinese Traditional

* docs(website): new translation for repositories.md in Arabic

* docs(website): new translation for repositories.md in Czech

* docs(website): new translation for repositories.md in German

* docs(website): new translation for repositories.md in Italian

* docs(website): new translation for repositories.md in Japanese

* docs(website): new translation for repositories.md in Korean

* docs(website): new translation for repositories.md in Polish

* docs(website): new translation for repositories.md in Portuguese

* docs(website): new translation for repositories.md in Russian

* docs(website): new translation for repositories.md in Serbian (Cyrillic)

* docs(website): new translation for repositories.md in Chinese Simplified

* docs(website): new translation for reverse-proxy.md in Hindi

* docs(website): new translation for reverse-proxy.md in Serbian (Latin)

* docs(website): new translation for puppet.md in Russian

* docs(website): new translation for server.md in Chinese Traditional

* docs(website): new translation for server.md in Czech

* docs(website): new translation for server.md in German

* docs(website): new translation for server.md in Italian

* docs(website): new translation for server.md in Japanese

* docs(website): new translation for server.md in Korean

* docs(website): new translation for server.md in Polish

* docs(website): new translation for server.md in Portuguese

* docs(website): new translation for server.md in Russian

* docs(website): new translation for server.md in Serbian (Cyrillic)

* docs(website): new translation for server.md in Chinese Simplified

* docs(website): new translation for server.md in Vietnamese

* docs(website): new translation for server.md in Spanish

* docs(website): new translation for server.md in Galician

* docs(website): new translation for server.md in Portuguese, Brazilian

* docs(website): new translation for server.md in Hindi

* docs(website): new translation for server.md in Filipino

* docs(website): new translation for server.md in Serbian (Latin)

* docs(website): new translation for server.md in Tajik

* docs(website): new translation for server.md in Yoruba

* docs(website): new translation for ssl.md in Romanian

* docs(website): new translation for ssl.md in French

* docs(website): new translation for ssl.md in Spanish

* docs(website): new translation for ssl.md in Arabic

* docs(website): new translation for server.md in Arabic

* docs(website): new translation for server.md in French

* docs(website): new translation for reverse-proxy.md in Tajik

* docs(website): new translation for reverse-proxy.md in Yoruba

* docs(website): new translation for server.md in Romanian

* docs(website): new translation for puppet.md in Serbian (Cyrillic)

* docs(website): new translation for puppet.md in Portuguese

* docs(website): new translation for plugins.md in French

* docs(website): new translation for plugins.md in Romanian

* docs(website): new translation for plugins.md in Spanish

* docs(website): new translation for puppet.md in Polish

* docs(website): new translation for protect-your-dependencies.md in Filipino

* docs(website): new translation for protect-your-dependencies.md in Polish

* docs(website): new translation for protect-your-dependencies.md in Portuguese

* docs(website): new translation for protect-your-dependencies.md in Russian

* docs(website): new translation for protect-your-dependencies.md in Serbian (Cyrillic)

* docs(website): new translation for protect-your-dependencies.md in Chinese Simplified

* docs(website): new translation for protect-your-dependencies.md in Chinese Traditional

* docs(website): new translation for protect-your-dependencies.md in Vietnamese

* docs(website): new translation for protect-your-dependencies.md in Galician

* docs(website): new translation for protect-your-dependencies.md in Portuguese, Brazilian

* docs(website): new translation for protect-your-dependencies.md in Hindi

* docs(website): new translation for protect-your-dependencies.md in Serbian (Latin)

* docs(website): new translation for protect-your-dependencies.md in Japanese

* docs(website): new translation for protect-your-dependencies.md in Tajik

* docs(website): new translation for protect-your-dependencies.md in Yoruba

* docs(website): new translation for puppet.md in Romanian

* docs(website): new translation for puppet.md in French

* docs(website): new translation for puppet.md in Spanish

* docs(website): new translation for puppet.md in Arabic

* docs(website): new translation for puppet.md in Czech

* docs(website): new translation for puppet.md in German

* docs(website): new translation for puppet.md in Italian

* docs(website): new translation for puppet.md in Japanese

* docs(website): new translation for puppet.md in Korean

* docs(website): new translation for protect-your-dependencies.md in Korean

* docs(website): new translation for protect-your-dependencies.md in Italian

* docs(website): new translation for plugins.md in Arabic

* docs(website): new translation for plugins.md in Vietnamese

* docs(website): new translation for plugins.md in Czech

* docs(website): new translation for plugins.md in German

* docs(website): new translation for plugins.md in Italian

* docs(website): new translation for plugins.md in Japanese

* docs(website): new translation for plugins.md in Korean

* docs(website): new translation for plugins.md in Polish

* docs(website): new translation for plugins.md in Portuguese

* docs(website): new translation for plugins.md in Russian

* docs(website): new translation for plugins.md in Serbian (Cyrillic)

* docs(website): new translation for plugins.md in Chinese Simplified

* docs(website): new translation for plugins.md in Chinese Traditional

* docs(website): new translation for plugins.md in Galician

* docs(website): new translation for protect-your-dependencies.md in German

* docs(website): new translation for plugins.md in Portuguese, Brazilian

* docs(website): new translation for plugins.md in Hindi

* docs(website): new translation for plugins.md in Filipino

* docs(website): new translation for plugins.md in Serbian (Latin)

* docs(website): new translation for plugins.md in Tajik

* docs(website): new translation for plugins.md in Yoruba

* docs(website): new translation for protect-your-dependencies.md in Romanian

* docs(website): new translation for protect-your-dependencies.md in French

* docs(website): new translation for protect-your-dependencies.md in Spanish

* docs(website): new translation for protect-your-dependencies.md in Arabic

* docs(website): new translation for protect-your-dependencies.md in Czech

* docs(website): new translation for install.md in Czech

* docs(website): new translation for linking.md in Portuguese, Brazilian

* docs(website): new translation for install.md in Spanish

* docs(website): new translation for caching.md in Serbian (Cyrillic)

* docs(website): new translation for caching.md in Spanish

* docs(website): new translation for caching.md in Arabic

* docs(website): new translation for caching.md in Czech

* docs(website): new translation for caching.md in German

* docs(website): new translation for caching.md in Italian

* docs(website): new translation for caching.md in Japanese

* docs(website): new translation for caching.md in Korean

* docs(website): new translation for caching.md in Polish

* docs(website): new translation for caching.md in Portuguese

* docs(website): new translation for caching.md in Russian

* docs(website): new translation for caching.md in Chinese Simplified

* docs(website): new translation for caching.md in Romanian

* docs(website): new translation for caching.md in Chinese Traditional

* docs(website): new translation for caching.md in Vietnamese

* docs(website): new translation for caching.md in Galician

* docs(website): new translation for caching.md in Portuguese, Brazilian

* docs(website): new translation for caching.md in Hindi

* docs(website): new translation for caching.md in Filipino

* docs(website): new translation for caching.md in Serbian (Latin)

* docs(website): new translation for install.md in French

* docs(website): new translation for caching.md in Yoruba

* docs(website): new translation for chef.md in Romanian

* docs(website): new translation for chef.md in French

* docs(website): new translation for caching.md in French

* docs(website): new translation for best-practices.md in Yoruba

* docs(website): new translation for chef.md in Arabic

* docs(website): new translation for best-practices.md in Korean

* docs(website): new translation for best-practices.md in Romanian

* docs(website): new translation for who-is-using.md in Russian

* docs(website): new translation for windows.md in Serbian (Latin)

* docs(website): new translation for windows.md in Tajik

* docs(website): new translation for windows.md in Yoruba

* docs(website): new translation for windows.md in Hindi

* docs(website): new translation for en.json in Chinese Simplified

* docs(website): new translation for windows.md in Filipino

* docs(website): new translation for windows.md in Portuguese, Brazilian

* docs(website): new translation for who-is-using.md in Serbian (Cyrillic)

* docs(website): new translation for windows.md in Spanish

* docs(website): new translation for who-is-using.md in Chinese Simplified

* docs(website): new translation for who-is-using.md in Chinese Traditional

* docs(website): new translation for who-is-using.md in Vietnamese

* docs(website): new translation for who-is-using.md in Galician

* docs(website): new translation for who-is-using.md in Portuguese, Brazilian

* docs(website): new translation for who-is-using.md in Hindi

* docs(website): new translation for who-is-using.md in Filipino

* docs(website): new translation for who-is-using.md in Serbian (Latin)

* docs(website): new translation for who-is-using.md in Tajik

* docs(website): new translation for who-is-using.md in Yoruba

* docs(website): new translation for windows.md in Romanian

* docs(website): new translation for windows.md in French

* docs(website): new translation for windows.md in Arabic

* docs(website): new translation for windows.md in Galician

* docs(website): new translation for windows.md in Czech

* docs(website): new translation for windows.md in German

* docs(website): new translation for windows.md in Italian

* docs(website): new translation for windows.md in Japanese

* docs(website): new translation for windows.md in Korean

* docs(website): new translation for windows.md in Polish

* docs(website): new translation for windows.md in Portuguese

* docs(website): new translation for windows.md in Russian

* docs(website): new translation for windows.md in Serbian (Cyrillic)

* docs(website): new translation for windows.md in Chinese Simplified

* docs(website): new translation for windows.md in Chinese Traditional

* docs(website): new translation for windows.md in Vietnamese

* docs(website): new translation for best-practices.md in French

* docs(website): new translation for amazon.md in Spanish

* docs(website): new translation for iis-server.md in Vietnamese

* docs(website): new translation for install.md in Romanian

* docs(website): new translation for iis-server.md in Yoruba

* docs(website): new translation for iis-server.md in Tajik

* docs(website): new translation for iis-server.md in Serbian (Latin)

* docs(website): new translation for iis-server.md in Filipino

* docs(website): new translation for iis-server.md in Hindi

* docs(website): new translation for iis-server.md in Portuguese, Brazilian

* docs(website): new translation for iis-server.md in Galician

* docs(website): new translation for iis-server.md in Chinese Traditional

* docs(website): new translation for iis-server.md in Chinese Simplified

* docs(website): new translation for iis-server.md in Serbian (Cyrillic)

* docs(website): new translation for iis-server.md in Russian

* docs(website): new translation for iis-server.md in Portuguese

* docs(website): new translation for iis-server.md in Polish

* docs(website): new translation for iis-server.md in Korean

* docs(website): new translation for iis-server.md in Japanese

* docs(website): new translation for iis-server.md in Italian

* docs(website): new translation for iis-server.md in German

* docs(website): new translation for iis-server.md in Czech

* docs(website): new translation for iis-server.md in Arabic

* docs(website): new translation for iis-server.md in Spanish

* docs(website): new translation for iis-server.md in French

* docs(website): new translation for iis-server.md in Romanian

* docs(website): new translation for e2e.md in Czech

* docs(website): new translation for e2e.md in Hindi

* docs(website): new translation for e2e.md in Portuguese, Brazilian

* docs(website): new translation for e2e.md in Galician

* docs(website): new translation for e2e.md in Vietnamese

* docs(website): new translation for e2e.md in Chinese Traditional

* docs(website): new translation for e2e.md in Chinese Simplified

* docs(website): new translation for e2e.md in Serbian (Cyrillic)

* docs(website): new translation for e2e.md in Russian

* docs(website): new translation for e2e.md in Portuguese

* docs(website): new translation for e2e.md in Polish

* docs(website): new translation for e2e.md in Korean

* docs(website): new translation for e2e.md in Japanese

* docs(website): new translation for e2e.md in Italian

* docs(website): new translation for e2e.md in German

* docs(website): new translation for e2e.md in Arabic

* docs(website): new translation for e2e.md in Serbian (Latin)

* docs(website): new translation for e2e.md in Spanish

* docs(website): new translation for e2e.md in French

* docs(website): new translation for e2e.md in Romanian

* docs(website): new translation for docker.md in Yoruba

* docs(website): new translation for docker.md in Tajik

* docs(website): new translation for docker.md in Serbian (Latin)

* docs(website): new translation for docker.md in Filipino

* docs(website): new translation for docker.md in Hindi

* docs(website): new translation for docker.md in Portuguese, Brazilian

* docs(website): new translation for docker.md in Galician

* docs(website): new translation for docker.md in Vietnamese

* docs(website): new translation for docker.md in Chinese Traditional

* docs(website): new translation for docker.md in Chinese Simplified

* docs(website): new translation for docker.md in Serbian (Cyrillic)

* docs(website): new translation for e2e.md in Filipino

* docs(website): new translation for e2e.md in Tajik

* docs(website): new translation for github-actions.md in Galician

* docs(website): new translation for github-actions.md in Yoruba

* docs(website): new translation for github-actions.md in Tajik

* docs(website): new translation for github-actions.md in Serbian (Latin)

* docs(website): new translation for github-actions.md in Filipino

* docs(website): new translation for github-actions.md in Hindi

* docs(website): new translation for github-actions.md in Portuguese, Brazilian

* docs(website): new translation for github-actions.md in Vietnamese

* docs(website): new translation for e2e.md in Yoruba

* docs(website): new translation for github-actions.md in Italian

* docs(website): new translation for github-actions.md in Romanian

* docs(website): new translation for github-actions.md in French

* docs(website): new translation for github-actions.md in Spanish

* docs(website): new translation for github-actions.md in Arabic

* docs(website): new translation for github-actions.md in Czech
2021-07-11 18:39:26 +02:00
Juan Picado
0165ac1cd1 docs(website): new cCrowdin updates (#2324)
* docs(website): new translation for logo.md in Korean

* docs(website): new translation for logo.md in Polish

* docs(website): new translation for logo.md in Portuguese

* docs(website): new translation for logo.md in Russian

* docs(website): new translation for logo.md in Serbian (Cyrillic)

* docs(website): new translation for logo.md in Chinese Simplified

* docs(website): new translation for logo.md in Chinese Traditional

* docs(website): new translation for logo.md in Vietnamese

* docs(website): new translation for logo.md in Galician

* docs(website): new translation for logo.md in Portuguese, Brazilian

* docs(website): new translation for logo.md in Hindi

* docs(website): new translation for logger.md in Hindi

* docs(website): new translation for logger.md in Galician

* docs(website): new translation for linking.md in Chinese Simplified

* docs(website): new translation for logger.md in Spanish

* docs(website): new translation for linking.md in Chinese Traditional

* docs(website): new translation for linking.md in Vietnamese

* docs(website): new translation for linking.md in Galician

* docs(website): new translation for amazon.md in French

* docs(website): new translation for linking.md in Hindi

* docs(website): new translation for linking.md in Filipino

* docs(website): new translation for linking.md in Serbian (Latin)

* docs(website): new translation for linking.md in Tajik

* docs(website): new translation for linking.md in Yoruba

* docs(website): new translation for logger.md in Romanian

* docs(website): new translation for logger.md in French

* docs(website): new translation for logger.md in Arabic

* docs(website): new translation for logger.md in Vietnamese

* docs(website): new translation for logger.md in Czech

* docs(website): new translation for logger.md in German

* docs(website): new translation for logger.md in Italian

* docs(website): new translation for logger.md in Japanese

* docs(website): new translation for logger.md in Korean

* docs(website): new translation for logger.md in Polish

* docs(website): new translation for logger.md in Portuguese

* docs(website): new translation for logger.md in Russian

* docs(website): new translation for logger.md in Serbian (Cyrillic)

* docs(website): new translation for logger.md in Chinese Simplified

* docs(website): new translation for logger.md in Chinese Traditional

* docs(website): new translation for install.md in Arabic

* docs(website): new translation for reverse-proxy.md in German

* docs(website): new translation for repositories.md in Hindi

* docs(website): new translation for repositories.md in Filipino

* docs(website): new translation for repositories.md in Serbian (Latin)

* docs(website): new translation for repositories.md in Tajik

* docs(website): new translation for repositories.md in Yoruba

* docs(website): new translation for reverse-proxy.md in Romanian

* docs(website): new translation for reverse-proxy.md in French

* docs(website): new translation for reverse-proxy.md in Spanish

* docs(website): new translation for reverse-proxy.md in Arabic

* docs(website): new translation for reverse-proxy.md in Czech

* docs(website): new translation for reverse-proxy.md in Italian

* docs(website): new translation for repositories.md in Galician

* docs(website): new translation for reverse-proxy.md in Japanese

* docs(website): new translation for reverse-proxy.md in Korean

* docs(website): new translation for reverse-proxy.md in Polish

* docs(website): new translation for reverse-proxy.md in Portuguese

* docs(website): new translation for reverse-proxy.md in Russian

* docs(website): new translation for reverse-proxy.md in Serbian (Cyrillic)

* docs(website): new translation for reverse-proxy.md in Chinese Simplified

* docs(website): new translation for reverse-proxy.md in Chinese Traditional

* docs(website): new translation for reverse-proxy.md in Vietnamese

* docs(website): new translation for reverse-proxy.md in Galician

* docs(website): new translation for reverse-proxy.md in Portuguese, Brazilian

* docs(website): new translation for repositories.md in Portuguese, Brazilian

* docs(website): new translation for repositories.md in Vietnamese

* docs(website): new translation for reverse-proxy.md in Filipino

* docs(website): new translation for repositories.md in French

* docs(website): new translation for puppet.md in Chinese Simplified

* docs(website): new translation for puppet.md in Chinese Traditional

* docs(website): new translation for puppet.md in Vietnamese

* docs(website): new translation for puppet.md in Galician

* docs(website): new translation for puppet.md in Portuguese, Brazilian

* docs(website): new translation for puppet.md in Hindi

* docs(website): new translation for puppet.md in Filipino

* docs(website): new translation for puppet.md in Serbian (Latin)

* docs(website): new translation for puppet.md in Tajik

* docs(website): new translation for puppet.md in Yoruba

* docs(website): new translation for repositories.md in Romanian

* docs(website): new translation for repositories.md in Spanish

* docs(website): new translation for repositories.md in Chinese Traditional

* docs(website): new translation for repositories.md in Arabic

* docs(website): new translation for repositories.md in Czech

* docs(website): new translation for repositories.md in German

* docs(website): new translation for repositories.md in Italian

* docs(website): new translation for repositories.md in Japanese

* docs(website): new translation for repositories.md in Korean

* docs(website): new translation for repositories.md in Polish

* docs(website): new translation for repositories.md in Portuguese

* docs(website): new translation for repositories.md in Russian

* docs(website): new translation for repositories.md in Serbian (Cyrillic)

* docs(website): new translation for repositories.md in Chinese Simplified

* docs(website): new translation for reverse-proxy.md in Hindi

* docs(website): new translation for reverse-proxy.md in Serbian (Latin)

* docs(website): new translation for puppet.md in Russian

* docs(website): new translation for server.md in Chinese Traditional

* docs(website): new translation for server.md in Czech

* docs(website): new translation for server.md in German

* docs(website): new translation for server.md in Italian

* docs(website): new translation for server.md in Japanese

* docs(website): new translation for server.md in Korean

* docs(website): new translation for server.md in Polish

* docs(website): new translation for server.md in Portuguese

* docs(website): new translation for server.md in Russian

* docs(website): new translation for server.md in Serbian (Cyrillic)

* docs(website): new translation for server.md in Chinese Simplified

* docs(website): new translation for server.md in Vietnamese

* docs(website): new translation for server.md in Spanish

* docs(website): new translation for server.md in Galician

* docs(website): new translation for server.md in Portuguese, Brazilian

* docs(website): new translation for server.md in Hindi

* docs(website): new translation for server.md in Filipino

* docs(website): new translation for server.md in Serbian (Latin)

* docs(website): new translation for server.md in Tajik

* docs(website): new translation for server.md in Yoruba

* docs(website): new translation for ssl.md in Romanian

* docs(website): new translation for ssl.md in French

* docs(website): new translation for ssl.md in Spanish

* docs(website): new translation for ssl.md in Arabic

* docs(website): new translation for server.md in Arabic

* docs(website): new translation for server.md in French

* docs(website): new translation for reverse-proxy.md in Tajik

* docs(website): new translation for reverse-proxy.md in Yoruba

* docs(website): new translation for server.md in Romanian

* docs(website): new translation for puppet.md in Serbian (Cyrillic)

* docs(website): new translation for puppet.md in Portuguese

* docs(website): new translation for plugins.md in French

* docs(website): new translation for plugins.md in Romanian

* docs(website): new translation for plugins.md in Spanish

* docs(website): new translation for puppet.md in Polish

* docs(website): new translation for protect-your-dependencies.md in Filipino

* docs(website): new translation for protect-your-dependencies.md in Polish

* docs(website): new translation for protect-your-dependencies.md in Portuguese

* docs(website): new translation for protect-your-dependencies.md in Russian

* docs(website): new translation for protect-your-dependencies.md in Serbian (Cyrillic)

* docs(website): new translation for protect-your-dependencies.md in Chinese Simplified

* docs(website): new translation for protect-your-dependencies.md in Chinese Traditional

* docs(website): new translation for protect-your-dependencies.md in Vietnamese

* docs(website): new translation for protect-your-dependencies.md in Galician

* docs(website): new translation for protect-your-dependencies.md in Portuguese, Brazilian

* docs(website): new translation for protect-your-dependencies.md in Hindi

* docs(website): new translation for protect-your-dependencies.md in Serbian (Latin)

* docs(website): new translation for protect-your-dependencies.md in Japanese

* docs(website): new translation for protect-your-dependencies.md in Tajik

* docs(website): new translation for protect-your-dependencies.md in Yoruba

* docs(website): new translation for puppet.md in Romanian

* docs(website): new translation for puppet.md in French

* docs(website): new translation for puppet.md in Spanish

* docs(website): new translation for puppet.md in Arabic

* docs(website): new translation for puppet.md in Czech

* docs(website): new translation for puppet.md in German

* docs(website): new translation for puppet.md in Italian

* docs(website): new translation for puppet.md in Japanese

* docs(website): new translation for puppet.md in Korean

* docs(website): new translation for protect-your-dependencies.md in Korean

* docs(website): new translation for protect-your-dependencies.md in Italian

* docs(website): new translation for plugins.md in Arabic

* docs(website): new translation for plugins.md in Vietnamese

* docs(website): new translation for plugins.md in Czech

* docs(website): new translation for plugins.md in German

* docs(website): new translation for plugins.md in Italian

* docs(website): new translation for plugins.md in Japanese

* docs(website): new translation for plugins.md in Korean

* docs(website): new translation for plugins.md in Polish

* docs(website): new translation for plugins.md in Portuguese

* docs(website): new translation for plugins.md in Russian

* docs(website): new translation for plugins.md in Serbian (Cyrillic)

* docs(website): new translation for plugins.md in Chinese Simplified

* docs(website): new translation for plugins.md in Chinese Traditional

* docs(website): new translation for plugins.md in Galician

* docs(website): new translation for protect-your-dependencies.md in German

* docs(website): new translation for plugins.md in Portuguese, Brazilian

* docs(website): new translation for plugins.md in Hindi

* docs(website): new translation for plugins.md in Filipino

* docs(website): new translation for plugins.md in Serbian (Latin)

* docs(website): new translation for plugins.md in Tajik

* docs(website): new translation for plugins.md in Yoruba

* docs(website): new translation for protect-your-dependencies.md in Romanian

* docs(website): new translation for protect-your-dependencies.md in French

* docs(website): new translation for protect-your-dependencies.md in Spanish

* docs(website): new translation for protect-your-dependencies.md in Arabic

* docs(website): new translation for protect-your-dependencies.md in Czech

* docs(website): new translation for install.md in Czech

* docs(website): new translation for linking.md in Portuguese, Brazilian

* docs(website): new translation for install.md in Spanish

* docs(website): new translation for caching.md in Serbian (Cyrillic)

* docs(website): new translation for caching.md in Spanish

* docs(website): new translation for caching.md in Arabic

* docs(website): new translation for caching.md in Czech

* docs(website): new translation for caching.md in German

* docs(website): new translation for caching.md in Italian

* docs(website): new translation for caching.md in Japanese

* docs(website): new translation for caching.md in Korean

* docs(website): new translation for caching.md in Polish

* docs(website): new translation for caching.md in Portuguese

* docs(website): new translation for caching.md in Russian

* docs(website): new translation for caching.md in Chinese Simplified

* docs(website): new translation for caching.md in Romanian

* docs(website): new translation for caching.md in Chinese Traditional

* docs(website): new translation for caching.md in Vietnamese

* docs(website): new translation for caching.md in Galician

* docs(website): new translation for caching.md in Portuguese, Brazilian

* docs(website): new translation for caching.md in Hindi

* docs(website): new translation for caching.md in Filipino

* docs(website): new translation for caching.md in Serbian (Latin)

* docs(website): new translation for install.md in French

* docs(website): new translation for caching.md in Yoruba

* docs(website): new translation for chef.md in Romanian

* docs(website): new translation for chef.md in French

* docs(website): new translation for caching.md in French

* docs(website): new translation for best-practices.md in Yoruba

* docs(website): new translation for chef.md in Arabic

* docs(website): new translation for best-practices.md in Korean

* docs(website): new translation for best-practices.md in Romanian

* docs(website): new translation for who-is-using.md in Russian

* docs(website): new translation for windows.md in Serbian (Latin)

* docs(website): new translation for windows.md in Tajik

* docs(website): new translation for windows.md in Yoruba

* docs(website): new translation for windows.md in Hindi

* docs(website): new translation for en.json in Chinese Simplified

* docs(website): new translation for windows.md in Filipino

* docs(website): new translation for windows.md in Portuguese, Brazilian

* docs(website): new translation for who-is-using.md in Serbian (Cyrillic)

* docs(website): new translation for windows.md in Spanish

* docs(website): new translation for who-is-using.md in Chinese Simplified

* docs(website): new translation for who-is-using.md in Chinese Traditional

* docs(website): new translation for who-is-using.md in Vietnamese

* docs(website): new translation for who-is-using.md in Galician

* docs(website): new translation for who-is-using.md in Portuguese, Brazilian

* docs(website): new translation for who-is-using.md in Hindi

* docs(website): new translation for who-is-using.md in Filipino

* docs(website): new translation for who-is-using.md in Serbian (Latin)

* docs(website): new translation for who-is-using.md in Tajik

* docs(website): new translation for who-is-using.md in Yoruba

* docs(website): new translation for windows.md in Romanian

* docs(website): new translation for windows.md in French

* docs(website): new translation for windows.md in Arabic

* docs(website): new translation for windows.md in Galician

* docs(website): new translation for windows.md in Czech

* docs(website): new translation for windows.md in German

* docs(website): new translation for windows.md in Italian

* docs(website): new translation for windows.md in Japanese

* docs(website): new translation for windows.md in Korean

* docs(website): new translation for windows.md in Polish

* docs(website): new translation for windows.md in Portuguese

* docs(website): new translation for windows.md in Russian

* docs(website): new translation for windows.md in Serbian (Cyrillic)

* docs(website): new translation for windows.md in Chinese Simplified

* docs(website): new translation for windows.md in Chinese Traditional

* docs(website): new translation for windows.md in Vietnamese
2021-07-11 18:01:00 +02:00
Juan Picado
d753f02f91 chore: update readme 2021-07-11 17:06:52 +02:00
Juan Picado
456c78b4a7 chore: add oss sponsor logo netlify 2021-07-11 16:51:02 +02:00
Juan Picado
cf9d2d50aa chore: add netlify logo on footer 2021-07-11 16:48:45 +02:00
Juan Picado
843328f73c chore: update talk 2021-07-11 16:20:27 +02:00
Juan Picado
65d7392b3a chore: update netlify configuration 2021-07-11 16:09:30 +02:00
Juan Picado
e7ef249b1d chore: update netlify configuration 2021-07-11 16:02:18 +02:00
Juan Picado
669f0a63e8 chore: add netlify configuration 2021-07-11 15:56:49 +02:00
Juan Picado
35677db1f1 chore: add netlify configuration 2021-07-11 15:54:53 +02:00
Juan Picado
d278f1b259 chore: relocate website for netlify migration (#2323) 2021-07-11 15:42:56 +02:00
Snyk bot
0f0cbf2b2f fix: docker-examples/v5/reverse_proxy/nginx/relative_path/nginx/Dockerfile to reduce vulnerabilities (#2320)
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-ALPINE39-OPENSSL-1089232
- https://snyk.io/vuln/SNYK-ALPINE39-OPENSSL-1089235
- https://snyk.io/vuln/SNYK-ALPINE39-OPENSSL-1089235
- https://snyk.io/vuln/SNYK-ALPINE39-OPENSSL-588029
- https://snyk.io/vuln/SNYK-ALPINE39-OPENSSL-588029
2021-07-08 08:09:02 +02:00
Snyk bot
f74a6a39e8 fix: docker-examples/v5/reverse_proxy/nginx_relative/nginx/Dockerfile to reduce vulnerabilities (#2318)
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-ALPINE39-OPENSSL-1089232
- https://snyk.io/vuln/SNYK-ALPINE39-OPENSSL-1089235
- https://snyk.io/vuln/SNYK-ALPINE39-OPENSSL-1089235
- https://snyk.io/vuln/SNYK-ALPINE39-OPENSSL-588029
- https://snyk.io/vuln/SNYK-ALPINE39-OPENSSL-588029
2021-07-07 10:10:45 +02:00
Snyk bot
cd3b702aa6 fix: docker-examples/v4/reverse_proxy/nginx/relative_path/nginx/Dockerfile to reduce vulnerabilities (#2317)
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-ALPINE39-OPENSSL-1089232
- https://snyk.io/vuln/SNYK-ALPINE39-OPENSSL-1089235
- https://snyk.io/vuln/SNYK-ALPINE39-OPENSSL-1089235
- https://snyk.io/vuln/SNYK-ALPINE39-OPENSSL-588029
- https://snyk.io/vuln/SNYK-ALPINE39-OPENSSL-588029
2021-07-07 10:10:35 +02:00
Juan Picado
960ebc67a5 Update feature.md 2021-07-03 09:36:03 +02:00
Juan Picado
dd442f192f Update feature.md 2021-07-03 09:35:23 +02:00
Juan Picado
b549a0de59 Update feature.md 2021-07-03 09:32:30 +02:00
Juan Picado
f9c90dd3f5 chore: fix format 2021-07-03 09:13:03 +02:00
Juan Picado
135d21c9db Update bug_report.md 2021-07-03 09:11:49 +02:00
Juan Picado
a8b7fb0e8d Update bug_report.md 2021-07-03 09:10:38 +02:00
Juan Picado
05ed10811f Update bug_report.md 2021-07-03 09:09:54 +02:00
Juan Picado
4c40fa6664 Remove 4.x versions from security support
Today expires security support for any 4.x version
2021-07-01 18:35:50 +02:00
Juan Picado
3d45cecf04 chore: update benchmark settings 2021-06-23 21:22:39 +02:00
Juan Picado
aad7707268 chore: update dependencies (#2304) 2021-06-23 20:08:22 +02:00
Juan Picado
73e6863426 chore: update cron 2021-06-19 21:37:23 +02:00
github-actions[bot]
54b17f4442 chore: update versions (6-next) (#2296)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2021-06-16 08:37:29 +02:00
Juan Picado
7aff3dcb9c fix format 2021-06-14 20:49:50 +02:00
Juan Picado
a9144021d4 Update README.md 2021-06-14 20:28:54 +02:00
Juan Picado
77e2e50943 Update README.md 2021-06-14 20:27:35 +02:00
Juan Picado
09a7cf3456 connect storage with fastify server as decorator (#2299)
* connect storage with fastify server as decorator

* remove dep
2021-06-13 22:03:09 +02:00
Juan Picado
8ca5fe6d26 fix: disable info registry section with pkg manager config (#2298) 2021-06-13 16:23:48 +02:00
Juan Picado
73d34bf9c4 build: upgrade to jest 27 (#2297)
* migrate to jest 27

* test
2021-06-13 09:14:04 +02:00
Juan Picado
67406082ed update to react17 and other dependencies on ui (#2295) 2021-06-12 21:51:54 +02:00
Juan Picado
d6e44a4c18 chore: replace node-fetch by undici hook package (#2292)
* chore: replace node-fetch by undici hook package

* fix types

* test something

* test 12

* add flag

* restore fail fast

* remove 12 from tests
2021-06-12 18:24:54 +02:00
Juan Picado
2197d08e42 remove unused scripts and deps 2021-06-12 09:54:16 +02:00
Juan Picado
15c694156a fix eslint warnings (#2265)
* chore: reduce warnings

* chore: fix eslint warnings

* fix warning
2021-06-12 09:25:53 +02:00
Juan Picado
59ac312c21 chore: update stale 2021-06-12 08:09:53 +02:00
Juan Picado
8f16dcfdee chore: update stale limits 2021-06-12 07:41:05 +02:00
Juan Picado
95ed3db43c chore: fix typo 2021-06-05 16:01:28 +02:00
Juan Picado
cb8991f3d5 chore: rename artifact name 2021-06-05 15:36:34 +02:00
Juan Picado
3d1d5071ed build: collect metrics running some benchmarks (#2272) 2021-06-05 15:33:17 +02:00
Juan Picado
8682af5628 chore: restore script 2021-05-24 10:46:25 +02:00
Juan Picado
1d8910a8cd chore: publish on new tag 2021-05-24 09:13:29 +02:00
github-actions[bot]
1ef60915e6 chore: update versions (6-next) (#2245)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2021-05-24 09:01:22 +02:00
Juan Picado
55ee3fdd97 [Fastify] Add ping endpoint (#2246)
* chore: add ping endpoint

* Update package.json

* rebase from master

* add debug code and logger

* Update index.ts

* Create heavy-ravens-lay.md

* endpoint as plugin

* chore: format

* Update packages/core/server/debug/index.ts

Co-authored-by: Manuel Spigolon <behemoth89@gmail.com>

* add logger instance to fastify

* 4873 port

* format file

* add logger

Co-authored-by: Manuel Spigolon <behemoth89@gmail.com>
2021-05-22 06:56:37 +02:00
Juan Picado
4ebf18816a chore: restore changesets version 2021-05-16 19:03:39 +02:00
Juan Picado
276a0a63a7 chore: set max eslint warnings
this will avoid increase number of warnings, only reduce this number along the warnings are being fixed
2021-05-16 17:26:26 +02:00
Juan Picado
f3f00052d8 chore: eslint config module (#2263)
* build: eslint config as package

* chore: fix formatting
2021-05-16 17:11:08 +02:00
Leonardo Metzger
d2c65da9c7 fix: Fix the name validation of a package tarball (#2242)
Co-authored-by: Juan Picado <juanpicado19@gmail.com>
2021-05-15 16:58:06 +02:00
Juan Picado
2924ffa235 chore: remove website (#2244) 2021-05-13 08:38:18 +02:00
Leonardo Metzger
6b1a28deb8 fix: Fix the prefix used to delete from s3 when unpublishing packages (#2243) 2021-05-12 20:15:18 +02:00
Juan Picado
a54c18c02a additional tests for config pkg (#2237)
* add test config

* add test for home creation

* more checks

* add test

* skip peer platform

* lint

* fix windows
2021-05-09 00:44:07 +02:00
Juan Picado
52b47868e3 add more test proxy (#2236)
* add more test proxy

* test tarball and search

* format

* refactor uplinks
2021-05-08 19:21:21 +02:00
Juan Picado
8582548559 chore: add test for proxy (#2235)
* chore: add test for proxy

* format
2021-05-08 09:47:30 +02:00
Juan Picado
32f66cc2c7 chore: update format 2021-05-07 07:42:46 +02:00
github-actions[bot]
6a01bdbcc9 chore: update versions (6-next) (#2231)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2021-05-07 07:41:38 +02:00
Leonardo Metzger
5ddfa5264c fix: fix the exact search phrase (#2225)
* fix: Fix the exact search phrase

* fix: Add changeset to fix of exact search phrase

Co-authored-by: Juan Picado <juanpicado19@gmail.com>
2021-05-07 06:43:29 +02:00
Vitaly Baev
1cc00cf2ab Fixed broken link (#2232) 2021-05-06 18:34:17 +02:00
github-actions[bot]
086c4a7c3c chore: update versions (6-next) (#2229)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2021-05-06 08:37:13 +02:00
Omri Bar-Zik
babe5c3f6c docs: Fix README.md install command (#2230) 2021-05-06 08:37:00 +02:00
Juan Picado
0da7031e77 feat: allow disable login on ui (#2228) 2021-05-05 23:23:03 +02:00
Juan Picado
393125baa1 chore: remove snapshots 2021-05-05 22:51:49 +02:00
github-actions[bot]
7fb5c45243 chore: update versions (6-next) (#2227)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2021-05-05 21:16:22 +02:00
Juan Picado
aecbd226de feat: allow ui hide package managers on sidebar (#2226)
* feat: allow ui hide package managers on sidebar

* add test

* add changeset

* chore: remove snapshot

* chore: update config
2021-05-04 21:15:07 +02:00
github-actions[bot]
9ffa205076 chore: update versions (6-next) (#2219)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2021-05-02 09:58:22 +02:00
Slava
1b217fd346 refactor: replace mkdirp with fs.mkdir(Sync) (#2217) 2021-05-02 09:52:12 +02:00
Juan Picado
84373c4669 chore: add migration notes from v5 to master branch 2021-05-01 15:45:18 +02:00
Sergio Moreno
c17ee46519 fix: markdown lists don't render bullet points (#2209) 2021-04-29 19:20:59 +02:00
Juan Picado
6791c2bcfa chore: format md 2021-04-26 08:03:55 +02:00
Juan Picado
9a2f4a4667 Update SECURITY.md 2021-04-26 07:56:07 +02:00
github-actions[bot]
629cbdd6b5 chore: update versions (6-next) (#2203)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2021-04-26 07:48:38 +02:00
Juan Picado
19d272d10e fix: restore logger on init (#2202)
* chore: restore logger on init

* chore: changeset
2021-04-26 07:42:25 +02:00
Juan Picado
6e21bee204 chore: remove not need dependency 2021-04-25 19:35:18 +02:00
Juan Picado
4932d1f47e chore: update contributing file 2021-04-25 19:27:09 +02:00
Juan Picado
cbdccf7177 build: add fastify starting package (#2201)
* chore: add fastify library as example with command

* chore: update format

* chore: add fastify package and start
2021-04-25 13:17:50 +02:00
github-actions[bot]
64c6cbfe9d chore: update versions (6-next) (#2198)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2021-04-25 10:14:01 +02:00
amit
1810ed0d81 feat: environment variables support in configuration file (#2199)
* feat:Environment variables support in configuration file

* add changeset

* remove fixes typo

Co-authored-by: amit <amit@enso.security>
2021-04-25 10:08:14 +02:00
Juan Picado
04931c968e build: ci better performance (#2195)
* chore: frozen installation

* chore: add service

disable some workflows

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci

* chore: add windows

* chore: add e2e ui

* chore: add cli

* chore: add cli

* chore: add website ci

* chore: improve naming
2021-04-24 23:28:52 +02:00
amit
648575aa41 fix: escaped slash in namespaced packages (#2193)
* fix: escaped slash in namespaced packages

* run format on code

* merge master branch (#2)

* chore: fix start web issue

* chore: use custom action for changeset

this is temporary while I find the way to skip create github releases for alpha

* chore: format as separated workflow (#2194)

Co-authored-by: Juan Picado <juanpicado19@gmail.com>

* merge master (#3)

* chore: fix start web issue

* chore: use custom action for changeset

this is temporary while I find the way to skip create github releases for alpha

* chore: format as separated workflow (#2194)

Co-authored-by: Juan Picado <juanpicado19@gmail.com>

* add changeset

* format

Co-authored-by: amit <amit@enso.security>
Co-authored-by: Juan Picado <juanpicado19@gmail.com>
2021-04-24 17:14:24 +02:00
Juan Picado
9ddce9dec7 chore: format as separated workflow (#2194) 2021-04-23 23:04:48 +02:00
Juan Picado
211da6054c chore: use custom action for changeset
this is temporary while I find the way to skip create github releases for alpha
2021-04-23 22:32:49 +02:00
Juan Picado
8339b34adb chore: fix start web issue 2021-04-23 20:23:08 +02:00
Juan Picado
4372d27222 Update README.md 2021-04-22 22:54:09 +02:00
Juan Picado
52d1e6537e chore: update docker examples 2021-04-21 23:22:21 +02:00
Juan Picado
7f5c8796be chore: update babel dependencies 2021-04-21 22:30:19 +02:00
Juan Picado
b02dab1c2f Update .npmrc 2021-04-15 22:05:14 +02:00
Juan Picado
9f73472985 Merge pull request #2187 from verdaccio/ui-eslint
chore: update babel settings ui
2021-04-15 22:02:31 +02:00
Juan Picado
9b12c14543 chore: update babel settings ui 2021-04-15 21:42:42 +02:00
Juan Picado
e6a5ce9a02 Merge pull request #2186 from verdaccio/ui-align
chore: align ui latest from repo
2021-04-15 21:27:21 +02:00
Juan Picado
7c0a0c106d chore: align ui latest from repo 2021-04-15 21:10:49 +02:00
Juan Picado
64f0921477 chore: update typescript@4 2021-04-11 09:07:30 +02:00
Juan Picado
8020936758 chore: improve ci settings 2021-04-11 09:05:27 +02:00
Juan Picado
40e125fd2d chore: update ci scripts 2021-04-10 11:55:38 +02:00
Juan Picado
01f9b3c3b4 merge pull request #2182 from verdaccio/6.x
build: merge 6.x into master
2021-04-10 11:35:42 +02:00
Juan Picado
aa310e4af0 chore: fix web ci 2021-04-09 22:05:10 +02:00
Juan Picado
d0bd58049d chore: fix ci web 2021-04-09 20:51:30 +02:00
Juan Picado
0e18842be5 -chore: fix website ci 2021-04-09 18:46:52 +02:00
Juan Picado
cab90a54d9 chore: update pnpm 6 lock file 2021-04-09 18:28:17 +02:00
Juan Picado
0778eebae5 chore: add update-ts-references (#2168)
* chore: add update-ts-references

* chore: update version
2021-04-09 17:54:44 +02:00
github-actions[bot]
0f18f10b52 chore: update versions (6-next) (#2166) 2021-04-09 17:54:44 +02:00
Juan Picado
8f43bf17df feat: improve node-api (#2165)
* refactor: improve node-api

* chore: add test for run server
2021-04-09 17:54:43 +02:00
Juan Picado
9886b93e85 chore: update env 2021-04-09 17:54:43 +02:00
github-actions[bot]
e8cc4232af chore: update versions (6-next) (#2162)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2021-04-09 17:54:43 +02:00
Juan Picado
3b0002632d chore: remove unused code 2021-04-09 17:54:42 +02:00
Juan Picado
b4f73b6d0f chore: add missing dep 2021-04-09 17:54:42 +02:00
Juan Picado
b79c6e5273 chore: fix lint 2021-04-09 17:54:42 +02:00
Juan Picado
58e4ee54d1 chore: fix format 2021-04-09 17:54:42 +02:00
Juan Picado
08da6881db chore: fix changeset 2021-04-09 17:54:41 +02:00
Juan Picado
13f1c6efca chore: update versions 2021-04-09 17:54:41 +02:00
Juan Picado
5becf3f257 feat: use clipanion over commander (#2159)
* feat: use clipanion over commander

* chore: update

* chore: add missing options

* chore: fix arguments

* chore: format code

* chore: update

* chore: fix missing node conf

* chore: add version

* Update setup.ts

* chore: fix config flag

* chore: add changeset
2021-04-09 17:54:41 +02:00
Juan Picado
4a3e11d072 chore: update with master (#2158) 2021-04-09 17:54:41 +02:00
Paola Morales
5ccb2bad16 Migrate fs-memory library to memfs (#2149)
* Update package.json

* Update MemoryFileSystem dependency

* Update storage.ts
2021-04-09 17:54:40 +02:00
Paola Morales
dc05edfe60 feat!: async storage plugin bootstrap (#2144)
* feat: async storage plugin bootstrap

* refactor fs.promise to promisify on node12

* Add changeset

* Update big-lobsters-sin.md

* Update utils.test.ts

* Update utils.test.ts

* Update ci.yml

* Update utils.test.ts
2021-04-09 17:54:40 +02:00
Juan Picado
f837e6cc61 chore: update ci branch docker publish 2021-04-09 17:54:40 +02:00
Juan Picado
e6c5aaaa06 chore: update docker publish next 2021-04-09 17:54:40 +02:00
Juan Picado
8f578f88f5 chore: update to 6.x 2021-04-09 17:54:39 +02:00
Juan Picado
23346155c6 chore: formmat code 2021-04-09 17:54:39 +02:00
Juan Picado
3ba55e6199 chore: update format 2021-04-09 17:54:39 +02:00
Juan Picado
9561bd9e82 chore: merge from master 2021-04-09 17:54:39 +02:00
github-actions[bot]
6b6eaf6b67 chore: update versions (alpha) (#2116)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2021-04-09 17:54:38 +02:00
Juan Picado
558d78f32a feat: flexible user interface generator (#2070)
* feat: flexible template generator and manifest

* chore: add changeset

* chore: restore dep

* chore: add docs

* chore: update snapshots

* chore: update docker examples for v5

* chore: refactor web module

* chore: format

* chore: refactor web api endpoints

* test: add test for user login web

* chore: refactor endpoints

* chore: fix merge

* chore: fix merge

* Update ci.yml

* chore: test

* chore: add static

* chore: update script

* chore: fix e2e

* chore: fix method

* docs: update v5 relative docker example

* chore: update html render

* chore: update style

* Update .prettierignore

* chore: update changeset

* chore: use pnpm6 on run test

temporary ci

* chore: drop node 16 for pnpm 6

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci

* chore: remove circle ci

* chore: better url prefix handling

* chore: format code

* chore: remove test node 10

* docs: add docker v5 relative revers proxy example

* chore: use base html tag

* chore: update test
2021-04-09 17:54:38 +02:00
github-actions[bot]
505aa612ef chore: update versions (alpha) (#2098)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2021-04-09 17:54:38 +02:00
Juan Picado
d5eacc218b feat: improve cli logging on start up (#2097)
* feat: improve cli logging on start up

* chore: remove deps
2021-04-09 17:54:38 +02:00
Juan Picado
e2a4477c8f chore: update pnpm (#2095) 2021-04-09 17:54:37 +02:00
Paola Morales
9433796093 chore: update eslint dependency (#2094) 2021-04-09 17:54:37 +02:00
Paola Morales
856da934b8 chore: update Dependencies (#2093)
* Update dependencies

* Update dist-tags.ts

* Update dist-tags.ts
2021-04-09 17:54:37 +02:00
Paola Morales
785763738d chore: update babel.js version (#2092) 2021-04-09 17:54:36 +02:00
Paola Morales
6b8806ee71 Improve package.json metadata (#2091) 2021-04-09 17:54:36 +02:00
Paola Morales
24c14ce583 chore: update package.json and README.md (#2090) 2021-04-09 17:54:36 +02:00
Paola Morales
14159b31e1 ref: refactor utils methods (#2076)
* ref: Relocate utils functions to web pkg

* ref: Refactor utils functions

* ref: Relocate utils functions to api pkg

* ref: Relocate utils functions to config pkg

* ref: Relocate utils functions to middleware pkg

* ref: Relocate utils functions to storage pkg

* ref: relocate utils functions to proxy pkg

* ref: relocate utils functions to middleware pkg

* ref: refactor utils functions

* Fix compilation errors
2021-04-09 17:54:36 +02:00
github-actions[bot]
71fbb410e6 chore: update versions (alpha) (#2073)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2021-04-09 17:54:35 +02:00
Slava
c8a040e69e feat: allow other password hashing algorithms (#1917) (#2072) 2021-04-09 17:54:35 +02:00
Juan Picado
31d5828f46 chore: update readme 2021-04-09 17:54:35 +02:00
github-actions[bot]
e676d1bf1c chore: update versions (alpha) (#2057) 2021-04-09 17:54:35 +02:00
Juan Picado
061bfcc8d4 feat: standalone server (#2046)
* feat: standalone version

* chore: add changeset
2021-04-09 17:54:34 +02:00
Juan Picado
eab3007939 chore: update deps (#2056)
* chore: update deps

* chore: update eslint

* chore: update deps types
2021-04-09 17:54:34 +02:00
Juan Picado
96ba927917 chore: update npmrc 2021-04-09 17:54:34 +02:00
Juan Picado
ca171790cf chore: update script 2021-04-09 17:54:34 +02:00
Juan Picado
b5465751a9 chore: add registry field 2021-04-09 17:54:33 +02:00
Juan Picado
8dae1f4adb chore: add extra env var 2021-04-09 17:54:33 +02:00
Juan Picado
c3f8d88ecc chore: update log 2021-04-09 17:54:33 +02:00
github-actions[bot]
1d78376506 chore: update versions (alpha) (#2053)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2021-04-09 17:54:33 +02:00
Juan Picado
a610ef26b9 build: release scripts alpha packages (#2052)
* chore: update deps

* chore: update deps
2021-04-09 17:54:32 +02:00
github-actions[bot]
7cc2fe20af chore: update versions (alpha) (#2051)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2021-04-09 17:54:32 +02:00
Juan Picado
b61f762d6c feat: add rate limit to all request (#2050)
* feat: add rate limit to all request

* chore: increase max

* chore: update settings

* chore: deprecate keepAliveTimeout
2021-04-09 17:54:32 +02:00
github-actions[bot]
a78ff7550a chore: update versions (alpha) (#2045)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2021-04-09 17:54:32 +02:00
Juan Picado
e54ec4b5d0 feat: remove level dependency by lowdb for npm token cli as storage (#2043)
* feat: remove level for token by lowdb

* chore: fix format

* chore: fix config

* chore: add changeset
2021-04-09 17:54:31 +02:00
Juan Picado
c3565f7157 chore: update docker publish config 2021-04-09 17:54:31 +02:00
Juan Picado
8992b22eb3 fix: docker build missing modules (#2041) 2021-04-09 17:54:31 +02:00
Juan Picado
c26ff2e768 chore: testing publish docker image 2021-04-09 17:54:31 +02:00
Juan Picado
df33fa3d79 chore: update snapshot 2021-04-09 17:54:30 +02:00
Juan Picado
e64f8ee294 chore: format document 2021-04-09 17:54:30 +02:00
Juan Picado
f2bcdb91f9 chore: update readme 2021-04-09 17:54:30 +02:00
github-actions[bot]
dabb358e64 chore: update versions (alpha) (#2035)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2021-04-09 17:54:30 +02:00
Juan Picado
83677e31a2 build: server reload watch mode (#2039)
* feat: server reload watch mode

* chore:update format
2021-04-09 17:54:29 +02:00
Juan Picado
5871760aaa chore: fix gatsby cloud build (#2037) 2021-04-09 17:54:29 +02:00
Juan Picado
821bd776f3 refactor: enable e2e for UI (#2036)
* refactor: enable e2e for UI

* refactor: enable e2e for UI

* refactor: enable e2e for UI

* refactor: enable e2e for UI

* refactor: enable e2e for UI

* refactor: enable e2e for UI
2021-04-09 17:54:29 +02:00
Juan Picado
e9e4552658 feat: ui theme on 5.x (#2033)
* refactor: relocate theme-ui as plugin

* refactor: relocate theme-ui as plugin

* refactor: relocate theme-ui as plugin

* chore: fix lint

* chore: add missing folder

* refactor: relocate theme-ui as plugin

* refactor: relocate theme-ui as plugin

* refactor: relocate theme-ui as plugin

* chore: update scripts

* refactor: relocate theme-ui as plugin

* refactor: relocate theme-ui as plugin

* refactor: relocate theme-ui as plugin

* refactor: relocate theme-ui as plugin
2021-04-09 17:54:29 +02:00
Juan Picado
fe60eab99c enable CLI E2e on 5.x (#2011)
* test: enable e2e

* test: improve setup

* chore: update setup

* test: publish on temp folder

* chore: initial setup example

* chore: add global install to pnpm

* chore: update test script

* test: add info command

* chore: add install tests

* chore: add debug enabled code

* chore: update pnpm lock file
2021-04-09 17:54:28 +02:00
github-actions[bot]
57cb03cdb7 chore: update versions (alpha) (#1916)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2021-04-09 17:54:28 +02:00
Juan Picado
e2152606dc chore: verdaccio as root dependency to avoid changesets override 2021-04-09 17:54:28 +02:00
Juan Picado
7c68edfce4 chore: update lock file 2021-04-09 17:54:27 +02:00
Juan Picado
3c30997072 chore: update lock file 2021-04-09 17:54:27 +02:00
Juan Picado
c2621ac386 chore: update pnpm changeset versions (#2002) 2021-04-09 17:54:27 +02:00
Juan Picado
db4afeaff9 chore: update pnpm changeset action 2021-04-09 17:54:27 +02:00
Juan Picado
5f3eee5eaf chore: remove a package, move constants (#2001)
* chore: remove a package, move constants

* chore: remove *
2021-04-09 17:54:26 +02:00
Juan Picado
1153a8d92f deps: update typescript 4 (#2000) 2021-04-09 17:54:26 +02:00
Juan Picado
b3e8438f64 feat: logger pretty only as dev mode (#1999) 2021-04-09 17:54:26 +02:00
Juan Picado
ab87898c19 chore: add missing dependency 2021-04-09 17:54:26 +02:00
Juan Picado
10aeb4f134 refactor: config module, experiments renamed to flags (#1996)
* refactor: config security refactor

* chore: add changeset

* chore: rename self_path to config_path on test

* chore: fix test

* chore: remove self_path on init
2021-04-09 17:54:25 +02:00
Juan Picado
1d0fc016d8 chore: update versions 2021-04-09 17:54:25 +02:00
Juan Picado
a9ba3d0649 refactor: config module (#1995)
* refactor: clean up config

* refactor: config, move methods

* chore: remove js-yaml from utils
2021-04-09 17:54:25 +02:00
Juan Picado
39570af086 chore: disable rules for examples 2021-04-09 17:54:25 +02:00
Juan Picado
04b19262d0 docs: relocate docker-examples to 5.x (#1990)
* docs: relocate docker-examples to 5.x

* chore: update readme

* chore: remove license

we have already one at root
2021-04-09 17:54:24 +02:00
Juan Picado
e83e500b80 fix: cleanup warnings (#1986)
* fix: lint warnings

* fix: test
2021-04-09 17:54:24 +02:00
Juan Picado
3a93da454f refactor: relocate verdaccio-active-directory plugin (#1981) 2021-04-09 17:54:24 +02:00
Juan Picado
c5f2b07364 refactor: relocate verdaccio-google-cloud-storage plugin (#1978) 2021-04-09 17:54:23 +02:00
Dina Basumatary
6384fbd0f6 fix: typos and toc (#1980)
* updated table of content
* corrected spelling and grammar in a few places
* header levels
2021-04-09 17:54:23 +02:00
Dina Basumatary
68ea21214a fix: eslint errors (#1973)
* fix: eslint errors

* fix: rename a test

* fix: broken integration test

due to removing next argument in the middleware.

* changeset
2021-04-09 17:54:23 +02:00
Juan Picado
eb686fbcaf refactor: relocate verdaccio-aws-storage plugin (#1977) 2021-04-09 17:54:23 +02:00
Juan Picado
4024205829 refactor: relocate verdaccio-audit plugin (#1976) 2021-04-09 17:54:22 +02:00
Juan Picado
1f02ac53bb refactor: relocate verdaccio-auth-memory plugin (#1975) 2021-04-09 17:54:22 +02:00
Juan Picado
827376e85c refactor: relocate verdaccio-memory plugin (#1974) 2021-04-09 17:54:22 +02:00
ike
1d11128051 fix: improving typescript practices in packages/web/src/endpoint/package.ts (#1972)
* chore: 1. Remove @ts-ignore, 2. Remove :any and infer from existed lib, 3. Prevent variable re-assign

* chore: add changeset
2021-04-09 17:54:22 +02:00
Juan Picado
e367c3f1e0 feat: improve legacy token signature by removing deprecated crypto.cr… (#1953)
* feat: improve legacy token signature by removing deprecated crypto.createDecipher

* fix: wrong reference

* chore: add debug
2021-04-09 17:54:21 +02:00
mknj
82c2f4e03a fix urls in some packages/*/package.json (#1952) 2021-04-09 17:54:21 +02:00
Juan Picado
fbd761c8ee refactor: auth-utils (#1951)
* chore: refactor auth utils

* chore: relocate crypto utils
2021-04-09 17:54:21 +02:00
Juan Picado
5f3072a819 chore: update dev deps (#1950) 2021-04-09 17:54:21 +02:00
Juan Picado
65cb26cf31 refactor: migrate request to node-fetch at hooks package (#1946)
* refactor(hooks): new structure for notifications

* chore: fix build

* chore: add debug

* chore: add changeset
2021-04-09 17:54:20 +02:00
Juan Picado
8c730c0694 refactor: max-len and printWidth to 100 (#1941)
* refactor: max-len and printWidth to 100

* chore: ci specific pnpm version

* fix: add types peer package

literally get rid of types package
2021-04-09 17:54:20 +02:00
Juan Picado
1e48f1c077 chore: website drawer for navigation (#1940)
* feat(website): add drawer navigation

* chore: create index by language

* Update Header.tsx
2021-04-09 17:54:20 +02:00
Juan Picado
d460a2c5da chore: prepare website for development (#1935)
* chore: fix missing dependencies

* clean index page and sidebar

* improve layout for doc page

* format

* basic layout

* Update what-is-verdaccio.md

* check format
2021-04-09 17:54:20 +02:00
Juan Picado
8632c3a6d6 docs: update contribution guidelines, scripts to debug and additional notes (#1918)
* chore: debug improments

* update guides

* docs: update contribution guidelines

* chore: add debug notest

* chore: format code
2021-04-09 17:54:19 +02:00
Juan Picado
aa763baec1 feat: add typescript project references settings (#1933)
Add two different settings for compile and develop.

https://www.typescriptlang.org/docs/handbook/project-references.html
2021-04-09 17:54:19 +02:00
Abraham Schilling
ddb42431d1 build: configure prettier as formatter for json, yaml and markdown (#1930)
* build: configure pretter as formatter for most files

* chore: reformat code (#1931)

* chore: re-format all files

* chore: force run quality anaylsis test

Co-authored-by: Juan Picado @jotadeveloper <juanpicado19@gmail.com>

Co-authored-by: Juan Picado @jotadeveloper <juanpicado19@gmail.com>
2021-04-09 17:54:19 +02:00
Juan Picado @jotadeveloper
8efc6feab2 chore: downgrade pnpm changeset workflow 2021-04-09 17:54:18 +02:00
Juan Picado
168833d857 chore: patch changesets example (#1929)
* chore: test changesets

* chore: add changeset
2021-04-09 17:54:18 +02:00
Abraham Schilling
5e28d40f77 build: add missing os matrix (#1928) 2021-04-09 17:54:18 +02:00
Abraham Schilling
d981c1d435 5.x tests on windows (#1919) 2021-04-09 17:54:18 +02:00
Juan Picado
8f9467ce3d chore: restore website build (#1920) 2021-04-09 17:54:17 +02:00
Juan Picado @jotadeveloper
c103a8252e reenable docker publish 2021-04-09 17:54:17 +02:00
Juan Picado @jotadeveloper
f07a9d0c54 chore: ignore pnpm store 2021-04-09 17:54:17 +02:00
Juan Picado @jotadeveloper
a280340e09 chore: ci include release pr 2021-04-09 17:54:17 +02:00
Juan Picado @jotadeveloper
00fa01f470 chore: add missing script 2021-04-09 17:54:16 +02:00
Juan Picado @jotadeveloper
8e5390d97c chore: install right dep npm-run-all 2021-04-09 17:54:16 +02:00
Juan Picado @jotadeveloper
6823c66b87 chore add run-s dependency 2021-04-09 17:54:16 +02:00
Juan Picado @jotadeveloper
91838002b3 chore: update changesets workflow 2021-04-09 17:54:16 +02:00
Juan Picado @jotadeveloper
5a439a791f chore: update changesets workflow 2021-04-09 17:54:15 +02:00
Juan Picado @jotadeveloper
ace64e2ea3 chore: update changesets workflow 2021-04-09 17:54:15 +02:00
Juan Picado @jotadeveloper
34e1261354 chore: add changesets workflow 2021-04-09 17:54:15 +02:00
Juan Picado
34f0f11012 feat: enable changesets (#1913)
* chore: add changeset deps

* chore: enable prerelease mode

* enable changesets
2021-04-09 17:54:14 +02:00
Juan Picado
716734c83c feat: improve workspace and dependencies debug
* feat: using workspace @verdaccio/types

* feat: use core local-storage plugin

* chore: add missing dependencies

* chore: replace trace by debug

* chore: plugin loader uses debug
2021-04-09 17:54:14 +02:00
Juan Picado @jotadeveloper
7cd1187f45 chore: update typescript and lint plugins 2021-04-09 17:54:14 +02:00
Juan Picado @jotadeveloper
be9e23da47 chore: update wrong imports 2021-04-09 17:54:14 +02:00
Juan Picado @jotadeveloper
4fcd6457be feat: add @verdaccio/commons-api package
Update local references
2021-04-09 17:54:13 +02:00
Juan Picado
3838d3d212 feat: relocate core packages (#1906)
* chore: clean lint warnings

* refactor: move core packages
2021-04-09 17:54:13 +02:00
Juan Picado @jotadeveloper
33f8b00080 chore: update branch for ci 2021-04-09 17:54:13 +02:00
Juan Picado @jotadeveloper
c707aee713 chore: ignore codeql analysis
I shutdown this temporary while is in development
2021-04-09 17:54:13 +02:00
Juan Picado @jotadeveloper
9ed932e589 chore: extend lint rules to root 2021-04-09 17:54:12 +02:00
Juan Picado
e61bd6c78f chore: lint prettier update (#1904)
* chore: update prettier@2.x

* chore: prettier auto fix

* chore: fake circleci

we don't need it but I want make dissapear the error
2021-04-09 17:54:12 +02:00
Juan Picado
a13e57586c chore: update readme 2021-04-09 17:54:12 +02:00
Juan Picado @jotadeveloper
49c2a66342 chore: update snapshot 2021-04-09 17:54:12 +02:00
Juan Picado
9f2a29a275 refactor: devDependencies strictly defined in each package (#1884)
* refactor: new babel preset

* chore: using pnpm

let's see how it goes, all seems works fine by far, pretty solid.
2021-04-09 17:54:11 +02:00
Juan Picado @jotadeveloper
eb0dae5fa7 chore: rebase from master 2021-04-09 17:54:11 +02:00
Juan Picado @jotadeveloper
48fa727cc6 chore: update lock file 2021-04-09 17:54:11 +02:00
Juan Picado
a7ba76423e refactor: test api refactor (#1826)
* test: add test for whoami

* Update middleware.ts

* test for user api

* more test for user api

* remove repeated code

* refactor

* Update index.spec.ts

* add package test

refactor others

* chore: upgrade deps

* chore: add test for package

* chore: update test

* update lock file

* Update ci.yml

* Update ci.yml

* Update package.spec.ts

* chore: update ci settings

* chore: update deps

* chore: update test
2021-04-09 17:54:11 +02:00
Juan Picado @jotadeveloper
d3f78e5b34 chore: remove duplication 2021-04-09 17:54:10 +02:00
Juan Picado @jotadeveloper
8b9a1a3372 chore: update readme 2021-04-09 17:54:10 +02:00
Juan Picado
3ad519f0c2 chore: website scaffolding (#1843)
* chore: upload gatsby website

* chore: update header

* chore: add background header

* chore: add ci for website

* Update ci-website.yml

* chore: update patch mach ci

* chore: update ci settings

* chore: update docker version
2021-04-09 17:54:10 +02:00
Juan Picado
9946ea8bea chore: update dependencies (maintenance)
* chore: update deps

* chore: update deps

* chore: fix dependencies

* chore: update deps

* chore: update deps

* chore: add types

* chore: update jest
2021-04-09 17:54:09 +02:00
dependabot-preview[bot]
9bb5b50c80 build(deps): bump @verdaccio/readme from 9.3.0 to 9.5.0 (#1797)
Bumps [@verdaccio/readme](https://github.com/verdaccio/monorepo/tree/HEAD/core/readme) from 9.3.0 to 9.5.0.
- [Release notes](https://github.com/verdaccio/monorepo/releases)
- [Changelog](https://github.com/verdaccio/monorepo/blob/9.x/core/readme/CHANGELOG.md)
- [Commits](https://github.com/verdaccio/monorepo/commits/v9.5.0/core/readme)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-04-09 17:54:09 +02:00
Juan Picado @jotadeveloper
958a5d886f feat: migrate from buyan to pinojs (#1760)
* feat: migrate from buyan to pinojs

* chore: fix lint

* chore: release utils from import

* chore: fix test

* chore: add missing dep

* chore: add dependency

* chore: add prettifier module

* chore: add pretty stamp option

* chore: fix package name location

* chore: crash on try use rotating file type

* chore: remove arg
2021-04-09 17:54:09 +02:00
Juan Picado @jotadeveloper
4023269866 chore: disable test publish 2021-04-09 17:54:07 +02:00
Juan Picado @jotadeveloper
b92935ea45 chore: re-enable coverage 2021-04-09 17:54:07 +02:00
Juan Picado @jotadeveloper
4ecf3eca4f chore: fix merge 2021-04-09 17:54:07 +02:00
dependabot-preview[bot]
eaf5671b92 build(deps): [security] bump acorn from 5.7.3 to 5.7.4 (#1752)
Bumps [acorn](https://github.com/acornjs/acorn) from 5.7.3 to 5.7.4. **This update includes a security fix.**
- [Release notes](https://github.com/acornjs/acorn/releases)
- [Commits](https://github.com/acornjs/acorn/compare/5.7.3...5.7.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-04-09 17:54:07 +02:00
Juan Picado @jotadeveloper
889e267106 build: publish Docker image to GitHub registry (5.x) (#1744)
* chore: test

* chore: test

* chore: test

* chore: test

* chore: test

* chore: test

* chore: test

* chore: restore previous check file
2021-04-09 17:54:06 +02:00
Juan Picado @jotadeveloper
644d42564d feat: remove support for allow_ prefix (#1741)
allow_access, allow_publish and proxy_access were supported as package access but this commit drop that support and ignore the properties
2021-04-09 17:54:05 +02:00
Juan Picado @jotadeveloper
fa230117a1 refactor: fix import 2021-04-09 17:54:04 +02:00
Juan Picado @jotadeveloper
f414f710d6 refactor: fix imports 2021-04-09 17:54:04 +02:00
Juan Picado @jotadeveloper
463888165d refactor: utilities and auth 2021-04-09 17:54:04 +02:00
Juan Picado @jotadeveloper
7739e6f4a2 chore: update dependencies 2021-04-09 17:54:04 +02:00
Juan Picado @jotadeveloper
5fcc5d493b chore: reuse jest config 2021-04-09 17:54:03 +02:00
Juan Picado @jotadeveloper
6e70b5c9e9 build(deps-dev): bump @octokit/rest from 16.28.9 to 17.0.0 (#1729)
Bumps [@octokit/rest](https://github.com/octokit/rest.js) from 16.28.9 to 17.0.0.
- [Release notes](https://github.com/octokit/rest.js/releases)
- [Commits](https://github.com/octokit/rest.js/compare/v16.28.9...v17.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-04-09 17:54:03 +02:00
Juan Picado @jotadeveloper
58e89dd1db chore: update readme 2021-04-09 17:54:03 +02:00
Juan Picado @jotadeveloper
a70454c7b2 feat: migrate yarn workspaces (#1546) 2021-04-09 17:54:01 +02:00
1707 changed files with 216380 additions and 58199 deletions

View File

@@ -1,245 +0,0 @@
{
"projectName": "verdaccio",
"projectOwner": "verdaccio",
"repoType": "github",
"repoHost": "https://github.com",
"commitConvention": "none",
"files": [
"CONTRIBUTORS.md"
],
"contributors": [
{
"login": "juanpicado",
"name": "Juan Picado",
"avatar_url": "https://avatars0.githubusercontent.com/u/558752?v=4",
"profile": "https://www.linkedin.com/in/jotadeveloper/",
"contributions": [
"doc",
"code",
"infra",
"eventOrganizing",
"blog",
"maintenance"
]
},
{
"login": "sergiohgz",
"name": "Sergio Herrera",
"avatar_url": "https://avatars3.githubusercontent.com/u/14012309?v=4",
"profile": "https://github.com/sergiohgz",
"contributions": [
"infra",
"maintenance"
]
},
{
"login": "DanielRuf",
"name": "Daniel Ruf",
"avatar_url": "https://avatars1.githubusercontent.com/u/827205?v=4",
"profile": "https://daniel-ruf.de/",
"contributions": [
"security",
"infra",
"maintenance"
]
},
{
"login": "priscilawebdev",
"name": "Priscila Oliveira",
"avatar_url": "https://avatars1.githubusercontent.com/u/29228205?v=4",
"profile": "https://priscilawebdev.github.io/priscilaoliveira/",
"contributions": [
"design",
"code",
"maintenance"
]
},
{
"login": "ayusharma",
"name": "Ayush Sharma",
"avatar_url": "https://avatars0.githubusercontent.com/u/6918450?v=4",
"profile": "http://ayusharma.github.io/",
"contributions": [
"infra",
"code",
"design"
]
},
{
"login": "trentearl",
"name": "Trent Earl",
"avatar_url": "https://avatars2.githubusercontent.com/u/802857?v=4",
"profile": "https://github.com/trentearl",
"contributions": [
"code"
]
},
{
"login": "jmwilkinson",
"name": "jmwilkinson",
"avatar_url": "https://avatars0.githubusercontent.com/u/17836030?v=4",
"profile": "https://github.com/jmwilkinson",
"contributions": [
"code"
]
},
{
"login": "bufferoverflow",
"name": "Roger Meier",
"avatar_url": "https://avatars2.githubusercontent.com/u/378909?v=4",
"profile": "https://github.com/bufferoverflow",
"contributions": [
"plugin"
]
},
{
"login": "jamesgeorge007",
"name": "James George",
"avatar_url": "https://avatars2.githubusercontent.com/u/25279263?v=4",
"profile": "https://ghuser.io/jamesgeorge007",
"contributions": [
"code"
]
},
{
"login": "AvailCat",
"name": "AvailCat",
"avatar_url": "https://avatars3.githubusercontent.com/u/19658647?v=4",
"profile": "https://github.com/AvailCat",
"contributions": [
"code",
"infra",
"maintenance"
]
},
{
"login": "lgaitan",
"name": "Lucius Gaitán",
"avatar_url": "https://avatars0.githubusercontent.com/u/5970350?v=4",
"profile": "https://www.luciusgaitan.com/",
"contributions": [
"code"
]
},
{
"login": "ramonornela",
"name": "Ramon Henrique Ornelas",
"avatar_url": "https://avatars1.githubusercontent.com/u/187946?v=4",
"profile": "https://github.com/ramonornela",
"contributions": [
"code"
]
},
{
"login": "UnitedMarsupials-zz",
"name": "UnitedMarsupials-zz",
"avatar_url": "https://avatars1.githubusercontent.com/u/1486340?v=4",
"profile": "https://people.freebsd.org/~mi/resume/",
"contributions": [
"code"
]
},
{
"login": "ryan-codingintrigue",
"name": "Ryan Graham",
"avatar_url": "https://avatars0.githubusercontent.com/u/9048902?v=4",
"profile": "http://www.codingintrigue.co.uk/",
"contributions": [
"code"
]
},
{
"login": "coolsp",
"name": "coolsp",
"avatar_url": "https://avatars1.githubusercontent.com/u/1246647?v=4",
"profile": "https://github.com/coolsp",
"contributions": [
"code"
]
},
{
"login": "ashishsurana",
"name": "Ashish Surana",
"avatar_url": "https://avatars0.githubusercontent.com/u/5610944?v=4",
"profile": "http://ashishsurana.in/",
"contributions": [
"code"
]
},
{
"login": "buffaybu",
"name": "Wang Yifei",
"avatar_url": "https://avatars3.githubusercontent.com/u/2025661?v=4",
"profile": "https://github.com/buffaybu",
"contributions": [
"code"
]
},
{
"login": "lirantal",
"name": "Liran Tal",
"avatar_url": "https://avatars1.githubusercontent.com/u/316371?v=4",
"profile": "https://twitter.com/liran_tal",
"contributions": [
"code"
]
},
{
"login": "brenordr",
"name": "Breno Rodrigues",
"avatar_url": "https://avatars2.githubusercontent.com/u/19731692?v=4",
"profile": "https://github.com/brenordr",
"contributions": [
"code"
]
},
{
"login": "jachstet-sea",
"name": "jachstet-sea",
"avatar_url": "https://avatars0.githubusercontent.com/u/7993508?v=4",
"profile": "https://github.com/jachstet-sea",
"contributions": [
"code"
]
},
{
"login": "Vrtak-CZ",
"name": "Patrik Votoček",
"avatar_url": "https://avatars1.githubusercontent.com/u/112567?v=4",
"profile": "https://patrik.votocek.cz/",
"contributions": [
"code"
]
},
{
"login": "monkeywithacupcake",
"name": "jess",
"avatar_url": "https://avatars3.githubusercontent.com/u/7316730?v=4",
"profile": "https://github.com/monkeywithacupcake",
"contributions": [
"code"
]
},
{
"login": "toolsofraj",
"name": "toolsofraj",
"avatar_url": "https://avatars0.githubusercontent.com/u/2507152?v=4",
"profile": "https://github.com/toolsofraj",
"contributions": [
"code"
]
},
{
"login": "ddhp",
"name": "Jian-Chen Chen (jesse)",
"avatar_url": "https://avatars1.githubusercontent.com/u/1715380?v=4",
"profile": "https://github.com/ddhp",
"contributions": [
"translation",
"code"
]
}
],
"skipCi": true,
"contributorsPerLine": 7
}

26
.babelrc Normal file
View File

@@ -0,0 +1,26 @@
{
"presets": [ [
"@babel/env",
{
"useBuiltIns": "usage",
"corejs": {
"version": 3, "proposals": true
},
"targets": {
"node": 12
}
}
],
"@babel/typescript"
],
"plugins": [
"babel-plugin-dynamic-import-node",
"@babel/proposal-class-properties",
"@babel/proposal-object-rest-spread",
"@babel/plugin-proposal-optional-chaining",
"@babel/plugin-proposal-nullish-coalescing-operator"
],
"ignore": [
"**/*.d.ts"
]
}

8
.changeset/README.md Normal file
View File

@@ -0,0 +1,8 @@
# Changesets
Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works
with multi-package repos, or single-package repos to help you version and publish your code. You can
find the full documentation for it [in our repository](https://github.com/changesets/changesets)
We have a quick list of common questions to get you started engaging with this project in
[our documentation](https://github.com/changesets/changesets/blob/master/docs/common-questions.md)

View File

@@ -0,0 +1,15 @@
---
'@verdaccio/types': minor
'@verdaccio/ui-theme': minor
'@verdaccio/web': minor
---
allow disable login on ui and endpoints
To be able disable the login, set `login: false`, anything else would enable login. This flag will disable access via UI and web endpoints.
```yml
web:
title: verdaccio
login: false
```

View File

@@ -0,0 +1,23 @@
---
'@verdaccio/local-storage': major
'@verdaccio/url': major
'verdaccio-aws-s3-storage': major
'verdaccio-google-cloud': major
'verdaccio-memory': major
'@verdaccio/store': major
---
# async storage plugin bootstrap
Gives a storage plugin the ability to perform asynchronous tasks on initialization
## Breaking change
Plugin must have an init method in which asynchronous tasks can be executed
```js
public async init(): Promise<void> {
this.data = await this._fetchLocalPackages();
this._sync();
}
```

View File

@@ -0,0 +1,5 @@
---
'verdaccio-aws-s3-storage': patch
---
Fix the prefix used to delete from s3 when unpublishing packages

10
.changeset/config.json Normal file
View File

@@ -0,0 +1,10 @@
{
"$schema": "https://unpkg.com/@changesets/config@1.3.0/schema.json",
"changelog": "@changesets/cli/changelog",
"commit": false,
"linked": [],
"access": "public",
"baseBranch": "master",
"updateInternalDependencies": "patch",
"ignore": []
}

View File

@@ -0,0 +1,59 @@
---
'@verdaccio/api': major
'@verdaccio/auth': major
'@verdaccio/cli': major
'@verdaccio/config': major
'@verdaccio/commons-api': major
'@verdaccio/core': major
'@verdaccio/local-storage': major
'@verdaccio/fastify-migration': major
'@verdaccio/streams': major
'@verdaccio/types': major
'@verdaccio/hooks': major
'verdaccio-audit': major
'verdaccio-aws-s3-storage': major
'verdaccio-google-cloud': major
'verdaccio-memory': major
'@verdaccio/ui-theme': major
'@verdaccio/proxy': major
'@verdaccio/server': major
'@verdaccio/store': major
'@verdaccio/eslint-config': major
'@verdaccio/dev-types': major
'@verdaccio/utils': major
'verdaccio': major
'@verdaccio/web': major
---
refactor: search v1 endpoint and local-database
- refactor search `api v1` endpoint, improve performance
- remove usage of `async` dependency https://github.com/verdaccio/verdaccio/issues/1225
- refactor method storage class
- create new module `core` to reduce the ammount of modules with utilities
- use `undici` instead `node-fetch`
- use `fastify` instead `express` for functional test
### Breaking changes
- plugin storage API changes
- remove old search endpoint (return 404)
- filter local private packages at plugin level
The storage api changes for methods `get`, `add`, `remove` as promise base. The `search` methods also changes and recieves a `query` object that contains all query params from the client.
```ts
export interface IPluginStorage<T> extends IPlugin {
add(name: string): Promise<void>;
remove(name: string): Promise<void>;
get(): Promise<any>;
init(): Promise<void>;
getSecret(): Promise<string>;
setSecret(secret: string): Promise<any>;
getPackageStorage(packageInfo: string): IPackageStorage;
search(query: searchUtils.SearchQuery): Promise<searchUtils.SearchItem[]>;
saveToken(token: Token): Promise<any>;
deleteToken(user: string, tokenKey: string): Promise<any>;
readTokens(filter: TokenFilter): Promise<Token[]>;
}
```

View File

@@ -0,0 +1,46 @@
---
'@verdaccio/api': major
'@verdaccio/auth': major
'@verdaccio/cli': major
'@verdaccio/config': major
'@verdaccio/commons-api': major
'@verdaccio/file-locking': major
'verdaccio-htpasswd': major
'@verdaccio/local-storage': major
'@verdaccio/readme': major
'@verdaccio/streams': major
'@verdaccio/types': major
'@verdaccio/hooks': major
'@verdaccio/loaders': major
'@verdaccio/logger': major
'@verdaccio/logger-prettify': major
'@verdaccio/middleware': major
'@verdaccio/mock': major
'@verdaccio/node-api': major
'@verdaccio/active-directory': major
'verdaccio-audit': major
'verdaccio-auth-memory': major
'verdaccio-aws-s3-storage': major
'verdaccio-google-cloud': major
'verdaccio-memory': major
'@verdaccio/proxy': major
'@verdaccio/server': major
'@verdaccio/store': major
'@verdaccio/dev-types': major
'@verdaccio/utils': major
'verdaccio': major
'@verdaccio/web': major
'@verdaccio/website': major
---
feat!: experiments config renamed to flags
- The `experiments` configuration is renamed to `flags`. The functionality is exactly the same.
```js
flags: token: false;
search: false;
```
- The `self_path` property from the config file is being removed in favor of `config_file` full path.
- Refactor `config` module, better types and utilities

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/ui-theme': minor
---
upgrade to react@17 and other dependencies

View File

@@ -0,0 +1,6 @@
---
'@verdaccio/middleware': patch
'@verdaccio/web': patch
---
Remove @ts-ignore and any in packages/web/src/endpoint/package.ts

View File

@@ -0,0 +1,11 @@
---
'@verdaccio/config': minor
'@verdaccio/local-storage': minor
'@verdaccio/e2e-ui': minor
---
Some verdaccio modules depend on 'mkdirp' library which provides recursive directory creation functionality.
NodeJS can do this out of the box since v.10.12. The last commit in 'mkdirp' was made in early 2016, and it's mid 2021 now.
Time to stick with a built-in library solution!
- All 'mkdirp' calls are replaced with appropriate 'fs' calls.

View File

@@ -0,0 +1,44 @@
---
'@verdaccio/api': major
'@verdaccio/auth': major
'@verdaccio/cli': major
'@verdaccio/config': major
'@verdaccio/commons-api': major
'@verdaccio/file-locking': major
'verdaccio-htpasswd': major
'@verdaccio/local-storage': major
'@verdaccio/readme': major
'@verdaccio/streams': major
'@verdaccio/types': major
'@verdaccio/hooks': major
'@verdaccio/loaders': major
'@verdaccio/logger': major
'@verdaccio/logger-prettify': major
'@verdaccio/middleware': major
'@verdaccio/mock': major
'@verdaccio/node-api': major
'@verdaccio/proxy': major
'@verdaccio/server': major
'@verdaccio/store': major
'@verdaccio/dev-types': major
'@verdaccio/utils': major
'verdaccio': major
'@verdaccio/web': major
---
- Replace signature handler for legacy tokens by removing deprecated crypto.createDecipher by createCipheriv
- Introduce environment variables for legacy tokens
### Code Improvements
- Add debug library for improve developer experience
### Breaking change
- The new signature invalidates all previous tokens generated by Verdaccio 4 or previous versions.
- The secret key must have 32 characters long.
### New environment variables
- `VERDACCIO_LEGACY_ALGORITHM`: Allows to define the specific algorithm for the token signature which by default is `aes-256-ctr`
- `VERDACCIO_LEGACY_ENCRYPTION_KEY`: By default, the token stores in the database, but using this variable allows to get it from memory

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/utils': patch
---
Fixed the validation of the name when searching for a tarball that have scoped package name

View File

@@ -0,0 +1,21 @@
---
'@verdaccio/cli': patch
'@verdaccio/types': patch
'@verdaccio/node-api': patch
'@verdaccio/server': patch
---
fix: restore logger on init
Enable logger after parse configuration and log the very first step on startup phase.
```bash
warn --- experiments are enabled, it is recommended do not use experiments in production comment out this section to disable it
info --- support for experiment [token] is disabled
info --- support for experiment [search] is disabled
(node:50831) Warning: config.logs is deprecated, rename configuration to "config.log"
(Use `node --trace-warnings ...` to show where the warning was created)
info --- http address http://localhost:4873/
info --- version: 6.0.0-6-next.11
info --- server started
```

View File

@@ -0,0 +1,11 @@
---
'@verdaccio/config': patch
---
Feature
- add option to set storage from environment variable VERDACCIO_STORAGE_PATH
#### Related tickets
https://github.com/verdaccio/verdaccio/issues/1681

View File

@@ -0,0 +1,6 @@
---
'@verdaccio/cli': minor
'@verdaccio/fastify-migration': minor
---
[Fastify] Add ping endpoint

View File

@@ -0,0 +1,39 @@
---
'@verdaccio/local-storage': patch
'@verdaccio/ui-theme': patch
'@verdaccio/server': patch
'@verdaccio/api': patch
'@verdaccio/auth': patch
'@verdaccio/cli': patch
'@verdaccio/config': patch
'@verdaccio/commons-api': patch
'@verdaccio/file-locking': patch
'verdaccio-htpasswd': patch
'@verdaccio/readme': patch
'@verdaccio/streams': patch
'@verdaccio/types': patch
'@verdaccio/hooks': patch
'@verdaccio/loaders': patch
'@verdaccio/logger': patch
'@verdaccio/logger-prettify': patch
'@verdaccio/middleware': patch
'@verdaccio/mock': patch
'@verdaccio/node-api': patch
'@verdaccio/active-directory': patch
'verdaccio-audit': patch
'verdaccio-auth-memory': patch
'verdaccio-aws-s3-storage': patch
'verdaccio-google-cloud': patch
'verdaccio-memory': patch
'@verdaccio/proxy': patch
'@verdaccio/store': patch
'@verdaccio/dev-types': patch
'@verdaccio/utils': patch
'verdaccio': patch
'@verdaccio/web': patch
'@verdaccio/e2e-cli': patch
'@verdaccio/e2e-ui': patch
'@verdaccio/website': patch
---
chore: add release step to private regisry on merge changeset pr

View File

@@ -0,0 +1,20 @@
---
'@verdaccio/api': minor
'verdaccio-htpasswd': minor
'@verdaccio/local-storage': minor
---
feat: remove level dependency by lowdb for npm token cli as storage
### new npm token database
There will be a new database located in your storage named `.token-db.json` which
will store all references to created tokens, **it does not store tokens**, just
mask of them and related metadata required to reference them.
#### Breaking change
If you were relying on `npm token` experiment. This PR will replace the
used database (level) by a json plain based one (lowbd) which does not
require Node.js C++ compilation step and has less dependencies. Since was
a experiment there is no migration step.

View File

@@ -0,0 +1,6 @@
---
'@verdaccio/hooks': patch
'@verdaccio/proxy': patch
---
refactor: migrate request to node-fetch at hooks package

View File

@@ -0,0 +1,5 @@
---
'verdaccio-audit': patch
---
fix: several issues which caused the audit to fail (#2335)

View File

@@ -0,0 +1,16 @@
---
'@verdaccio/tarball': patch
'@verdaccio/mock': patch
'@verdaccio/ui-theme': patch
'@verdaccio/server': patch
'@verdaccio/utils': patch
'verdaccio': patch
---
Bug Fixes
- fix escaped slash in namespaced packages
#### Related tickets
https://github.com/verdaccio/verdaccio/pull/2193

View File

@@ -0,0 +1,6 @@
---
'@verdaccio/ui-theme': minor
'verdaccio': minor
---
feat: ui theme plugin part of the application

View File

@@ -0,0 +1,51 @@
---
'@verdaccio/api': minor
'@verdaccio/auth': minor
'@verdaccio/cli': minor
'@verdaccio/config': minor
'@verdaccio/commons-api': minor
'@verdaccio/file-locking': minor
'verdaccio-htpasswd': minor
'@verdaccio/local-storage': minor
'@verdaccio/readme': minor
'@verdaccio/streams': minor
'@verdaccio/types': minor
'@verdaccio/hooks': minor
'@verdaccio/loaders': minor
'@verdaccio/logger': minor
'@verdaccio/logger-prettify': minor
'@verdaccio/middleware': minor
'@verdaccio/mock': minor
'@verdaccio/node-api': minor
'@verdaccio/active-directory': minor
'verdaccio-audit': minor
'verdaccio-auth-memory': minor
'verdaccio-aws-s3-storage': minor
'verdaccio-google-cloud': minor
'verdaccio-memory': minor
'@verdaccio/ui-theme': minor
'@verdaccio/proxy': minor
'@verdaccio/server': minor
'@verdaccio/store': minor
'@verdaccio/dev-types': minor
'@verdaccio/utils': minor
'verdaccio': minor
'@verdaccio/web': minor
---
feat: add server rate limit protection to all request
To modify custom values, use the server settings property.
```markdown
server:
## https://www.npmjs.com/package/express-rate-limit#configuration-options
rateLimit:
windowMs: 1000
max: 10000
```
The values are intended to be high, if you want to improve security of your server consider
using different values.

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/ui-theme': minor
---
feat: integrate rematch for ui state storage

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/cli': major
---
feat: node 14 as minimum for running cli

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/cli': major
---
feat: use clipanion over commander

View File

@@ -0,0 +1,30 @@
---
'@verdaccio/auth': major
'verdaccio-htpasswd': major
'verdaccio-audit': major
'@verdaccio/server': major
'@verdaccio/cli-standalone': major
---
feat: standalone registry with no dependencies
## Usage
To install a server with no dependencies
```bash
npm install -g @verdaccio/standalone
```
with no internet required
```bash
npm install -g ./tarball.tar.gz
```
Bundles htpasswd and audit plugins.
### Breaking Change
It does not allow anymore the `auth` and `middleware` property at config file empty,
it will fallback to those plugins by default.

View File

@@ -0,0 +1,36 @@
---
'@verdaccio/api': minor
'@verdaccio/auth': minor
'@verdaccio/cli': minor
'@verdaccio/config': minor
'@verdaccio/commons-api': minor
'@verdaccio/file-locking': minor
'verdaccio-htpasswd': minor
'@verdaccio/local-storage': minor
'@verdaccio/readme': minor
'@verdaccio/streams': minor
'@verdaccio/types': minor
'@verdaccio/hooks': minor
'@verdaccio/loaders': minor
'@verdaccio/logger': minor
'@verdaccio/logger-prettify': minor
'@verdaccio/middleware': minor
'@verdaccio/mock': minor
'@verdaccio/node-api': minor
'@verdaccio/proxy': minor
'@verdaccio/server': minor
'@verdaccio/store': minor
'@verdaccio/dev-types': minor
'@verdaccio/utils': minor
'verdaccio': minor
'@verdaccio/web': minor
'@verdaccio/website': minor
---
feat: add typescript project references settings
Reading https://ebaytech.berlin/optimizing-multi-package-apps-with-typescript-project-references-d5c57a3b4440 I realized I can use project references to solve the issue to pre-compile modules on develop mode.
It allows to navigate (IDE) trough the packages without need compile the packages.
Add two `tsconfig`, one using the previous existing configuration that is able to produce declaration files (`tsconfig.build`) and a new one `tsconfig` which is enables [_projects references_](https://www.typescriptlang.org/docs/handbook/project-references.html).

View File

@@ -0,0 +1,6 @@
---
'@verdaccio/cli': minor
'@verdaccio/node-api': minor
---
feat: improve cli loggin on start up

87
.changeset/pre.json Normal file
View File

@@ -0,0 +1,87 @@
{
"mode": "pre",
"tag": "6-next",
"initialVersions": {
"@verdaccio/api": "6.0.0-alpha.0",
"@verdaccio/auth": "6.0.0-alpha.0",
"@verdaccio/cli": "6.0.0-alpha.0",
"@verdaccio/config": "6.0.0-alpha.0",
"@verdaccio/commons-api": "11.0.0-alpha.0",
"@verdaccio/file-locking": "11.0.0-alpha.0",
"verdaccio-htpasswd": "11.0.0-alpha.0",
"@verdaccio/local-storage": "11.0.0-alpha.0",
"@verdaccio/readme": "11.0.0-alpha.0",
"@verdaccio/streams": "11.0.0-alpha.0",
"@verdaccio/types": "11.0.0-alpha.0",
"@verdaccio/hooks": "6.0.0-alpha.0",
"@verdaccio/loaders": "6.0.0-alpha.0",
"@verdaccio/logger": "6.0.0-alpha.0",
"@verdaccio/logger-prettify": "6.0.0-alpha.0",
"@verdaccio/middleware": "6.0.0-alpha.0",
"@verdaccio/mock": "6.0.0-alpha.0",
"@verdaccio/node-api": "6.0.0-alpha.0",
"@verdaccio/proxy": "6.0.0-alpha.0",
"@verdaccio/server": "6.0.0-alpha.0",
"@verdaccio/store": "6.0.0-alpha.0",
"@verdaccio/dev-types": "6.0.0-alpha.0",
"@verdaccio/utils": "6.0.0-alpha.0",
"verdaccio": "6.0.0-alpha.0",
"@verdaccio/web": "6.0.0-alpha.0",
"@verdaccio/active-directory": "11.0.0-alpha.0",
"verdaccio-audit": "11.0.0-alpha.0",
"verdaccio-auth-memory": "11.0.0-alpha.0",
"verdaccio-aws-s3-storage": "11.0.0-alpha.0",
"verdaccio-google-cloud": "11.0.0-alpha.0",
"verdaccio-memory": "11.0.0-alpha.0",
"@verdaccio/ui-theme": "6.0.0-alpha.1",
"@verdaccio/e2e-cli": "1.0.0",
"@verdaccio/e2e-ui": "1.0.0",
"@verdaccio/cli-standalone": "6.0.0-alpha.3",
"@verdaccio/tarball": "11.0.0-alpha.3",
"@verdaccio/url": "11.0.0-alpha.3",
"@verdaccio/fastify-migration": "6.0.0-6-next.9",
"@verdaccio/eslint-config": "1.0.0",
"@verdaccio/benchmark": "1.0.0",
"@verdaccio/website": "5.1.3",
"@verdaccio/core": "6.0.0-next.0"
},
"changesets": [
"afraid-mice-obey",
"big-lobsters-sin",
"calm-pants-impress",
"dry-planes-tap",
"few-cooks-destroy",
"few-mangos-grow",
"fifty-jars-rest",
"gentle-parrots-lay",
"gentle-trains-switch",
"gold-vans-tease",
"healthy-bikes-behave",
"healthy-poets-compare",
"heavy-ravens-lay",
"hip-hounds-destroy",
"late-adults-love",
"late-parents-act",
"little-stingrays-rule",
"many-vans-care",
"modern-spies-tell",
"neat-toes-report",
"olive-candles-speak",
"perfect-emus-clean",
"perfect-kangaroos-agree",
"plenty-news-remember",
"plenty-spiders-melt",
"plenty-tables-refuse",
"pretty-hounds-tap",
"proud-jeans-walk",
"red-chefs-float",
"shaggy-carrots-unite",
"shiny-chefs-heal",
"smart-apricots-kneel",
"spicy-frogs-press",
"tender-bags-call",
"three-pots-sit",
"two-dolls-check",
"wild-jokes-beam"
]
}

View File

@@ -0,0 +1,29 @@
---
'@verdaccio/api': patch
'@verdaccio/auth': patch
'@verdaccio/cli': patch
'@verdaccio/config': patch
'@verdaccio/commons-api': patch
'@verdaccio/file-locking': patch
'verdaccio-htpasswd': patch
'@verdaccio/local-storage': patch
'@verdaccio/readme': patch
'@verdaccio/streams': patch
'@verdaccio/types': patch
'@verdaccio/hooks': patch
'@verdaccio/loaders': patch
'@verdaccio/logger': patch
'@verdaccio/logger-prettify': patch
'@verdaccio/middleware': patch
'@verdaccio/mock': patch
'@verdaccio/node-api': patch
'@verdaccio/proxy': patch
'@verdaccio/server': patch
'@verdaccio/store': patch
'@verdaccio/dev-types': patch
'@verdaccio/utils': patch
'verdaccio': patch
'@verdaccio/web': patch
---
Enable prerelease mode with **changesets**

View File

@@ -0,0 +1,10 @@
---
'verdaccio-htpasswd': patch
'@verdaccio/local-storage': patch
'@verdaccio/fastify-migration': patch
'@verdaccio/hooks': patch
'@verdaccio/mock': patch
'@verdaccio/node-api': patch
---
Added core-js missing from dependencies though referenced in .js sources

View File

@@ -0,0 +1,11 @@
---
'@verdaccio/store': patch
'@verdaccio/web': patch
---
Fix the search by exact name of the package
Full package name queries was not finding anithing. It was happening
becouse of stemmer of [lunr.js](https://lunrjs.com/).
To fix this, the stemmer of [lunr.js](https://lunrjs.com/) was removed from search pipeline.

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/logger': patch
---
do not show deprecation warning on default logger config

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/api': patch
---
testing changesets

View File

@@ -0,0 +1,79 @@
---
'@verdaccio/ui-theme': major
'@verdaccio/cli-standalone': major
'@verdaccio/web': major
---
feat: flexible user interface generator
**breaking change**
The UI does not provide a pre-generated `index.html`, instead the server generates
the body of the web application based in few parameters:
- Webpack manifest
- User configuration details
It allows inject html tags, javascript and new CSS to make the page even more flexible.
### Web new properties for dynamic template
The new set of properties are made in order allow inject _html_ and _JavaScript_ scripts within the template. This
might be useful for scenarios like Google Analytics scripts or custom html in any part of the body.
- metaScripts: html injected before close the `head` element.
- scriptsBodyAfter: html injected before close the `body` element.
- bodyAfter: html injected after _verdaccio_ JS scripts.
```yaml
web:
scriptsBodyAfter:
- '<script type="text/javascript" src="https://my.company.com/customJS.min.js"></script>'
metaScripts:
- '<script type="text/javascript" src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>'
- '<script type="text/javascript" src="https://browser.sentry-cdn.com/5.15.5/bundle.min.js"></script>'
- '<meta name="robots" content="noindex" />'
bodyBefore:
- '<div id="myId">html before webpack scripts</div>'
bodyAfter:
- '<div id="myId">html after webpack scripts</div>'
```
### UI plugin changes
- `index.html` is not longer used, template is generated based on `manifest.json` generated by webpack.
- Plugin must export:
- the manifest file.
- the manifest files: matcher (array of id that generates required scripts to run the ui)
- static path: The absolute path where the files are located in `node_modules`
```
exports.staticPath = path.join(__dirname, 'static');
exports.manifest = require('./static/manifest.json');
exports.manifestFiles = {
js: ['runtime.js', 'vendors.js', 'main.js'],
css: [],
ico: 'favicon.ico',
};
```
- Remove font files
- CSS is inline on JS (this will help with #2046)
### Docker v5 Examples
- Move all current examples to v4 folder
- Remove any v3 example
- Create v5 folder with Nginx Example
#### Related tickets
https://github.com/verdaccio/verdaccio/issues/1523
https://github.com/verdaccio/verdaccio/issues/1297
https://github.com/verdaccio/verdaccio/issues/1593
https://github.com/verdaccio/verdaccio/discussions/1539
https://github.com/verdaccio/website/issues/264
https://github.com/verdaccio/verdaccio/issues/1565
https://github.com/verdaccio/verdaccio/issues/1251
https://github.com/verdaccio/verdaccio/issues/2029
https://github.com/verdaccio/docker-examples/issues/29

View File

@@ -0,0 +1,32 @@
---
'verdaccio-htpasswd': major
---
feat: allow other password hashing algorithms (#1917)
**breaking change**
The current implementation of the `htpasswd` module supports multiple hash formats on verify, but only `crypt` on sign in.
`crypt` is an insecure old format, so to improve the security of the new `verdaccio` release we introduce the support of multiple hash algorithms on sign in step.
### New hashing algorithms
The new possible hash algorithms to use are `bcrypt`, `md5`, `sha1`. `bcrypt` is chosen as a default, because of its customizable complexity and overall reliability. You can read more about them [here](https://httpd.apache.org/docs/2.4/misc/password_encryptions.html).
Two new properties are added to `auth` section in the configuration file:
- `algorithm` to choose the way you want to hash passwords.
- `rounds` is used to determine `bcrypt` complexity. So one can improve security according to increasing computational power.
Example of the new `auth` config file section:
```yaml
auth:
htpasswd:
file: ./htpasswd
max_users: 1000
# Hash algorithm, possible options are: "bcrypt", "md5", "sha1", "crypt".
algorithm: bcrypt
# Rounds number for "bcrypt", will be ignored for other algorithms.
rounds: 10
```

View File

@@ -0,0 +1,9 @@
---
'@verdaccio/logger': major
---
logging prettifier only in development mode
- Verdaccio prettify `@verdaccio/logger-prettify` the logging which looks beautiful. But there are scenarios which does not make sense in production. This feature enables disable by default the prettifies if production `NODE_ENV` is enabled.
- Updates pino.js to `^6.7.0`.
- Suppress the warning when prettifier is enabled `suppressFlushSyncWarning`

View File

@@ -0,0 +1,33 @@
---
'@verdaccio/api': patch
'@verdaccio/auth': patch
'@verdaccio/cli': patch
'@verdaccio/config': patch
'@verdaccio/commons-api': patch
'@verdaccio/file-locking': patch
'verdaccio-htpasswd': patch
'@verdaccio/local-storage': patch
'@verdaccio/readme': patch
'@verdaccio/types': patch
'@verdaccio/hooks': patch
'@verdaccio/loaders': patch
'@verdaccio/logger': patch
'@verdaccio/logger-prettify': patch
'@verdaccio/middleware': patch
'@verdaccio/mock': patch
'@verdaccio/node-api': patch
'@verdaccio/proxy': patch
'@verdaccio/server': patch
'@verdaccio/store': patch
'@verdaccio/dev-types': patch
'@verdaccio/utils': patch
'verdaccio': patch
---
ESLint Warnings Fixed
Related to issue #1461
- max-len: most of the sensible max-len errors are fixed
- no-unused-vars: most of these types of errors are fixed by deleting not needed declarations
- @typescript-eslint/no-unused-vars: same as above

View File

@@ -0,0 +1,28 @@
---
'@verdaccio/cli': major
'@verdaccio/config': major
'@verdaccio/types': major
'@verdaccio/logger': major
'@verdaccio/node-api': major
'verdaccio-google-cloud': major
'verdaccio': major
---
feat: node api new structure based on promise
```js
import { runServer } from '@verdaccio/node-api';
// or
import { runServer } from 'verdaccio';
const app = await runServer(); // default configuration
const app = await runServer('./config/config.yaml');
const app = await runServer({ configuration });
app.listen(4000, (event) => {
// do something
});
```
### Breaking Change
If you are using the node-api, the new structure is Promise based and less arguments.

View File

@@ -0,0 +1,32 @@
---
'@verdaccio/types': minor
'@verdaccio/ui-theme': minor
'@verdaccio/web': minor
---
web: allow ui hide package managers on sidebar
If there is a package manager of preference over others, you can define the package managers to be displayed on the detail page and sidebar, just define in the `config.yaml` and web section the list of package managers to be displayed.
```
web:
title: Verdaccio
sort_packages: asc
primary_color: #cccccc
pkgManagers:
- pnpm
- yarn
# - npm
```
To disable all package managers, just define empty:
```
web:
title: Verdaccio
sort_packages: asc
primary_color: #cccccc
pkgManagers:
```
and the section would be hidden.

View File

@@ -8,19 +8,22 @@
.*
# you can add exceptions like in .gitignore to maintain a whitelist:
# e.g.
!babel.config.js
!.babelrc
!.eslintrc
!.prettierrc
!.prettierrc.json
!.prettierignore
!.eslintignore
!.stylelintrc
!.jest.config.js
!.jestEnvironment.js
!.yarnrc.yml
!.yarn/releases/yarn-berry.cjs
!.yarn/plugins/*
# do not copy over node_modules we will run `npm install` anyway
# do not copy over node_modules we will run `pnpm install` anyway
node_modules
website
jest
docs
contrib
docker-examples
website
systemd
# output from test runs and similar things
*.log

View File

@@ -7,6 +7,7 @@ end_of_line = lf
insert_final_newline = true
# 2 space indentation
[{.,}*.{js,jsx,yml,yaml}]
[{.,}*.{ts,tsx,js,jsx,yml,yaml}]
indent_style = space
indent_size = 2
quote_type = single

View File

@@ -1,22 +1,13 @@
node_modules
coverage/
wiki/
static/
flow-typed/
website/
**/fixtures/**
**/mock/store/**
**/partials/**
**/types/custom.d.ts
build/
*.md
*.lock
*.yaml
Dockerfile
*.rpi
*.html
*.scss
*.png
*.jpg
*.sh
*.ico
test/unit/partials/
types/custom.d.ts
docker-examples/
LICENSE
coverage/
node_modules/
static/
website/
wiki/
dist/
docs/
test/functional/store/*

102
.eslintrc
View File

@@ -1,102 +0,0 @@
{
"extends": [
"eslint:recommended",
"google",
"plugin:react/recommended",
"plugin:jest/recommended",
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/recommended",
"plugin:import/typescript",
"plugin:jsx-a11y/recommended",
"prettier"
],
"plugins": ["import", "jest", "jsx-a11y", "react-hooks"],
"env": {
"es6": true,
"node": true,
"jest": true
},
"globals": {
"__APP_VERSION__": true
},
"parserOptions": {
"allowImportExportEverywhere": true,
"sourceType": "module",
"ecmaVersion": 11,
"ecmaFeatures": {
"impliedStrict": true,
"jsx": true
}
},
"settings": {
"import/resolver": {
"node": {
"extensions": [".js", ".jsx", ".ts", ".tsx"]
}
}
},
"parser": "@typescript-eslint/parser",
"rules": {
"curly": ["error", "all"],
"react/prop-types": 0,
"jest/no-export": 0,
"jest/no-test-callback": 0,
"jest/expect-expect": 0,
"jest/no-try-expect": 0,
"jest/no-done-callback": "off",
"jest/no-conditional-expect": "off",
"keyword-spacing": "off",
"no-tabs": "off",
"no-useless-escape": "off",
"padded-blocks": "off",
"require-jsdoc": "off",
"valid-jsdoc": "off",
"import/order": ["error"],
"eol-last": "error",
"no-irregular-whitespace": "error",
"no-mixed-spaces-and-tabs": ["error", "smart-tabs"],
"no-trailing-spaces": "error",
"camelcase": "off",
"guard-for-in": "error",
"new-cap": "error",
"max-len": ["error", 180],
"no-console": ["error", { "allow": ["warn"] }],
"no-constant-condition": "error",
"no-debugger": "error",
"no-empty": "error",
"no-fallthrough": "error",
"no-invalid-this": "error",
"no-new-require": "error",
"no-undef": "error",
"no-unreachable": "error",
"no-var": "error",
"one-var": "error",
"prefer-rest-params": "error",
"prefer-spread": "error",
"handle-callback-err": 0,
"prefer-const": 0,
"@typescript-eslint/camelcase": 0,
"@typescript-eslint/ban-ts-ignore": 0,
"@typescript-eslint/no-var-requires": 0,
"@typescript-eslint/no-inferrable-types": 0,
"@typescript-eslint/no-empty-function": 0,
"@typescript-eslint/no-this-alias": 0,
"@typescript-eslint/no-use-before-define": 0,
"@typescript-eslint/array-type": ["error"],
"@typescript-eslint/no-explicit-any": 0,
"@typescript-eslint/indent": 0,
"@typescript-eslint/ban-ts-comment": 0,
"@typescript-eslint/ban-types": 0,
"@typescript-eslint/explicit-module-boundary-types": 0,
// rules to fix
"no-unused-vars": ["warn", { "vars": "all", "args": "none" }],
"jest/no-identical-title": ["warn"],
"prefer-promise-reject-errors": ["warn"],
"jest/no-disabled-tests": ["warn"],
"jest/no-commented-out-tests": ["warn"],
"@typescript-eslint/prefer-optional-chain": ["warn"],
"@typescript-eslint/explicit-member-accessibility": ["warn"],
"@typescript-eslint/no-unused-vars": ["warn"]
}
}

3
.eslintrc.js Normal file
View File

@@ -0,0 +1,3 @@
module.exports = {
extends: ['@verdaccio/eslint-config'],
};

199
.gitattributes vendored Normal file
View File

@@ -0,0 +1,199 @@
## GITATTRIBUTES FOR WEB PROJECTS
#
# These settings are for any web project.
#
# Details per file setting:
# text These files should be normalized (i.e. convert CRLF to LF).
# binary These files are binary and should be left untouched.
#
# Note that binary is a macro for -text -diff.
######################################################################
# Auto detect
## Handle line endings automatically for files detected as
## text and leave all files detected as binary untouched.
## This will handle all files NOT defined below.
* text=lf
# Source code
*.bash text eol=lf
*.bat text eol=crlf
*.cmd text eol=crlf
*.coffee text eol=lf
*.css text eol=lf
*.htm text diff=html
*.html text diff=html
*.inc text eol=lf
*.ini text eol=lf
*.js text eol=lf
*.json text eol=lf
*.jsx text eol=lf
*.less text eol=lf
*.ls text eol=lf
*.map text -diff
*.od text eol=lf
*.onlydata text eol=lf
*.php text diff=php
*.pl text eol=lf
*.ps1 text eol=crlf
*.py text diff=python
*.rb text diff=ruby
*.sass text eol=lf
*.scm text eol=lf
*.scss text diff=css
*.sh text eol=lf
*.sql text eol=lf
*.styl text eol=lf
*.tag text eol=lf
*.ts text eol=lf
*.tsx text eol=lf
*.xml text eol=lf
*.xhtml text diff=html
# Docker
Dockerfile text eol=lf
# Documentation
*.ipynb text eol=lf
*.markdown text eol=lf
*.md text eol=lf
*.mdwn text eol=lf
*.mdown text eol=lf
*.mkd text eol=lf
*.mkdn text eol=lf
*.mdtxt text eol=lf
*.mdtext text eol=lf
*.txt text eol=lf
AUTHORS text eol=lf
CHANGELOG text eol=lf
CHANGES text eol=lf
CONTRIBUTING text eol=lf
COPYING text eol=lf
copyright text eol=lf
*COPYRIGHT* text eol=lf
INSTALL text eol=lf
license text eol=lf
LICENSE text eol=lf
NEWS text eol=lf
readme text eol=lf
*README* text eol=lf
TODO text eol=lf
# Templates
*.dot text eol=lf
*.ejs text eol=lf
*.haml text eol=lf
*.handlebars text eol=lf
*.hbs text eol=lf
*.hbt text eol=lf
*.jade text eol=lf
*.latte text eol=lf
*.mustache text eol=lf
*.njk text eol=lf
*.phtml text eol=lf
*.tmpl text eol=lf
*.tpl text eol=lf
*.twig text eol=lf
*.vue text eol=lf
# Configs
*.cnf text eol=lf
*.conf text eol=lf
*.config text eol=lf
.editorconfig text eol=lf
.env text eol=lf
.gitattributes text eol=lf
.gitconfig text eol=lf
.htaccess text eol=lf
*.lock text -diff
package-lock.json text -diff
*.toml text eol=lf
*.yaml text eol=lf
*.yml text eol=lf
browserslist text eol=lf
Makefile text eol=lf
makefile text eol=lf
# Heroku
Procfile text eol=lf
# Graphics
*.ai binary
*.bmp binary
*.eps binary
*.gif binary
*.gifv binary
*.ico binary
*.jng binary
*.jp2 binary
*.jpg binary
*.jpeg binary
*.jpx binary
*.jxr binary
*.pdf binary
*.png binary
*.psb binary
*.psd binary
# SVG treated as an asset (binary) by default.
*.svg text eol=lf
# If you want to treat it as binary,
# use the following line instead.
# *.svg binary
*.svgz binary
*.tif binary
*.tiff binary
*.wbmp binary
*.webp binary
# Audio
*.kar binary
*.m4a binary
*.mid binary
*.midi binary
*.mp3 binary
*.ogg binary
*.ra binary
# Video
*.3gpp binary
*.3gp binary
*.as binary
*.asf binary
*.asx binary
*.fla binary
*.flv binary
*.m4v binary
*.mng binary
*.mov binary
*.mp4 binary
*.mpeg binary
*.mpg binary
*.ogv binary
*.swc binary
*.swf binary
*.webm binary
# Archives
*.7z binary
*.gz binary
*.jar binary
*.rar binary
*.tar binary
*.zip binary
# Fonts
*.ttf binary
*.eot binary
*.otf binary
*.woff binary
*.woff2 binary
# Executables
*.exe binary
*.pyc binary
# RC files (like .babelrc or .eslintrc)
*.*rc text eol=lf
# Ignore files (like .npmignore or .gitignore)
*.*ignore text eol=lf

View File

@@ -6,10 +6,31 @@ title: ''
assignees: ''
---
<!-- PLEASE READ THIS:
- If you are not sure is a bug, OPEN a DISCUSSION, if is a legitimate bug, is easy to create a bug from a discussion.
- Empty reports won't be considered and eventually be closed by a bot.
- Include debugging notes will help to fix it faster, HOW TO: https://github.com/verdaccio/verdaccio/wiki/Debugging-Verdaccio
- If you remove this template, ticket will be closed immediately.
- No English perfect is required, use public translators if is need it, we will do our best to help you.
- Extra bonus: The most complete this report is delivered, the faster you will get a response.
- Extra bonus: include screenshots, logs (remove sensitive data).
- If you are willing to fix it, there is a checkbox at the bottom.
-->
**Your Environment**
<!-- bug below the version 5.x will be closed, see SECURITY.md for more details -->
* **verdaccio version**: 5.x.x
* **node version** [12.x.x, 14.x.x]:
* **package manager**: [npm@7, pnpm@6, yarn@2]
* **os**: [mac, windows@10, linux]
* **platform**: [npm, docker, helm, other]
**Describe the bug**
<!-- A clear and concise description of what the bug is. -->
**To Reproduce**
<!-- IMPORTANT:
- How to reproduce the issue
- Steps to reproduce the issue
@@ -18,9 +39,11 @@ Be aware, the lack of reproducible steps the issue might cause your ticket to be
-->
**Expected behavior**
<!-- A clear and concise description of what you expected to happen. -->
**Screenshots**
**Screenshots, server logs, package manager log**
<!-- If applicable, add screenshots to help explain your problem. -->
**Configuration File (cat ~/.config/verdaccio/config.yaml)**
@@ -28,16 +51,21 @@ Be aware, the lack of reproducible steps the issue might cause your ticket to be
<!-- Please be careful do not leak any sensitive information, remove tokens -->
**Environment information**
<!-- Please paste the results of running `verdaccio --info` -->
**Debugging output**
- `$ NODE_DEBUG=request verdaccio` display request calls (verdaccio <--> uplinks)
- `$ DEBUG=express:* verdaccio` enable extreme verdaccio debug mode (verdaccio api)
- `$ npm -ddd` prints:
- `$ npm config get registry` prints:
- `$ NODE_DEBUG=request verdaccio` display request calls (verdaccio <--> uplinks)
- `$ DEBUG=verdaccio* verdaccio` enable extreme verdaccio debug mode (verdaccio api)
- `$ npm -ddd` prints:
- `$ npm config get registry` prints:
**Contribute to Verdaccio**
- [ ] I'm willing to fix this bug 🥇
<!--
IMPORTANT: please do not attach external files, all content should be visible from any device.
-->

View File

@@ -7,7 +7,7 @@ contact_links:
url: https://github.com/verdaccio/verdaccio/security/policy
about: I want to report a security vulnerability
- name: Chat 🏘
url: http://chat.verdaccio.org
url: https://discord.gg/7qWJxBf
about: For a quick question you should do it through our community chat
- name: User Interface Report 👩🏼‍🎨👨🏼‍🎨
url: https://github.com/verdaccio/ui/issues/new/choose

View File

@@ -1,21 +1,24 @@
---
name: "Feature Request \U0001F52E"
name: 'Feature Request 🔮'
about: You want a feature request.
title: ''
labels: 'topic: feature request'
assignees: ''
---
<!--
IMPORTANT: If you don't have an action plan, please consider create a DISCUSSION (idea) instead for an open a feature request issue.
https://github.com/verdaccio/verdaccio/discussions/new
Verdaccio is a project addressed for voluntaries, if you appreciate this project consider to donate.
1$/5$ or custom amount single contribution
or monthly
1$/month - minimal contribution
5$/month - nice contribution
500$ - help to promote this project, marketing, stickers.
2000$/year - sponsor status, your company logo will be in our readme, meetups talks and your request will have high priority
https://opencollective.com/verdaccio
https://github.com/sponsors/verdaccio
As reminder, the Open Source must be sustainable.
-->

View File

@@ -5,23 +5,21 @@
version: 2
updates:
# Maintain dependencies for GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
- package-ecosystem: 'github-actions'
directory: '/'
schedule:
interval: "weekly"
interval: 'weekly'
# Maintain dependencies for npm
- package-ecosystem: "npm"
directory: "/"
- package-ecosystem: 'npm'
directory: '/'
schedule:
interval: "daily"
allow:
- dependency-name: "@verdaccio/*"
- dependency-name: "verdaccio-*"
interval: 'daily'
allow:
- dependency-name: '@verdaccio/*'
- dependency-name: 'verdaccio-*'
assignees:
- "verdacciobot"
- 'verdacciobot'
labels:
- "bot: dependencies"
- 'bot: dependencies'

View File

@@ -0,0 +1,131 @@
on:
schedule:
- cron: '0 3 * * 5'
pull_request:
branches:
- '**'
name: 'E2E Angular CLI with verdaccio'
jobs:
# todo: fix yarn global issue, cannot find ng
# yarn:
# strategy:
# fail-fast: false
# matrix:
# os: [ubuntu-latest, windows-latest]
#
# name: '${{ matrix.os }} / yarn:angular example'
# runs-on: ${{ matrix.os }}
#
# steps:
# - uses: actions/checkout@v2.3.1
#
# - name: 'Use Node.js 10.x'
# uses: actions/setup-node@v2.1.1
# with:
# node-version: 10.x
# - name: Install Dependencies
# run: yarn install --pure-lockfile
# - name: 'Run verdaccio in the background'
# run: |
# nohup node ./scripts/run-verdaccio.js &
# - name: 'Ping to verdaccio'
# run: |
# npm ping --registry http://localhost:4873
# - name: 'Running the integration test'
# run: |
# source scripts/e2e-setup-ci.sh
# yarn init --yes
#
# yarn global add @angular/cli
# which nodemon
# ng new verdaccio-angular --interactive=false
#
# cd verdaccio-angular
# echo "registry=http://localhost:4873" > ~/.npmrc
# yarn add @angular-devkit/core@next @babel/preset-env @babel/core -D
#
# ng build --aot
npm:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest]
name: '${{ matrix.os }} / npm:angular example'
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2.3.1
- name: 'Use Node.js 10.x'
uses: actions/setup-node@v2.1.1
with:
node-version: 10.x
- name: 'install latest npm'
run: npm i -g npm
- name: Install Dependencies
run: yarn install --pure-lockfile
- name: 'Run verdaccio in the background'
run: |
nohup node ./scripts/run-verdaccio.js &
- name: 'Ping to verdaccio'
run: |
npm ping --registry http://localhost:4873
- name: 'Running the integration test'
run: |
source scripts/e2e-setup-ci.sh
echo "registry=http://localhost:4873" > ~/.npmrc
npm config set loglevel="http"
npm config set fetch-retries="5"
npm config set fetch-retry-factor="50"
npm config set fetch-retry-mintimeout="20000"
npm config set fetch-retry-maxtimeout="80000"
npm install -g @angular/cli
ng new verdaccio-angular --interactive=false
cd verdaccio-angular
npm install @angular-devkit/core@next @babel/preset-env @babel/core -D
npm run ng build --aot
# pnpm throws errors worth to check why
# pnpm:
# strategy:
# fail-fast: false
# matrix:
# os: [ubuntu-latest, windows-latest]
#
# name: '${{ matrix.os }} / pnpm:angular example'
# runs-on: ${{ matrix.os }}
#
# steps:
# - uses: actions/checkout@v2.3.1
#
# - name: 'Use Node.js 10.x'
# uses: actions/setup-node@v2.1.1
# with:
# node-version: 10.x
# - name: 'install latest pnpm'
# run: npm i -g pnpm
# - name: Install Dependencies
# run: yarn install --pure-lockfile
# - name: 'Run verdaccio in the background'
# run: |
# nohup node ./scripts/run-verdaccio.js &
# - name: 'Ping to verdaccio'
# run: |
# pnpm ping --registry http://localhost:4873
# - name: 'Running the integration test'
# run: |
# source scripts/e2e-setup-ci.sh
# pnpm init --force
#
# pnpm install -g @angular/cli
# ng new verdaccio-angular --interactive=false
#
# cd verdaccio-angular
# echo "registry=http://localhost:4873" > ~/.npmrc
# pnpm install @angular-devkit/core@next @babel/preset-env @babel/core -D
#
# pnpm run ng build --aot

View File

@@ -8,8 +8,13 @@ on:
name: 'E2E Gatsby.js CLI with verdaccio'
jobs:
npm:
name: 'npm:gatsby example'
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest]
name: '${{ matrix.os }} / npm:gatsby example'
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2.3.3

121
.github/disabled/e2e-jest-workflow.yml vendored Normal file
View File

@@ -0,0 +1,121 @@
on:
schedule:
- cron: '0 3 * * 5'
pull_request:
branches:
- '**'
name: 'E2E Jest with verdaccio'
jobs:
yarn:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest]
name: '${{ matrix.os }} / yarn:jest example'
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2.3.1
- name: 'Use Node.js 10.x'
uses: actions/setup-node@v2.1.1
with:
node-version: 10.x
- name: Install Dependencies
run: yarn install --pure-lockfile
- name: 'Run verdaccio in the background'
run: |
nohup node ./scripts/run-verdaccio.js &
- name: 'Ping to verdaccio'
run: |
npm ping --registry http://localhost:4873
- name: 'Running the integration test'
run: |
source scripts/e2e-setup-ci.sh
yarn init --yes
yarn add jest --registry http://localhost:4873
echo "it('should pass', () => { expect(true).toBeTruthy(); });" | tee pass.test.js
yarn jest pass.test.js
yarn add left-pad --registry http://localhost:4873 --verbose
echo "const leftPad = require('left-pad'); it('should resolve a module', () => { expect(typeof leftPad).toBe('function');});" | tee module.test.js
yarn jest module.test.js
npm:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest]
name: '${{ matrix.os }} / npm:jest example'
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2.3.1
- name: 'Use Node.js 10.x'
uses: actions/setup-node@v2.1.1
with:
node-version: 10.x
- name: 'install latest npm'
run: npm i -g npm
- name: Install Dependencies
run: yarn install --pure-lockfile
- name: 'Run verdaccio in the background'
run: |
nohup node ./scripts/run-verdaccio.js &
- name: 'Ping to verdaccio'
run: |
npm ping --registry http://localhost:4873
- name: 'Running the integration test'
run: |
source scripts/e2e-setup-ci.sh
npm init --force
npm install jest --registry http://localhost:4873
echo "it('should pass', () => { expect(true).toBeTruthy(); });" | tee pass.test.js
yarn jest pass.test.js
yarn add left-pad --registry http://localhost:4873 --verbose
echo "const leftPad = require('left-pad'); it('should resolve a module', () => { expect(typeof leftPad).toBe('function');});" | tee module.test.js
yarn jest module.test.js
pnpm:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest]
name: '${{ matrix.os }} / pnpm:jest example'
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2.3.1
- name: 'Use Node.js 10.x'
uses: actions/setup-node@v2.1.1
with:
node-version: 10.x
- name: 'install latest pnpm'
run: npm i -g pnpm
- name: Install Dependencies
run: yarn install --pure-lockfile
- name: 'Run verdaccio in the background'
run: |
nohup node ./scripts/run-verdaccio.js &
- name: 'Ping to verdaccio'
run: |
pnpm ping --registry http://localhost:4873
- name: 'Running the integration test'
run: |
source scripts/e2e-setup-ci.sh
pnpm init --force
pnpm install jest --registry http://localhost:4873
echo "it('should pass', () => { expect(true).toBeTruthy(); });" | tee pass.test.js
yarn jest pass.test.js
yarn add left-pad --registry http://localhost:4873 --verbose
echo "const leftPad = require('left-pad'); it('should resolve a module', () => { expect(typeof leftPad).toBe('function');});" | tee module.test.js
yarn jest module.test.js

View File

@@ -2,7 +2,7 @@ name: Test local registry for js vulnerabilities
on:
schedule:
- cron: '0 */4 1 * *'
- cron: '0 4 * * 4'
jobs:
security:
runs-on: ubuntu-latest
@@ -10,4 +10,4 @@ jobs:
- name: Test for public javascript library vulnerabilities
uses: lirantal/is-website-vulnerable@1.15.10
with:
scan-url: "https://registry.verdaccio.org"
scan-url: 'https://registry.verdaccio.org'

35
.github/disabled/release-canary.yml vendored Normal file
View File

@@ -0,0 +1,35 @@
name: Canary Release to Verdaccio
on:
pull_request:
paths:
- .github/workflows/release-canary.yml
- 'packages/**'
- 'package.json'
- 'lerna.json'
jobs:
release:
name: Release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Use Node (latest)
uses: actions/setup-node@v1
with:
node_version: 13
- name: Install
run: yarn --frozen-lockfile
- name: Clean
run: yarn clean
- name: Lint
run: yarn lint
- name: Build
run: yarn build
- name: Test
run: yarn test
- name: Publish
run: |
echo "//registry.verdaccio.org/:_authToken=${{ secrets.VERDACCIO_TOKEN }}" > .npmrc
git update-index --assume-unchanged .npmrc
yarn publish:canary

14
.github/lock.yml vendored
View File

@@ -13,10 +13,10 @@ lockLabel: false
lockComment: >
🤖This thread has been automatically locked 🔒 since there has not been
any recent activity after it was closed.
We lock tickets after 90 days with the idea to encourage you to open a ticket with new fresh data
and to provide you better feedback 🤝and better visibility 👀.
If you consider, you can attach this ticket 📨 to the new one as a reference for better context.
Thanks for being a part of the Verdaccio community! 💘
@@ -26,10 +26,10 @@ lockComment: >
# Optionally, specify configuration settings just for `issues` or `pulls`
issues:
exemptLabels:
- help-wanted
lockLabel: outdated
exemptLabels:
- help-wanted
lockLabel: outdated
pulls:
daysUntilLock: 90
lockLabel: outdated
daysUntilLock: 90
lockLabel: outdated

18
.github/stale.yml vendored
View File

@@ -1,7 +1,7 @@
# Number of days of inactivity before an issue becomes stale
daysUntilStale: 15
daysUntilStale: 365
# Number of days of inactivity before a stale issue is closed
daysUntilClose: 10
daysUntilClose: 500
# Issues with these labels will never be considered stale
exemptLabels:
- dev: high priority
@@ -10,17 +10,17 @@ exemptLabels:
- issue: bug
- dev: discuss
# Label to use when marking an issue as stale
staleLabel: issue: wontfix
staleLabel: 'issue: wontfix'
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment: >
Hi pal 👋🏼!
Hi pal 👋🏼!
This issue has gone quiet 😶.
This issue has gone quiet 😶.
We get a lot of issues, so we currently close issues after 25 days of inactivity. Its been at least 15 days since the last update here.
If we missed this issue or if you want to keep it open, please reply here. You can also add/suggest the label "discuss" to keep this issue open!
As a friendly reminder: the best way to see this issue, or any other, fixed is to open a Pull Request. Check out [https://github.com/verdaccio/contributing](https://github.com/verdaccio/contributing) for more information about opening PRs, triaging issues, and contributing!
We get a lot of issues, so we currently close issues after 180 days of inactivity. Its been at least 90c days since the last update here.
If we missed this issue or if you want to keep it open, please reply here. You can also add/suggest the label "discuss" to keep this issue open!
As a friendly reminder: the best way to see this issue, or any other, fixed is to open a Pull Request. Check out [https://github.com/verdaccio/contributing](https://github.com/verdaccio/contributing) for more information about opening PRs, triaging issues, and contributing!
Thanks for being a part of the Verdaccio community! 💘
Thanks for being a part of the Verdaccio community! 💘
# Comment to post when closing a stale issue. Set to `false` to disable
closeComment: false

171
.github/workflows/benckmark.yml vendored Normal file
View File

@@ -0,0 +1,171 @@
---
name: ci - benchmark
on:
workflow_dispatch:
schedule:
# 3 times day
# collecting enough data to draw some graphics
- cron: '0 1 * * *'
# push:
# branches:
# - master
jobs:
prepare:
name: Prepare build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: 14.x
- name: install pnpm
run: sudo npm i pnpm@6.6.1 -g
- name: set store
run: |
mkdir ~/.pnpm-store
pnpm config set store-dir ~/.pnpm-store
- name: setup pnpm config registry
run: pnpm config set registry https://registry.verdaccio.org
- name: install dependencies
run: pnpm install
- name: Cache .pnpm-store
uses: actions/cache@v2
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
restore-keys: |
pnpm-
- name: build
run: pnpm build
- name: tar packages
run: |
tar -czvf ${{ github.workspace }}/pkg.tar.gz -C ${{ github.workspace }}/packages .
- uses: actions/upload-artifact@v2
with:
name: verdaccio-artifact
path: pkg.tar.gz
benchmark-autocannon:
needs: prepare
strategy:
fail-fast: false
matrix:
benchmark:
- info
- tarball
verdaccioVersion:
# - local
- 3.13.1
- 4.12.2
- 5.1.3
- 6.0.0-6-next.23
name: Benchmark autocannon
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: 14.x
- uses: actions/download-artifact@v2
with:
name: verdaccio-artifact
- name: untar packages
run: tar -xzvf pkg.tar.gz -C ${{ github.workspace }}/packages
- name: install pnpm
# require fixed version
run: sudo npm i pnpm@6.6.1 -g
- uses: actions/cache@v2
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
- name: install dependencies
run: pnpm install
- name: start registry
run: ./scripts/benchmark-prepare.sh ${{matrix.verdaccioVersion}}
- name: benchmark
run: pnpm benchmark:api -- -v ${{matrix.verdaccioVersion}} -f ${{matrix.benchmark}}
shell: bash
env:
DEBUG: metrics*
- uses: actions/upload-artifact@v2
with:
name: verdaccio-metrics-api
path: ./api-results-${{matrix.verdaccioVersion}}-${{matrix.benchmark}}.json
if-no-files-found: error
retention-days: 10
- name: submit metrics
run: pnpm benchmark:submit
env:
DEBUG: metrics
METRICS_SOURCE: autocannon
METRICS_URL: ${{ secrets.METRICS_URL }}
METRICS_TOKEN: ${{ secrets.METRICS_TOKEN }}
METRICS_BENCHMARK: ${{matrix.benchmark}}
METRICS_VERSION: ${{matrix.verdaccioVersion}}
METRICS_COMMIT_HASH: ${{ github.sha }}
METRICS_FILE_NAME: 'api-results'
benchmark:
needs: prepare
strategy:
fail-fast: false
matrix:
benchmark:
- info
- tarball
verdaccioVersion:
# future 6.x (wip)
# - local (master branch)
# old versions to compare same test along previous releases
- 3.13.1
- 4.12.2
- 5.1.3
- 6.0.0-6-next.23
name: Benchmark hyperfine
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: 14.x
- uses: actions/download-artifact@v2
with:
name: verdaccio-artifact
- name: untar packages
run: tar -xzvf pkg.tar.gz -C ${{ github.workspace }}/packages
- name: install pnpm
# require fixed version
run: sudo npm i pnpm@6.6.1 -g
- uses: actions/cache@v2
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
- name: install dependencies
run: pnpm install
- name: install hyperfine
run: |
wget https://github.com/sharkdp/hyperfine/releases/download/v1.11.0/hyperfine_1.11.0_amd64.deb
sudo dpkg -i hyperfine_1.11.0_amd64.deb
- name: start registry
run: ./scripts/benchmark-prepare.sh ${{matrix.verdaccioVersion}}
- name: benchmark
run: ./scripts/benchmark-run.sh ${{matrix.benchmark}}
# https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#using-a-specific-shell
shell: bash
- name: rename
run: mv ./hyper-results.json ./hyper-results-${{matrix.verdaccioVersion}}-${{matrix.benchmark}}.json
- uses: actions/upload-artifact@v2
with:
name: verdaccio-metrics
path: ./hyper-results-${{matrix.verdaccioVersion}}-${{matrix.benchmark}}.json
if-no-files-found: error
retention-days: 10
- name: submit metrics
run: pnpm benchmark:submit
env:
DEBUG: metrics
METRICS_SOURCE: hyperfine
METRICS_URL: ${{ secrets.METRICS_URL }}
METRICS_TOKEN: ${{ secrets.METRICS_TOKEN }}
METRICS_BENCHMARK: ${{matrix.benchmark}}
METRICS_VERSION: ${{matrix.verdaccioVersion}}
METRICS_COMMIT_HASH: ${{ github.sha }}

64
.github/workflows/changesets.yml vendored Normal file
View File

@@ -0,0 +1,64 @@
name: Changesets
on:
schedule:
- cron: '0 0 * * *'
push:
branches:
- master
env:
CI: true
PNPM_CACHE_FOLDER: .pnpm-store
jobs:
# Update package versions from changesets.
version:
timeout-minutes: 14
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/master' && github.repository == 'verdaccio/verdaccio'
steps:
- name: checkout code repository
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: setup node.js
uses: actions/setup-node@v2
with:
node-version: 14
registry-url: 'https://registry.npmjs.org'
env:
NODE_AUTH_TOKEN: ${{ secrets.REGISTRY_AUTH_TOKEN }}
- name: install pnpm
run: npm i pnpm@6.10.3 -g
env:
NODE_AUTH_TOKEN: ${{ secrets.REGISTRY_AUTH_TOKEN }}
- name: setup pnpm config
run: pnpm config set store-dir $PNPM_CACHE_FOLDER
- name: setup pnpm config registry
run: pnpm config set registry https://registry.npmjs.org
- name: install dependencies
run: pnpm install
env:
NODE_AUTH_TOKEN: ${{ secrets.REGISTRY_AUTH_TOKEN }}
- name: build
run: pnpm build
- name: create versions
uses: verdaccio/changeset-action@master
with:
version: pnpm ci:version
commit: 'chore: update versions'
title: 'chore: update versions'
publish: pnpm ci:publish
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.REGISTRY_AUTH_TOKEN }}
NODE_AUTH_TOKEN: ${{ secrets.REGISTRY_AUTH_TOKEN }}
NPM_CONFIG_REGISTRY: https://registry.npmjs.org

View File

@@ -1,27 +0,0 @@
name: E2E UI
on: [pull_request]
jobs:
ci:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
node_version: [14]
name: ${{ matrix.os }} / Node ${{ matrix.node_version }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2.3.1
- name: Use Node ${{ matrix.node_version }}
uses: actions/setup-node@v2.1.5
with:
node-version: ${{ matrix.node_version }}
- name: Install
run: yarn install --immutable
- name: Build
run: yarn code:build
- name: Test UI
run: yarn run test:e2e

View File

@@ -1,27 +0,0 @@
name: E2E CLI
on: [pull_request]
jobs:
ci:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
node_version: [14]
name: ${{ matrix.os }} / Node ${{ matrix.node_version }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2.3.1
- name: Use Node ${{ matrix.node_version }}
uses: actions/setup-node@v2.1.5
with:
node-version: ${{ matrix.node_version }}
- name: Install
run: yarn install
- name: Build
run: yarn code:build
- name: Test CLI
run: yarn test:e2e:cli

View File

@@ -1,29 +1,259 @@
name: CI
on: [push, pull_request]
on:
push:
branches:
- master
- 'changeset-release/master'
pull_request:
paths:
- .changeset/**
- .github/workflows/ci.yml
- 'packages/**'
- 'jest/**'
- 'package.json'
- 'pnpm-workspace.yaml'
jobs:
ci:
name: Node ${{ matrix.node_version }}
strategy:
fail-fast: false
matrix:
node_version: [12, 14, 15]
prepare:
runs-on: ubuntu-latest
name: setup verdaccio
services:
verdaccio:
image: verdaccio/verdaccio:5
ports:
- 4873:4873
steps:
- uses: actions/checkout@v2.3.3
- name: Use Node ${{ matrix.node_version }}
uses: actions/setup-node@v2.1.5
- uses: actions/checkout@v2.3.1
- name: Use Node 14
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node_version }}
node-version: 14
- name: Install pnpm
run: npm i pnpm@6.10.3 -g
- name: set store
run: |
mkdir ~/.pnpm-store
pnpm config set store-dir ~/.pnpm-store
- name: Install
run: yarn install --immutable
- name: Build
run: yarn code:build
- name: Lint
run: yarn lint
- name: Test
run: yarn test
run: pnpm recursive install --frozen-lockfile --registry http://localhost:4873
- name: Cache .pnpm-store
uses: actions/cache@v2
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
restore-keys: |
pnpm-
lint:
runs-on: ubuntu-latest
name: Lint
needs: prepare
steps:
- uses: actions/checkout@v2.3.1
- name: Use Node 16
uses: actions/setup-node@v1
with:
node-version: 16
- name: Install pnpm
run: npm i pnpm@6.10.3 -g
- uses: actions/cache@v2
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
- name: Install
run: pnpm recursive install --frozen-lockfile --ignore-scripts
- name: Lint
run: pnpm lint
format:
runs-on: ubuntu-latest
name: Format
needs: prepare
steps:
- uses: actions/checkout@v2.3.1
- name: Use Node 16
uses: actions/setup-node@v1
with:
node-version: 16
- name: Install pnpm
run: npm i pnpm@6.10.3 -g
- uses: actions/cache@v2
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
- name: Install
run: pnpm recursive install --frozen-lockfile --ignore-scripts
- name: Lint
run: pnpm format:check
build:
runs-on: ubuntu-latest
name: build
needs: [format, lint]
steps:
- uses: actions/checkout@v2.3.1
- name: Use Node 16
uses: actions/setup-node@v1
with:
node-version: 16
- name: Install pnpm
run: npm i pnpm@6.10.3 -g
- uses: actions/cache@v2
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
- name: Install
run: pnpm recursive install --frozen-lockfile --ignore-scripts
- name: crowdin download
env:
CROWDIN_VERDACCIO_PROJECT_ID: ${{ secrets.CROWDIN_VERDACCIO_PROJECT_ID }}
CROWDIN_VERDACCIO_API_KEY: ${{ secrets.CROWDIN_VERDACCIO_API_KEY }}
CONTEXT: production
run: pnpm crowdin:download
- name: build
run: pnpm build
- name: tar packages
run: |
tar -czvf ${{ github.workspace }}/pkg.tar.gz -C ${{ github.workspace }}/packages .
- uses: actions/upload-artifact@v2
with:
name: verdaccio-artifact
path: pkg.tar.gz
test:
needs: build
strategy:
fail-fast: true
matrix:
os: [ubuntu-latest]
## Node 16 breaks UI test, jest issue
node_version: [14]
name: ${{ matrix.os }} / Node ${{ matrix.node_version }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2.3.1
- name: Use Node ${{ matrix.node_version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node_version }}
- uses: actions/download-artifact@v2
with:
name: verdaccio-artifact
- name: untar packages
run: tar -xzvf pkg.tar.gz -C ${{ github.workspace }}/packages
- name: Install pnpm
run: npm i pnpm@6.10.3 -g
- uses: actions/cache@v2
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
- name: Install
run: pnpm recursive install --frozen-lockfile --ignore-scripts
- name: Test
run: pnpm test
ci-e2e-ui:
needs: build
runs-on: ubuntu-latest
name: UI Test E2E Node 14
steps:
- uses: actions/checkout@v2.3.1
- uses: actions/setup-node@v1
with:
node-version: 14
- uses: actions/download-artifact@v2
with:
name: verdaccio-artifact
- name: untar packages
run: tar -xzvf pkg.tar.gz -C ${{ github.workspace }}/packages
- name: Install pnpm
run: npm i pnpm@6.10.3 -g
- uses: actions/cache@v2
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
- name: Install
## we need scripts, pupetter downloads aditional content
run: pnpm recursive install --frozen-lockfile
- name: Test UI
run: pnpm test:e2e:ui
# env:
# DEBUG: verdaccio:e2e*
ci-e2e-cli:
needs: build
runs-on: ubuntu-latest
name: CLI Test E2E Node 14
steps:
- uses: actions/checkout@v2.3.1
- uses: actions/setup-node@v1
with:
node-version: 14
- uses: actions/download-artifact@v2
with:
name: verdaccio-artifact
- name: untar packages
run: tar -xzvf pkg.tar.gz -C ${{ github.workspace }}/packages
- name: Install pnpm
run: npm i pnpm@6.10.3 -g
- uses: actions/cache@v2
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
- name: Install
## we need scripts, pupetter downloads aditional content
run: pnpm recursive install --frozen-lockfile
- name: Test CLI
run: pnpm test:e2e:cli
# env:
# DEBUG: verdaccio*
test-windows:
needs: [format, lint]
runs-on: windows-latest
name: windows test node 14
steps:
- uses: actions/checkout@v2.3.1
- name: Use Node 14
uses: actions/setup-node@v1
with:
node-version: 14
- name: Install pnpm
run: npm i pnpm@6.10.3 -g
# pnpm cache is not working for windows (we need a solution)
- uses: actions/cache@v2
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
- name: Install
run: pnpm recursive install --frozen-lockfile --ignore-scripts
- name: build
run: pnpm build
- name: Test
run: pnpm test
sync-translations:
needs: [ci-e2e-cli, ci-e2e-ui, test-windows, test]
runs-on: ubuntu-latest
name: synchronize translations
if: (github.event_name == 'push' && github.ref == 'refs/heads/master') || github.event_name == 'workflow_dispatch'
steps:
- uses: actions/checkout@v2.3.1
- uses: actions/setup-node@v1
with:
node-version: 14
- uses: actions/download-artifact@v2
with:
name: verdaccio-artifact
- name: untar packages
run: tar -xzvf pkg.tar.gz -C ${{ github.workspace }}/packages
- name: Install pnpm
run: npm i pnpm@6.10.3 -g
- uses: actions/cache@v2
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
- name: Install
## we need scripts, pupetter downloads aditional content
run: pnpm recursive install --frozen-lockfile
- name: generate website translations
run: pnpm write-translations --filter ...@verdaccio/website
- name: sync
env:
CROWDIN_VERDACCIO_PROJECT_ID: ${{ secrets.CROWDIN_VERDACCIO_PROJECT_ID }}
CROWDIN_VERDACCIO_API_KEY: ${{ secrets.CROWDIN_VERDACCIO_API_KEY }}
CONTEXT: production
run: pnpm crowdin:sync

View File

@@ -1,52 +1,52 @@
name: "Code scanning - action"
name: 'Code scanning - action'
on:
push:
pull_request:
paths:
- .github/workflows/codeql-analysis.yml
- 'packages/**'
schedule:
- cron: '0 2 * * 4'
jobs:
CodeQL-Build:
# CodeQL runs on ubuntu-latest and windows-latest
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2.3.3
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
fetch-depth: 2
- name: Checkout repository
uses: actions/checkout@v2.3.1
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
fetch-depth: 2
# If this run was triggered by a pull request event, then checkout
# the head of the pull request instead of the merge commit.
- run: git checkout HEAD^2
if: ${{ github.event_name == 'pull_request' }}
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
# If this run was triggered by a pull request event, then checkout
# the head of the pull request instead of the merge commit.
- run: git checkout HEAD^2
if: ${{ github.event_name == 'pull_request' }}
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
# Override language selection by uncommenting this and choosing your languages
# with:
# languages: go, javascript, csharp, python, cpp, java
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v1
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v1
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
# If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
#- run: |
# make bootstrap
# make release
#- run: |
# make bootstrap
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1

View File

@@ -1,24 +0,0 @@
name: Docker & Publish Pre-check
on: [push, pull_request]
jobs:
testDocker:
name: Test Docker Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.3
- name: Build
run: docker build .
env:
VERDACCIO_BUILD_REGISTRY: https://registry.verdaccio.org
testVerdaccio:
name: Test Verdaccio Publish
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.3
- name: Publish
uses: verdaccio/github-actions/publish@v0.4.0
with:
args: -d

View File

@@ -4,18 +4,17 @@ on:
push:
paths:
- .github/workflows/docker-publish.yml
- 'src/**'
- 'conf/**'
- 'types/**'
- .github/workflows/docker-publish.yml
- 'packages/**'
- 'docker-bin/**'
- 'bin/**'
- 'package.json'
- 'yarn.lock'
- 'pnpm-*.yaml'
- 'Dockerfile'
- '.dockerignore'
branches:
- '**'
- 'master'
tags:
- 'v*'
- 'v*'
jobs:
docker:
runs-on: ubuntu-latest
@@ -35,7 +34,7 @@ jobs:
uses: crazy-max/ghaction-docker-meta@v1
with:
images: ${{ github.repository }}
tag-custom: 5.x-next
tag-custom: nightly-master
tag-custom-only: ${{ github.ref == 'refs/heads/master' }}
tag-semver: |
{{version}}
@@ -46,7 +45,7 @@ jobs:
with:
context: .
file: ./Dockerfile
platforms: linux/amd64,linux/arm64
platforms: linux/amd64
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.docker_meta.outputs.tags }}
labels: ${{ steps.docker_meta.outputs.labels }}

View File

@@ -1,153 +0,0 @@
on:
schedule:
- cron: '0 3 * * 5'
pull_request:
branches:
- '**'
name: 'E2E Angular CLI with verdaccio'
jobs:
# todo: fix yarn global issue, cannot find ng
# yarn:
# name: 'yarn:angular example'
# runs-on: ubuntu-latest
#
# steps:
# - uses: actions/checkout@v2.3.3
#
# - name: 'Use Node.js 10.x'
# uses: actions/setup-node@v2.1.5
# with:
# node-version: 10.x
# - name: Install Dependencies
# run: yarn install --pure-lockfile
# - name: 'Run verdaccio in the background'
# run: |
# nohup node ./scripts/run-verdaccio.js &
# - name: 'Ping to verdaccio'
# run: |
# npm ping --registry http://localhost:4873
# - name: 'Running the integration test'
# run: |
# source scripts/e2e-setup-ci.sh
# yarn init --yes
#
# yarn global add @angular/cli
# which nodemon
# ng new verdaccio-angular --interactive=false
#
# cd verdaccio-angular
# echo "registry=http://localhost:4873" > ~/.npmrc
# yarn add @angular-devkit/core@next @babel/preset-env @babel/core -D
#
# ng build --aot
npm:
name: 'npm:angular example'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.3
- name: 'Use Node.js 14.x'
uses: actions/setup-node@v2.1.5
with:
node-version: 14.x
- name: 'install latest npm'
run: npm i -g npm@latest-6
- name: Install Dependencies
run: yarn install
- name: 'Run verdaccio in the background'
run: |
nohup node ./scripts/run-verdaccio.js --config ./scripts/e2e-config.yaml &
- name: 'Ping to verdaccio'
run: |
npm ping --registry http://localhost:4873
- name: 'Running the integration test'
run: |
source scripts/e2e-setup-ci.sh
echo "registry=http://localhost:4873" > ~/.npmrc
npm config set loglevel="http"
npm config set fetch-retries="5"
npm config set fetch-retry-factor="50"
npm config set fetch-retry-mintimeout="20000"
npm config set fetch-retry-maxtimeout="80000"
npm install -g @angular/cli
ng new verdaccio-angular --interactive=false
cd verdaccio-angular
npm install @angular-devkit/core@next @babel/preset-env @babel/core -D
npm run ng build --aot
npm7:
name: 'npm7:angular example'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.3
- name: 'Use Node.js 14.x'
uses: actions/setup-node@v2.1.5
with:
node-version: 14.x
- name: 'install latest npm'
run: npm i -g npm@next-7
- name: Install Dependencies
run: yarn install
- name: 'Run verdaccio in the background'
run: |
nohup node ./scripts/run-verdaccio.js --config ./scripts/e2e-config.yaml &
- name: 'Ping to verdaccio'
run: |
npm ping --registry http://localhost:4873
- name: 'Running the integration test'
run: |
source scripts/e2e-setup-ci.sh
echo "registry=http://localhost:4873" > ~/.npmrc
npm config set loglevel="silent"
npm config set fetch-retries="5"
npm config set fetch-retry-factor="50"
npm config set fetch-retry-mintimeout="20000"
npm config set fetch-retry-maxtimeout="80000"
npm install -g @angular/cli
ng new verdaccio-angular --interactive=false
cd verdaccio-angular
npm install @angular-devkit/core@next @babel/preset-env @babel/core -D
npm run ng build --aot
# pnpm throws errors worth to check why
# pnpm:
# name: 'pnpm:angular example'
# runs-on: ubuntu-latest
#
# steps:
# - uses: actions/checkout@v2.3.3
#
# - name: 'Use Node.js 10.x'
# uses: actions/setup-node@v2.1.1
# with:
# node-version: 10.x
# - name: 'install latest pnpm'
# run: npm i -g pnpm
# - name: Install Dependencies
# run: yarn install --pure-lockfile
# - name: 'Run verdaccio in the background'
# run: |
# nohup node ./scripts/run-verdaccio.js &
# - name: 'Ping to verdaccio'
# run: |
# pnpm ping --registry http://localhost:4873
# - name: 'Running the integration test'
# run: |
# source scripts/e2e-setup-ci.sh
# pnpm init --force
#
# pnpm install -g @angular/cli
# ng new verdaccio-angular --interactive=false
#
# cd verdaccio-angular
# echo "registry=http://localhost:4873" > ~/.npmrc
# pnpm install @angular-devkit/core@next @babel/preset-env @babel/core -D
#
# pnpm run ng build --aot

View File

@@ -1,209 +0,0 @@
on:
schedule:
- cron: '0 3 * * 5'
pull_request:
branches:
- '**'
name: 'E2E Jest with verdaccio'
jobs:
yarn:
name: 'yarn:jest example'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.3
- name: 'Use Node.js 12.x'
uses: actions/setup-node@v2.1.5
with:
node-version: 12.x
- name: Install Dependencies
run: yarn install
- name: 'Run verdaccio in the background'
run: |
nohup node ./scripts/run-verdaccio.js --config ./scripts/e2e-config.yaml &
- name: 'Ping to verdaccio'
run: |
npm ping --registry http://localhost:4873
- name: 'Running the integration test'
run: |
source scripts/e2e-setup-ci.sh
yarn init --yes
yarn add jest --registry http://localhost:4873
echo "it('should pass', () => { expect(true).toBeTruthy(); });" | tee pass.test.js
yarn jest pass.test.js
yarn add left-pad --registry http://localhost:4873 --verbose
echo "const leftPad = require('left-pad'); it('should resolve a module', () => { expect(typeof leftPad).toBe('function');});" | tee module.test.js
yarn jest module.test.js
yarn2:
name: 'yarn2:jest example'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.3
- name: 'Use Node.js 12.x'
uses: actions/setup-node@v2.1.5
with:
node-version: 12.x
- name: Install Dependencies
run: yarn install
- name: 'Run verdaccio in the background'
run: |
nohup node ./scripts/run-verdaccio.js --config ./scripts/e2e-config.yaml &
- name: 'Ping to verdaccio'
run: |
npm ping --registry http://localhost:4873
- name: 'Running the integration test'
run: |
source scripts/e2e-setup-ci.sh
yarn init --yes
yarn set version berry
yarn config set npmRegistryServer "http://localhost:4873"
yarn config set unsafeHttpWhitelist --json '["localhost"]'
yarn add jest@26.0.0
echo "it('should pass', () => { expect(true).toBeTruthy(); });" | tee pass.test.js
yarn jest pass.test.js
yarn add left-pad
echo "const leftPad = require('left-pad'); it('should resolve a module', () => { expect(typeof leftPad).toBe('function');});" | tee module.test.js
yarn jest module.test.js
npm:
name: 'npm:jest example'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.3
- name: 'Use Node.js 12.x'
uses: actions/setup-node@v2.1.5
with:
node-version: 12.x
- name: 'install latest npm'
run: npm i -g npm@latest-6
- name: Install Dependencies
run: yarn install
- name: 'Run verdaccio in the background'
run: |
nohup node ./scripts/run-verdaccio.js --config ./scripts/e2e-config.yaml &
- name: 'Ping to verdaccio'
run: |
npm ping --registry http://localhost:4873
- name: 'Running the integration test'
run: |
source scripts/e2e-setup-ci.sh
npm init --force
npm install jest --registry http://localhost:4873
echo "it('should pass', () => { expect(true).toBeTruthy(); });" | tee pass.test.js
yarn jest pass.test.js
yarn add left-pad --registry http://localhost:4873 --verbose
echo "const leftPad = require('left-pad'); it('should resolve a module', () => { expect(typeof leftPad).toBe('function');});" | tee module.test.js
yarn jest module.test.js
npm7:
name: 'npm7:jest example'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.3
- name: 'Use Node.js 12.x'
uses: actions/setup-node@v2.1.5
with:
node-version: 12.x
- name: 'install latest npm'
run: npm i -g npm
- name: Install Dependencies
run: yarn install
- name: 'Run verdaccio in the background'
run: |
nohup node ./scripts/run-verdaccio.js --config ./scripts/e2e-config.yaml &
- name: 'Ping to verdaccio'
run: |
npm ping --registry http://localhost:4873
- name: 'Running the integration test'
run: |
source scripts/e2e-setup-ci.sh
npm init --force
npm install jest --registry http://localhost:4873
echo "it('should pass', () => { expect(true).toBeTruthy(); });" | tee pass.test.js
yarn jest pass.test.js
yarn add left-pad --registry http://localhost:4873 --verbose
echo "const leftPad = require('left-pad'); it('should resolve a module', () => { expect(typeof leftPad).toBe('function');});" | tee module.test.js
yarn jest module.test.js
pnpm:
name: 'pnpm:jest example'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.3
- name: 'Use Node.js 12.x'
uses: actions/setup-node@v2.1.5
with:
node-version: 12.x
- name: 'install latest pnpm'
run: npm i -g pnpm
- name: Install Dependencies
run: yarn install
- name: 'Run verdaccio in the background'
run: |
nohup node ./scripts/run-verdaccio.js &
- name: 'Ping to verdaccio'
run: |
pnpm ping --registry http://localhost:4873
- name: 'Running the integration test'
run: |
source scripts/e2e-setup-ci.sh
pnpm init --force
pnpm install jest --registry http://localhost:4873
echo "it('should pass', () => { expect(true).toBeTruthy(); });" | tee pass.test.js
yarn jest pass.test.js
yarn add left-pad --registry http://localhost:4873 --verbose
echo "const leftPad = require('left-pad'); it('should resolve a module', () => { expect(typeof leftPad).toBe('function');});" | tee module.test.js
yarn jest module.test.js
pnpm6:
name: 'pnpm6:jest example'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.3
- name: 'Use Node.js 12.x'
uses: actions/setup-node@v2.1.5
with:
node-version: 12.x
- name: 'install latest pnpm'
run: sudo npm i pnpm@dev -g
- name: Install Dependencies
run: yarn install
- name: 'Run verdaccio in the background'
run: |
nohup node ./scripts/run-verdaccio.js &
- name: 'Ping to verdaccio'
run: |
pnpm ping --registry http://localhost:4873
- name: 'Running the integration test'
run: |
source scripts/e2e-setup-ci.sh
pnpm init --force
pnpm install jest --registry http://localhost:4873
echo "it('should pass', () => { expect(true).toBeTruthy(); });" | tee pass.test.js
yarn jest pass.test.js
yarn add left-pad --registry http://localhost:4873 --verbose
echo "const leftPad = require('left-pad'); it('should resolve a module', () => { expect(typeof leftPad).toBe('function');});" | tee module.test.js
yarn jest module.test.js

View File

@@ -1,32 +0,0 @@
name: Release
on:
push:
tags:
- '*'
jobs:
release:
name: Release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.3
- name: Use Node (latest)
uses: actions/setup-node@v2.1.5
with:
node-version: 14
- name: Install
run: yarn install
- name: Build
run: yarn code:build
- name: Lint
run: yarn lint
- name: Publish
run: sh scripts/publish.sh
env:
REGISTRY_AUTH_TOKEN: ${{ secrets.REGISTRY_AUTH_TOKEN }}
REGISTRY_URL: registry.npmjs.org
- name: Create release notes
run: sh scripts/github-release.sh
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

148
.github/workflows/website.yml vendored Normal file
View File

@@ -0,0 +1,148 @@
name: Verdaccio Website CI
on:
workflow_dispatch:
pull_request:
types:
- opened
- synchronize
paths:
- 'website/**'
- 'package.json'
- './.github/workflows/website.yml'
push:
branches:
- 'master'
paths:
- 'website/**'
- 'package.json'
- './.github/workflows/website.yml'
jobs:
build:
runs-on: ubuntu-latest
env:
NODE_OPTIONS: --max_old_space_size=4096
steps:
- uses: actions/checkout@v2.3.1
- name: Use Node 14
uses: actions/setup-node@v2
with:
node-version: 14
- name: Cache pnpm modules
uses: actions/cache@v2
env:
cache-name: cache-pnpm-modules
with:
path: ~/.pnpm-store
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.node-version }}-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.node-version }}-
- uses: pnpm/action-setup@v2.0.1
with:
version: 6.10.2
run_install: |
- recursive: true
args: [--frozen-lockfile]
- name: Lint And Pretty
run: |
pnpm eslint:check --filter ...@verdaccio/website
pnpm prettier:check --filter ...@verdaccio/website
- name: Cache Docusaurus Build
uses: actions/cache@v2
with:
path: website/node_modules/.cache/webpack
key: cache/webpack-${{github.ref}}-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: cache/webpack-${{github.ref}}
# Will deploy to production on:
# 1st: When a push occurs on master branch
# 2nd: When we force the worflow dispatch through the UI
- name: Build Production
if: (github.event_name == 'push' && github.ref == 'refs/heads/master') || github.event_name == 'workflow_dispatch'
env:
CROWDIN_VERDACCIO_PROJECT_ID: ${{ secrets.CROWDIN_VERDACCIO_PROJECT_ID }}
CROWDIN_VERDACCIO_API_KEY: ${{ secrets.CROWDIN_VERDACCIO_API_KEY }}
CONTEXT: production
run: pnpm netlify:build:production --filter ...@verdaccio/website
- name: 🔥 Deploy Production Netlify
if: (github.event_name == 'push' && github.ref == 'refs/heads/master') || github.event_name == 'workflow_dispatch'
uses: semoal/action-netlify-deploy@master
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
netlify-auth-token: ${{ secrets.NETLIFY_AUTH_TOKEN }}
netlify-site-id: ${{ secrets.NETLIFY_SITE_ID }}
build-dir: './website/build'
# Will deploy to Preview URL, only when a pull request is open with changes on the website
- name: Build Deployment Preview
if: github.event_name == 'pull_request' && github.ref != 'refs/heads/master' && github.event.label.name == 'trigger-preview'
env:
CONTEXT: deploy-preview
run: pnpm netlify:build:deployPreview --filter ...@verdaccio/website
- name: 🤖 Deploy Preview Netlify
if: github.event_name == 'pull_request' && github.ref != 'refs/heads/master' && github.event.label.name == 'trigger-preview'
uses: semoal/action-netlify-deploy@master
id: netlify_preview
with:
draft: true
comment-on-pull-request: true
github-deployment-is-production: false
github-deployment-is-transient: true
github-token: ${{ secrets.GITHUB_TOKEN }}
netlify-auth-token: ${{ secrets.NETLIFY_AUTH_TOKEN }}
netlify-site-id: ${{ secrets.NETLIFY_SITE_ID }}
build-dir: './website/build'
- name: Audit preview URL with Lighthouse
if: github.event_name == 'pull_request' && github.ref != 'refs/heads/master' && github.event.label.name == 'trigger-preview'
id: lighthouse_audit
uses: treosh/lighthouse-ci-action@v3
with:
urls: |
${{ steps.netlify_preview.outputs.preview-url }}
uploadArtifacts: true
temporaryPublicStorage: true
- name: Format lighthouse score
if: github.event_name == 'pull_request' && github.ref != 'refs/heads/master' && github.event.label.name == 'trigger-preview'
id: format_lighthouse_score
uses: actions/github-script@v3
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
const result = ${{ steps.lighthouse_audit.outputs.manifest }}[0].summary
const links = ${{ steps.lighthouse_audit.outputs.links }}
const formatResult = (res) => Math.round((res * 100))
Object.keys(result).forEach(key => result[key] = formatResult(result[key]))
const score = res => res >= 90 ? '🟢' : res >= 50 ? '🟠' : '🔴'
const comment = [
`⚡️ [Lighthouse report](${Object.values(links)[0]}) for the changes in this PR:`,
'| Category | Score |',
'| --- | --- |',
`| ${score(result.performance)} Performance | ${result.performance} |`,
`| ${score(result.accessibility)} Accessibility | ${result.accessibility} |`,
`| ${score(result['best-practices'])} Best practices | ${result['best-practices']} |`,
`| ${score(result.seo)} SEO | ${result.seo} |`,
' ',
`*Lighthouse ran on [${Object.keys(links)[0]}](${Object.keys(links)[0]})*`
].join('\n')
core.setOutput("comment", comment);
- name: Add comment to PR
if: github.event_name == 'pull_request' && github.ref != 'refs/heads/master' && github.event.label.name == 'trigger-preview'
id: comment_to_pr
uses: marocchino/sticky-pull-request-comment@v1
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
number: ${{ github.event.issue.number }}
header: lighthouse
message: |
${{ steps.format_lighthouse_score.outputs.comment }}

61
.gitignore vendored
View File

@@ -1,45 +1,52 @@
npm-debug.log
*.log*
verdaccio-*.tgz
.DS_Store
build/
dist/
.eslintcache
node_modules
### Test
test/unit/partials/store/test-*-storage/*
test/unit/partials/store/*-storage/*
test/unit/partials/store/storage_default_storage/*
### database
.verdaccio-db.json
.sinopia-db.json
###
!bin/verdaccio
### test
test-storage*
access-storage*
.verdaccio_test_env
node_modules
package-lock.json
npm_test-fails-add-tarball*
yarn-error.log
# Istanbul
# docker examples
docker-examples/v5/reverse_proxy/nginx/relative_path/storage/*
docker-examples/v5/**/storage/*
# jest
reports/
coverage/
.nyc*
## IDE
.idea/
# React
bundle.js
bundle.js.map
__tests__
# Compiled script
static/*
packages/partials
tsconfig.tsbuildinfo
# This is the Yarn build state; it's local to each clone
/.yarn/build-state.yml
## bundle files
packages/standalone/dist/
# This is the Yarn install state cache, it can be rebuilt anytime
/.yarn/install-state.gz
.history
## ui
packages/plugins/ui-theme/static
/packages/plugins/ui-theme/src/i18n/download_translations/
!/packages/plugins/ui-theme/src/i18n/crowdin/ui.json
# CI Pnpm cache
.pnpm-store/
# benchmark
api-results.json
hyper-results.json
hyper-results*.json
api-results*.json
#docs
./api
packages/core/core/docs

5
.husky/pre-commit Executable file
View File

@@ -0,0 +1,5 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
#./node_modules/.bin/lint-staged
npm run husky:pre-commit

View File

@@ -0,0 +1,10 @@
module.exports = {
onPreBuild: async ({ utils: { build, run } }) => {
try {
await run.command("npm install -g pnpm")
await run.command("pnpm install --ignore-scripts --frozen-lockfile")
} catch (error) {
return build.failBuild(error)
}
}
}

View File

@@ -0,0 +1,2 @@
name: netlify-plugin-pnpm
inputs: []

View File

@@ -1,4 +1,3 @@
## npm
npm-debug.log
yarn-error.log
@@ -23,7 +22,6 @@ docs/
wiki/
## flow
flow-typed/
types/
# jest

3
.npmrc
View File

@@ -1,2 +1,5 @@
always-auth = true
recursive-install = true
registry = https://registry.verdaccio.org
loglevel=info
fetch-retries="10"

2
.nvmrc
View File

@@ -1 +1 @@
13
16

View File

@@ -6,27 +6,28 @@
**/pnpm-lock.yaml
**/verdaccio-corrupted.db.json
**/wrong.package.json
/website/.cache/
/website/crowdin/
/website/public/
/website/src/dictionaries/
crowdin.yaml
/docs/website
/website/*
/website/translated_docs/
CHANGELOG.md
CONTRIBUTORS.md
node_modules/
**/coverage/**
**/static/*.js
**/build/*.js
test/unit/partials/*
build/*
.github/
.vscode/
wiki/
.yarnrc.yml
yarn-error.log
.yarn/
test/functional/store/*
storage_default_storage/*
packages/core/local-storage/_storage/**
packages/partials/storage_default_storage/
packages/standalone/dist/bundle.js
docker-examples/v5/reverse_proxy/nginx/relative_path/storage/*
docker-examples/
.prettierignore
.npmignore
.gitignore
*.ico
build/
.vscode/
.github/
.netlify/
packages/**/docs/**
packages/mock/mock-store/**
api/**
packages/core/local-storage/tests/__fixtures__/test-storage/
packages/plugins/ui-theme/static/
.verdaccio-db.json

View File

@@ -1,7 +1,7 @@
{
"endOfLine": "lf",
"useTabs": false,
"printWidth": 180,
"printWidth": 100,
"tabWidth": 2,
"singleQuote": true,
"bracketSpacing": true,

22
.project Normal file
View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>verdaccio-dev</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
</buildSpec>
<natures>
</natures>
<filteredResources>
<filter>
<id>1630305579538</id>
<name></name>
<type>26</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-true-false-node_modules</arguments>
</matcher>
</filter>
</filteredResources>
</projectDescription>

View File

@@ -1 +0,0 @@

166
.vscode/launch.json vendored
View File

@@ -1,79 +1,91 @@
{
// Use IntelliSense to learn about possible Node.js debug attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "CLI Babel Registry",
"stopOnEntry": false,
"program": "${workspaceFolder}/debug/bootstrap.js",
"args": ["-l", "0.0.0.0:4873"],
"env": {
"BABEL_ENV": "registry"
},
"preLaunchTask": "npm: build:webui",
"console": "integratedTerminal"
},
{
"name": "Unit Tests",
"type": "node",
"request": "launch",
"program": "${workspaceRoot}/node_modules/jest-cli/bin/jest.js",
"stopOnEntry": false,
"args": [
"--debug=true" ],
"cwd": "${workspaceRoot}",
"preLaunchTask": "pre-test",
"runtimeExecutable": null,
"runtimeArgs": [
"--nolazy"
],
"env": {
"NODE_ENV": "test",
"TZ": "UTC"
},
"console": "integratedTerminal"
},
{
"name": "Functional Tests",
"type": "node",
"request": "launch",
"program": "${workspaceRoot}/node_modules/.bin/jest",
"stopOnEntry": false,
"args": [
"--config",
"./test/jest.config.functional.js",
"--testPathPattern",
"./test/functional/index*",
"--debug=false",
"--verbose",
"--useStderr",
"--detectOpenHandles"],
"cwd": "${workspaceRoot}",
"env": {
"BABEL_ENV": "testOldEnv",
"VERDACCIO_DEBUG": "true",
"VERDACCIO_DEBUG_INJECT": "true",
"NODE_DEBUG": "TO_DEBUG_REQUEST_REMOVE_THIS_request"
},
"preLaunchTask": "pre-test",
"console": "integratedTerminal",
"runtimeExecutable": null,
"runtimeArgs": [
"--nolazy"
],
},
{
"type": "node",
"request": "launch",
"name": "Verdaccio Compiled",
"preLaunchTask": "npm: code:build",
"program": "${workspaceRoot}/bin/verdaccio",
"args": ["-l", "0.0.0.0:4873"],
"console": "integratedTerminal"
}
]
// Use IntelliSense to learn about possible Node.js debug attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Attach",
"port": 9229,
"request": "attach",
"skipFiles": [
"<node_internals>/**"
],
"type": "pwa-node"
},
{
"name": "Verdaccio Debug",
"port": 9229,
"request": "attach",
"skipFiles": ["<node_internals>/**"],
"type": "pwa-node"
},
{
"type": "node",
"request": "launch",
"name": "CLI Babel Registry",
"stopOnEntry": false,
"program": "${workspaceFolder}/debug/bootstrap.js",
"args": ["-l", "0.0.0.0:4873"],
"env": {
"BABEL_ENV": "registry"
},
"preLaunchTask": "npm: build:webui",
"console": "integratedTerminal"
},
{
"name": "Unit Tests",
"type": "node",
"request": "launch",
"program": "${workspaceRoot}/node_modules/bin/jest",
"stopOnEntry": false,
"args": ["--debug=true"],
"cwd": "${workspaceRoot}",
"runtimeExecutable": null,
"runtimeArgs": ["--nolazy"],
"env": {
"NODE_ENV": "test",
"TZ": "UTC"
},
"console": "integratedTerminal"
},
{
"name": "Functional Tests",
"type": "node",
"request": "launch",
"program": "${workspaceRoot}/node_modules/.bin/jest",
"stopOnEntry": false,
"args": [
"--config",
"./test/jest.config.functional.js",
"--testPathPattern",
"./test/functional/index*",
"--debug=false",
"--verbose",
"--useStderr",
"--detectOpenHandles"
],
"cwd": "${workspaceRoot}",
"env": {
"BABEL_ENV": "testOldEnv",
"VERDACCIO_DEBUG": "true",
"VERDACCIO_DEBUG_INJECT": "true",
"NODE_DEBUG": "TO_DEBUG_REQUEST_REMOVE_THIS_request"
},
"preLaunchTask": "pre-test",
"console": "integratedTerminal",
"runtimeExecutable": null,
"runtimeArgs": ["--nolazy"]
},
{
"type": "node",
"request": "launch",
"name": "Verdaccio Compiled",
"preLaunchTask": "npm: code:build",
"program": "${workspaceRoot}/bin/verdaccio",
"args": ["-l", "0.0.0.0:4873"],
"console": "integratedTerminal"
}
]
}

16
.vscode/settings.json vendored
View File

@@ -1,10 +1,12 @@
// Place your settings in this file to overwrite default and user settings.
{
"files.exclude": {
"**/.idea": false,
"**/.nyc_output": true,
"**/build": true,
"**/coverage": true
},
"typescript.tsdk": "node_modules/typescript/lib"
"files.exclude": {
"**/.nyc_output": true,
"**/build": true,
"**/coverage": true,
".idea": true,
"storage_default_storage": true,
".yarn": true
},
"typescript.tsdk": "node_modules/typescript/lib"
}

43
.vscode/tasks.json vendored
View File

@@ -1,24 +1,21 @@
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"type": "npm",
"script": "build:webui",
"problemMatcher": []
},
{
"type": "npm",
"script": "code:build",
"problemMatcher": []
},
{
"label": "pre-test",
"dependsOn": [
"npm: code:build",
"npm: test:clean"
]
}
]
}
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"type": "npm",
"script": "build:webui",
"problemMatcher": []
},
{
"type": "npm",
"script": "code:build",
"problemMatcher": []
},
{
"label": "pre-test",
"dependsOn": ["npm: code:build", "npm: test:clean"]
}
]
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,21 +0,0 @@
defaultSemverRangePrefix: ""
enableGlobalCache: true
enableTelemetry: false
httpRetry: 10
httpTimeout: 100000
nodeLinker: node-modules
npmRegistryServer: "https://registry.verdaccio.org"
plugins:
- path: .yarn/plugins/@yarnpkg/plugin-workspace-tools.cjs
spec: "@yarnpkg/plugin-workspace-tools"
- path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs
spec: "@yarnpkg/plugin-interactive-tools"
yarnPath: .yarn/releases/yarn-berry.cjs

View File

@@ -8,19 +8,19 @@ In the interest of fostering an open and welcoming environment, we as contributo
Examples of behavior that contributes to creating a positive environment include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
- Using welcoming and inclusive language
- Being respectful of differing viewpoints and experiences
- Gracefully accepting constructive criticism
- Focusing on what is best for the community
- Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a professional setting
- The use of sexualized language or imagery and unwelcome sexual attention or advances
- Trolling, insulting/derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information, such as a physical or electronic address, without explicit permission
- Other conduct which could reasonably be considered inappropriate in a professional setting
## Our Responsibilities

View File

@@ -1,98 +1,239 @@
# Contributing to Verdaccio
# Contributing
> ⚠️ If you intend to file a PR with a new feature, please use the 5.x branch for it 🥰 . master branch is available only for **bug fixing** and dependencies updates.
> Any change matters, whatever the size, just do it.
We are happy that you wish to contribute to this project. For that reason, we
present you with this guide.
We're happy that you're considering contributing! To help, we've prepared these
guidelines for you:
Additional information is available on the
[wiki](https://github.com/verdaccio/verdaccio/wiki).
**Table of Contents**
## Contents
- [Contents](#contents)
- [How Do I Contribute?](#how-do-i-contribute)
- [Development](#development)
- [Reporting Bugs](#reporting-bugs)
- [Contributing](#contributing)
- [How Do I Contribute?](#how-do-i-contribute)
- [Development Setup](#development-setup)
- [Building the project](#building-the-project)
- [Running test](#running-test)
- [Running and debugging](#running-and-debugging)
- [Debugging compiled code](#debugging-compiled-code)
- [Reporting Bugs](#reporting-bugs)
- [Read the documentation](#read-the-documentation)
- [What's is not considered a bug?](#whats-is-not-considered-a-bug)
- [Issue Search](#issue-search)
- [Check Website For Solution](#check-website-for-solution)
- [Chat](#chat)
- [Check If It's Been Fixed](#check-if-its-been-fixed)
- [Request Features](#request-features)
- [Translations](#translations)
- [Request Features](#request-features)
- [Contributing Guidelines](#contributing-guidelines)
- [Submitting a Pull Request](#submitting-a-pull-request)
- [Make Changes and Commit](#make-changes-and-commit)
- [Update Tests](#update-tests)
- [Develop Plugins](#develop-plugins)
- [Caveats](#caveats)
- [Before Commit](#before-commit)
- [Commit Guidelines](#commit-guidelines)
- [Adding a changeset](#adding-a-changeset)
- [Update Tests](#update-tests)
- [Develop Plugins](#develop-plugins)
## How Do I Contribute?
There are different ways to contribute, each with a different level
of involvement and technical knowledge required, such as:
There are many ways to contribute:
* [Reporting Bugs](#reporting-bugs)
* [Request Features](#request-features)
* [Develop Plugins](#develop-plugins)
* [Improve Documentation](http://www.verdaccio.org/docs/en/installation.html)
- Report a bug
- Request a feature you think would be great for Verdaccio
- Fix bugs
- Test and triage bugs reported by others
- Work on requested/approved features
- Improve the codebase (linting, naming, comments, test descriptions, etc...)
**Please read this document carefully. It will help maintainers and readers
in solving your issue(s), evaluating your feature request, etc.**
The Verdaccio project is split into several areas:
## Development
- **Core**: The [core](https://github.com/verdaccio/verdaccio) is the main repository, built with **Node.js**.
- **Website**: we use [**Docusaurus**](https://docusaurus.io/) for the **website** and if you are familiar with this technology, you might become the official webmaster.
- **User Interface**: The [user Interface](https://github.com/verdaccio/ui) is based in **react** and **material-ui** and looking for front-end contributors.
- **Kubernetes and Helm**: Ts the official repository for the [**Helm chart**](https://github.com/verdaccio/charts).
Development guides can be found on the [wiki](https://github.com/verdaccio/verdaccio/wiki):
> There are other areas to contribute, like documentation, translation which are
> not hosted on this repo but check the last section of this notes for further
> information.
* [Building the project](https://github.com/verdaccio/verdaccio/wiki/Build-Source-Code)
* [Running, debugging, and testing](https://github.com/verdaccio/verdaccio/wiki/Running-and-Debugging-tests)
## Development Setup
Verdaccio uses [pnpm](https://pnpm.io) as the package manager for development in this repository.
If you are using pnpm for the first time the [pnpm configuration documentation](https://pnpm.io/configuring) may be useful to avoid any potential problems with the following steps.
**Note**: pnpm uses npm's configuration formats so check that your global `.npmrc` file does not inadvertently disable package locks. In other words, your `.npmrc` file **should not** contain
```
package-lock=false
```
This setting would cause the `pnpm install` command to install incorrect versions of package dependencies and the subsequent `pnpm build` step would likely fail.
To begin your development setup, please install the latest version of pnpm globally:
```
npm i -g pnpm
```
With pnpm installed, the first step is installing all dependencies:
```
pnpm install
```
### Building the project
To build the project run
```
pnpm build
```
### Running test
```
pnpm test
```
Verdaccio is a mono repository. To run the tests for for a specific package:
```
cd packages/store
pnpm test
```
or an specific test in that package:
```
pnpm test test/merge.dist.tags.spec.ts
```
or a single test unit:
```
pnpm test test/merge.dist.tags.spec.ts -- -t 'simple'
```
Coverage reporting is enabled by default, but you can turn it off to speed up
test runs:
```
pnpm test test/merge.dist.tags.spec.ts -- -t 'simple' --coverage=false
```
You can enable increased [`debug`](https://www.npmjs.com/package/debug) output:
```
DEBUG=verdaccio:* pnpm test
```
More details in the debug section
### Running and debugging
We use [`debug`](https://www.npmjs.com/package/debug) to add helpful debugging
output to the code. Each package has it owns namespace.
#### Debugging compiled code
Currently you can only run pre-compiled packages in debug mode. To enable debug
while running add the `verdaccio` namespace using the `DEBUG` environment
variable, like this:
```
DEBUG=verdaccio:* node packages/verdaccio/debug/bootstrap.js
```
You can filter this output to just the packages you're interested in using
namespaces:
```
DEBUG=verdaccio:plugin:* node packages/verdaccio/debug/bootstrap.js
```
The debug code is intended to analyze what is happening under the hood and none
of the output is sent to the logger module.
## Reporting Bugs
We welcome clear, detailed bug reports.
**Bugs are considered features that are not working as described in
documentation.**
If you've found a bug in Verdaccio **that isn't a security risk**, please file
If you've found a bug in Verdaccio **that isn't a security risk**, please file
a report in our [issue tracker](https://github.com/verdaccio/verdaccio/issues).
**NOTE: Verdaccio still does not support all npm commands. Some were not
considered important and others have not been requested yet.**
> **NOTE: Verdaccio still does not support all npm commands. Some were not
> considered important and others have not been requested yet.**
### What's is not considered a bug?
- _Third party integrations_: proxies integrations, external plugins
- _Package managers_: If a package manager does not support a specific command
or cannot be reproduced with another package manager
- _Features clearly flagged as not supported_
- _Node.js issues installation in any platform_: If you cannot install the
global package (this is considered external issue)
- Any ticket which has beed flagged as an [external issue
](https://github.com/verdaccio/verdaccio/labels/external-issue)
If you intend to report a **security** issue, please follow our [Security policy
guidelines](https://github.com/verdaccio/verdaccio/security/policy).
### Issue Search
Search to see if it has already been reported via
the issue search.
Before reporting a bug please:
Additionally, we have labelled questions for easy follow-up as [questions](https://github.com/verdaccio/verdaccio/labels/question).
- Search for existing issues to see if it has already been reported
- Look for the **question** label: we have labelled questions for easy follow-up
as [questions](https://github.com/verdaccio/verdaccio/labels/question)
If so, up-vote it (using GitHub reactions) or add additional helpful details to
the existing issue to show that it's affecting multiple people.
### Check Website For Solution
Some of the most popular topics can be found in our website(http://www.verdaccio.org/docs/en/installation.html)
In case any of those match with your search, up-vote it (using GitHub reactions)
or add additional helpful details to the existing issue to show that it's
affecting multiple people.
### Chat
Questions can be asked via [Discord](http://chat.verdaccio.org/)
Questions can be asked via [Discord](https://discord.gg/7qWJxBf)
**Please use the `#questions#` and `#development` channels.**
**Please use the `#help` channel.**
### Check If It's Been Fixed
## Translations
Check if the issue has been fixed — try to reproduce it using the latest
`master` or development branch in the repository.
All translations are provided by the `crowdin` platform:
[https://translate.verdaccio.org/](https://translate.verdaccio.org/)
If you want to contribute by adding translations, create an account (GitHub could be used as fast alternative), in the platform you can contribute to two areas, the website or improve User Interface translations.
If a language is not listed, ask for it in the [Discord](https://discord.gg/7qWJxBf) channel #contribute channel.
For adding a new **language** on the UI follow these steps:
1. Ensure the **language** has been enabled, must be visible in the `crowdin` platform.
2. Find in the explorer the file `en.US.json` in the path `packages/plugins/ui-theme/src/i18n/crowdin/ui.json` and complete the translations, **not need to find approval on this**.
3. Into the project, add a new field into `packages/plugins/ui-theme/src/i18n/crowdin/ui.json` file, in the section `lng`, the new language, eg: `{ lng: {korean:"Korean"}}`. (This file is English based, once the PR has been merged, this string will be available in crowdin for translate to the targeted language).
4. Add the language, [flag icon](https://www.npmjs.com/package/country-flag-icons), and the menu key fort he new language eg: `menuKey: 'lng.korean'` to the file `packages/plugins/ui-theme/src/i18n/enabledLanguages.ts`.
5. For local testing, read `packages/plugins/ui-theme/src/i18n/ABOUT_TRANSLATIONS.md`.
6. Add a `changeset` file, see more info below.
## Request Features
New feature requests are welcome. Analyse whether the idea fits within scope of
the project. Then, detail your request, ensuring context and use case is provided.
the project. Adding in context and the use-case will really help!
**Please provide:**
* A detailed description the advantages of your request
* Whether or not it's compatible with `npm` and `yarn`
* A potential implementation or design
* Whatever else you have in your mind 🤓
- A detailed description the advantages of your request
- Whether or not it's compatible with `npm`, `pnpm` and [_yarn classic_
](https://github.com/yarnpkg/yarn) or [_yarn berry_
](https://github.com/yarnpkg/berry).
- A potential implementation or design
- Whatever else is on your mind! 🤓
## Contributing Guidelines
It's very exciting to become a Verdaccio contributor 🙌🏼. To ensure a fast code
review and merge, please follow the next guidelines:
> Any contribution gives you the right to be part of this organization as
> _collaborator_.
### Submitting a Pull Request
@@ -116,32 +257,38 @@ information on [rebasing](https://git-scm.com/book/en/v2/Git-Branching-Rebasing)
### Make Changes and Commit
#### Caveats
Feel free to commit as much times you want in your branch, but keep on mind on
this repository we `git squash` on merge by default, as we like to maintain a
clean git history.
#### Before Commit
Before committing, **you must ensure there are no linting errors and
all tests pass.**
To do this, run all tests (including e2e):
all tests pass.** To do this, run these commands before create the PR:
```bash
yarn test:all
pnpm lint
pnpm format
pnpm build
pnpm test
```
Then, and only then, you can create your pull request.
> note: eslint and formatting are run separately, keep code formatting
> before push.
All good? Perfect! You should create the pull request.
#### Commit Guidelines
We follow the [conventional commit messages](https://conventionalcommits.org/)
convention in order to automate CHANGELOG generation and to automate
semantic versioning.
For example:
* `feat: A new feature`
* `fix: A bug fix`
- `feat: A new feature`
- `fix: A bug fix`
A commit of the type feat introduces a new feature to the codebase
(this correlates with MINOR in semantic versioning).
A commit of the type feat introduces a new feature to the codebase (this
correlates with MINOR in semantic versioning).
e.g.:
@@ -149,38 +296,105 @@ e.g.:
feat: xxxxxxxxxx
```
A commit of the type fix patches a bug in your codebase (this correlates with PATCH in semantic versioning).
A commit of the type fix patches a bug in your codebase (this correlates with
PATCH in semantic versioning).
e.g.:
```
fix: xxxxxxxxxx
fix: xxxxxxxxxxx
```
Commits types such as as `docs:`,`style:`,`refactor:`,`perf:`,`test:`
and `chore:` are valid but have no effect on versioning. **It would be great if you use them.**
Commits types such as as `docs:`,`style:`,`refactor:`,`perf:`,`test:` and
`chore:` are valid but have no effect on versioning: **please use them!**
All commits message are going to be validated when they are created using husky hooks.
All commits message are going to be validated when they are created using
_husky_ hooks.
> Please try to provide one single commit to help a clean and easy merge process
### Adding a changeset
We use [changesets](https://github.com/atlassian/changesets) in order to
generate a detailed Changelog as possible.
Adding a changeset with your Pull Request is essential if you want your
contribution to get merged (unless is a change that does not affect library
functionality, eg: typo, docs, readme, add additional test or linting code). To
create a changeset please run:
```
pnpm changeset
```
Then select the packages you want to include in your changeset navigating
through them and press the spacebar to check it, on finish press enter to move
to the next step.
```
🦋 Which packages would you like to include? …
✔ changed packages
changed packages
✔ @verdaccio/api
✔ @verdaccio/auth
✔ @verdaccio/cli
✔ @verdaccio/config
✔ @verdaccio/commons-api
```
The next question would be if you want a _major bump_. This is not the usual
scenario, most likely you want a patch, and in that case press enter 2 times
(to skip minor)
```
🦋 Which packages should have a major bump? …
✔ all packages
✔ @verdaccio/config@5.0.0-alpha.0
```
Once you have the desired bump you need, the CLI will ask for a summary. Here
you have full freedom on what to include:
```
🦋 Which packages would you like to include? · @verdaccio/config
🦋 Which packages should have a major bump? · No items were selected
🦋 Which packages should have a minor bump? · No items were selected
🦋 The following packages will be patch bumped:
🦋 @verdaccio/config@5.0.0-alpha.0
🦋 Please enter a summary for this change (this will be in the changelogs). Submit empty line to open external editor
🦋 Summary
```
The last step is to confirm your changeset or abort the operation:
```
🦋 Is this your desired changeset? (Y/n) · true
🦋 Changeset added! - you can now commit it
🦋
🦋 If you want to modify or expand on the changeset summary, you can find it here
🦋 info /Users/user/verdaccio.clone/.changeset/light-scissors-smell.md
```
Once the changeset is added (all will have an unique name) you can freely edit
using markdown, adding additional information, code snippets or whatever else
you consider to be relevant.
All that information will be part of the **changelog**. Be concise but
informative! It's recommended to add your nickname and GitHub link to your
profile.
**PRs that do not follow the commit message guidelines will not be merged.**
## Update Tests
### Update Tests
**Any change in source code must include test updates**.
If you need help with how testing works, please [refer to the following guide](https://github.com/verdaccio/verdaccio/wiki/Running-and-Debugging-tests).
If you need help with how testing works, please [refer to the following guide
](https://github.com/verdaccio/verdaccio/wiki/Running-and-Debugging-tests).
**If you are introducing new features, you MUST include new tests. PRs for
features without tests will not be merged.**
Things excluded from tests:
* Documentation
* Website
* Build
* Deployment
* Assets
* Flow types
## Develop Plugins
Plugins are add-ons that extend the functionality of the application.
@@ -188,7 +402,9 @@ Plugins are add-ons that extend the functionality of the application.
If you want to develop your own plugin:
1. Check whether there is a legacy Sinopia plugin for the feature that you need
via [npmjs](https://www.npmjs.com/search?q=sinopia)
2. Keep in mind the [life-cycle to load a plugin](https://verdaccio.org/docs/en/dev-plugins)
3. You are free to host your plugin in your repository or ours (just ask)
4. Provide a detailed description of your plugin to help users understand it
via [npmjs](https://www.npmjs.com/search?q=sinopia)
2. Keep in mind the [life-cycle to load a plugin
](https://verdaccio.org/docs/en/dev-plugins)
3. You are free to host your plugin in your repository
4. Provide a detailed description of your plugin to help users understand how to
use it

View File

@@ -1,5 +1,4 @@
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
<tr>
@@ -37,5 +36,4 @@
</table>
<!-- markdownlint-enable -->
<!-- prettier-ignore-end -->
<!-- ALL-CONTRIBUTORS-LIST:END -->

View File

@@ -1,6 +1,6 @@
FROM --platform=${BUILDPLATFORM:-linux/amd64} node:14.16.1-alpine as builder
FROM --platform=${BUILDPLATFORM:-linux/amd64} node:14.17.6-alpine as builder
ENV NODE_ENV=production \
ENV NODE_ENV=development \
VERDACCIO_BUILD_REGISTRY=https://registry.verdaccio.org
RUN apk --no-cache add openssl ca-certificates wget && \
@@ -12,18 +12,14 @@ RUN apk --no-cache add openssl ca-certificates wget && \
WORKDIR /opt/verdaccio-build
COPY . .
RUN yarn config set npmRegistryServer $VERDACCIO_BUILD_REGISTRY && \
yarn config set enableProgressBars false && \
yarn config set enableTelemetry false && \
yarn install && \
yarn lint && \
yarn code:docker-build && \
yarn cache clean && \
yarn workspaces focus --production
RUN npm -g i pnpm@6.10.3 && \
pnpm config set registry $VERDACCIO_BUILD_REGISTRY && \
pnpm recursive install --frozen-lockfile --ignore-scripts && \
pnpm run build
# FIXME: need to remove devDependencies from the build
# RUN pnpm install --prod --ignore-scripts
FROM node:14.16.1-alpine
FROM node:14.17.6-alpine
LABEL maintainer="https://github.com/verdaccio/verdaccio"
ENV VERDACCIO_APPDIR=/opt/verdaccio \
@@ -42,10 +38,11 @@ RUN mkdir -p /verdaccio/storage /verdaccio/plugins /verdaccio/conf
COPY --from=builder /opt/verdaccio-build .
ADD conf/docker.yaml /verdaccio/conf/config.yaml
RUN ls packages/config/src/conf
ADD packages/config/src/conf/docker.yaml /verdaccio/conf/config.yaml
RUN adduser -u $VERDACCIO_USER_UID -S -D -h $VERDACCIO_APPDIR -g "$VERDACCIO_USER_NAME user" -s /sbin/nologin $VERDACCIO_USER_NAME && \
chmod -R +x $VERDACCIO_APPDIR/bin $VERDACCIO_APPDIR/docker-bin && \
chmod -R +x $VERDACCIO_APPDIR/packages/verdaccio/bin $VERDACCIO_APPDIR/docker-bin && \
chown -R $VERDACCIO_USER_UID:root /verdaccio/storage && \
chmod -R g=u /verdaccio/storage /etc/passwd
@@ -57,4 +54,4 @@ VOLUME /verdaccio/storage
ENTRYPOINT ["uid_entrypoint"]
CMD $VERDACCIO_APPDIR/bin/verdaccio --config /verdaccio/conf/config.yaml --listen $VERDACCIO_PROTOCOL://0.0.0.0:$VERDACCIO_PORT
CMD $VERDACCIO_APPDIR/packages/verdaccio/bin/verdaccio --config /verdaccio/conf/config.yaml --listen $VERDACCIO_PROTOCOL://0.0.0.0:$VERDACCIO_PORT

View File

@@ -2,7 +2,9 @@
![verdaccio gif](https://cdn.verdaccio.dev/readme/readme-website.png)
# Version 5
# Version 6 (Development branch)
> Looking for Verdaccio 5? Check branch `5.x`.
[Verdaccio](https://verdaccio.org/) is a simple, **zero-config-required local private npm registry**.
No need for an entire database just to get started! Verdaccio comes out of the box with
@@ -30,12 +32,14 @@ Google Cloud Storage** or create your own plugin.
Install with npm:
```bash
npm install --global verdaccio
npm install --global verdaccio@6-next
```
> Node.js v12 is required for Verdaccio 5
or
Are you still using **Verdaccio 4**?. Check the [migration guide](https://verdaccio.org/blog/2021/04/14/verdaccio-5-migration-guide).
```bash
docker pull verdaccio/verdaccio:nightly-master
```
## Donations
@@ -69,14 +73,14 @@ booted in a couple of seconds, fast enough for any CI. Many open source projects
## Talks
### **Node.js Dependency Confusion Attacks & Vulnerabilities in Go Binaries**.
### **Testing the integrity of your React components by publishing in a private registry - React Finland 2021**.
[RSVP](https://www.meetup.com/es-ES/devseccon-germany/events/276990087) to join the talk.
[![verdaccio openjsworld](https://cdn.verdaccio.dev/readme/devseccon.png)](https://www.meetup.com/es-ES/devseccon-germany/events/276990087/)
[![beerjscrb](https://cdn.verdaccio.dev/readme/react-finland-2021-jpicado.jpeg)](https://www.youtube.com/watch?v=bRKZbrlQqLY&t=16s&ab_channel=ReactFinland)
You might want to check out as well our previous talks:
- [BeerJS Cba Meetup No. 53 May 2021 - **Juan Picado**](https://www.youtube.com/watch?v=6SyjqBmS49Y&ab_channel=BeerJSCba)
- [Node.js Dependency Confusion Attacks - April 2021 - **Juan Picado\***](https://www.youtube.com/watch?v=qTRADSp3Hpo)
- [**OpenJS World 2020** about \*Cover your Projects with a Multi purpose Lightweight Node.js Registry - **Juan Picado\***](https://www.youtube.com/watch?v=oVCjDWeehAQ)
- [ViennaJS Meetup - Introduction to Verdaccio by **Priscila Olivera** and **Juan Picado**](https://www.youtube.com/watch?v=hDIFKzmoCa)
- [Open Source? trivago - Verdaccio (**Ayush** and **Juan Picado**) January 2020](https://www.youtube.com/watch?v=A5CWxJC9xzc)
@@ -135,15 +139,11 @@ Below are the most commonly needed information,
every aspect of Docker and verdaccio is [documented separately](https://www.verdaccio.org/docs/en/docker.html)
```
docker pull verdaccio/verdaccio
docker pull verdaccio/verdaccio:nightly-master
```
Available as [tags](https://hub.docker.com/r/verdaccio/verdaccio/tags/).
```
docker pull verdaccio/verdaccio:5.x-next
```
### Running verdaccio using Docker
To run the docker container:
@@ -190,7 +190,20 @@ Verdaccio aims to support all features of a standard npm client that make sense
If you want to report a security vulnerability, please follow the steps which we have defined for you in our [security policy](https://github.com/verdaccio/verdaccio/security/policy).
## Core Team
## Special Thanks
Thanks to the following companies to help us to achieve our goals providing free open source licenses. Every company provides enough resources to move this project forward.
| Company | Logo | License |
| ------------ | ------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
| JetBrains | [![jetbrain](assets/thanks/jetbrains/logo.png)](https://www.jetbrains.com/) | JetBrains provides licenses for products for active maintainers, renewable yearly |
| Crowdin | [![crowdin](assets/thanks/crowdin/logo.png)](https://crowdin.com/) | Crowdin provides platform for translations |
| BrowserStack | [![browserstack](https://cdn.verdaccio.dev/readme/browserstack_logo.png)](https://www.browserstack.com/) | BrowserStack provides plan to run End to End testing for the UI |
| Netlify | [![netlify](https://www.netlify.com/img/global/badges/netlify-color-accent.svg)](https://www.netlify.com/) | Netlify provides pro plan for website deployment |
| Algolia | [![algolia](https://cdn.verdaccio.dev/sponsor/logo/algolia/logo.png)](https://algolia.com/) | Algolia provides search services for the website |
| Docker | [![docker](https://cdn.verdaccio.dev/sponsor/logo/docker/docker.png)](https://www.docker.com/community/open-source/application) | Docker offers unlimited pulls and unlimited egress to any and all users |
## Maintainers
| [Juan Picado](https://github.com/juanpicado) | [Ayush Sharma](https://github.com/ayusharma) | [Sergio Hg](https://github.com/sergiohgz) |
| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------- |
@@ -244,16 +257,6 @@ Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com
[![backers](https://opencollective.com/verdaccio/backers.svg?width=890)](https://opencollective.com/verdaccio#backers)
## Special Thanks
Thanks to the following companies to help us to achieve our goals providing free open source licenses.
[![jetbrain](assets/thanks/jetbrains/logo.png)](https://www.jetbrains.com/)
[![crowdin](assets/thanks/crowdin/logo.png)](https://crowdin.com/)
[![browserstack](https://cdn.verdaccio.dev/readme/browserstack_logo.png)](https://www.browserstack.com/)
Verdaccio also is part of to the [Docker Open Source Program](https://www.docker.com/blog/expanded-support-for-open-source-software-projects/).
## Contributors
This project exists thanks to all the people who contribute. [[Contribute](CONTRIBUTING.md)].
@@ -268,7 +271,7 @@ If you have any issue you can try the following options, do no desist to ask or
- [Donations](https://github.com/sponsors/verdaccio)
- [Reporting an issue](https://github.com/verdaccio/verdaccio/issues/new/choose)
- [Running discussions](https://github.com/verdaccio/verdaccio/issues?q=is%3Aissue+is%3Aopen+label%3Adiscuss)
- [Chat](http://chat.verdaccio.org/)
- [Chat](https://discord.gg/7qWJxBf)
- [Logos](https://verdaccio.org/docs/en/logo)
- [Docker Examples](https://github.com/verdaccio/verdaccio/tree/master/docker-examples)
- [FAQ](https://github.com/verdaccio/verdaccio/discussions/categories/q-a)

View File

@@ -4,13 +4,13 @@
The following table describes the versions of this project that are currently supported with security updates:
| Version | Supported |
| ------- | ------------------ |
| 2.x | :x: |
| 3.x | :x: |
| 4.x | :white_check_mark: (until 1st July 2021) |
| 5.x | :white_check_mark: |
| Version | Supported |
| --------- | ------------------ |
| 2.x | :x: |
| 3.x | :x: |
| 4.x | :x: |
| 5.x | :white_check_mark: |
| 6.x alpha | :x: |
## Responsible disclosure security policy
@@ -28,11 +28,11 @@ At Verdaccio, we consider the security of our systems a top priority. But no mat
If you discover a security vulnerability, please use one of the following means of communications to report it to us:
* Report the security issue to the Node.js Security WG through the [HackerOne program](https://hackerone.com/nodejs-ecosystem) for ecosystem modules on npm, or to [Snyk Security Team](https://snyk.io/vulnerability-disclosure). They will help triage the security issue and work with all involved parties to remediate and release a fix.
- Report the security issue to the Node.js Security WG through the [HackerOne program](https://hackerone.com/nodejs-ecosystem) for ecosystem modules on npm, or to [Snyk Security Team](https://snyk.io/vulnerability-disclosure). They will help triage the security issue and work with all involved parties to remediate and release a fix.
Note that time-frame and processes are subject to each programs own policy.
* Report the security issue to the project maintainers directly at verdaccio@pm.me. If the report contains highly sensitive information, please be advised to encrypt your findings using our [PGP key](https://verdaccio.nyc3.digitaloceanspaces.com/gpg/publickey.verdaccio@pm.me.asc) which is also available in this document.
- Report the security issue to the project maintainers directly at verdaccio@pm.me. If the report contains highly sensitive information, please be advised to encrypt your findings using our [PGP key](https://cdn.verdaccio.dev/gpg/publickey.verdaccio@pm.me.asc) which is also available in this document.
Your efforts to responsibly disclose your findings are sincerely appreciated and will be taken into account to acknowledge your contributions.

View File

@@ -1,22 +0,0 @@
module.exports = {
presets: [
[
'@babel/env',
{
targets: {
node: '12',
},
},
],
'@babel/typescript',
],
plugins: [
'babel-plugin-dynamic-import-node',
'@babel/proposal-class-properties',
'@babel/proposal-object-rest-spread',
'@babel/plugin-proposal-optional-chaining',
'@babel/plugin-proposal-nullish-coalescing-operator',
'@babel/syntax-dynamic-import',
],
ignore: ['**/*.d.ts'],
};

View File

@@ -1,3 +0,0 @@
#!/usr/bin/env node
require('../build/lib/cli');

View File

@@ -4,7 +4,7 @@ codecov:
coverage:
precision: 2
round: down
range: "80...85"
range: '80...85'
status:
project:
@@ -24,6 +24,6 @@ parsers:
macro: no
comment:
layout: "diff,flags,tree"
layout: 'diff,flags,tree'
behavior: default
require_changes: no
require_changes: no

View File

@@ -1,9 +0,0 @@
## Looking 👀 for Documentation?
This directory host the default configuration file, but you can find more here:
* [https://verdaccio.org/docs/en/installation](https://verdaccio.org/docs/en/installation)
* [Chat with us](http://chat.verdaccio.org) <- You need a Discord account
* [Follow us on Twitter](https://twitter.com/verdaccio_npm)
Enjoy Verdaccio !

Some files were not shown because too many files have changed in this diff Show More