Compare commits

..

200 Commits

Author SHA1 Message Date
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
Juan Picado
73585f0262 chore: restore npm release script 2021-04-09 10:13:42 +02:00
Juan Picado
38c40ed304 chore(release): 5.0.0 2021-04-09 10:01:34 +02:00
Juan Picado
4a8551dcf2 chore: fix docker publish 2021-04-09 10:00:47 +02:00
Juan Picado
82c5c4eb32 feat: prepare release for v5 (#2175)
* feat: prepare release for v5

* chore: update readme
2021-04-09 09:16:06 +02:00
Juan Picado
6c1e46b694 chore(release): 5.0.0-alpha.7 2021-04-08 22:16:02 +02:00
Juan Picado
f49ca06c68 fix: ui readme missing css (#2174) 2021-04-08 22:15:42 +02:00
Ramakrishnan Kandasamy
6ab31639fa fix: Upgrade Node from 14.16 to 14.16.1 for security fixes (#2172)
Refer: https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V14.md#14.16.1
2021-04-08 14:19:36 +02:00
Juan Picado
65a1e56f56 chore(release): 5.0.0-alpha.6 2021-04-06 07:28:35 +02:00
Juan Picado
507e55a9a5 chore: remove behindProxy
not ready for this release, need more thoughts
2021-04-05 20:48:41 +02:00
Juan Picado
80d669e6eb chore: emit warning if is using multiple addresses 2021-04-04 08:21:32 +02:00
Juan Picado
81d95ef425 chore(release): 5.0.0-alpha.5 2021-04-03 22:11:58 +02:00
Juan Picado
6fef45f9ef chore: better logging for publish (#2163) 2021-04-03 22:09:31 +02:00
351 changed files with 15535 additions and 15467 deletions

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

@@ -4,7 +4,7 @@
"commit": false,
"linked": [],
"access": "public",
"baseBranch": "6.x",
"baseBranch": "master",
"updateInternalDependencies": "patch",
"ignore": []
}

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,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,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

@@ -38,18 +38,23 @@
"@verdaccio/e2e-cli": "1.0.0",
"@verdaccio/e2e-ui": "1.0.0",
"@verdaccio/cli-standalone": "6.0.0-alpha.3",
"@verdaccio/cli-ui": "6.0.0-alpha.3",
"@verdaccio/tarball": "11.0.0-alpha.3",
"@verdaccio/url": "11.0.0-alpha.3"
"@verdaccio/url": "11.0.0-alpha.3",
"@verdaccio/fastify-migration": "6.0.0-6-next.9"
},
"changesets": [
"afraid-mice-obey",
"big-lobsters-sin",
"few-cooks-destroy",
"fifty-jars-rest",
"gentle-parrots-lay",
"gentle-trains-switch",
"healthy-bikes-behave",
"healthy-poets-compare",
"hip-hounds-destroy",
"late-adults-love",
"late-parents-act",
"many-vans-care",
"modern-spies-tell",
"neat-toes-report",
"perfect-kangaroos-agree",
@@ -61,6 +66,8 @@
"smart-apricots-kneel",
"spicy-frogs-press",
"tender-bags-call",
"three-pots-sit"
"three-pots-sit",
"two-dolls-check",
"wild-jokes-beam"
]
}

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

@@ -9,3 +9,4 @@ node_modules/
static/
website/
wiki/
dist/

View File

@@ -6,7 +6,7 @@ on:
push:
branches:
- 6.x
- master
env:
CI: true
@@ -17,7 +17,7 @@ jobs:
version:
timeout-minutes: 14
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/6.x' && github.repository == 'verdaccio/verdaccio'
if: github.ref == 'refs/heads/master' && github.repository == 'verdaccio/verdaccio'
steps:
- name: checkout code repository
uses: actions/checkout@v2
@@ -51,7 +51,7 @@ jobs:
run: pnpm build
- name: create versions
uses: changesets/action@master
uses: verdaccio/changeset-action@master
with:
version: pnpm ci:version
commit: 'chore: update versions'

View File

@@ -1,45 +0,0 @@
name: E2E UI
on:
push:
branches:
- 6.x
- 'changeset-release/6.x'
pull_request:
paths:
- .github/workflows/ci.yml
- 'packages/**'
- 'jest/**'
- 'package.json'
- 'pnpm-workspace.yaml'
- 'test/**'
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@v1
with:
node-version: ${{ matrix.node_version }}
- name: Install pnpm
run: npm i -g pnpm@latest
- name: Install
run: pnpm recursive install
- name: Clean
run: pnpm clean
- name: Build
run: pnpm build
- name: Test UI
run: pnpm test:e2e:ui
env:
DEBUG: verdaccio:e2e*

View File

@@ -1,45 +0,0 @@
name: E2E CLI
on:
push:
branches:
- 5.x
- 'changeset-release/6.x'
pull_request:
paths:
- .github/workflows/ci.yml
- 'packages/**'
- 'jest/**'
- 'package.json'
- 'pnpm-workspace.yaml'
- 'test/**'
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@v1
with:
node-version: ${{ matrix.node_version }}
- name: Install pnpm
run: npm i -g pnpm@latest
- name: Install
run: pnpm recursive install
- name: Clean
run: pnpm clean
- name: Build
run: pnpm build
- name: Test CLI
run: pnpm test:e2e:cli
env:
DEBUG: verdaccio:e2e*

View File

@@ -1,49 +0,0 @@
name: CI with pnpm 6
on:
push:
branches:
- 5.x
- 'changeset-release/6.x'
pull_request:
paths:
- .changeset/**
- .github/workflows/ci.yml
- 'packages/**'
- 'jest/**'
- 'package.json'
- 'pnpm-workspace.yaml'
jobs:
ci:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
node_version: [12, 15]
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
with:
node_version: ${{ matrix.node_version }}
- name: Install pnpm
run: sudo npm i pnpm@dev -g
- name: Install
run: pnpm recursive install
- name: Format
run: pnpm format:check
- name: Lint
run: pnpm lint
- name: Clean
run: pnpm clean
- name: Build
run: pnpm build
- name: Test
run: pnpm test
env:
DEBUG: verdaccio:web:*

View File

@@ -1,39 +0,0 @@
name: CI Website
on:
push:
branches:
- master
pull_request:
paths:
- .github/workflows/ci-website.yml
- 'website/**'
jobs:
ci:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest]
node_version: [14]
name: ${{ matrix.os }} / Node ${{ matrix.node_version }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v1
- name: Use Node ${{ matrix.node_version }}
uses: actions/setup-node@v1
with:
node_version: ${{ matrix.node_version }}
- name: Install pnpm
run: npm i -g pnpm
- name: Install
run: pnpm recursive install
- name: Format
run: pnpm format:check
- name: Lint
run: pnpm lint
- name: Build website
run: |
cd website
pnpm build

View File

@@ -3,8 +3,8 @@ name: CI
on:
push:
branches:
- 6.x
- 'changeset-release/6.x'
- master
- 'changeset-release/master'
pull_request:
paths:
- .changeset/**
@@ -13,37 +13,228 @@ on:
- 'jest/**'
- 'package.json'
- 'pnpm-workspace.yaml'
jobs:
ci:
prepare:
runs-on: ubuntu-latest
name: setup verdaccio
services:
verdaccio:
image: verdaccio/verdaccio:5
ports:
- 4873:4873
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@latest -g
- name: set store
run: |
mkdir ~/.pnpm-store
pnpm config set store-dir ~/.pnpm-store
- name: Install
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@latest -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@latest -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@latest -g
- uses: actions/cache@v2
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
- name: Install
## we run scripts due gatsby needs it
## when website is excluded we can add --ignore-scripts
run: pnpm recursive install --frozen-lockfile --ignore-scripts
- 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: false
fail-fast: true
matrix:
os: [ubuntu-latest, windows-latest]
os: [ubuntu-latest]
node_version: [12, 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@latest -g
- uses: actions/cache@v2
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
- name: Install
run: pnpm recursive install
- name: Format
run: pnpm format:check
- name: Lint
run: pnpm lint
- name: Clean
run: pnpm clean
- name: Build
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@latest -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@latest -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
website:
needs: [format, lint]
runs-on: ubuntu-latest
name: website build node 14
steps:
- uses: actions/checkout@v2.3.1
- uses: actions/setup-node@v1
with:
node-version: 14
- name: Install pnpm
run: npm i pnpm@latest -g
- uses: actions/cache@v2
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
- name: Install
run: pnpm recursive install --frozen-lockfile
- name: Build website
run: |
cd website
pnpm build:website
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@latest -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
env:
DEBUG: verdaccio:web:*

View File

@@ -1,14 +1,9 @@
name: 'Code scanning - action'
on:
push:
branches-ignore:
- 5.x
- 'changeset-release/6.x'
- 'dev/**'
pull_request:
paths:
- .github/workflows/ci.yml
- .github/workflows/codeql-analysis.yml
- 'packages/**'
schedule:
- cron: '0 2 * * 4'

View File

@@ -1,30 +0,0 @@
name: Docker & Publish Pre-check
on:
pull_request:
paths:
- .github/workflows/docker-publish-pre-check.yml
- 'packages/**'
- 'docker-bin/**'
- 'package.json'
- 'lerna.json'
jobs:
testDocker:
name: Test Docker Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.1
- name: Build
run: npm run docker
env:
VERDACCIO_BUILD_REGISTRY: https://registry.verdaccio.org
# testVerdaccio:
# name: Test Verdaccio Publish
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v1
# - name: Publish
# uses: verdaccio/github-actions/publish@v0.4.0
# with:
# args: -d

View File

@@ -12,7 +12,7 @@ on:
- 'Dockerfile'
- '.dockerignore'
branches:
- '6.x'
- 'master'
tags:
- 'v*'
jobs:
@@ -34,8 +34,8 @@ jobs:
uses: crazy-max/ghaction-docker-meta@v1
with:
images: ${{ github.repository }}
tag-custom: 6.x-next
tag-custom-only: ${{ github.ref == 'refs/heads/6.x' }}
tag-custom: nightly-master
tag-custom-only: ${{ github.ref == 'refs/heads/master' }}
tag-semver: |
{{version}}
{{major}}

1
.npmrc
View File

@@ -2,3 +2,4 @@ always-auth = true
recursive-install = true
registry = https://registry.verdaccio.org
loglevel=warn
fetch-retries="10"

View File

@@ -2,7 +2,7 @@
{
"files.exclude": {
"**/.nyc_output": true,
"**/build": false,
"**/build": true,
"**/coverage": true,
".idea": true,
"storage_default_storage": true,

View File

@@ -2,6 +2,25 @@
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
## [5.0.0](https://github.com/verdaccio/verdaccio/compare/v5.0.0-alpha.7...v5.0.0) (2021-04-09)
### Features
* prepare release for v5 ([#2175](https://github.com/verdaccio/verdaccio/issues/2175)) ([82c5c4e](https://github.com/verdaccio/verdaccio/commit/82c5c4eb32bfcbf9aec7c96340b226b626526b45))
## [5.0.0-alpha.7](https://github.com/verdaccio/verdaccio/compare/v5.0.0-alpha.6...v5.0.0-alpha.7) (2021-04-08)
### Bug Fixes
* ui readme missing css ([#2174](https://github.com/verdaccio/verdaccio/issues/2174)) ([f49ca06](https://github.com/verdaccio/verdaccio/commit/f49ca06c68919f920e10f4f5878c34d5886b2e02))
* Upgrade Node from 14.16 to 14.16.1 for security fixes ([#2172](https://github.com/verdaccio/verdaccio/issues/2172)) ([6ab3163](https://github.com/verdaccio/verdaccio/commit/6ab31639fab97b1b3e6323c4da862a1cae3ae1c6)), closes [/github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V14.md#14](https://github.com/verdaccio//github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V14.md/issues/14)
## [5.0.0-alpha.6](https://github.com/verdaccio/verdaccio/compare/v5.0.0-alpha.5...v5.0.0-alpha.6) (2021-04-06)
## [5.0.0-alpha.5](https://github.com/verdaccio/verdaccio/compare/v5.0.0-alpha.4...v5.0.0-alpha.5) (2021-04-03)
## [5.0.0-alpha.4](https://github.com/verdaccio/verdaccio/compare/v5.0.0-alpha.3...v5.0.0-alpha.4) (2021-04-03)

View File

@@ -268,7 +268,7 @@ All commits message are going to be validated when they are created using husky
We use [changesets](https://github.com/atlassian/changesets) in order to generate a detailed Changelog as possible.
Add a changeset with your Pull Request is essential if you want your contribution get merged. To create a changeset please run:
Add a changeset with your Pull Request is essential if you want your contribution 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

View File

@@ -1,4 +1,4 @@
FROM --platform=${BUILDPLATFORM:-linux/amd64} node:14.15.1-alpine as builder
FROM --platform=${BUILDPLATFORM:-linux/amd64} node:14.16.1-alpine as builder
ENV NODE_ENV=development \
VERDACCIO_BUILD_REGISTRY=https://registry.verdaccio.org
@@ -19,7 +19,7 @@ RUN npm -g i pnpm@latest && \
# FIXME: need to remove devDependencies from the build
# RUN pnpm install --prod --ignore-scripts
FROM node:14.15.1-alpine
FROM node:14.16.1-alpine
LABEL maintainer="https://github.com/verdaccio/verdaccio"
ENV VERDACCIO_APPDIR=/opt/verdaccio \

View File

@@ -1,6 +1,6 @@
MIT License
Copyright (c) 2018 Verdaccio community
Copyright (c) 2021 Verdaccio contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

214
README.md
View File

@@ -1,6 +1,10 @@
![verdaccio logo](https://cdn.verdaccio.dev/readme/verdaccio@2x.png)
# Version 6.x (Under development)
![verdaccio gif](https://cdn.verdaccio.dev/readme/readme-website.png)
# 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
@@ -10,43 +14,209 @@ For those looking to extend their storage capabilities, Verdaccio
**supports various community-made plugins to hook into services such as Amazon's s3,
Google Cloud Storage** or create your own plugin.
[![verdaccio (latest)](https://img.shields.io/npm/v/verdaccio/latest.svg)](https://www.npmjs.com/package/verdaccio)
[![verdaccio (downloads)](https://img.shields.io/npm/dy/verdaccio.svg)](https://www.npmjs.com/package/verdaccio)
[![docker pulls](https://img.shields.io/docker/pulls/verdaccio/verdaccio.svg?maxAge=43200)](https://verdaccio.org/docs/en/docker.html)
[![backers](https://opencollective.com/verdaccio/tiers/backer/badge.svg?label=Backer&color=brightgreen)](https://opencollective.com/verdaccio)
[![stackshare](https://img.shields.io/badge/Follow%20on-StackShare-blue.svg?logo=stackshare&style=flat)](https://stackshare.io/verdaccio)
[![discord](https://img.shields.io/discord/388674437219745793.svg)](http://chat.verdaccio.org/)
[![MIT](https://img.shields.io/github/license/mashape/apistatus.svg)](https://github.com/verdaccio/verdaccio/blob/master/LICENSE)
[![Crowdin](https://d322cqt584bo4o.cloudfront.net/verdaccio/localized.svg)](https://crowdin.com/project/verdaccio)
[![TODOs](https://badgen.net/https/api.tickgit.com/badgen/github.com/verdaccio/verdaccio)](https://www.tickgit.com/browse?repo=github.com/verdaccio/verdaccio)
[![Twitter followers](https://img.shields.io/twitter/follow/verdaccio_npm.svg?style=social&label=Follow)](https://twitter.com/verdaccio_npm)
[![Github](https://img.shields.io/github/stars/verdaccio/verdaccio.svg?style=social&label=Stars)](https://github.com/verdaccio/verdaccio/stargazers)
## Install 6.x
## Install
> ⚠️ Not available on npmjs
With docker
Install with npm:
```bash
docker pull verdaccio/verdaccio:6.x-next
npm install --global verdaccio@6-next --registry https://registry.verdaccio.org/
```
## Development
Please check [docs/development.md](docs/development.md) for further notes.
## Roadmap
Please check [the roadmap](https://github.com/verdaccio/verdaccio/discussions/1690) if you are willing to contribute.
> Published on a temporary registry while setup is ready to publish on npmjs
## Donations
Verdaccio is run by **volunteers**; nobody is working full-time on it. If you find this project to be useful and would like to support its development, consider making a donation - **your logo might end up in this readme.** 😉
**[Donate](https://opencollective.com/verdaccio)** 💵👍🏻 starting from _\$1/month_ or just one single contribution.
**[Donate](https://github.com/sponsors/verdaccio)** 💵👍🏻 starting from _$1/month_ or just one single contribution.
## What does Verdaccio do for me?
### Use private packages
If you want to use all benefits of npm package system in your company without sending all code to the public, and use your private packages just as easy as public ones.
### Cache npmjs.org registry
If you have more than one server you want to install packages on, you might want to use this to decrease latency
(presumably "slow" npmjs.org will be connected to only once per package/version) and provide limited failover (if npmjs.org is down, we might still find something useful in the cache) or avoid issues like _[How one developer just broke Node, Babel and thousands of projects in 11 lines of JavaScript](https://www.theregister.co.uk/2016/03/23/npm_left_pad_chaos/)_, _[Many packages suddenly disappeared](https://github.com/npm/registry-issue-archive/issues/255)_ or _[Registry returns 404 for a package I have installed before](https://github.com/npm/registry-issue-archive/issues/329)_.
### Link multiple registries
If you use multiples registries in your organization and need to fetch packages from multiple sources in one single project you might take advance of the uplinks feature with Verdaccio, chaining multiple registries and fetching from one single endpoint.
### Override public packages
If you want to use a modified version of some 3rd-party package (for example, you found a bug, but maintainer didn't accept pull request yet), you can publish your version locally under the same name. See in detail [here](https://verdaccio.org/docs/en/best#override-public-packages).
### E2E Testing
Verdaccio has proved to be a lightweight registry that can be
booted in a couple of seconds, fast enough for any CI. Many open source projects use verdaccio for end to end testing, to mention some examples, **create-react-app**, **mozilla neutrino**, **pnpm**, **storybook**, **alfresco** or **eclipse theia**. You can read more in dedicated article to E2E in our blog.
## Talks
### **Node.js Dependency Confusion Attacks**.
[![verdaccio Node.js Dependency Confusion Attacks](https://cdn.verdaccio.dev/readme/devseccon.png)](https://www.youtube.com/watch?v=qTRADSp3Hpo)
You might want to check out as well our previous talks:
- [**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)
- [GitNation Open Source Stage - How we have built a Node.js Registry with React - **Juan Picado** December 2019](https://www.youtube.com/watch?v=gpjC8Qp9B9A)
- [Verdaccio - A lightweight Private Proxy Registry built in Node.js | **Juan Picado** at The Destro Dev Show](https://www.youtube.com/watch?reload=9&v=P_hxy7W-IL4&ab_channel=TheDestroDevShow)
## Get Started
Run in your terminal
```bash
verdaccio
```
You would need set some npm configuration, this is optional.
```bash
$ npm set registry http://localhost:4873/
```
For one-off commands or to avoid setting the registry globally:
```bash
NPM_CONFIG_REGISTRY=http://localhost:4873 npm i
```
Now you can navigate to [http://localhost:4873/](http://localhost:4873/) where your local packages will be listed and can be searched.
> Warning: Verdaccio [does not currently support PM2's cluster mode](https://github.com/verdaccio/verdaccio/issues/1301#issuecomment-489302298), running it with cluster mode may cause unknown behavior.
## Publishing
#### 1. create a user and log in
```bash
npm adduser --registry http://localhost:4873
```
> if you use HTTPS, add an appropriate CA information ("null" means get CA list from OS)
```bash
$ npm set ca null
```
#### 2. publish your package
```bash
npm publish --registry http://localhost:4873
```
This will prompt you for user credentials which will be saved on the `verdaccio` server.
## Docker
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:nightly-master
```
Available as [tags](https://hub.docker.com/r/verdaccio/verdaccio/tags/).
### Running verdaccio using Docker
To run the docker container:
```bash
docker run -it --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio
```
Docker examples are available [in this repository](https://github.com/verdaccio/docker-examples).
## Compatibility
Verdaccio aims to support all features of a standard npm client that make sense to support in private repository. Unfortunately, it isn't always possible.
### Basic features
- Installing packages (npm install, npm upgrade, etc.) - **supported**
- Publishing packages (npm publish) - **supported**
### Advanced package control
- Unpublishing packages (npm unpublish) - **supported**
- Tagging (npm tag) - **supported**
- Deprecation (npm deprecate) - **supported**
### User management
- Registering new users (npm adduser {newuser}) - **supported**
- Change password (npm profile set password) - **supported**
- Transferring ownership (npm owner add {user} {pkg}) - not supported, _PR-welcome_
- Token (npm token) - **supported**
### Miscellany
- Searching (npm search) - **supported** (cli / browser)
- Ping (npm ping) - **supported**
- Starring (npm star, npm unstar, npm stars) - **supported**
### Security
- npm/yarn audit - **supported**
## Report a vulnerability
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
| [Juan Picado](https://github.com/juanpicado) | [Ayush Sharma](https://github.com/ayusharma) | [Sergio Hg](https://github.com/sergiohgz) |
| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------- |
| ![jotadeveloper](https://avatars3.githubusercontent.com/u/558752?s=120&v=4) | ![ayusharma](https://avatars2.githubusercontent.com/u/6918450?s=120&v=4) | ![sergiohgz](https://avatars2.githubusercontent.com/u/14012309?s=120&v=4) |
| [@jotadeveloper](https://twitter.com/jotadeveloper) | [@ayusharma\_](https://twitter.com/ayusharma_) | [@sergiohgz](https://twitter.com/sergiohgz) |
| [Priscila Oliveria](https://github.com/priscilawebdev) | [Daniel Ruf](https://github.com/DanielRuf) |
| ![priscilawebdev](https://avatars2.githubusercontent.com/u/29228205?s=120&v=4) | ![DanielRuf](https://avatars3.githubusercontent.com/u/827205?s=120&v=4) |
| [@priscilawebdev](https://twitter.com/priscilawebdev) | [@DanielRufde](https://twitter.com/DanielRufde) |
You can find and chat with then over Discord, click [here](http://chat.verdaccio.org) or follow them at _Twitter_.
## Who is using Verdaccio?
- [create-react-app](https://github.com/facebook/create-react-app/blob/master/CONTRIBUTING.md#customizing-e2e-registry-configuration) _(+86.2k ⭐️)_
- [Gatsby](https://github.com/gatsbyjs/gatsby) _(+49.2k ⭐️)_
- [Babel.js](https://github.com/babel/babel) _(+38.5k ⭐️)_
- [Vue CLI](https://github.com/vuejs/vue-cli) _(+27.4k ⭐️)_
- [Angular CLI](https://github.com/angular/angular-cli) _(+24.3k ⭐️)_
- [Uppy](https://github.com/transloadit/uppy) _(+23.8k ⭐️)_
- [bit](https://github.com/teambit/bit) _(+13k ⭐️)_
- [Aurelia Framework](https://github.com/aurelia/framework) _(+11.6k ⭐️)_
- [pnpm](https://github.com/pnpm/pnpm) _(+10.1k ⭐️)_
- [ethereum/web3.js](https://github.com/ethereum/web3.js) _(+9.8k ⭐️)_
- [NX](https://github.com/nrwl/nx) _(+6.1k ⭐️)_
- [webiny-js](https://github.com/webiny/webiny-js) _(+4.3k ⭐️)_
- [Mozilla Neutrino](https://github.com/neutrinojs/neutrino) _(+3.7k ⭐️)_
- [workshopper how to npm](https://github.com/workshopper/how-to-npm) _(+1k ⭐️)_
- [Amazon SDK v3](https://github.com/aws/aws-sdk-js-v3)
- [Amazon Encryption SDK for Javascript](https://github.com/aws/aws-encryption-sdk-javascript)
🤓 Don't be shy, you also can be in [the list](https://github.com/verdaccio/website/blob/master/docs/who-is-using.md).
## Open Collective Sponsors
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/verdaccio#sponsor)]
@@ -74,7 +244,9 @@ Thanks to the following companies to help us to achieve our goals providing free
[![jetbrain](assets/thanks/jetbrains/logo.png)](https://www.jetbrains.com/)
[![crowdin](assets/thanks/crowdin/logo.png)](https://crowdin.com/)
[![balsamiq](assets/thanks/balsamiq/logo.jpg)](https://balsamiq.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
@@ -87,17 +259,17 @@ This project exists thanks to all the people who contribute. [[Contribute](CONTR
If you have any issue you can try the following options, do no desist to ask or check our issues database, perhaps someone has asked already what you are looking for.
- [Blog](https://verdaccio.org/blog/)
- [Donations](https://opencollective.com/verdaccio)
- [Reporting an issue](https://github.com/verdaccio/verdaccio/blob/master/CONTRIBUTING.md#reporting-a-bug)
- [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/)
- [Logos](https://verdaccio.org/docs/en/logo)
- [Docker Examples](https://github.com/verdaccio/docker-examples)
- [FAQ](https://github.com/verdaccio/verdaccio/issues?utf8=%E2%9C%93&q=is%3Aissue%20label%3Aquestion%20)
- [Docker Examples](https://github.com/verdaccio/verdaccio/tree/master/docker-examples)
- [FAQ](https://github.com/verdaccio/verdaccio/discussions/categories/q-a)
### License
Verdaccio is [MIT licensed](https://github.com/verdaccio/verdaccio/blob/master/LICENSE)
The Verdaccio documentation and logos (excluding /thanks, e.g., .md, .png, .sketch) files within the /assets folder) is
[Creative Commons licensed](https://github.com/verdaccio/verdaccio/blob/master/LICENSE-docs).
[Creative Commons licensed](https://creativecommons.org/licenses/by/4.0/).

View File

@@ -4,11 +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: |
| Version | Supported |
| --------- | ---------------------------------------- |
| 2.x | :x: |
| 3.x | :x: |
| 4.x | :white_check_mark: (until 1st July 2021) |
| 5.x | :white_check_mark: |
| 6.x alpha | :x: |
## Responsible disclosure security policy

View File

@@ -1,44 +1,19 @@
# Docker + Kubernetes Examples
This folder aims to create a collection of Docker and Kubernetes examples.
For more information about the **Helm** Chart, please check it [owns repo](https://github.com/verdaccio/charts).
> Feel free to contribute whether you consider any use case is relevant for the public in general.
## Examples
The following examples aim to be demonstrative and can be either improved or updated.
### Verdaccio 5
- [v4 examples](v4/README.md)
- [v5 examples](v5/README.md)
- [Docker + Nginx + Verdaccio](v5/reverse_proxy/nginx/README.md)
## Aditional data
### Verdaccio 4
#### Proxies
- [Docker + Apache + Verdaccio](v4/apache-verdaccio/README.md)
- [Docker + Nginx + Verdaccio](v4/reverse_proxy/nginx/README.md)
- [Docker + https-portal Example](v4/https-portal-example/README.md)
#### Plugins
- [Docker + Uplinks Multi Registry](v4/multi-registry-uplink/README.md)
- [Docker + Local Storage](v4/docker-local-storage-volume/readme.md)
- [Docker + External Plugins](v4/docker-plugin-external/README.md)
#### Auth
- [Docker + LDAP (OpenLDAP) Server + Verdaccio 4](v4/ldap-verdaccio/readme.md) by **@kopax**
- [Docker + Gitlab](gitlab-verdaccio/README.md)
- [Docker + Active Directory](https://github.com/Mateus-Oli/verdaccio-ad-docker)
#### Storage
- [Docker + AWS S3 Plugin(localstack) + Verdaccio 4](v4/amazon-s3-docker-example/v4/README.md)
- [Docker + Minio](https://github.com/barolab/verdaccio-minio/tree/master/example)
This folder aims to create a collection of Docker and Kubernetes examples.
For more information about the **Helm** Chart, please check it [owns repo](https://github.com/verdaccio/charts).
### Kubernetes
- Kubernetes (minikube) + Verdaccio (Basic Configuration)
@@ -46,8 +21,7 @@ The following examples aim to be demonstrative and can be either improved or upd
### External
- [
Verdaccio examples for Google Cloud and K8s setups. https://github.com/papezt/verdaccio-examples](https://github.com/papezt/verdaccio-examples)
- [Verdaccio examples for Google Cloud and K8s setups. https://github.com/papezt/verdaccio-examples](https://github.com/papezt/verdaccio-examples)
### Articles

View File

@@ -0,0 +1,24 @@
# Verdaccio 4
#### Proxies
- [Docker + Apache + Verdaccio](v4/apache-verdaccio/README.md)
- [Docker + Nginx + Verdaccio](v4/reverse_proxy/nginx/README.md)
- [Docker + https-portal Example](v4/https-portal-example/README.md)
#### Plugins
- [Docker + Uplinks Multi Registry](v4/multi-registry-uplink/README.md)
- [Docker + Local Storage](v4/docker-local-storage-volume/readme.md)
- [Docker + External Plugins](v4/docker-plugin-external/README.md)
#### Auth
- [Docker + LDAP (OpenLDAP) Server + Verdaccio 4](v4/ldap-verdaccio/readme.md) by **@kopax**
- [Docker + Gitlab](gitlab-verdaccio/README.md)
- [Docker + Active Directory](https://github.com/Mateus-Oli/verdaccio-ad-docker)
#### Storage
- [Docker + AWS S3 Plugin(localstack) + Verdaccio 4](v4/amazon-s3-docker-example/v4/README.md)
- [Docker + Minio](https://github.com/barolab/verdaccio-minio/tree/master/example)

View File

@@ -0,0 +1,5 @@
# Verdaccio 5
> Before run examples, build the local image by running `pnpm docker`.
- [Docker + Nginx + Verdaccio](v5/reverse_proxy/nginx/README.md)

View File

@@ -44,3 +44,7 @@ The default header to identify the protocol is `X-Forwarded-Proto`, but there ar
```
$ VERDACCIO_FORWARDED_PROTO=CloudFront-Forwarded-Proto verdaccio --listen 5000
```
#### VERDACCIO_STORAGE_PATH
By default, the storage is taken from config file, but using this variable allows to set it from environment variable.

View File

@@ -0,0 +1,76 @@
# Migration guide from Verdaccio 5 to Verdaccio 6
Notes regarding breaking changes for next major release.
> This list might growth over the development.
## Breaking changes
### New node-api interface [#2165](https://github.com/verdaccio/verdaccio/pull/2165)
If you are using the node-api, the new structure is Promise based and less arguments.
```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
});
```
### allow other password hashing algorithms [#1917](https://github.com/verdaccio/verdaccio/pull/1917)
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
```
### Refactor config module, experiments renamed to flags [#1996](https://github.com/verdaccio/verdaccio/pull/1996)
- 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
### legacy token signature by removing crypto.createDecipher is deprecated [#1953](https://github.com/verdaccio/verdaccio/pull/1953)
- Replace signature handler for legacy tokens by removing deprecated crypto.createDecipher by createCipheriv
- **The new signature invalidates all previous tokens generated by Verdaccio 5 or previous versions**.
- The secret key must have 32 characters long
> Remediation, update `.verdaccio-db.json` secret field with a secret key with 32 characters.
#### New environment variables
Introduce environment variables for legacy tokens.
- `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

@@ -14,30 +14,30 @@
"url": "https://opencollective.com/verdaccio"
},
"devDependencies": {
"@babel/cli": "7.12.13",
"@babel/core": "7.12.13",
"@babel/node": "7.12.13",
"@babel/plugin-proposal-class-properties": "7.12.13",
"@babel/plugin-proposal-decorators": "7.12.13",
"@babel/cli": "7.13.14",
"@babel/core": "7.13.15",
"@babel/node": "7.13.13",
"@babel/plugin-proposal-class-properties": "7.13.0",
"@babel/plugin-proposal-decorators": "7.13.15",
"@babel/plugin-proposal-export-namespace-from": "7.12.13",
"@babel/plugin-proposal-function-sent": "7.12.13",
"@babel/plugin-proposal-json-strings": "7.12.13",
"@babel/plugin-proposal-nullish-coalescing-operator": "7.12.13",
"@babel/plugin-proposal-json-strings": "7.13.8",
"@babel/plugin-proposal-nullish-coalescing-operator": "7.13.8",
"@babel/plugin-proposal-numeric-separator": "7.12.13",
"@babel/plugin-proposal-object-rest-spread": "7.12.13",
"@babel/plugin-proposal-optional-chaining": "7.12.13",
"@babel/plugin-proposal-object-rest-spread": "7.13.8",
"@babel/plugin-proposal-optional-chaining": "7.13.12",
"@babel/plugin-proposal-throw-expressions": "7.12.13",
"@babel/plugin-syntax-dynamic-import": "7.8.3",
"@babel/plugin-syntax-import-meta": "7.10.4",
"@babel/plugin-transform-async-to-generator": "7.12.13",
"@babel/plugin-transform-classes": "7.12.13",
"@babel/plugin-transform-runtime": "7.12.15",
"@babel/plugin-transform-async-to-generator": "7.13.0",
"@babel/plugin-transform-classes": "7.13.0",
"@babel/plugin-transform-runtime": "7.13.15",
"@babel/polyfill": "7.12.1",
"@babel/preset-env": "7.12.13",
"@babel/preset-react": "7.12.13",
"@babel/preset-typescript": "7.12.13",
"@babel/register": "7.12.13",
"@babel/runtime": "7.12.13",
"@babel/preset-env": "7.13.15",
"@babel/preset-react": "7.13.13",
"@babel/preset-typescript": "7.13.0",
"@babel/register": "7.13.14",
"@babel/runtime": "7.13.10",
"@changesets/changelog-github": "^0.2.8",
"@changesets/cli": "^2.15.0",
"@changesets/get-dependents-graph": "^1.2.0",
@@ -78,7 +78,7 @@
"babel-plugin-emotion": "11.0.0",
"codecov": "3.8.1",
"concurrently": "^5.3.0",
"core-js": "^3.8.3",
"core-js": "^3.10.1",
"cross-env": "7.0.3",
"detect-secrets": "1.0.6",
"eslint": "7.19.0",
@@ -110,11 +110,11 @@
"prettier": "2.2.1",
"rimraf": "3.0.2",
"selfsigned": "1.10.8",
"standard-version": "8.0.0",
"supertest": "4.0.2",
"ts-node": "^9.1.1",
"typescript": "^4.1.3",
"verdaccio": "next",
"typescript": "^4.2.4",
"update-ts-references": "2.3.0",
"verdaccio": "^5.0.1",
"verdaccio-audit": "workspace:*",
"verdaccio-auth-memory": "workspace:*",
"verdaccio-htpasswd": "workspace:*",
@@ -147,7 +147,8 @@
"ci:version": "run-s ci:version:changeset ci:version:install",
"ci:version:install": "pnpm install --frozen-lockfile=false",
"ci:version:changeset": "changeset version",
"ci:publish": "changeset publish"
"ci:publish": "changeset publish",
"ts:ref": "update-ts-references --discardComments"
},
"license": "MIT",
"commitlint": {

View File

@@ -1,5 +1,43 @@
# @verdaccio/api
## 6.0.0-6-next.10
### Patch Changes
- Updated dependencies [1b217fd3]
- @verdaccio/config@6.0.0-6-next.6
- @verdaccio/auth@6.0.0-6-next.8
- @verdaccio/hooks@6.0.0-6-next.4
- @verdaccio/store@6.0.0-6-next.8
- @verdaccio/middleware@6.0.0-6-next.8
## 6.0.0-6-next.9
### Patch Changes
- Updated dependencies [1810ed0d]
- Updated dependencies [648575aa]
- @verdaccio/config@6.0.0-6-next.5
- @verdaccio/tarball@11.0.0-6-next.5
- @verdaccio/utils@6.0.0-6-next.4
- @verdaccio/auth@6.0.0-6-next.7
- @verdaccio/hooks@6.0.0-6-next.4
- @verdaccio/store@6.0.0-6-next.7
- @verdaccio/middleware@6.0.0-6-next.7
## 6.0.0-6-next.8
### Patch Changes
- Updated dependencies [5c5057fc]
- @verdaccio/config@6.0.0-6-next.4
- @verdaccio/logger@6.0.0-6-next.4
- @verdaccio/auth@6.0.0-6-next.6
- @verdaccio/hooks@6.0.0-6-next.4
- @verdaccio/store@6.0.0-6-next.6
- @verdaccio/tarball@11.0.0-6-next.4
- @verdaccio/middleware@6.0.0-6-next.6
## 6.0.0-6-next.7
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/api",
"version": "6.0.0-6-next.7",
"version": "6.0.0-6-next.10",
"description": "loaders logic",
"main": "./build/index.js",
"types": "build/index.d.ts",
@@ -39,15 +39,15 @@
},
"license": "MIT",
"dependencies": {
"@verdaccio/auth": "workspace:6.0.0-alpha.5",
"@verdaccio/auth": "workspace:6.0.0-6-next.8",
"@verdaccio/commons-api": "workspace:11.0.0-alpha.3",
"@verdaccio/config": "workspace:6.0.0-alpha.3",
"@verdaccio/hooks": "workspace:6.0.0-alpha.3",
"@verdaccio/logger": "workspace:6.0.0-alpha.3",
"@verdaccio/middleware": "workspace:6.0.0-alpha.5",
"@verdaccio/store": "workspace:6.0.0-6-next.5",
"@verdaccio/tarball": "workspace:11.0.0-6-next.4",
"@verdaccio/utils": "workspace:6.0.0-alpha.3",
"@verdaccio/config": "workspace:6.0.0-6-next.6",
"@verdaccio/hooks": "workspace:6.0.0-6-next.4",
"@verdaccio/logger": "workspace:6.0.0-6-next.4",
"@verdaccio/middleware": "workspace:6.0.0-6-next.8",
"@verdaccio/store": "workspace:6.0.0-6-next.8",
"@verdaccio/tarball": "workspace:11.0.0-6-next.5",
"@verdaccio/utils": "workspace:6.0.0-6-next.4",
"cookies": "0.8.0",
"debug": "^4.1.1",
"express": "4.17.1",
@@ -56,8 +56,8 @@
"semver": "7.3.2"
},
"devDependencies": {
"@verdaccio/server": "workspace:6.0.0-6-next.8",
"@verdaccio/types": "workspace:11.0.0-alpha.3",
"@verdaccio/server": "workspace:6.0.0-6-next.14",
"@verdaccio/types": "workspace:11.0.0-6-next.7",
"body-parser": "1.19.0",
"lodash": "^4.17.20",
"supertest": "next"

View File

@@ -7,41 +7,35 @@
"include": ["src/**/*.ts", "types/*.d.ts"],
"exclude": ["src/**/*.test.ts"],
"references": [
{
"path": "../utils"
},
{
"path": "../config"
},
{
"path": "../commons"
},
{
"path": "../hooks"
},
{
"path": "../store"
},
{
"path": "../middleware"
},
{
"path": "../auth"
},
{
"path": "../server"
},
{
"path": "../loaders"
},
{
"path": "../logger"
"path": "../config"
},
{
"path": "../core/commons-api"
},
{
"path": "../core/tarball"
},
{
"path": "../hooks"
},
{
"path": "../logger"
},
{
"path": "../middleware"
},
{
"path": "../server"
},
{
"path": "../store"
},
{
"path": "../utils"
}
]
}

View File

@@ -1,5 +1,34 @@
# @verdaccio/auth
## 6.0.0-6-next.8
### Patch Changes
- Updated dependencies [1b217fd3]
- @verdaccio/config@6.0.0-6-next.6
- @verdaccio/loaders@6.0.0-6-next.4
## 6.0.0-6-next.7
### Patch Changes
- Updated dependencies [1810ed0d]
- Updated dependencies [648575aa]
- @verdaccio/config@6.0.0-6-next.5
- @verdaccio/utils@6.0.0-6-next.4
- @verdaccio/loaders@6.0.0-6-next.4
## 6.0.0-6-next.6
### Patch Changes
- Updated dependencies [5c5057fc]
- @verdaccio/config@6.0.0-6-next.4
- @verdaccio/logger@6.0.0-6-next.4
- @verdaccio/auth@6.0.0-6-next.6
- @verdaccio/loaders@6.0.0-6-next.4
- verdaccio-htpasswd@11.0.0-alpha.6
## 5.0.0-alpha.5
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/auth",
"version": "6.0.0-alpha.5",
"version": "6.0.0-6-next.8",
"description": "logger",
"main": "./build/index.js",
"types": "build/index.d.ts",
@@ -39,12 +39,11 @@
},
"license": "MIT",
"dependencies": {
"@verdaccio/auth": "workspace:6.0.0-alpha.5",
"@verdaccio/commons-api": "workspace:11.0.0-alpha.3",
"@verdaccio/config": "workspace:6.0.0-alpha.3",
"@verdaccio/loaders": "workspace:6.0.0-alpha.3",
"@verdaccio/logger": "workspace:6.0.0-alpha.3",
"@verdaccio/utils": "workspace:6.0.0-alpha.3",
"@verdaccio/config": "workspace:6.0.0-6-next.6",
"@verdaccio/loaders": "workspace:6.0.0-6-next.4",
"@verdaccio/logger": "workspace:6.0.0-6-next.4",
"@verdaccio/utils": "workspace:6.0.0-6-next.4",
"verdaccio-htpasswd": "workspace:11.0.0-alpha.6",
"debug": "^4.1.1",
"express": "4.17.1",
@@ -52,8 +51,8 @@
"lodash": "4.17.15"
},
"devDependencies": {
"@verdaccio/mock": "workspace:6.0.0-alpha.3",
"@verdaccio/types": "workspace:11.0.0-alpha.3"
"@verdaccio/mock": "workspace:6.0.0-6-next.6",
"@verdaccio/types": "workspace:11.0.0-6-next.7"
},
"funding": {
"type": "opencollective",

View File

@@ -8,10 +8,13 @@
"exclude": ["src/**/*.test.ts"],
"references": [
{
"path": "../utils"
"path": "../config"
},
{
"path": "../commons"
"path": "../core/commons-api"
},
{
"path": "../core/htpasswd"
},
{
"path": "../loaders"
@@ -19,17 +22,11 @@
{
"path": "../logger"
},
{
"path": "../config"
},
{
"path": "../mock"
},
{
"path": "../core/commons-api"
},
{
"path": "../core/htpasswd"
"path": "../utils"
}
]
}

View File

@@ -1,5 +1,90 @@
# @verdaccio/cli
## 6.0.0-6-next.15
### Patch Changes
- @verdaccio/fastify-migration@6.0.0-6-next.9
- @verdaccio/logger@6.0.0-6-next.4
- @verdaccio/node-api@6.0.0-6-next.15
## 6.0.0-6-next.14
### Patch Changes
- @verdaccio/fastify-migration@6.0.0-6-next.9
- @verdaccio/logger@6.0.0-6-next.4
- @verdaccio/node-api@6.0.0-6-next.14
## 6.0.0-6-next.13
### Patch Changes
- Updated dependencies [1b217fd3]
- @verdaccio/config@6.0.0-6-next.6
- @verdaccio/node-api@6.0.0-6-next.13
## 6.0.0-6-next.12
### Patch Changes
- 19d272d1: 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
```
- Updated dependencies [19d272d1]
- @verdaccio/node-api@6.0.0-6-next.12
- @verdaccio/fastify-migration@6.0.0-6-next.9
- @verdaccio/logger@6.0.0-6-next.4
## 6.0.0-6-next.11
### Patch Changes
- Updated dependencies [1810ed0d]
- @verdaccio/config@6.0.0-6-next.5
- @verdaccio/node-api@6.0.0-6-next.11
## 6.0.0-6-next.10
### Major Changes
- 5c5057fc: 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.
### Patch Changes
- Updated dependencies [5c5057fc]
- @verdaccio/config@6.0.0-6-next.4
- @verdaccio/node-api@6.0.0-6-next.10
## 6.0.0-6-next.9
### Major Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/cli",
"version": "6.0.0-6-next.9",
"version": "6.0.0-6-next.15",
"author": {
"name": "Juan Picado",
"email": "juanpicado19@gmail.com"
@@ -26,7 +26,7 @@
"verdaccio"
],
"engines": {
"node": ">=10",
"node": ">=12",
"npm": ">=6"
},
"description": "verdaccio CLI",
@@ -43,9 +43,10 @@
"build": "pnpm run build:js && pnpm run build:types"
},
"dependencies": {
"@verdaccio/config": "workspace:6.0.0-alpha.3",
"@verdaccio/cli-ui": "workspace:6.0.0-alpha.3",
"@verdaccio/node-api": "workspace:6.0.0-6-next.9",
"@verdaccio/config": "workspace:6.0.0-6-next.6",
"@verdaccio/logger": "workspace:6.0.0-6-next.4",
"@verdaccio/node-api": "workspace:6.0.0-6-next.15",
"@verdaccio/fastify-migration": "workspace:6.0.0-6-next.9",
"commander": "6.2.0",
"clipanion": "3.0.0-rc.11",
"envinfo": "7.4.0",

View File

@@ -1,8 +1,9 @@
import { displayError } from '@verdaccio/cli-ui';
import { Cli } from 'clipanion';
import { InfoCommand } from './commands/info';
import { InitCommand } from './commands/init';
import { VersionCommand } from './commands/version';
import { NewServer } from './commands/newServer';
import { isVersionValid, MIN_NODE_VERSION } from './utils';
if (process.getuid && process.getuid() === 0) {
@@ -27,10 +28,11 @@ const cli = new Cli({
cli.register(InfoCommand);
cli.register(InitCommand);
cli.register(VersionCommand);
cli.register(NewServer);
cli.runExit(args, Cli.defaultContext);
process.on('uncaughtException', function (err) {
displayError(
console.error(
// eslint-disable-next-line max-len
`uncaught exception, please report (https://github.com/verdaccio/verdaccio/issues) this: \n${err.stack}`
);

View File

@@ -2,9 +2,9 @@ import envinfo from 'envinfo';
import { Command } from 'clipanion';
export class InfoCommand extends Command {
static paths = [[`--info`], [`-i`]];
public static paths = [[`--info`], [`-i`]];
async execute() {
public async execute(): Promise<void> {
this.context.stdout.write('\nEnvironment Info:');
const data = await envinfo.run({
System: ['OS', 'CPU'],

View File

@@ -1,15 +1,15 @@
import { Command, Option } from 'clipanion';
import { ConfigRuntime } from '@verdaccio/types';
import { findConfigFile, parseConfigFile } from '@verdaccio/config';
import { startVerdaccio, listenDefaultCallback } from '@verdaccio/node-api';
import { setup, logger } from '@verdaccio/logger';
import { initServer } from '@verdaccio/node-api';
import { ConfigRuntime } from '@verdaccio/types';
export const DEFAULT_PROCESS_NAME: string = 'verdaccio';
export class InitCommand extends Command {
static paths = [Command.Default];
public static paths = [Command.Default];
listen = Option.String('-l,--listen', {
private port = Option.String('-l,-p,--listen,--port', {
description: 'host:port number to listen on (default: localhost:4873)',
});
@@ -25,8 +25,8 @@ export class InitCommand extends Command {
The optional arguments are:
- \`--listen\` to switch the default server port,
- \`--config\` to define a different configuration path location,
- \`-l | --listen | -p | --port\` to switch the default server port,
- \`-c | --config\` to define a different configuration path location,
`,
examples: [
@@ -39,70 +39,38 @@ export class InitCommand extends Command {
],
});
config = Option.String('-c,--config', {
private config = Option.String('-c,--config', {
description: 'use this configuration file (default: ./config.yaml)',
});
async execute() {
let configPathLocation;
let verdaccioConfiguration: ConfigRuntime;
private initLogger(logConfig: ConfigRuntime) {
try {
configPathLocation = findConfigFile(this.config as string);
verdaccioConfiguration = parseConfigFile(configPathLocation);
const { web, https } = verdaccioConfiguration;
if (logConfig.logs) {
process.emitWarning('config.logs is deprecated, rename configuration to "config.log"');
}
// FUTURE: remove fallback when is ready
setup(logConfig.log || logConfig.logs);
} catch {
throw new Error('error on init logger');
}
}
public async execute() {
try {
const configPathLocation = findConfigFile(this.config as string);
const configParsed = parseConfigFile(configPathLocation);
this.initLogger(configParsed);
const { web } = configParsed;
process.title = web?.title || DEFAULT_PROCESS_NAME;
if (!https) {
verdaccioConfiguration = Object.assign({}, verdaccioConfiguration, {
https: { enable: false },
});
}
const { version, name } = require('../../package.json');
startVerdaccio(
verdaccioConfiguration,
this.listen as string,
configPathLocation,
version,
name,
listenDefaultCallback
);
await initServer(configParsed, this.port as string, version, name);
logger.info('server started');
} catch (err) {
console.error(err);
process.exit(1);
}
}
}
// export default function initProgram(commander, pkgVersion, pkgName) {
// const cliListener = commander.listen;
// let configPathLocation;
// let verdaccioConfiguration: ConfigRuntime;
// try {
// configPathLocation = findConfigFile(commander.config);
// verdaccioConfiguration = parseConfigFile(configPathLocation);
// const { web, https } = verdaccioConfiguration;
// process.title = web?.title || DEFAULT_PROCESS_NAME;
// if (!https) {
// verdaccioConfiguration = Object.assign({}, verdaccioConfiguration, {
// https: { enable: false },
// });
// }
// // initLogger.warn({file: configPathLocation}, 'config file - @{file}');
// startVerdaccio(
// verdaccioConfiguration,
// cliListener,
// configPathLocation,
// pkgVersion,
// pkgName,
// listenDefaultCallback
// );
// } catch (err) {
// process.exit(1);
// }
// }

View File

@@ -0,0 +1,38 @@
import { Command, Option } from 'clipanion';
import { findConfigFile, parseConfigFile } from '@verdaccio/config';
import server from '@verdaccio/fastify-migration';
export const DEFAULT_PROCESS_NAME: string = 'verdaccio';
/**
* This command is intended to run the server with Fastify
* as a migration step.
*/
export class NewServer extends Command {
public static paths = [['new']];
private port = Option.String('-l,-p,--listen,--port', {
description: 'host:port number to listen on (default: localhost:4873)',
});
private config = Option.String('-c,--config', {
description: 'use this configuration file (default: ./config.yaml)',
});
public async execute() {
try {
const configPathLocation = findConfigFile(this.config as string);
const configParsed = parseConfigFile(configPathLocation);
const { web } = configParsed;
process.title = web?.title || DEFAULT_PROCESS_NAME;
// const { version, name } = require('../../package.json');
const ser = await server();
await ser.listen(4000);
console.log('fastify running on port 4000');
} catch (err) {
console.error(err);
process.exit(1);
}
}
}

View File

@@ -11,16 +11,16 @@
"path": "../config"
},
{
"path": "../logger"
"path": "../core/cli-ui"
},
{
"path": "../core/server"
},
{
"path": "../node-api"
},
{
"path": "../core/cli-ui"
},
{
"path": "../utils"
"path": "../logger"
}
]
}

View File

@@ -1,5 +1,53 @@
# @verdaccio/config
## 6.0.0-6-next.6
### Minor Changes
- 1b217fd3: 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.
## 6.0.0-6-next.5
### Patch Changes
- 1810ed0d: Feature
- add option to set storage from environment variable VERDACCIO_STORAGE_PATH
#### Related tickets
https://github.com/verdaccio/verdaccio/issues/1681
- Updated dependencies [648575aa]
- @verdaccio/utils@6.0.0-6-next.4
## 6.0.0-6-next.4
### Major Changes
- 5c5057fc: 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.
## 5.0.0-alpha.3
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/config",
"version": "6.0.0-alpha.3",
"version": "6.0.0-6-next.6",
"description": "logger",
"main": "./build/index.js",
"types": "build/index.d.ts",
@@ -40,12 +40,11 @@
},
"dependencies": {
"@verdaccio/commons-api": "workspace:11.0.0-alpha.3",
"@verdaccio/utils": "workspace:6.0.0-alpha.3",
"@verdaccio/utils": "workspace:6.0.0-6-next.4",
"debug": "^4.2.0",
"js-yaml": "3.14.0",
"lodash": "^4.17.20",
"minimatch": "3.0.4",
"mkdirp": "0.5.5",
"yup": "^0.29.3"
},
"devDependencies": {

View File

@@ -2,7 +2,6 @@ import fs from 'fs';
import path from 'path';
import Path from 'path';
import _ from 'lodash';
import mkdirp from 'mkdirp';
import buildDebug from 'debug';
import { CHARACTER_ENCODING } from '@verdaccio/commons-api';
@@ -28,8 +27,8 @@ const debug = buildDebug('verdaccio:config');
* Find and get the first config file that match.
* @return {String} the config file path
*/
function findConfigFile(configPath: string): string {
if (_.isNil(configPath) === false) {
function findConfigFile(configPath: string | undefined): string {
if (typeof configPath !== 'undefined') {
return Path.resolve(configPath);
}
@@ -67,7 +66,7 @@ export function readDefaultConfig(): Buffer {
}
function createConfigFolder(configLocation): void {
mkdirp.sync(Path.dirname(configLocation.path));
fs.mkdirSync(Path.dirname(configLocation.path), { recursive: true });
debug(`Creating default config file in %o`, configLocation?.path);
}

View File

@@ -50,7 +50,7 @@ class Config implements AppConfig {
public constructor(config: ConfigRuntime) {
const self = this;
this.storage = config.storage;
this.storage = process.env.VERDACCIO_STORAGE_PATH || config.storage;
this.config_path = config.config_path;
this.plugins = config.plugins;
this.security = _.merge(defaultSecurity, config.security);

View File

@@ -1,14 +1,7 @@
import path from 'path';
import { parseConfigFile } from '../src';
import { parseConfigurationFile } from './utils';
describe('Package access utilities', () => {
const parseConfigurationFile = (conf) => {
const { name, ext } = path.parse(conf);
const format = ext.startsWith('.') ? ext.substring(1) : 'yaml';
return path.join(__dirname, `./partials/config/${format}/${name}.${format}`);
};
describe('JSON format', () => {
test('parse default.json', () => {
const config = parseConfigFile(parseConfigurationFile('default.json'));

View File

@@ -10,6 +10,7 @@ import {
ROLES,
WEB_TITLE,
} from '../src';
import { parseConfigurationFile } from './utils';
const resolveConf = (conf) => {
const { name, ext } = path.parse(conf);
@@ -80,6 +81,32 @@ describe('check basic content parsed file', () => {
checkDefaultConfPackages(config);
});
test('should set storage to value set in VERDACCIO_STORAGE_PATH environment variable', () => {
const storageLocation = '/tmp/verdaccio';
process.env.VERDACCIO_STORAGE_PATH = storageLocation;
const config = new Config(parseConfigFile(resolveConf('default')));
expect(config.storage).toBe(storageLocation);
delete process.env.VERDACCIO_STORAGE_PATH;
});
test('should set storage path to VERDACCIO_STORAGE_PATH if both config and env are set', () => {
const storageLocation = '/tmp/verdaccio';
process.env.VERDACCIO_STORAGE_PATH = storageLocation;
const config = new Config(parseConfigFile(parseConfigurationFile('storage')));
expect(config.storage).toBe(storageLocation);
delete process.env.VERDACCIO_STORAGE_PATH;
});
test('should take storage from environment variable if not exists in configs', () => {
const storageLocation = '/tmp/verdaccio';
process.env.VERDACCIO_STORAGE_PATH = storageLocation;
const defaultConfig = parseConfigFile(resolveConf('default'));
delete defaultConfig.storage;
const config = new Config(defaultConfig);
expect(config.storage).toBe(storageLocation);
delete process.env.VERDACCIO_STORAGE_PATH;
});
test('parse docker.yaml', () => {
const config = new Config(parseConfigFile(resolveConf('docker')));
checkDefaultUplink(config);

View File

@@ -1,4 +1,3 @@
import path from 'path';
import _ from 'lodash';
import {
@@ -7,15 +6,9 @@ import {
PACKAGE_ACCESS,
} from '../src/package-access';
import { parseConfigFile } from '../src';
import { parseConfigurationFile } from './utils';
describe('Package access utilities', () => {
const parseConfigurationFile = (conf) => {
const { name, ext } = path.parse(conf);
const format = ext.startsWith('.') ? ext.substring(1) : 'yaml';
return path.join(__dirname, `./partials/config/${format}/${name}.${format}`);
};
describe('normalisePackageAccess', () => {
test('should test basic conversion', () => {
const { packages } = parseConfigFile(parseConfigurationFile('pkgs-basic'));

View File

@@ -0,0 +1,7 @@
---
storage: './storage_default_storage'
logs:
- type: stdout
format: pretty
level: warn

View File

@@ -1,16 +1,8 @@
import path from 'path';
import { hasProxyTo, sanityCheckUplinksProps, uplinkSanityCheck } from '../src/uplinks';
import { normalisePackageAccess, parseConfigFile } from '../src';
import { parseConfigurationFile } from './utils';
describe('Uplinks Utilities', () => {
const parseConfigurationFile = (conf) => {
const { name, ext } = path.parse(conf);
const format = ext.startsWith('.') ? ext.substring(1) : 'yaml';
return path.join(__dirname, `./partials/config/${format}/${name}.${format}`);
};
describe('uplinkSanityCheck', () => {
test('should test basic conversion', () => {
const uplinks = uplinkSanityCheck(

View File

@@ -0,0 +1 @@
export { parseConfigurationFile } from './parse-configuration-file';

View File

@@ -0,0 +1,8 @@
import path from 'path';
export const parseConfigurationFile = (conf: string) => {
const { name, ext } = path.parse(conf);
const format = ext.startsWith('.') ? ext.substring(1) : 'yaml';
return path.join(__dirname, `../partials/config/${format}/${name}.${format}`);
};

View File

@@ -7,14 +7,11 @@
"include": ["src/**/*.ts"],
"exclude": ["src/**/*.test.ts"],
"references": [
{
"path": "../utils"
},
{
"path": "../core/commons-api"
},
{
"path": "../logger"
"path": "../utils"
}
]
}

View File

@@ -1,6 +0,0 @@
{
"extends": "../../../.babelrc",
"presets": [
"@babel/preset-react"
]
}

View File

@@ -1,5 +0,0 @@
{
"rules": {
"no-console": 0
}
}

View File

@@ -1 +0,0 @@
export * from './messages';

View File

@@ -1,25 +0,0 @@
import chalk from 'chalk';
import terminalLink from 'terminal-link';
export const PRIMARY_COLOR = `#24394e`;
export function displayMessage(message: string) {
console.log(chalk.hex(PRIMARY_COLOR).bold(message));
}
export function displayWarning(message: string) {
console.log(chalk.yellow.bold(message));
}
export function displayError(message: string) {
console.log(chalk.red.bold(message));
}
export function displayLink(url: string) {
if (terminalLink.isSupported) {
const link = terminalLink(url, url);
return chalk.blue.underline(link);
}
return url;
}

View File

@@ -1,3 +0,0 @@
describe('cli ui', () => {
test.todo('add required test for this module');
});

View File

@@ -40,7 +40,7 @@
"lockfile": "1.0.4"
},
"devDependencies": {
"@verdaccio/types": "workspace:11.0.0-alpha.3"
"@verdaccio/types": "workspace:11.0.0-6-next.7"
},
"scripts": {
"clean": "rimraf ./build",

View File

@@ -43,7 +43,7 @@
},
"devDependencies": {
"@types/bcryptjs": "^2.4.2",
"@verdaccio/types": "workspace:11.0.0-alpha.3",
"@verdaccio/types": "workspace:11.0.0-6-next.7",
"mockdate": "^3.0.2"
},
"scripts": {

View File

@@ -8,10 +8,10 @@
"exclude": ["src/**/*.test.ts"],
"references": [
{
"path": "../file-locking"
"path": "../commons-api"
},
{
"path": "../commons-api"
"path": "../file-locking"
}
]
}

View File

@@ -1,5 +1,15 @@
# Change Log
## 11.0.0-6-next.6
### Minor Changes
- 1b217fd3: 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.
## 11.0.0-6-next.5
### Major Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/local-storage",
"version": "11.0.0-6-next.5",
"version": "11.0.0-6-next.6",
"description": "Local storage implementation",
"keywords": [
"private",
@@ -43,12 +43,11 @@
"async": "^3.2.0",
"debug": "^4.1.1",
"lodash": "^4.17.20",
"lowdb": "1.0.0",
"mkdirp": "^0.5.5"
"lowdb": "1.0.0"
},
"devDependencies": {
"@types/minimatch": "^3.0.3",
"@verdaccio/types": "workspace:11.0.0-alpha.3",
"@verdaccio/types": "workspace:11.0.0-6-next.7",
"minimatch": "^3.0.4",
"rmdir-sync": "^1.0.1"
},

View File

@@ -4,7 +4,6 @@ import buildDebug from 'debug';
import _ from 'lodash';
import async from 'async';
import mkdirp from 'mkdirp';
import {
Callback,
Config,
@@ -276,10 +275,9 @@ class LocalDatabase extends TokenActions implements IPluginStorage<{}> {
}
// Uses sync to prevent ugly race condition
try {
// https://www.npmjs.com/package/mkdirp#mkdirpsyncdir-opts
const folderName = Path.dirname(this.path);
debug('creating folder %o', folderName);
mkdirp.sync(folderName);
fs.mkdirSync(folderName, { recursive: true });
debug('sync folder %o created succeed', folderName);
} catch (err) {
debug('sync create folder has failed with error: %o', err);

View File

@@ -5,7 +5,6 @@ import path from 'path';
import buildDebug from 'debug';
import _ from 'lodash';
import mkdirp from 'mkdirp';
import { UploadTarball, ReadTarball } from '@verdaccio/streams';
import { unlockFile, readFile } from '@verdaccio/file-locking';
import { Callback, Logger, Package, ILocalPackageManager, IUploadTarball } from '@verdaccio/types';
@@ -353,7 +352,7 @@ export default class LocalFS implements ILocalFSPackageManager {
createTempFile((err) => {
if (err && err.code === noSuchFile) {
mkdirp(path.dirname(dest), function (err) {
fs.mkdir(path.dirname(dest), { recursive: true }, function (err) {
if (err) {
return cb(err);
}

View File

@@ -1,7 +1,6 @@
import path from 'path';
import fs from 'fs';
import mkdirp from 'mkdirp';
import rm from 'rmdir-sync';
import { Logger, ILocalPackageManager, Package } from '@verdaccio/types';
@@ -113,7 +112,7 @@ describe('Local FS test', () => {
describe('removePackage() group', () => {
beforeEach(() => {
mkdirp.sync(path.join(localTempStorage, '_toDelete'));
fs.mkdirSync(path.join(localTempStorage, '_toDelete'), { recursive: true });
});
test('removePackage() success', (done) => {
@@ -183,7 +182,7 @@ describe('Local FS test', () => {
beforeEach(() => {
const writeTarballFolder: string = path.join(localTempStorage, '_writeTarball');
rm(writeTarballFolder);
mkdirp.sync(writeTarballFolder);
fs.mkdirSync(writeTarballFolder, { recursive: true });
});
test('writeTarball() success', (done) => {

View File

@@ -8,13 +8,13 @@
"exclude": ["src/**/*.test.ts"],
"references": [
{
"path": "../streams"
"path": "../commons-api"
},
{
"path": "../file-locking"
},
{
"path": "../commons-api"
"path": "../streams"
}
]
}

View File

@@ -45,7 +45,7 @@
"marked": "1.1.1"
},
"devDependencies": {
"@verdaccio/types": "workspace:11.0.0-alpha.3"
"@verdaccio/types": "workspace:11.0.0-6-next.7"
},
"scripts": {
"clean": "rimraf ./build",

View File

@@ -0,0 +1,3 @@
{
"extends": "../../../.babelrc"
}

View File

@@ -0,0 +1,6 @@
node_modules
coverage/
lib/
.nyc_output
tests-report/
build/

View File

@@ -0,0 +1,5 @@
{
"rules": {
"@typescript-eslint/no-use-before-define": "off"
}
}

1
packages/core/server/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
lib/

View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2019 Verdaccio
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@@ -0,0 +1,9 @@
# Server Fastify (migration)
A package intended to start a migration from Express to fastify. (WIP).
Run from root folder
```js
pnpm debug -- new
```

View File

@@ -1,7 +1,7 @@
{
"name": "@verdaccio/cli-ui",
"version": "6.0.0-alpha.3",
"description": "cli ui components",
"name": "@verdaccio/fastify-migration",
"version": "6.0.0-6-next.9",
"description": "Fastify server migration package",
"keywords": [
"private",
"package",
@@ -13,13 +13,19 @@
"server",
"verdaccio"
],
"main": "./build/index.js",
"types": "./build/index.d.ts",
"author": "Juan Picado <juanpicado19@gmail.com>",
"license": "MIT",
"homepage": "https://verdaccio.org",
"engines": {
"node": ">=12",
"npm": ">=6"
},
"repository": {
"type": "https",
"url": "https://github.com/verdaccio/verdaccio",
"directory": "packages/core/cli-ui"
"directory": "packages/core/streams"
},
"bugs": {
"url": "https://github.com/verdaccio/verdaccio/issues"
@@ -27,22 +33,15 @@
"publishConfig": {
"access": "public"
},
"main": "build/index.js",
"types": "build/index.d.ts",
"files": [
"build"
],
"engines": {
"node": ">=10",
"npm": ">=6"
},
"dependencies": {
"chalk": "^4.1.0",
"terminal-link": "^2.1.1"
"fastify": "3.14.2"
},
"devDependencies": {
"@verdaccio/types": "workspace:11.0.0-6-next.7"
},
"scripts": {
"clean": "rimraf ./build",
"test": "cross-env NODE_ENV=test BABEL_ENV=test jest",
"type-check": "tsc --noEmit -p tsconfig.build.json",
"build:types": "tsc --emitDeclarationOnly -p tsconfig.build.json",
"build:js": "babel src/ --out-dir build/ --copy-files --extensions \".ts,.tsx\" --source-maps",
"watch": "pnpm build:js -- --watch",

View File

@@ -0,0 +1 @@
export { default } from './server';

View File

@@ -0,0 +1,13 @@
import fastify from 'fastify';
async function startServer() {
const app = fastify();
app.get('/', async (request, reply) => {
return { hello: 'world' };
});
return app;
}
export default startServer;

View File

@@ -2,10 +2,8 @@
"extends": "../../../tsconfig.reference.json",
"compilerOptions": {
"rootDir": "./src",
"outDir": "./build",
"composite": true,
"declaration": true
"outDir": "./build"
},
"include": ["src/**/*.ts"],
"include": ["src/**/*"],
"exclude": ["src/**/*.test.ts"]
}

View File

@@ -34,7 +34,7 @@
"access": "public"
},
"devDependencies": {
"@verdaccio/types": "workspace:11.0.0-alpha.3"
"@verdaccio/types": "workspace:11.0.0-6-next.7"
},
"scripts": {
"clean": "rimraf ./build",

View File

@@ -1,5 +1,20 @@
# Change Log
## 11.0.0-6-next.5
### Patch Changes
- 648575aa: Bug Fixes
- fix escaped slash in namespaced packages
#### Related tickets
https://github.com/verdaccio/verdaccio/pull/2193
- Updated dependencies [648575aa]
- @verdaccio/utils@6.0.0-6-next.4
## 11.0.0-6-next.4
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/tarball",
"version": "11.0.0-6-next.4",
"version": "11.0.0-6-next.5",
"description": "tarball utilities resolver",
"keywords": [
"private",
@@ -38,10 +38,10 @@
"lodash": "^4.17.21",
"@verdaccio/commons-api": "workspace:11.0.0-alpha.3",
"@verdaccio/url": "workspace:11.0.0-6-next.4",
"@verdaccio/utils": "workspace:6.0.0-alpha.3"
"@verdaccio/utils": "workspace:6.0.0-6-next.4"
},
"devDependencies": {
"@verdaccio/types": "workspace:11.0.0-alpha.3",
"@verdaccio/types": "workspace:11.0.0-6-next.7",
"express": "^4.17.1",
"node-mocks-http": "^1.10.1"
},

View File

@@ -2,7 +2,6 @@ import URL from 'url';
import { Request } from 'express';
import buildDebug from 'debug';
import { encodeScopedUri } from '@verdaccio/utils';
import { getPublicUrl } from '@verdaccio/url';
const debug = buildDebug('verdaccio:core:url');
@@ -32,5 +31,5 @@ export function getLocalRegistryTarballUri(
// header only set with proxy that setup with HTTPS
const domainRegistry = getPublicUrl(urlPrefix || '', req);
return `${domainRegistry}${encodeScopedUri(pkgName)}/-/${tarballName}`;
return `${domainRegistry}${pkgName}/-/${tarballName}`;
}

View File

@@ -8,14 +8,11 @@
"exclude": ["src/**/*.test.ts"],
"references": [
{
"path": "../types"
"path": "../../utils"
},
{
"path": "../commons-api"
},
{
"path": "../../utils"
},
{
"path": "../url"
}

View File

@@ -1,5 +1,92 @@
# Change Log
## 11.0.0-6-next.7
### Minor Changes
- 0da7031e: 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
```
## 11.0.0-6-next.6
### Minor Changes
- aecbd226: 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.
## 11.0.0-6-next.5
### Patch Changes
- 19d272d1: 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
```
## 11.0.0-6-next.4
### Major Changes
- 5c5057fc: 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.
## 10.0.0-alpha.3
### Patch Changes

View File

@@ -15,6 +15,51 @@ declare module '@verdaccio/types' {
url?: string;
}
type PackageManagers = 'pnpm' | 'yarn' | 'npm';
// FUTURE: WebConf and TemplateUIOptions should be merged .
type CommonWebConf = {
title?: string;
logo?: string;
favicon?: string;
gravatar?: boolean;
sort_packages?: string;
darkMode?: boolean;
url_prefix?: string;
language?: string;
login?: boolean;
scope?: string;
pkgManagers?: PackageManagers[];
};
/**
* Options are passed to the index.html
*/
export type TemplateUIOptions = {
uri?: string;
darkMode?: boolean;
protocol?: string;
host?: string;
base: string;
primaryColor?: string;
version?: string;
logoURI?: string;
} & CommonWebConf;
/**
* Options on config.yaml for web
*/
type WebConf = {
// FIXME: rename to primaryColor and move it to CommonWebConf
primary_color?: string;
enable?: boolean;
scriptsHead?: string[];
scriptsBodyAfter?: string[];
metaScripts?: string[];
bodyBefore?: string[];
bodyAfter?: string[];
} & CommonWebConf;
interface Dist {
integrity?: string;
shasum: string;
@@ -276,23 +321,6 @@ declare module '@verdaccio/types' {
interface ListenAddress {
[key: string]: string;
}
interface WebConf {
enable?: boolean;
title?: string;
logo?: string;
favicon?: string;
gravatar?: boolean;
sort_packages?: string;
scriptsHead?: string[];
scriptsBodyAfter?: string[];
metaScripts?: string[];
bodyBefore?: string[];
bodyAfter?: string[];
darkMode?: boolean;
primary_color?: string;
}
interface HttpsConfKeyCert {
key: string;
cert: string;
@@ -352,10 +380,9 @@ declare module '@verdaccio/types' {
export type ServerSettingsConf = {
// express-rate-limit settings
rateLimit: RateLimit;
// deprecated
keepAliveTimeout?: number;
//F
publicUrl?: string;
// force http2 if https is defined
http2?: boolean;
};
type URLPrefix = {
@@ -372,7 +399,9 @@ declare module '@verdaccio/types' {
storage?: string | void;
packages: PackageList;
uplinks: UpLinksConfList;
// @deprecated in favor of log
logs?: LoggerConf[];
log?: LoggerConf[];
web?: WebConf;
auth?: AuthConf;
security: Security;

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/types",
"version": "11.0.0-alpha.3",
"version": "11.0.0-6-next.7",
"description": "verdaccio types definitions",
"keywords": [
"private",

View File

@@ -41,7 +41,7 @@
},
"devDependencies": {
"node-mocks-http": "^1.10.1",
"@verdaccio/types": "workspace:11.0.0-alpha.3"
"@verdaccio/types": "workspace:11.0.0-6-next.7"
},
"scripts": {
"clean": "rimraf ./build",

View File

@@ -7,9 +7,6 @@
"include": ["src/**/*"],
"exclude": ["src/**/*.test.ts"],
"references": [
{
"path": "../types"
},
{
"path": "../commons-api"
}

View File

@@ -1,5 +1,12 @@
# @verdaccio/hooks
## 6.0.0-6-next.4
### Patch Changes
- Updated dependencies [5c5057fc]
- @verdaccio/logger@6.0.0-6-next.4
## 5.0.0-alpha.3
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/hooks",
"version": "6.0.0-alpha.3",
"version": "6.0.0-6-next.4",
"description": "loaders logic",
"main": "./build/index.js",
"types": "build/index.d.ts",
@@ -31,17 +31,17 @@
},
"dependencies": {
"@verdaccio/commons-api": "workspace:11.0.0-alpha.3",
"@verdaccio/logger": "workspace:6.0.0-alpha.3",
"@verdaccio/logger": "workspace:6.0.0-6-next.4",
"debug": "^4.2.0",
"handlebars": "4.5.3",
"node-fetch": "^2.6.1",
"request": "2.87.0"
},
"devDependencies": {
"@verdaccio/auth": "workspace:6.0.0-alpha.5",
"@verdaccio/auth": "workspace:6.0.0-6-next.8",
"@verdaccio/commons-api": "workspace:11.0.0-alpha.3",
"@verdaccio/config": "workspace:6.0.0-alpha.3",
"@verdaccio/types": "workspace:11.0.0-alpha.3",
"@verdaccio/config": "workspace:6.0.0-6-next.6",
"@verdaccio/types": "workspace:11.0.0-6-next.7",
"nock": "^13.0.4"
},
"scripts": {

View File

@@ -7,20 +7,17 @@
"include": ["src/**/*"],
"exclude": ["src/**/*.test.ts"],
"references": [
{
"path": "../config"
},
{
"path": "../auth"
},
{
"path": "../commons"
},
{
"path": "../logger"
"path": "../config"
},
{
"path": "../core/commons-api"
},
{
"path": "../logger"
}
]
}

View File

@@ -1,5 +1,12 @@
# @verdaccio/loaders
## 6.0.0-6-next.4
### Patch Changes
- Updated dependencies [5c5057fc]
- @verdaccio/logger@6.0.0-6-next.4
## 5.0.0-alpha.3
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/loaders",
"version": "6.0.0-alpha.3",
"version": "6.0.0-6-next.4",
"description": "loaders logic",
"main": "./build/index.js",
"types": "build/index.d.ts",
@@ -13,15 +13,15 @@
"url": "https://github.com/verdaccio/verdaccio"
},
"dependencies": {
"@verdaccio/logger": "workspace:6.0.0-alpha.3",
"@verdaccio/logger": "workspace:6.0.0-6-next.4",
"debug": "^4.1.1",
"lodash": "4.17.15"
},
"devDependencies": {
"@verdaccio/commons-api": "workspace:11.0.0-alpha.3",
"@verdaccio/config": "workspace:6.0.0-alpha.3",
"@verdaccio/mock": "workspace:6.0.0-alpha.3",
"@verdaccio/types": "workspace:11.0.0-alpha.3"
"@verdaccio/config": "workspace:6.0.0-6-next.6",
"@verdaccio/mock": "workspace:6.0.0-6-next.6",
"@verdaccio/types": "workspace:11.0.0-6-next.7"
},
"homepage": "https://verdaccio.org",
"keywords": [

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