Compare commits

..

145 Commits

Author SHA1 Message Date
Juan Picado
04c081b8b2 chore: update env 2021-04-04 08:06:50 +02:00
github-actions[bot]
2d2473188d chore: update versions (6-next) (#2162)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2021-04-03 21:32:46 +02:00
Juan Picado
6291f5ee1e chore: remove unused code 2021-04-03 21:25:16 +02:00
Juan Picado
2aa73bb083 chore: add missing dep 2021-04-03 21:14:22 +02:00
Juan Picado
62c5b919a3 chore: fix lint 2021-04-03 21:11:49 +02:00
Juan Picado
44c8f823b4 chore: fix format 2021-04-03 21:06:26 +02:00
Juan Picado
a219e1e11c chore: fix changeset 2021-04-03 21:04:31 +02:00
Juan Picado
16f58b93c1 chore: update versions 2021-04-03 21:00:23 +02:00
Juan Picado
08aade9a68 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-03 20:52:17 +02:00
Juan Picado
044eb36ed2 chore: update with master (#2158) 2021-04-03 20:52:17 +02:00
Paola Morales
338076971a Migrate fs-memory library to memfs (#2149)
* Update package.json

* Update MemoryFileSystem dependency

* Update storage.ts
2021-04-03 20:52:16 +02:00
Paola Morales
cb2281a50d 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-03 20:52:16 +02:00
Juan Picado
fd8bfd5d5f chore: update ci branch docker publish 2021-04-03 20:52:16 +02:00
Juan Picado
99de53b368 chore: update docker publish next 2021-04-03 20:52:15 +02:00
Juan Picado
a556829e5e chore: update to 6.x 2021-04-03 20:52:15 +02:00
Juan Picado
11aee7c712 chore: formmat code 2021-04-03 20:52:15 +02:00
Juan Picado
c62accf1ea chore: update format 2021-04-03 20:52:15 +02:00
Juan Picado
f68232cde8 chore: merge from master 2021-04-03 20:52:14 +02:00
github-actions[bot]
910f728588 chore: update versions (alpha) (#2116)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2021-04-03 20:52:14 +02:00
Juan Picado
0022bd28ec 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-03 20:52:14 +02:00
github-actions[bot]
ca9d11ac2b chore: update versions (alpha) (#2098)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2021-04-03 20:52:13 +02:00
Juan Picado
73599b031e feat: improve cli logging on start up (#2097)
* feat: improve cli logging on start up

* chore: remove deps
2021-04-03 20:52:13 +02:00
Juan Picado
6a7252f169 chore: update pnpm (#2095) 2021-04-03 20:52:13 +02:00
Paola Morales
8c8a761ec0 chore: update eslint dependency (#2094) 2021-04-03 20:52:13 +02:00
Paola Morales
f9f51e82c5 chore: update Dependencies (#2093)
* Update dependencies

* Update dist-tags.ts

* Update dist-tags.ts
2021-04-03 20:52:12 +02:00
Paola Morales
771f36a407 chore: update babel.js version (#2092) 2021-04-03 20:52:12 +02:00
Paola Morales
343aa8dc6e Improve package.json metadata (#2091) 2021-04-03 20:52:12 +02:00
Paola Morales
f4adf120c3 chore: update package.json and README.md (#2090) 2021-04-03 20:52:11 +02:00
Paola Morales
ec9bf85553 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-03 20:52:11 +02:00
github-actions[bot]
a3c3e64355 chore: update versions (alpha) (#2073)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2021-04-03 20:52:11 +02:00
Slava
f91f7d78a0 feat: allow other password hashing algorithms (#1917) (#2072) 2021-04-03 20:52:11 +02:00
Juan Picado
be85f26bf7 chore: update readme 2021-04-03 20:52:10 +02:00
github-actions[bot]
7a7840542e chore: update versions (alpha) (#2057) 2021-04-03 20:52:10 +02:00
Juan Picado
54a696c428 feat: standalone server (#2046)
* feat: standalone version

* chore: add changeset
2021-04-03 20:52:10 +02:00
Juan Picado
6041f258bb chore: update deps (#2056)
* chore: update deps

* chore: update eslint

* chore: update deps types
2021-04-03 20:52:10 +02:00
Juan Picado
f92f20a0af chore: update npmrc 2021-04-03 20:52:09 +02:00
Juan Picado
15806469f1 chore: update script 2021-04-03 20:52:09 +02:00
Juan Picado
865478d0ae chore: add registry field 2021-04-03 20:52:09 +02:00
Juan Picado
2f59abfc1a chore: add extra env var 2021-04-03 20:52:08 +02:00
Juan Picado
400ff02a87 chore: update log 2021-04-03 20:52:08 +02:00
github-actions[bot]
9e293673be chore: update versions (alpha) (#2053)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2021-04-03 20:52:08 +02:00
Juan Picado
30807f05f3 build: release scripts alpha packages (#2052)
* chore: update deps

* chore: update deps
2021-04-03 20:52:08 +02:00
github-actions[bot]
5d795ac62f chore: update versions (alpha) (#2051)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2021-04-03 20:52:07 +02:00
Juan Picado
5438af9323 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-03 20:52:07 +02:00
github-actions[bot]
a5af486e85 chore: update versions (alpha) (#2045)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2021-04-03 20:52:07 +02:00
Juan Picado
869f659e3a 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-03 20:52:07 +02:00
Juan Picado
5d13d9ff42 chore: update docker publish config 2021-04-03 20:52:06 +02:00
Juan Picado
93356027cc fix: docker build missing modules (#2041) 2021-04-03 20:52:06 +02:00
Juan Picado
76a9206d1e chore: testing publish docker image 2021-04-03 20:52:06 +02:00
Juan Picado
a36ed9b510 chore: update snapshot 2021-04-03 20:52:06 +02:00
Juan Picado
a94dbbe272 chore: format document 2021-04-03 20:52:05 +02:00
Juan Picado
48cda34145 chore: update readme 2021-04-03 20:52:05 +02:00
github-actions[bot]
894394a4f0 chore: update versions (alpha) (#2035)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2021-04-03 20:52:05 +02:00
Juan Picado
22c1faa6ec build: server reload watch mode (#2039)
* feat: server reload watch mode

* chore:update format
2021-04-03 20:52:05 +02:00
Juan Picado
7fb055d408 chore: fix gatsby cloud build (#2037) 2021-04-03 20:52:04 +02:00
Juan Picado
fbbf0d6c7c 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-03 20:52:04 +02:00
Juan Picado
4b4afd5ffe 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-03 20:52:04 +02:00
Juan Picado
fb18fc4879 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-03 20:52:03 +02:00
github-actions[bot]
3b0cc2c41f chore: update versions (alpha) (#1916)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2021-04-03 20:52:01 +02:00
Juan Picado
59d529a2e1 chore: verdaccio as root dependency to avoid changesets override 2021-04-03 20:52:00 +02:00
Juan Picado
70cf4cff12 chore: update lock file 2021-04-03 20:52:00 +02:00
Juan Picado
8a76992c35 chore: update lock file 2021-04-03 20:52:00 +02:00
Juan Picado
7e83e4e37a chore: update pnpm changeset versions (#2002) 2021-04-03 20:52:00 +02:00
Juan Picado
fcf4cf4d7e chore: update pnpm changeset action 2021-04-03 20:51:59 +02:00
Juan Picado
8b39837b23 chore: remove a package, move constants (#2001)
* chore: remove a package, move constants

* chore: remove *
2021-04-03 20:51:59 +02:00
Juan Picado
79ca7954ad deps: update typescript 4 (#2000) 2021-04-03 20:51:59 +02:00
Juan Picado
0c94890ab7 feat: logger pretty only as dev mode (#1999) 2021-04-03 20:51:58 +02:00
Juan Picado
7beeaf7af9 chore: add missing dependency 2021-04-03 20:51:58 +02:00
Juan Picado
4915752cb4 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-03 20:51:58 +02:00
Juan Picado
3ff8af4a59 chore: update versions 2021-04-03 20:51:58 +02:00
Juan Picado
71f5ef2d59 refactor: config module (#1995)
* refactor: clean up config

* refactor: config, move methods

* chore: remove js-yaml from utils
2021-04-03 20:51:57 +02:00
Juan Picado
71af2686cb chore: disable rules for examples 2021-04-03 20:51:57 +02:00
Juan Picado
d8ea9e69e5 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-03 20:51:57 +02:00
Juan Picado
9ca3dfb3fa fix: cleanup warnings (#1986)
* fix: lint warnings

* fix: test
2021-04-03 20:51:56 +02:00
Juan Picado
36a3a38839 refactor: relocate verdaccio-active-directory plugin (#1981) 2021-04-03 20:51:56 +02:00
Juan Picado
be65079c17 refactor: relocate verdaccio-google-cloud-storage plugin (#1978) 2021-04-03 20:51:56 +02:00
Dina Basumatary
8c7d984dd1 fix: typos and toc (#1980)
* updated table of content
* corrected spelling and grammar in a few places
* header levels
2021-04-03 20:51:56 +02:00
Dina Basumatary
89f52e98cd 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-03 20:51:55 +02:00
Juan Picado
8abcbd620a refactor: relocate verdaccio-aws-storage plugin (#1977) 2021-04-03 20:51:55 +02:00
Juan Picado
45415b2850 refactor: relocate verdaccio-audit plugin (#1976) 2021-04-03 20:51:55 +02:00
Juan Picado
a10fc4dc33 refactor: relocate verdaccio-auth-memory plugin (#1975) 2021-04-03 20:51:55 +02:00
Juan Picado
531f89da88 refactor: relocate verdaccio-memory plugin (#1974) 2021-04-03 20:51:54 +02:00
ike
7d2fc97b53 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-03 20:51:54 +02:00
Juan Picado
0969d29b44 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-03 20:51:54 +02:00
mknj
a33b3289b5 fix urls in some packages/*/package.json (#1952) 2021-04-03 20:51:52 +02:00
Juan Picado
5717720544 refactor: auth-utils (#1951)
* chore: refactor auth utils

* chore: relocate crypto utils
2021-04-03 20:51:52 +02:00
Juan Picado
7126fa2071 chore: update dev deps (#1950) 2021-04-03 20:51:51 +02:00
Juan Picado
b60ed45359 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-03 20:51:51 +02:00
Juan Picado
3c0fc27c42 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-03 20:51:51 +02:00
Juan Picado
c27112488f chore: website drawer for navigation (#1940)
* feat(website): add drawer navigation

* chore: create index by language

* Update Header.tsx
2021-04-03 20:51:48 +02:00
Juan Picado
23dbb756f9 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-03 20:51:48 +02:00
Juan Picado
b269716694 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-03 20:51:47 +02:00
Juan Picado
e4571d631e 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-03 20:51:47 +02:00
Abraham Schilling
537f586873 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-03 20:51:47 +02:00
Juan Picado @jotadeveloper
750c5f4b08 chore: downgrade pnpm changeset workflow 2021-04-03 20:51:44 +02:00
Juan Picado
8f53047c5e chore: patch changesets example (#1929)
* chore: test changesets

* chore: add changeset
2021-04-03 20:51:43 +02:00
Abraham Schilling
392458aa07 build: add missing os matrix (#1928) 2021-04-03 20:51:43 +02:00
Abraham Schilling
09942448df 5.x tests on windows (#1919) 2021-04-03 20:51:43 +02:00
Juan Picado
ad70d4b283 chore: restore website build (#1920) 2021-04-03 20:51:43 +02:00
Juan Picado @jotadeveloper
211a52ad57 reenable docker publish 2021-04-03 20:51:42 +02:00
Juan Picado @jotadeveloper
5becb4e255 chore: ignore pnpm store 2021-04-03 20:51:42 +02:00
Juan Picado @jotadeveloper
853c77d212 chore: ci include release pr 2021-04-03 20:51:42 +02:00
Juan Picado @jotadeveloper
9f79713e96 chore: add missing script 2021-04-03 20:51:42 +02:00
Juan Picado @jotadeveloper
8a3c30b134 chore: install right dep npm-run-all 2021-04-03 20:51:41 +02:00
Juan Picado @jotadeveloper
9aa0b92e79 chore add run-s dependency 2021-04-03 20:51:41 +02:00
Juan Picado @jotadeveloper
e9b36249ef chore: update changesets workflow 2021-04-03 20:51:41 +02:00
Juan Picado @jotadeveloper
b13ab88f85 chore: update changesets workflow 2021-04-03 20:51:41 +02:00
Juan Picado @jotadeveloper
e27c080d97 chore: update changesets workflow 2021-04-03 20:51:41 +02:00
Juan Picado @jotadeveloper
c014af3300 chore: add changesets workflow 2021-04-03 20:51:40 +02:00
Juan Picado
91734f58b2 feat: enable changesets (#1913)
* chore: add changeset deps

* chore: enable prerelease mode

* enable changesets
2021-04-03 20:51:40 +02:00
Juan Picado
5290b9fa2d 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-03 20:51:40 +02:00
Juan Picado @jotadeveloper
cbb6c657a5 chore: update typescript and lint plugins 2021-04-03 20:51:40 +02:00
Juan Picado @jotadeveloper
9915b73e73 chore: update wrong imports 2021-04-03 20:51:39 +02:00
Juan Picado @jotadeveloper
3f2aa98fcb feat: add @verdaccio/commons-api package
Update local references
2021-04-03 20:51:39 +02:00
Juan Picado
4ff5d28487 feat: relocate core packages (#1906)
* chore: clean lint warnings

* refactor: move core packages
2021-04-03 20:51:39 +02:00
Juan Picado @jotadeveloper
850afccbb7 chore: update branch for ci 2021-04-03 20:51:38 +02:00
Juan Picado @jotadeveloper
9195f0bce7 chore: ignore codeql analysis
I shutdown this temporary while is in development
2021-04-03 20:51:38 +02:00
Juan Picado @jotadeveloper
0126893055 chore: extend lint rules to root 2021-04-03 20:51:38 +02:00
Juan Picado
79cdf449f5 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-03 20:51:36 +02:00
Juan Picado
0c150fa869 chore: update readme 2021-04-03 20:51:35 +02:00
Juan Picado @jotadeveloper
8c6f251590 chore: update snapshot 2021-04-03 20:51:35 +02:00
Juan Picado
914da01729 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-03 20:51:35 +02:00
Juan Picado @jotadeveloper
e91a3ee8a3 chore: rebase from master 2021-04-03 20:51:35 +02:00
Juan Picado @jotadeveloper
16bc81f985 chore: update lock file 2021-04-03 20:51:34 +02:00
Juan Picado
f395e375fe 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-03 20:51:34 +02:00
Juan Picado @jotadeveloper
3e1ab6910c chore: remove duplication 2021-04-03 20:51:34 +02:00
Juan Picado @jotadeveloper
9051fd8f76 chore: update readme 2021-04-03 20:51:34 +02:00
Juan Picado
c262209871 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-03 20:51:33 +02:00
Juan Picado
c20d9bb6b2 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-03 20:51:31 +02:00
dependabot-preview[bot]
16cdae1921 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-03 20:51:31 +02:00
Juan Picado @jotadeveloper
8006e73d0a 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-03 20:51:31 +02:00
Juan Picado @jotadeveloper
4e0017a089 chore: disable test publish 2021-04-03 20:51:28 +02:00
Juan Picado @jotadeveloper
a606c6e125 chore: re-enable coverage 2021-04-03 20:51:28 +02:00
Juan Picado @jotadeveloper
8f835eb265 chore: fix merge 2021-04-03 20:51:27 +02:00
dependabot-preview[bot]
fb19e2052d 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-03 20:51:27 +02:00
Juan Picado @jotadeveloper
000a5e2be5 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-03 20:51:27 +02:00
Juan Picado @jotadeveloper
4c9f611da0 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-03 20:51:24 +02:00
Juan Picado @jotadeveloper
84584948a9 refactor: fix import 2021-04-03 20:51:24 +02:00
Juan Picado @jotadeveloper
24524f5ea4 refactor: fix imports 2021-04-03 20:51:24 +02:00
Juan Picado @jotadeveloper
9c9484df5d refactor: utilities and auth 2021-04-03 20:51:23 +02:00
Juan Picado @jotadeveloper
424ee24a08 chore: update dependencies 2021-04-03 20:51:23 +02:00
Juan Picado @jotadeveloper
d4f5f2fc18 chore: reuse jest config 2021-04-03 20:51:23 +02:00
Juan Picado @jotadeveloper
e1947aaba6 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-03 20:51:23 +02:00
Juan Picado @jotadeveloper
489a5c82bd chore: update readme 2021-04-03 20:51:22 +02:00
Juan Picado @jotadeveloper
a08fd39e0e feat: migrate yarn workspaces (#1546) 2021-04-03 20:51:20 +02:00
2830 changed files with 203352 additions and 310639 deletions

245
.all-contributorsrc Normal file
View File

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

View File

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

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/middleware': patch
---
fix(middleware): pass version to allow check

View File

@@ -1,37 +0,0 @@
---
'generator-verdaccio-plugin': major
'@verdaccio/logger-prettify': major
'@verdaccio/logger-commons': major
'@verdaccio/local-storage': major
'verdaccio-auth-memory': major
'@verdaccio/file-locking': major
'verdaccio-htpasswd': major
'@verdaccio/ui-theme': major
'verdaccio-memory': major
'@verdaccio/search-indexer': major
'@verdaccio/server': major
'@verdaccio/server-fastify': major
'@verdaccio/logger': major
'verdaccio-audit': major
'@verdaccio/ui-components': major
'@verdaccio/tarball': major
'@verdaccio/eslint-config': major
'@verdaccio/test-cli-commons': major
'@verdaccio/types': major
'@verdaccio/middleware': major
'@verdaccio/cli-standalone': major
'@verdaccio/core': major
'@verdaccio/signature': major
'verdaccio': major
'@verdaccio/url': major
'@verdaccio/node-api': major
'@verdaccio/web': major
'@verdaccio/loaders': major
'@verdaccio/config': major
'@verdaccio/search': major
'@verdaccio/hooks': major
'@verdaccio/proxy': major
'@verdaccio/store': major
---
chore: move v7 next to v8 next

View File

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

View File

@@ -1,7 +0,0 @@
---
'@verdaccio/server': patch
'@verdaccio/middleware': patch
'@verdaccio/core': patch
---
chore: request header constants

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/auth': major
---
chore: move v7 next to v8 next

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/logger-commons': patch
---
chore(logger): avoid message if level remains the same

View File

@@ -1,6 +0,0 @@
---
'@verdaccio/types': patch
'@verdaccio/proxy': patch
---
chore: move agent_options to config

View File

@@ -2,33 +2,9 @@
"$schema": "https://unpkg.com/@changesets/config@1.3.0/schema.json",
"changelog": "@changesets/cli/changelog",
"commit": false,
"fixed": [
[
"verdaccio",
"@verdaccio/cli",
"@verdaccio/core",
"@verdaccio/config",
"@verdaccio/node-api",
"@verdaccio/ui-theme"
]
],
"ignoredPackages": [
"@verdaccio/test-cli-commons",
"@verdaccio/e2e-cli-npm6",
"@verdaccio/e2e-cli-npm7",
"@verdaccio/e2e-cli-npm8",
"@verdaccio/e2e-cli-npm9",
"@verdaccio/e2e-cli-npm10",
"@verdaccio/e2e-cli-npm-common",
"@verdaccio/e2e-cli-yarn1",
"@verdaccio/e2e-cli-yarn2",
"@verdaccio/e2e-cli-yarn3",
"@verdaccio/e2e-cli-yarn4",
"@verdaccio/e2e-cli-pnpm8",
"@verdaccio/e2e-cli-pnpm9",
"@verdaccio/e2e-cli-pnpm10"
],
"linked": [],
"access": "public",
"baseBranch": "master",
"updateInternalDependencies": "patch"
"baseBranch": "6.x",
"updateInternalDependencies": "patch",
"ignore": []
}

View File

@@ -1,6 +0,0 @@
---
'@verdaccio/loaders': patch
'@verdaccio/config': patch
---
chore(loader): fix types for plugin options

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/core': patch
---
chore(core): typing, naming, and docs of parameters

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/web': patch
---
chore(web): fix syntax of test files

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/types': patch
---
chore: add `error` to log level enum

View File

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

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/middleware': patch
---
fix(middleware): allow content-type with charset

View File

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

View File

@@ -1,6 +0,0 @@
---
'@verdaccio/local-storage': patch
'@verdaccio/store': patch
---
fix: code scan issues

View File

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

View File

@@ -1,8 +0,0 @@
---
'@verdaccio/server': patch
'@verdaccio/store': patch
'@verdaccio/auth': patch
'@verdaccio/web': patch
---
chore: add info to log when audit, htpasswd, theme are used

View File

@@ -1,6 +0,0 @@
---
'@verdaccio/auth': patch
'@verdaccio/api': patch
---
fix: E409 username is already registered (adduser)

View File

@@ -1,6 +0,0 @@
---
'@verdaccio/types': patch
'@verdaccio/config': patch
---
chore: fix typedocs warnings

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/store': patch
---
chore: add info to log when local storage is used

View File

@@ -1,5 +0,0 @@
---
'verdaccio-htpasswd': patch
---
chore: add debug code to htpasswd package

View File

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

View File

@@ -1,9 +0,0 @@
---
'@verdaccio/types': patch
'@verdaccio/core': patch
'verdaccio': patch
'@verdaccio/store': patch
'@verdaccio/api': patch
---
fix: unpublish a package on storage package

View File

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

View File

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

View File

@@ -1,37 +0,0 @@
---
'@verdaccio/api': minor
'@verdaccio/auth': minor
'@verdaccio/cli': minor
'@verdaccio/config': minor
'@verdaccio/core': minor
'@verdaccio/file-locking': minor
'@verdaccio/tarball': minor
'@verdaccio/types': minor
'@verdaccio/url': minor
'@verdaccio/hooks': minor
'@verdaccio/loaders': minor
'@verdaccio/logger': minor
'@verdaccio/logger-commons': minor
'@verdaccio/logger-prettify': minor
'@verdaccio/middleware': minor
'@verdaccio/node-api': minor
'verdaccio-audit': minor
'verdaccio-auth-memory': minor
'verdaccio-htpasswd': minor
'@verdaccio/local-storage': minor
'verdaccio-memory': minor
'@verdaccio/ui-theme': minor
'@verdaccio/proxy': minor
'@verdaccio/search': minor
'@verdaccio/search-indexer': minor
'@verdaccio/server': minor
'@verdaccio/signature': minor
'@verdaccio/store': minor
'generator-verdaccio-plugin': minor
'@verdaccio/ui-components': minor
'@verdaccio/utils': minor
'verdaccio': minor
'@verdaccio/web': minor
---
feat: update logger pino to latest

View File

@@ -1,6 +0,0 @@
---
'@verdaccio/ui-theme': patch
'@verdaccio/ui-components': patch
---
chore(ui): vitest follow-ups

View File

@@ -1,8 +0,0 @@
---
'@verdaccio/api': patch
'@verdaccio/core': patch
'@verdaccio/middleware': patch
'@verdaccio/proxy': patch
---
fix(middleware): error 404 when getting scoped tarballs

View File

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

View File

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

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/middleware': patch
---
fix(middleware): encoding of scope package name

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,99 +1,66 @@
{
"mode": "pre",
"tag": "next-8",
"tag": "6-next",
"initialVersions": {
"@verdaccio/test-cli-commons": "1.1.0",
"@verdaccio/e2e-cli-npm9": "1.0.1",
"@verdaccio/e2e-cli-npm6": "1.0.1",
"@verdaccio/e2e-cli-npm7": "1.0.1",
"@verdaccio/e2e-cli-npm8": "1.0.1",
"@verdaccio/e2e-cli-pnpm8": "1.0.1",
"@verdaccio/e2e-cli-pnpm9": "1.0.1",
"@verdaccio/e2e-cli-yarn1": "1.0.1",
"@verdaccio/e2e-cli-yarn2": "1.0.1",
"@verdaccio/e2e-cli-yarn3": "1.0.1",
"@verdaccio/e2e-cli-yarn4": "1.0.1",
"@verdaccio/e2e-ui": "2.0.0",
"@verdaccio/api": "7.0.0",
"@verdaccio/auth": "7.0.0",
"@verdaccio/cli": "7.0.0",
"@verdaccio/config": "7.0.0",
"@verdaccio/core": "7.0.0",
"@verdaccio/file-locking": "12.0.0",
"@verdaccio/tarball": "12.0.0",
"@verdaccio/types": "12.0.0",
"@verdaccio/url": "12.0.0",
"@verdaccio/hooks": "7.0.0",
"@verdaccio/loaders": "7.0.0",
"@verdaccio/logger": "7.0.0",
"@verdaccio/logger-commons": "7.0.0",
"@verdaccio/logger-prettify": "7.0.0",
"@verdaccio/middleware": "7.0.0",
"@verdaccio/node-api": "7.0.0",
"verdaccio-audit": "12.0.0",
"verdaccio-auth-memory": "12.0.0",
"verdaccio-htpasswd": "12.0.0",
"@verdaccio/local-storage": "12.0.0",
"verdaccio-memory": "12.0.0",
"@verdaccio/ui-theme": "7.0.0",
"@verdaccio/proxy": "7.0.0",
"@verdaccio/search": "7.0.0",
"@verdaccio/search-indexer": "7.0.0",
"@verdaccio/server": "7.0.0",
"@verdaccio/server-fastify": "7.0.0",
"@verdaccio/signature": "7.0.0",
"@verdaccio/cli-standalone": "7.0.0",
"@verdaccio/store": "7.0.0",
"docusaurus-plugin-contributors": "2.0.0",
"@verdaccio/eslint-config": "3.0.0",
"generator-verdaccio-plugin": "5.0.0",
"@verdaccio/test-helper": "3.0.0",
"@verdaccio/local-publish": "0.0.2",
"@verdaccio/crowdin-translations": "1.0.0",
"customprefix-auth": "2.0.0",
"@verdaccio/ui-components": "3.0.0",
"@verdaccio/utils": "7.0.0",
"verdaccio": "7.0.0",
"@verdaccio/web": "7.0.0",
"@verdaccio/website": "6.0.0",
"@verdaccio/e2e-cli-npm-common": "1.0.0",
"@verdaccio/e2e-cli-pnpm-common": "1.0.2-next-8.0",
"@verdaccio/e2e-cli-pnpm10": "1.0.0"
"@verdaccio/api": "6.0.0-alpha.0",
"@verdaccio/auth": "6.0.0-alpha.0",
"@verdaccio/cli": "6.0.0-alpha.0",
"@verdaccio/config": "6.0.0-alpha.0",
"@verdaccio/commons-api": "11.0.0-alpha.0",
"@verdaccio/file-locking": "11.0.0-alpha.0",
"verdaccio-htpasswd": "11.0.0-alpha.0",
"@verdaccio/local-storage": "11.0.0-alpha.0",
"@verdaccio/readme": "11.0.0-alpha.0",
"@verdaccio/streams": "11.0.0-alpha.0",
"@verdaccio/types": "11.0.0-alpha.0",
"@verdaccio/hooks": "6.0.0-alpha.0",
"@verdaccio/loaders": "6.0.0-alpha.0",
"@verdaccio/logger": "6.0.0-alpha.0",
"@verdaccio/logger-prettify": "6.0.0-alpha.0",
"@verdaccio/middleware": "6.0.0-alpha.0",
"@verdaccio/mock": "6.0.0-alpha.0",
"@verdaccio/node-api": "6.0.0-alpha.0",
"@verdaccio/proxy": "6.0.0-alpha.0",
"@verdaccio/server": "6.0.0-alpha.0",
"@verdaccio/store": "6.0.0-alpha.0",
"@verdaccio/dev-types": "6.0.0-alpha.0",
"@verdaccio/utils": "6.0.0-alpha.0",
"verdaccio": "6.0.0-alpha.0",
"@verdaccio/web": "6.0.0-alpha.0",
"@verdaccio/active-directory": "11.0.0-alpha.0",
"verdaccio-audit": "11.0.0-alpha.0",
"verdaccio-auth-memory": "11.0.0-alpha.0",
"verdaccio-aws-s3-storage": "11.0.0-alpha.0",
"verdaccio-google-cloud": "11.0.0-alpha.0",
"verdaccio-memory": "11.0.0-alpha.0",
"@verdaccio/website": "0.0.1",
"@verdaccio/ui-theme": "6.0.0-alpha.1",
"@verdaccio/e2e-cli": "1.0.0",
"@verdaccio/e2e-ui": "1.0.0",
"@verdaccio/cli-standalone": "6.0.0-alpha.3",
"@verdaccio/cli-ui": "6.0.0-alpha.3",
"@verdaccio/tarball": "11.0.0-alpha.3",
"@verdaccio/url": "11.0.0-alpha.3"
},
"changesets": [
"angry-doors-tan",
"beige-lions-type",
"blue-paws-cheer",
"chatty-apricots-report",
"clean-beds-wash",
"clever-bees-happen",
"cool-seals-watch",
"curvy-rockets-camp",
"cyan-snakes-kiss",
"early-eyes-float",
"fifty-falcons-design",
"gentle-stingrays-repeat",
"gold-squids-watch",
"green-eagles-boil",
"healthy-ducks-drive",
"healthy-zoos-lie",
"hip-eggs-serve",
"hot-crews-live",
"long-eyes-drum",
"long-singers-drive",
"lucky-crabs-enjoy",
"nine-countries-remember",
"quick-seas-deny",
"rotten-melons-notice",
"rude-birds-design",
"rude-socks-walk",
"serious-apes-rule",
"silent-bags-listen",
"stupid-camels-build",
"sweet-crabs-deliver",
"thirty-comics-trade",
"tricky-impalas-shake",
"violet-boxes-float",
"weak-cherries-serve"
"big-lobsters-sin",
"few-cooks-destroy",
"fifty-jars-rest",
"gentle-trains-switch",
"hip-hounds-destroy",
"late-adults-love",
"late-parents-act",
"modern-spies-tell",
"neat-toes-report",
"perfect-kangaroos-agree",
"plenty-news-remember",
"plenty-spiders-melt",
"plenty-tables-refuse",
"pretty-hounds-tap",
"shiny-chefs-heal",
"smart-apricots-kneel",
"spicy-frogs-press",
"tender-bags-call",
"three-pots-sit"
]
}

View File

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

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/loaders': minor
---
chore: remove logger as dependency

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/middleware': patch
---
chore(middleware): fix syntax of test files

View File

@@ -1,5 +0,0 @@
---
'verdaccio': patch
---
chore: encode parts of URL

View File

@@ -1,6 +0,0 @@
---
'@verdaccio/types': patch
'@verdaccio/store': patch
---
feat: keep_readmes option when publishing packages

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/ui-components': patch
---
chore(ui): replace react-json-view

View File

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

View File

@@ -1,9 +0,0 @@
---
'@verdaccio/logger-commons': patch
'@verdaccio/local-storage': patch
'@verdaccio/test-helper': patch
'@verdaccio/core': patch
'verdaccio': patch
---
chore(tests): temp folder naming

View File

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

View File

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

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/api': patch
---
chore(api): fix void return for some tests

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/ui-components': patch
---
chore(ui): typing for Theme

View File

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

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/local-storage': patch
---
chore: local storage debug messages

View File

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

View File

@@ -1,6 +0,0 @@
---
'@verdaccio/local-storage': patch
'@verdaccio/store': patch
---
chore: tweak error logging messages

View File

@@ -1,6 +0,0 @@
---
'@verdaccio/store': patch
'@verdaccio/tarball': patch
---
fix(api): add logging when requesting tarball

View File

@@ -1,18 +0,0 @@
---
'@verdaccio/logger-commons': patch
'@verdaccio/file-locking': patch
'@verdaccio/ui-theme': patch
'@verdaccio/search-indexer': patch
'@verdaccio/server': patch
'@verdaccio/server-fastify': patch
'@verdaccio/test-helper': patch
'@verdaccio/middleware': patch
'verdaccio': patch
'@verdaccio/node-api': patch
'@verdaccio/auth': patch
'@verdaccio/api': patch
'@verdaccio/cli': patch
'@verdaccio/web': patch
---
chore: auth package requires logger as parameter

View File

@@ -22,6 +22,7 @@ jest
docs
contrib
docker-examples
website
systemd
# output from test runs and similar things

View File

@@ -4,17 +4,8 @@
**/types/custom.d.ts
build/
coverage/
flow-typed/
node_modules/
static/
website/
wiki/
dist/
docs/
test/functional/store/*
docker-examples/**/lib/**/*.js
test/cli/e2e-yarn4/bin/yarn-4.0.0-rc.14.cjs
yarn.js
# storybook
packages/ui-components/storybook-static
dist.js
bundle.js

102
.eslintrc Normal file
View File

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

View File

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

View File

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

View File

@@ -7,5 +7,8 @@ contact_links:
url: https://github.com/verdaccio/verdaccio/security/policy
about: I want to report a security vulnerability
- name: Chat 🏘
url: https://discord.gg/7qWJxBf
about: Quick question? Try out Discord chat, you can get faster feedback
url: http://chat.verdaccio.org
about: For a quick question you should do it through our community chat
- name: User Interface Report 👩🏼‍🎨👨🏼‍🎨
url: https://github.com/verdaccio/ui/issues/new/choose
about: Any report related with the User Interface should be posted in another repository

View File

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

View File

@@ -1,22 +0,0 @@
name: 'Build app'
description: 'build verdaccio application'
inputs:
registry-url:
description: 'Registry URL for pnpm'
required: false
default: 'http://localhost:4873'
node-version:
description: 'Node.js version to use'
required: true
runs:
using: composite
steps:
- name: Install dependencies with a custom registry version ${{ inputs.node-version }}
uses: ./.github/actions/install-app-node
with:
node-version: ${{ inputs.node_version }}
- name: build
run: pnpm build
shell: bash

View File

@@ -1,12 +0,0 @@
name: 'Cache packages'
description: 'get or set cache packages'
runs:
using: composite
steps:
- name: Cache Packages
id: cache-packages
uses: actions/cache@6849a6489940f00c2f30c0fb92c6274307ccb58a # v4.0.2
with:
path: ./packages/
key: pkg-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}

View File

@@ -1,15 +0,0 @@
name: 'Cache build'
description: 'get or set cache build'
runs:
using: composite
steps:
- name: Cache .pnpm-store
id: cache-npm
uses: actions/cache@6849a6489940f00c2f30c0fb92c6274307ccb58a # v4.0.2
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('**/pnpm-lock.yaml') }}-${{ github.event.pull_request.number }}-${{ runner.os }}
restore-keys: |
pnpm-

View File

@@ -1,50 +0,0 @@
name: 'Install app with Node specific version'
description: 'install application'
inputs:
registry-url:
description: 'Registry URL for pnpm'
required: false
default: 'http://localhost:4873'
reporter:
description: 'Reporter for pnpm'
required: false
default: 'silent'
loglevel:
description: 'Log level for pnpm'
required: false
default: 'error'
node-version:
description: 'Node.js version to use'
required: true
runs:
using: composite
steps:
- name: Use Node
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: ${{ inputs.node-version }}
- name: Install pnpm
run: |
corepack enable
corepack prepare
shell: bash
- name: set store
run: |
if [ ! -d "$HOME/.pnpm-store" ]; then
mkdir -p $HOME/.pnpm-store
pnpm config set store-dir $HOME/.pnpm-store
else
echo "Store directory already exists. Skipping configuration."
fi
shell: bash
- name: Restore cache pnpm store
uses: ./.github/actions/cache-store
- name: Install
run: pnpm install --reporter=${{inputs.reporter}} --ignore-scripts --registry ${{ inputs.registry-url }} --loglevel=${{ inputs.loglevel }}
shell: bash
- name: Save cache pnpm store
if: steps.cache-npm.outputs.cache-hit == 'false'
uses: ./.github/actions/cache-store

View File

@@ -1,39 +0,0 @@
name: 'Install app'
description: 'install application'
inputs:
registry-url:
description: 'Registry URL for pnpm'
required: false
default: 'http://localhost:4873'
reporter:
description: 'Reporter for pnpm'
required: false
default: 'silent'
runs:
using: composite
steps:
- name: Use Node
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version-file: '.nvmrc'
- name: Install pnpm
run: |
corepack enable
corepack prepare
shell: bash
- name: set store
run: |
mkdir ~/.pnpm-store
pnpm config set store-dir ~/.pnpm-store
shell: bash
- name: Restore cache pnpm store
uses: ./.github/actions/cache-store
- name: Install
run: pnpm install --reporter=${{inputs.reporter}} --ignore-scripts --registry ${{ inputs.registry-url }}
shell: bash
- name: Save cache pnpm store
if: steps.cache-npm.outputs.cache-hit == 'false'
uses: ./.github/actions/cache-store

View File

@@ -8,11 +8,18 @@ updates:
# Maintain dependencies for GitHub Actions
- package-ecosystem: 'github-actions'
directory: '/'
open-pull-requests-limit: 1
prefix: "[github-actions] "
assignees:
- 'verdacciobot'
schedule:
interval: 'monthly'
interval: 'weekly'
# Maintain dependencies for npm
- package-ecosystem: 'npm'
directory: '/'
schedule:
interval: 'daily'
allow:
- dependency-name: '@verdaccio/*'
- dependency-name: 'verdaccio-*'
assignees:
- 'verdacciobot'
labels:
- 'bot: dependencies'

View File

@@ -1,148 +0,0 @@
name: CI windows
on:
workflow_dispatch:
schedule:
- cron: '5 0 * * SUN'
permissions:
contents: read
jobs:
prepare:
runs-on: ubuntu-latest
name: setup verdaccio
services:
verdaccio:
image: verdaccio/verdaccio:nightly-master
ports:
- 4873:4873
env:
NODE_ENV: production
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
- name: Node
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm
run: |
corepack enable
corepack install
- name: set store
run: |
mkdir ~/.pnpm-store
pnpm config set store-dir ~/.pnpm-store
- name: Install
run: pnpm install --registry http://localhost:4873
- name: Cache .pnpm-store
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
restore-keys: |
pnpm-
lint:
runs-on: windows-latest
name: Lint
needs: prepare
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
- name: Node
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm
run: npm i pnpm@latest-8 -g
- uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
- name: set store
run: |
mkdir ~/.pnpm-store
pnpm config set store-dir ~/.pnpm-store
- name: Install
run: pnpm install --offline --reporter=silence --ignore-scripts
- name: Lint
run: pnpm lint
format:
runs-on: windows-latest
name: Format
needs: prepare
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
- name: Use Node
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm
run: npm i pnpm@latest-8 -g
- uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
- name: set store
run: |
mkdir ~/.pnpm-store
pnpm config set store-dir ~/.pnpm-store
- name: Install
run: pnpm install --offline --reporter=silence --ignore-scripts
- name: Lint
run: pnpm format:check
build:
needs: [format, lint]
strategy:
fail-fast: true
matrix:
os: [windows-latest]
node_version: [18]
name: ${{ matrix.os }} / Node ${{ matrix.node_version }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
- name: Use Node ${{ matrix.node_version }}
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
with:
node-version: ${{ matrix.node_version }}
- name: Install pnpm
run: npm i pnpm@latest-8 -g
- uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
- name: set store
run: |
mkdir ~/.pnpm-store
pnpm config set store-dir ~/.pnpm-store
- name: Install
run: pnpm install --offline --reporter=silence --ignore-scripts --registry http://localhost:4873
- name: build
run: pnpm build
- name: Test
run: pnpm test
ci-e2e-ui:
needs: [format, lint]
runs-on: windows-latest
name: UI Test E2E
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm
run: npm i pnpm@latest-8 -g
- uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
- name: set store
run: |
mkdir ~/.pnpm-store
pnpm config set store-dir ~/.pnpm-store
- name: Install
run: pnpm install --offline --reporter=silence --registry http://localhost:4873
- name: build
run: pnpm build
- name: Test UI
run: pnpm test:e2e:ui
# env:
# DEBUG: verdaccio:e2e*

View File

@@ -1,39 +0,0 @@
name: E2E Docker Proxy Plugins Test
on:
workflow_dispatch:
push:
branches:
- 'master'
schedule:
# run every sunday
- cron: '0 0 * * 0'
jobs:
docker:
timeout-minutes: 10
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
- name: Start containers
run: docker compose -f "./e2e/docker/docker-build-install-plugin/docker-compose.yaml" up -d --build
- name: Install node
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3
with:
node-version: 18
- name: verdaccio cli
run: npm install -g verdaccio --registry=http://localhost:4873
- name: gastby cli
run: npm install -g gatsby-cli --registry http://localhost:4873
- name: netlify cli
run: npm install -g netlify-cli --registry http://localhost:4873
- name: angular cli
run: npm install -g @angular/cli --registry http://localhost:4873
- name: Stop containers
if: always()
run: docker compose -f "./e2e/docker/docker-build-install-plugin/docker-compose.yaml" down

6
.github/stale.yml vendored
View File

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

View File

@@ -6,7 +6,7 @@ on:
push:
branches:
- master
- 6.x
env:
CI: true
@@ -17,39 +17,36 @@ jobs:
version:
timeout-minutes: 14
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/master' && github.repository == 'verdaccio/verdaccio'
if: github.ref == 'refs/heads/6.x' && github.repository == 'verdaccio/verdaccio'
steps:
- name: checkout code repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: setup node.js
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
uses: actions/setup-node@v2
with:
node-version-file: '.nvmrc'
node-version: 14
registry-url: 'https://registry.verdaccio.org'
env:
NODE_AUTH_TOKEN: ${{ secrets.REGISTRY_AUTH_TOKEN }}
NODE_AUTH_TOKEN: ${{ secrets.VERDACCIO_TOKEN }}
- name: Install pnpm
run: |
corepack enable
corepack install
- name: install pnpm
run: npm i pnpm@latest -g
env:
NODE_AUTH_TOKEN: ${{ secrets.VERDACCIO_TOKEN }}
- name: setup pnpm config
run: pnpm config set store-dir $PNPM_CACHE_FOLDER
- name: setup pnpm config registry
run: pnpm config set registry https://registry.npmjs.org
run: pnpm config set registry https://registry.verdaccio.org
- name: install dependencies
run: pnpm install
env:
NODE_AUTH_TOKEN: ${{ secrets.REGISTRY_AUTH_TOKEN }}
- name: crowdin download
env:
CROWDIN_VERDACCIO_API_KEY: ${{ secrets.CROWDIN_VERDACCIO_API_KEY }}
CONTEXT: production
run: pnpm crowdin:download
NODE_AUTH_TOKEN: ${{ secrets.VERDACCIO_TOKEN }}
- name: build
run: pnpm build
@@ -60,10 +57,7 @@ jobs:
commit: 'chore: update versions'
title: 'chore: update versions'
publish: pnpm ci:publish
createGithubReleases: false
setupGitUser: false
env:
GITHUB_TOKEN: ${{ secrets.CHANGESET_RELEASE_TOKEN }}
NPM_TOKEN: ${{ secrets.REGISTRY_AUTH_TOKEN }}
NODE_AUTH_TOKEN: ${{ secrets.REGISTRY_AUTH_TOKEN }}
NPM_CONFIG_REGISTRY: https://registry.npmjs.org
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.VERDACCIO_TOKEN }}
NODE_AUTH_TOKEN: ${{ secrets.VERDACCIO_TOKEN }}

45
.github/workflows/ci-e2e-ui.yml vendored Normal file
View File

@@ -0,0 +1,45 @@
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*

45
.github/workflows/ci-e2e.yml vendored Normal file
View File

@@ -0,0 +1,45 @@
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*

49
.github/workflows/ci-pnpm-dev.yml vendored Normal file
View File

@@ -0,0 +1,49 @@
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:*

39
.github/workflows/ci-website.yml vendored Normal file
View File

@@ -0,0 +1,39 @@
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

@@ -2,113 +2,48 @@ name: CI
on:
push:
branches:
- 6.x
- 'changeset-release/6.x'
pull_request:
paths:
- .changeset/**
- .github/workflows/ci.yml
- 'packages/**'
- 'test/**'
- 'docker-examples/**'
- 'jest/**'
- 'package.json'
- 'pnpm-workspace.yaml'
permissions:
contents: read
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
jobs:
prepare:
runs-on: ubuntu-latest
name: setup verdaccio
services:
verdaccio:
image: verdaccio/verdaccio:6
ports:
- 4873:4873
env:
NODE_ENV: production
options: >-
--health-cmd="curl -f http://0.0.0.0:4873/-/ping || exit 1"
--health-interval=10s
--health-timeout=20s
--health-retries=6
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Install dependencies with a custom registry
uses: ./.github/actions/install-app
lint:
runs-on: ubuntu-latest
name: Lint
needs: prepare
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Install dependencies with a custom registry
uses: ./.github/actions/install-app
with:
reporter: 'default'
- name: Lint
run: pnpm lint
format:
runs-on: ubuntu-latest
name: Format
needs: prepare
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Install dependencies with a custom registry
uses: ./.github/actions/install-app
with:
reporter: 'default'
- name: Lint
run: pnpm format:check
test:
needs: [prepare]
ci:
strategy:
fail-fast: true
fail-fast: false
matrix:
os: [ubuntu-latest]
node_version: [18, 20, 21, 22, 23]
os: [ubuntu-latest, windows-latest]
node_version: [12, 14]
name: ${{ matrix.os }} / Node ${{ matrix.node_version }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Build application with Node ${{ matrix.node_version }}
uses: ./.github/actions/build-app
- 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 pnpm@latest -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
sync-translations:
needs: [test]
runs-on: ubuntu-latest
name: synchronize translations
if: (github.event_name == 'push' && github.ref == 'refs/heads/master' && github.repository == 'verdaccio/verdaccio') || github.event_name == 'workflow_dispatch'
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version-file: '.nvmrc'
- name: Install pnpm
run: |
corepack enable
corepack install
- uses: actions/cache@6849a6489940f00c2f30c0fb92c6274307ccb58a # v4.0.2
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
- name: set store
run: |
pnpm config set store-dir ~/.pnpm-store
- name: Install
## we need scripts, pupetter downloads aditional content
run: pnpm install --registry http://localhost:4873
- name: build
run: pnpm build
- name: generate website translations
run: pnpm --filter ...@verdaccio/website write-translations
- name: sync
env:
CROWDIN_VERDACCIO_API_KEY: ${{ secrets.CROWDIN_VERDACCIO_API_KEY }}
CONTEXT: production
run: pnpm crowdin:sync
DEBUG: verdaccio:web:*

View File

@@ -1,48 +1,38 @@
name: 'CodeQL Analysis'
name: 'Code scanning - action'
on:
push:
paths:
- .github/workflows/codeql-analysis.yml
- 'packages/**'
branches-ignore:
- 5.x
- 'changeset-release/6.x'
- 'dev/**'
pull_request:
paths:
- .github/workflows/codeql-analysis.yml
- .github/workflows/ci.yml
- 'packages/**'
schedule:
- cron: '0 2 * * 4'
permissions:
contents: read
concurrency:
group: code-${{ github.ref }}
cancel-in-progress: true
jobs:
CodeQL-Build:
permissions:
actions: read # for github/codeql-action/init to get workflow details
contents: read # for actions/checkout to fetch code
security-events: write # for github/codeql-action/autobuild to send a status report
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@v2.3.1
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
fetch-depth: 2
# If this run was triggered by a pull request event, then checkout
# the head of the pull request instead of the merge commit.
- run: git checkout HEAD^2
if: ${{ github.event_name == 'pull_request' }}
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@f09c1c0a94de965c15400f5634aa42fac8fb8f88 # v3.27.5
with:
config: |
paths-ignore:
- packages/config/test/partials/config/js/invalid.js
- packages/middleware/test/static/js
uses: github/codeql-action/init@v1
# Override language selection by uncommenting this and choosing your languages
# with:
@@ -50,7 +40,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@f09c1c0a94de965c15400f5634aa42fac8fb8f88 # v3.27.5
uses: github/codeql-action/autobuild@v1
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
@@ -64,4 +54,4 @@ jobs:
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@f09c1c0a94de965c15400f5634aa42fac8fb8f88 # v3.27.5
uses: github/codeql-action/analyze@v1

View File

@@ -1,49 +0,0 @@
name: E2E Docker Proxy Apache Test
concurrency:
group: docker-apache-${{ github.ref }}
cancel-in-progress: true
on:
workflow_dispatch:
push:
branches:
- 'master'
schedule:
# run every sunday
- cron: '0 0 * * 0'
jobs:
docker:
timeout-minutes: 10
runs-on: ubuntu-20.04
env:
NODE_OPTIONS: --max_old_space_size=4096
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Start containers
run: docker compose -f "./e2e/docker/apache-verdaccio/docker-compose.yaml" up -d --build
- name: Install node
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version-file: '.nvmrc'
- name: npm setup
run: |
npm config set fetch-retries="10"
npm config set fetch-retry-factor="50"
npm config set fetch-retry-mintimeout="20000"
npm config set fetch-retry-maxtimeout="80000"
- name: verdaccio cli
run: npm install -g verdaccio --registry http://localhost
- name: gastby cli
run: npm install -g gatsby-cli --registry http://localhost
# - name: netlify cli
# run: npm install -g netlify-cli --registry http://localhost
- name: angular cli
run: npm install -g @angular/cli --registry http://localhost
- name: Stop containers
if: always()
run: docker compose -f "./e2e/docker/apache-verdaccio/docker-compose.yaml" down

View File

@@ -1,47 +0,0 @@
name: E2E Docker Proxy Nginx Test
concurrency:
group: docker-nginx-${{ github.ref }}
cancel-in-progress: true
on:
workflow_dispatch:
push:
branches:
- 'master'
jobs:
docker:
timeout-minutes: 10
runs-on: ubuntu-20.04
env:
NODE_OPTIONS: --max_old_space_size=4096
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Start containers
run: docker compose -f "./e2e/docker/proxy-nginx/docker-compose.yaml" up -d --build
- name: Install node
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version-file: '.nvmrc'
- name: npm setup
run: |
npm config set fetch-retries="10"
npm config set fetch-retry-factor="50"
npm config set fetch-retry-mintimeout="20000"
npm config set fetch-retry-maxtimeout="80000"
- name: verdaccio cli
run: npm install -g verdaccio --registry http://localhost
- name: gastby cli
run: npm install -g gatsby-cli --registry http://localhost
#- name: netlify cli
# run: npm install -g netlify-cli --registry http://localhost
- name: angular cli
run: npm install -g @angular/cli --registry http://localhost
- name: Stop containers
if: always()
run: docker compose -f "./e2e/docker/proxy-nginx/docker-compose.yaml" down

View File

@@ -0,0 +1,30 @@
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,20 +12,15 @@ on:
- 'Dockerfile'
- '.dockerignore'
branches:
- 'master'
- '6.x'
tags:
- 'v*'
permissions:
contents: read # to fetch code (actions/checkout)
jobs:
docker:
runs-on: ubuntu-latest
if: github.repository == 'verdaccio/verdaccio'
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: docker/setup-qemu-action@49b3bc8e6bdd4a60e6116a5414239cba5943d3cf # v3.2.0
- uses: actions/checkout@v2
- uses: docker/setup-qemu-action@v1
- uses: docker/setup-buildx-action@v1
with:
driver-opts: network=host
@@ -39,19 +34,18 @@ jobs:
uses: crazy-max/ghaction-docker-meta@v1
with:
images: ${{ github.repository }}
tag-custom: nightly-master
tag-custom-only: ${{ github.ref == 'refs/heads/master' }}
tag-latest: false
tag-custom: 6.x-next
tag-custom-only: ${{ github.ref == 'refs/heads/6.x' }}
tag-semver: |
{{version}}
{{major}}
{{major}}.{{minor}}
- name: Build & Push
uses: docker/build-push-action@v6
uses: docker/build-push-action@v2
with:
context: .
file: ./Dockerfile
platforms: linux/amd64,linux/arm64
platforms: linux/amd64
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.docker_meta.outputs.tags }}
labels: ${{ steps.docker_meta.outputs.labels }}

View File

@@ -1,117 +0,0 @@
name: E2E CLI
on: [pull_request]
permissions:
contents: read
concurrency:
group: e2e-ci-${{ github.ref }}
cancel-in-progress: true
jobs:
prepare:
runs-on: ubuntu-latest
name: setup e2e verdaccio
services:
verdaccio:
image: verdaccio/verdaccio:nightly-master
ports:
- 4873:4873
env:
NODE_ENV: production
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Install dependencies with a custom registry
uses: ./.github/actions/install-app
build:
needs: [prepare]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Build application with Node ${{ matrix.node_version }}
uses: ./.github/actions/build-app
with:
node-version: ${{ matrix.node_version }}
- name: Cache packages
uses: ./.github/actions/cache-packages
e2e-cli-npm:
needs: [prepare, build]
strategy:
fail-fast: false
matrix:
pkg:
[
npm6,
npm7,
npm8,
npm9,
npm10
]
node: [18, 23]
name: ${{ matrix.pkg }}/ ubuntu-latest / ${{ matrix.node }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Install dependencies with a custom registry version ${{ inputs.node-version }}
uses: ./.github/actions/install-app-node
with:
node-version: ${{ inputs.node_version }}
reporter: 'default'
loglevel: 'debug'
- name: Restore cache pnpm store
uses: ./.github/actions/cache-packages
- name: Test CLI
run: NODE_ENV=production pnpm test --filter ...@verdaccio/e2e-cli-${{matrix.pkg}}
e2e-cli-pnpm:
needs: [prepare, build]
strategy:
fail-fast: true
matrix:
pkg:
[
pnpm8,
pnpm9,
pnpm10,
]
node: [18, 23]
name: ${{ matrix.pkg }}/ ubuntu-latest / ${{ matrix.node }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Install dependencies with a custom registry version ${{ inputs.node-version }}
uses: ./.github/actions/install-app-node
with:
node-version: ${{ inputs.node_version }}
reporter: 'default'
loglevel: 'debug'
- name: Restore cache pnpm store
uses: ./.github/actions/cache-packages
- name: Test CLI
run: NODE_ENV=production pnpm test --filter ...@verdaccio/e2e-cli-${{matrix.pkg}}
e2e-cli-yarn:
needs: [prepare, build]
strategy:
fail-fast: false
matrix:
pkg:
[
yarn1,
yarn2,
yarn3,
yarn4
]
node: [18, 23]
name: ${{ matrix.pkg }}/ ubuntu-latest / ${{ matrix.node }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Install dependencies with a custom registry version ${{ inputs.node-version }}
uses: ./.github/actions/install-app-node
with:
node-version: ${{ inputs.node_version }}
reporter: 'default'
loglevel: 'debug'
- name: Restore cache pnpm store
uses: ./.github/actions/cache-packages
- name: Test CLI
run: NODE_ENV=production pnpm test --filter ...@verdaccio/e2e-cli-${{matrix.pkg}}

View File

@@ -1,32 +0,0 @@
name: E2E UI
on: [pull_request]
permissions:
contents: read
concurrency:
group: e2e-ui-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
runs-on: ubuntu-latest
name: UI Test E2E
services:
verdaccio:
image: verdaccio/verdaccio:6
ports:
- 4873:4873
env:
NODE_ENV: production
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Build application with Node 20
uses: ./.github/actions/build-app
with:
node-version: 20
- name: Test UI
run: pnpm test:e2e:ui
- uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
with:
name: videos
path: /home/runner/work/verdaccio/verdaccio/e2e/ui/cypress/videos

View File

@@ -1,40 +0,0 @@
name: E2E Generator Verdaccio Plugin
on:
pull_request:
workflow_dispatch:
push:
branches:
- 'master'
concurrency:
group: generator-plugin-${{ github.ref }}
cancel-in-progress: true
jobs:
e2e-plugin-generator:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [20, 22, 23]
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Build application with Node ${{ matrix.node_version }}
uses: ./.github/actions/build-app
with:
node-version: ${{ matrix.node_version }}
- name: install verdaccio
run: npm install -g verdaccio@5
- name: Start server
run: verdaccio -c e2e/docker/generator-e2e/generator.yaml &
- name: ping server
run: curl http://localhost:4873/-/ping
- name: login
run: npx npm-cli-login -u test -p test -e test@domain.test -r http://localhost:4873
- name: publish
run: pnpm local:publish
- name: install yeoman
run: npm install -g yo@4 --loglevel=info
- name: install generator
run: npm install -g generator-verdaccio-plugin --loglevel=info --registry http://localhost:4873
# Future: add a test to verify the plugin is working with prompt

View File

@@ -1,56 +0,0 @@
name: Docker publish to docker.io
on:
workflow_call:
inputs:
tag-latest:
required: true
type: boolean
description: 'Tag as latest'
default: false
tag-custom:
required: true
type: string
description: 'Custom tag'
default: 'nightly-master'
tag-custom-only:
required: true
type: boolean
description: 'Custom tag only'
default: false
jobs:
docker:
runs-on: ubuntu-latest
if: github.repository == 'verdaccio/verdaccio'
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: docker/setup-qemu-action@49b3bc8e6bdd4a60e6116a5414239cba5943d3cf # v3.2.0
- uses: docker/setup-buildx-action@v1
with:
driver-opts: network=host
- uses: docker/login-action@v1
name: Login Docker Hub
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Prepare docker image tags
id: docker_meta
uses: crazy-max/ghaction-docker-meta@v1
with:
images: ${{ github.repository }}
tag-custom: ${{ inputs.tag-custom }}
tag-custom-only: ${{ inputs.tag-custom-only }}
tag-latest: ${{ inputs.tag-latest }}
tag-semver: |
{{version}}
{{major}}
{{major}}.{{minor}}
- name: Build & Push
uses: docker/build-push-action@v6
with:
context: .
file: ./Dockerfile
platforms: linux/amd64,linux/arm64
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.docker_meta.outputs.tags }}
labels: ${{ steps.docker_meta.outputs.labels }}

View File

@@ -1,53 +0,0 @@
---
name: static data
on:
workflow_dispatch:
# pull_request:
schedule:
# twice peer week
- cron: '0 0 * * 1,4'
# for now, scheduled, we can enable on push master but not make much sense now
# push:
# branches:
# - master
permissions:
contents: read # to fetch code (actions/checkout)
jobs:
prepare:
name: Run script
runs-on: ubuntu-latest
if: github.repository == 'verdaccio/verdaccio'
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
fetch-depth: 0
- name: Install dependencies with a custom registry
uses: ./.github/actions/install-app
with:
reporter: 'default'
- name: Build Translations percentage
run: pnpm --filter @verdaccio/crowdin-translations build
- name: update contributors
run: pnpm run contributors
env:
TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: update addson data
run: pnpm script:addson
- name: update translations
run: pnpm run translations
env:
TOKEN: ${{ secrets.CROWDIN_VERDACCIO_API_KEY }}
- name: format
run: pnpm format
- name: Commit & Push changes
uses: actions-js/push@5a7cbd780d82c0c937b5977586e641b2fd94acc5 # tag=v1.5
with:
github_token: ${{ secrets.TOKEN_VERDACCIOBOT_GITHUB }}
message: "chore: updated static data"
branch: master
author_email: verdaccio.npm@gmail.com
author_name: verdacciobot

View File

@@ -1,13 +0,0 @@
on:
workflow_call:
jobs:
testDocker:
name: Test Docker Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Build
run: docker build .
env:
VERDACCIO_BUILD_REGISTRY: https://registry.npmjs.org

View File

@@ -1,13 +0,0 @@
on:
workflow_call:
jobs:
testVerdaccio:
name: Test Verdaccio Publish
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Publish
uses: verdaccio/github-actions/publish@f2e0370cfa5d74d24c325017b701bfddc9cc2e5d # tag=v0.4.0
with:
args: -d

View File

@@ -1,47 +0,0 @@
name: UI Components
on:
# pull_request:
workflow_dispatch:
# schedule:
# - cron: '0 0 * * *'
permissions:
contents: read # to fetch code (actions/checkout)
env:
DEBUG: verdaccio*
jobs:
deploy:
permissions:
contents: read # to fetch code (actions/checkout)
deployments: write
pull-requests: write # to comment on pull-requests
runs-on: ubuntu-latest
if: github.repository == 'verdaccio/verdaccio'
env:
NODE_OPTIONS: --max_old_space_size=4096
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Install dependencies with a custom registry
uses: ./.github/actions/install-app
- name: Install pnpm
run: |
corepack enable
corepack prepare
- name: Install
run: pnpm install
- name: Build storybook
run: pnpm ui:storybook:build
- name: Copy public content
# the msw.js worker is need it at the storybook-static folder in production
run: cp -R packages/ui-components/public/* packages/ui-components/storybook-static
- name: Deploy to Netlify
env:
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_UI_SITE_ID }}
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
run: pnpm --filter ...@verdaccio/ui-components netlify:ui:deploy

View File

@@ -1,58 +0,0 @@
name: Verdaccio Website CI
on:
workflow_dispatch:
permissions:
contents: read # to fetch code (actions/checkout)
concurrency:
group: website-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
permissions:
contents: read # to fetch code (actions/checkout)
deployments: write
pull-requests: write # to comment on pull-requests
runs-on: ubuntu-latest
if: github.repository == 'verdaccio/verdaccio'
name: setup verdaccio
services:
verdaccio:
image: verdaccio/verdaccio:6
ports:
- 4873:4873
env:
NODE_ENV: production
env:
NODE_OPTIONS: --max_old_space_size=4096
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Build application with Node 20
uses: ./.github/actions/build-app
with:
node-version: 20
- name: Build Translations percentage
run: pnpm --filter @verdaccio/crowdin-translations build
- name: Cache Docusaurus Build
uses: actions/cache@6849a6489940f00c2f30c0fb92c6274307ccb58a # v4.0.2
with:
path: website/node_modules/.cache/webpack
key: cache/webpack-${{github.ref}}-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: cache/webpack-${{github.ref}}
- name: Build Production
if: (github.event_name == 'push' && github.ref == 'refs/heads/master') || github.event_name == 'workflow_dispatch'
env:
CROWDIN_VERDACCIO_API_KEY: ${{ secrets.CROWDIN_VERDACCIO_API_KEY }}
SENTRY_KEY: ${{ secrets.SENTRY_KEY }}
CONTEXT: production
run: pnpm --filter @verdaccio/website netlify:build
- name: Deploy to Netlify
if: (github.event_name == 'push' && github.ref == 'refs/heads/master') || github.event_name == 'workflow_dispatch'
env:
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }}
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
run: pnpm --filter ...@verdaccio/website netlify:deploy

View File

@@ -1,114 +0,0 @@
on:
workflow_call:
jobs:
npm8:
name: 'npm8:angular example'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: 'Use Node.js'
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version-file: '.nvmrc'
- name: 'install latest npm'
run: npm i -g npm@next-8
- name: Install Dependencies
run: yarn install
- name: 'Run verdaccio in the background'
run: |
nohup yarn node ./scripts/run-verdaccio.js --config ./scripts/e2e-config.yaml &
- name: 'Ping to verdaccio'
run: |
npm ping --registry http://localhost:4873
- name: 'Running the integration test'
run: |
source scripts/e2e-setup-ci.sh
echo "registry=http://localhost:4873" > ~/.npmrc
npm config set loglevel="silent"
npm config set fetch-retries="5"
npm config set fetch-retry-factor="50"
npm config set fetch-retry-mintimeout="20000"
npm config set fetch-retry-maxtimeout="80000"
npm install -g @angular/cli
ng new verdaccio-angular --interactive=false
cd verdaccio-angular
npm install @angular-devkit/core@next @babel/preset-env @babel/core -D
npm run ng build --aot
npm9:
name: 'npm9:angular example'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: 'Use Node.js'
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version-file: '.nvmrc'
- name: 'install latest npm 9'
run: npm i -g npm@next-9
- name: Install Dependencies
run: yarn install
- name: 'Run verdaccio in the background'
run: |
nohup yarn node ./scripts/run-verdaccio.js --config ./scripts/e2e-config.yaml &
- name: 'Ping to verdaccio'
run: |
npm ping --registry http://localhost:4873
- name: 'Running the integration test'
run: |
source scripts/e2e-setup-ci.sh
echo "registry=http://localhost:4873" > ~/.npmrc
npm config set loglevel="silent"
npm config set fetch-retries="5"
npm config set fetch-retry-factor="50"
npm config set fetch-retry-mintimeout="20000"
npm config set fetch-retry-maxtimeout="80000"
npm install -g @angular/cli
ng new verdaccio-angular --interactive=false
cd verdaccio-angular
npm install @angular-devkit/core@next @babel/preset-env @babel/core -D
npm run ng build --aot
npm10:
name: 'npm10:angular example'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: 'Use Node.js'
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version-file: '.nvmrc'
- name: 'install latest npm 10'
run: npm i -g npm@next-10
- name: Install Dependencies
run: yarn install
- name: 'Run verdaccio in the background'
run: |
nohup yarn node ./scripts/run-verdaccio.js --config ./scripts/e2e-config.yaml &
- name: 'Ping to verdaccio'
run: |
npm ping --registry http://localhost:4873
- name: 'Running the integration test'
run: |
source scripts/e2e-setup-ci.sh
echo "registry=http://localhost:4873" > ~/.npmrc
npm config set loglevel="info"
npm config set fetch-retries="5"
npm config set fetch-retry-factor="50"
npm config set fetch-retry-mintimeout="20000"
npm config set fetch-retry-maxtimeout="80000"
npm install -g @angular/cli
ng new verdaccio-angular --interactive=false
cd verdaccio-angular
npm install @angular-devkit/core@next @babel/preset-env @babel/core -D
npm run ng build --aot

View File

@@ -1,31 +0,0 @@
on:
workflow_call:
jobs:
npm10:
name: 'npm10:audit example'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: 'Use Node.js'
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version-file: '.nvmrc'
- name: 'install latest npm 10'
run: npm i -g npm@next-10
- name: Install Dependencies
run: yarn install
- name: 'Run verdaccio in the background'
run: |
nohup yarn node ./scripts/run-verdaccio.js --config ./scripts/e2e-config.yaml &
- name: 'Ping to verdaccio'
run: |
npm ping --registry http://localhost:4873
- name: 'Running the integration test'
run: |
source scripts/e2e-setup-ci.sh
npm init --yes
npm install next --registry http://localhost:4873 --loglevel info
npm audit

View File

@@ -1,74 +0,0 @@
on:
workflow_call:
jobs:
npm9:
name: 'npm9:gatsby example'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: 'Use Node.js'
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version-file: '.nvmrc'
- name: 'install npm 9'
run: npm i -g npm@next-9
- name: Install Dependencies
run: yarn install
- name: 'Run verdaccio in the background'
run: |
nohup yarn node ./scripts/run-verdaccio.js --config ./scripts/e2e-config.yaml &
- name: 'Ping to verdaccio'
run: |
npm ping --registry http://localhost:4873
- name: 'Running the integration test'
run: |
source scripts/e2e-setup-ci.sh
echo "registry=http://localhost:4873
loglevel="info"
fetch-retries=10
fetch-retry-factor=2
fetch-retry-mintimeout=10000
fetch-retry-maxtimeout=80000" > ~/.npmrc
npm config list
npm i -g gatsby@latest
gatsby new my-gatsby
cd my-gatsby
npm run build
npm10:
name: 'npm10:gatsby example'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: 'Use Node.js'
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version-file: '.nvmrc'
- name: 'install npm 10'
run: npm i -g npm@next-10
- name: Install Dependencies
run: yarn install
- name: 'Run verdaccio in the background'
run: |
nohup yarn node ./scripts/run-verdaccio.js --config ./scripts/e2e-config.yaml &
- name: 'Ping to verdaccio'
run: |
npm ping --registry http://localhost:4873
- name: 'Running the integration test'
run: |
source scripts/e2e-setup-ci.sh
echo "registry=http://localhost:4873
loglevel="info"
fetch-retries=10
fetch-retry-factor=2
fetch-retry-mintimeout=10000
fetch-retry-maxtimeout=80000" > ~/.npmrc
npm config list
npm i -g gatsby@latest
gatsby new my-gatsby
cd my-gatsby
npm run build

View File

@@ -1,234 +0,0 @@
on:
workflow_call:
jobs:
yarn:
name: 'yarn:jest example'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: 'Use Node.js'
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version-file: '.nvmrc'
- name: Install Dependencies
run: yarn install
- name: 'Run verdaccio in the background'
run: |
nohup yarn node ./scripts/run-verdaccio.js --config ./scripts/e2e-config.yaml &
- name: 'Ping to verdaccio'
run: |
npm ping --registry http://localhost:4873
- name: 'Running the integration test'
run: |
source scripts/e2e-setup-ci.sh
yarn init --yes
yarn add jest@29.5.0 --registry http://localhost:4873
echo "it('should pass', () => { expect(true).toBeTruthy(); });" | tee pass.test.js
yarn jest pass.test.js
yarn add left-pad --registry http://localhost:4873 --verbose
echo "const leftPad = require('left-pad'); it('should resolve a module', () => { expect(typeof leftPad).toBe('function');});" | tee module.test.js
yarn jest module.test.js
yarn2:
name: 'yarn2:jest example'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: 'Use Node.js'
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version-file: '.nvmrc'
- name: Install Dependencies
run: yarn install
- name: 'Run verdaccio in the background'
run: |
nohup yarn node ./scripts/run-verdaccio.js --config ./scripts/e2e-config.yaml &
- name: 'Ping to verdaccio'
run: |
npm ping --registry http://localhost:4873
- name: 'Running the integration test'
run: |
source scripts/e2e-setup-ci.sh
yarn init --yes
yarn set version berry
yarn config set npmRegistryServer "http://localhost:4873"
yarn config set unsafeHttpWhitelist --json '["localhost"]'
yarn add jest@29.5.0
echo "it('should pass', () => { expect(true).toBeTruthy(); });" | tee pass.test.js
yarn jest pass.test.js
yarn add left-pad
echo "const leftPad = require('left-pad'); it('should resolve a module', () => { expect(typeof leftPad).toBe('function');});" | tee module.test.js
yarn jest module.test.js
npm8:
name: 'npm8:jest example'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: 'Use Node.js'
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version-file: '.nvmrc'
- name: 'install latest npm'
run: npm i -g npm@next-8
- name: Install Dependencies
run: yarn install
- name: 'Run verdaccio in the background'
run: |
nohup yarn node ./scripts/run-verdaccio.js --config ./scripts/e2e-config.yaml &
- name: 'Ping to verdaccio'
run: |
npm ping --registry http://localhost:4873
- name: 'Running the integration test'
run: |
source scripts/e2e-setup-ci.sh
npm init --yes
npm install jest@29.5.0 --registry http://localhost:4873 --loglevel info
echo "it('should pass', () => { expect(true).toBeTruthy(); });" | tee pass.test.js
yarn jest pass.test.js
yarn add left-pad --registry http://localhost:4873 --verbose
echo "const leftPad = require('left-pad'); it('should resolve a module', () => { expect(typeof leftPad).toBe('function');});" | tee module.test.js
yarn jest module.test.js
npm9:
name: 'npm9:jest example'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: 'Use Node.js'
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version-file: '.nvmrc'
- name: 'install latest npm 9'
run: npm i -g npm@next-9
- name: Install Dependencies
run: yarn install
- name: 'Run verdaccio in the background'
run: |
nohup yarn node ./scripts/run-verdaccio.js --config ./scripts/e2e-config.yaml &
- name: 'Ping to verdaccio'
run: |
npm ping --registry http://localhost:4873
- name: 'Running the integration test'
run: |
source scripts/e2e-setup-ci.sh
npm init --yes
npm install jest@29.4.2 --registry http://localhost:4873 --loglevel info
echo "it('should pass', () => { expect(true).toBeTruthy(); });" | tee pass.test.js
yarn jest pass.test.js
yarn add left-pad --registry http://localhost:4873 --verbose
echo "const leftPad = require('left-pad'); it('should resolve a module', () => { expect(typeof leftPad).toBe('function');});" | tee module.test.js
yarn jest module.test.js
npm10:
name: 'npm10:jest example'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: 'Use Node.js'
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version-file: '.nvmrc'
- name: 'install latest npm 10'
run: npm i -g npm@next-10
- name: Install Dependencies
run: yarn install
- name: 'Run verdaccio in the background'
run: |
nohup yarn node ./scripts/run-verdaccio.js --config ./scripts/e2e-config.yaml &
- name: 'Ping to verdaccio'
run: |
npm ping --registry http://localhost:4873
- name: 'Running the integration test'
run: |
source scripts/e2e-setup-ci.sh
npm init --yes
npm install jest@29.4.2 --registry http://localhost:4873 --loglevel info
echo "it('should pass', () => { expect(true).toBeTruthy(); });" | tee pass.test.js
yarn jest pass.test.js
yarn add left-pad --registry http://localhost:4873 --verbose
echo "const leftPad = require('left-pad'); it('should resolve a module', () => { expect(typeof leftPad).toBe('function');});" | tee module.test.js
yarn jest module.test.js
pnpm8:
name: 'pnpm8:jest example'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: 'Use Node.js'
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version-file: '.nvmrc'
- name: 'install latest pnpm'
run: npm i -g pnpm@latest-8
- name: Install Dependencies
run: yarn install
- name: 'Run verdaccio in the background'
run: |
nohup yarn node ./scripts/run-verdaccio.js &
- name: 'Ping to verdaccio'
run: |
pnpm ping --registry http://localhost:4873
- name: 'Running the integration test'
run: |
source scripts/e2e-setup-ci.sh
pnpm init
pnpm install jest@29.5.0 --registry http://localhost:4873 --loglevel info
echo "it('should pass', () => { expect(true).toBeTruthy(); });" | tee pass.test.js
yarn jest pass.test.js
yarn add left-pad --registry http://localhost:4873 --verbose
echo "const leftPad = require('left-pad'); it('should resolve a module', () => { expect(typeof leftPad).toBe('function');});" | tee module.test.js
yarn jest module.test.js
pnpm9:
name: 'pnpm:9:jest example'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: 'Use Node.js'
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version-file: '.nvmrc'
- name: 'install latest pnpm'
run: npm i -g pnpm@latest-9
- name: Install Dependencies
run: yarn install
- name: 'Run verdaccio in the background'
run: |
yarn node ./scripts/run-verdaccio.js &
- name: 'Ping to verdaccio'
run: |
pnpm ping --registry http://localhost:4873
- name: 'Running the integration test'
run: |
source scripts/e2e-setup-ci.sh
pnpm init
pnpm install jest@29.5.0 --registry http://localhost:4873 --loglevel info
echo "it('should pass', () => { expect(true).toBeTruthy(); });" | tee pass.test.js
yarn jest pass.test.js
yarn add left-pad --registry http://localhost:4873 --verbose
echo "const leftPad = require('left-pad'); it('should resolve a module', () => { expect(typeof leftPad).toBe('function');});" | tee module.test.js
yarn jest module.test.js

View File

@@ -1,28 +0,0 @@
on:
workflow_call:
jobs:
release:
name: Release Snapshot
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Use Node (latest)
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version-file: '.nvmrc'
- name: Install
run: yarn install
- name: Build
run: yarn build
- name: Declare some variables
shell: bash
run: |
echo "sha_short=$(git rev-parse --short "$GITHUB_SHA")" >> "$GITHUB_ENV"
- name: Bump up package
run: npm version prerelease --no-git-tag-version --preid ${{ env.sha_short }}
- name: Publish
run: sh scripts/publish-prerelease.sh
env:
REGISTRY_AUTH_TOKEN: ${{ secrets.VERDACCIO_REGISTRY_TOKEN_CANARY }}
REGISTRY_URL: rg.verdaccio.org

View File

@@ -1,28 +0,0 @@
on:
workflow_call:
jobs:
release:
name: Release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Use Node (latest)
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version-file: '.nvmrc'
- name: Install
run: yarn install
- name: Build
run: yarn build
- name: Types
run: yarn code:types
- name: Publish
run: sh scripts/publish.sh
env:
REGISTRY_AUTH_TOKEN: ${{ secrets.REGISTRY_AUTH_TOKEN }}
REGISTRY_URL: registry.npmjs.org
- name: Create release notes
run: sh scripts/github-release.sh
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -1,32 +0,0 @@
on:
workflow_call:
inputs:
docker_tag:
required: true
type: string
description: 'Docker tag to use for the verdaccio image'
default: '5'
module_tag:
required: true
type: string
description: 'Npmjs module tag to use for the verdaccio image'
default: '@latest'
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version-file: '.nvmrc'
- name: Docker test
run: |
docker run -d -it --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio:${{ inputs.docker_tag }}
- name: verdaccio cli
run: npm install -g verdaccio${{inputs.module_tag }} --registry http://localhost:4873
- name: gastby cli
run: npm install -g gatsby-cli --registry http://localhost:4873
- name: netlify cli
run: npm install -g netlify-cli --registry http://localhost:4873
- name: angular cli
run: npm install -g @angular/cli --registry http://localhost:4873

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