Compare commits
80 Commits
@verdaccio
...
@verdaccio
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c120b32d07 | ||
|
|
47ee18c3dd | ||
|
|
0938e965cb | ||
|
|
72c3cbb5bf | ||
|
|
626ae6aae9 | ||
|
|
184bd51418 | ||
|
|
837f00dc56 | ||
|
|
52c1d22c91 | ||
|
|
09503bcd51 | ||
|
|
1e8e6e4212 | ||
|
|
c7285cf933 | ||
|
|
0f2da1897c | ||
|
|
06132a2ceb | ||
|
|
688eb15e77 | ||
|
|
2fef671547 | ||
|
|
d945bfe99d | ||
|
|
610ed5cd04 | ||
|
|
85d8ea16d6 | ||
|
|
08ebbce001 | ||
|
|
7513899660 | ||
|
|
534fafd741 | ||
|
|
9509b63345 | ||
|
|
4d96585991 | ||
|
|
0be45da363 | ||
|
|
7751a55a34 | ||
|
|
acb8a99f55 | ||
|
|
b776e1f897 | ||
|
|
d33266b5a6 | ||
|
|
b19ddca81f | ||
|
|
f86da50d91 | ||
|
|
7e9fa2a5b3 | ||
|
|
6add153fde | ||
|
|
0052cc5b97 | ||
|
|
5b64bb9e3e | ||
|
|
97df95af40 | ||
|
|
6c0ba0e3a4 | ||
|
|
3d113dd38d | ||
|
|
c6dc42e92b | ||
|
|
ca0844a45a | ||
|
|
3ef4a49bba | ||
|
|
387d9f01ea | ||
|
|
dedc20b24c | ||
|
|
96b6c404a9 | ||
|
|
4236e54e2a | ||
|
|
89b72d0761 | ||
|
|
30d2949471 | ||
|
|
e5a53628b6 | ||
|
|
8f8297ebd9 | ||
|
|
2dc16f3308 | ||
|
|
68b814e786 | ||
|
|
45e6d08647 | ||
|
|
2bd520ef07 | ||
|
|
6561485453 | ||
|
|
04c4e5b14f | ||
|
|
3a3bbe34ab | ||
|
|
219abed928 | ||
|
|
7d7cffb3a7 | ||
|
|
e5100e0844 | ||
|
|
46eeee5f70 | ||
|
|
9dfe5d5aaf | ||
|
|
50fef56371 | ||
|
|
c988566d70 | ||
|
|
76308ff456 | ||
|
|
481ea6ef3d | ||
|
|
fdf44a66c9 | ||
|
|
4115860d6e | ||
|
|
a9a77a5012 | ||
|
|
8ea4b04740 | ||
|
|
8c18c8963c | ||
|
|
6f410af147 | ||
|
|
5f036c0b57 | ||
|
|
ebc6171829 | ||
|
|
651f60a8af | ||
|
|
1f25d5f5e8 | ||
|
|
bf566cb6f5 | ||
|
|
0518506efe | ||
|
|
3d642d7325 | ||
|
|
c69ec207d2 | ||
|
|
588614d6a7 | ||
|
|
78614b79f6 |
5
.changeset/afraid-cars-sneeze.md
Normal file
5
.changeset/afraid-cars-sneeze.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/loaders': minor
|
||||
---
|
||||
|
||||
feat(loader): support scoped plugins in plugin folder
|
||||
5
.changeset/afraid-cheetahs-rule.md
Normal file
5
.changeset/afraid-cheetahs-rule.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/ui-components': patch
|
||||
---
|
||||
|
||||
fix(ui): check token expiry on refresh/timer
|
||||
18
.changeset/brave-ears-drive.md
Normal file
18
.changeset/brave-ears-drive.md
Normal file
@@ -0,0 +1,18 @@
|
||||
---
|
||||
'@verdaccio/local-storage': patch
|
||||
'@verdaccio/server': patch
|
||||
'@verdaccio/server-fastify': patch
|
||||
'@verdaccio/test-helper': patch
|
||||
'@verdaccio/ui-components': patch
|
||||
'@verdaccio/tarball': patch
|
||||
'@verdaccio/types': patch
|
||||
'@verdaccio/middleware': patch
|
||||
'verdaccio': patch
|
||||
'@verdaccio/config': patch
|
||||
'@verdaccio/proxy': patch
|
||||
'@verdaccio/store': patch
|
||||
'@verdaccio/auth': patch
|
||||
'@verdaccio/api': patch
|
||||
---
|
||||
|
||||
chore(utils): replace @verdaccio/utils dependency with core
|
||||
5
.changeset/breezy-toys-judge.md
Normal file
5
.changeset/breezy-toys-judge.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/server': patch
|
||||
---
|
||||
|
||||
fix(server): web-enabled test
|
||||
8
.changeset/clean-rings-listen.md
Normal file
8
.changeset/clean-rings-listen.md
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
'@verdaccio/ui-theme': minor
|
||||
'@verdaccio/ui-components': minor
|
||||
'@verdaccio/middleware': patch
|
||||
'@verdaccio/ui-i18n': patch
|
||||
---
|
||||
|
||||
feat: web v1 login frontend (experimental)
|
||||
5
.changeset/dirty-countries-play.md
Normal file
5
.changeset/dirty-countries-play.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/ui-components': patch
|
||||
---
|
||||
|
||||
chore(ui): avoid ts error for Alerts
|
||||
6
.changeset/few-beds-itch.md
Normal file
6
.changeset/few-beds-itch.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
'@verdaccio/store': patch
|
||||
'@verdaccio/types': patch
|
||||
---
|
||||
|
||||
chore(types): use "Person" instead of "Author"
|
||||
5
.changeset/four-buttons-remember.md
Normal file
5
.changeset/four-buttons-remember.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/web': patch
|
||||
---
|
||||
|
||||
chore(web): move utils to web package
|
||||
5
.changeset/great-candles-hang.md
Normal file
5
.changeset/great-candles-hang.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/ui-theme': patch
|
||||
---
|
||||
|
||||
chore(ui): minor app improvements
|
||||
5
.changeset/hip-deers-join.md
Normal file
5
.changeset/hip-deers-join.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/core': patch
|
||||
---
|
||||
|
||||
chore(core): http status codes
|
||||
5
.changeset/hungry-dolls-destroy.md
Normal file
5
.changeset/hungry-dolls-destroy.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/local-storage': patch
|
||||
---
|
||||
|
||||
fix(local-storage): uncontrolled data used in path expression
|
||||
5
.changeset/large-turkeys-change.md
Normal file
5
.changeset/large-turkeys-change.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/auth': patch
|
||||
---
|
||||
|
||||
feat: add legacyMergeConfigs as option
|
||||
5
.changeset/loud-dingos-cough.md
Normal file
5
.changeset/loud-dingos-cough.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/e2e-cli-npm-common': patch
|
||||
---
|
||||
|
||||
fix(e2e): test.each was not working as expected
|
||||
6
.changeset/modern-llamas-know.md
Normal file
6
.changeset/modern-llamas-know.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
'@verdaccio/website': patch
|
||||
---
|
||||
|
||||
- Updated the docs to show how we can make AWS CodeArtifact work with Verdaccio
|
||||
- Added the example uplinks configuration
|
||||
6
.changeset/nasty-cooks-watch.md
Normal file
6
.changeset/nasty-cooks-watch.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
'@verdaccio/e2e-cli-npm11': patch
|
||||
'@verdaccio/e2e-cli-npm-common': patch
|
||||
---
|
||||
|
||||
feat(e2e): add npm11
|
||||
5
.changeset/nine-onions-talk.md
Normal file
5
.changeset/nine-onions-talk.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/ui-components': patch
|
||||
---
|
||||
|
||||
fix(ui): search chips when showUplinks is false
|
||||
6
.changeset/pink-pants-try.md
Normal file
6
.changeset/pink-pants-try.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
'@verdaccio/server': patch
|
||||
'@verdaccio/loaders': patch
|
||||
---
|
||||
|
||||
fix(express): error loading middleware plugins
|
||||
9
.changeset/poor-hats-smile.md
Normal file
9
.changeset/poor-hats-smile.md
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
'@verdaccio/types': patch
|
||||
'@verdaccio/middleware': patch
|
||||
'@verdaccio/core': patch
|
||||
'@verdaccio/config': patch
|
||||
'@verdaccio/api': patch
|
||||
---
|
||||
|
||||
feat: web v1 login backend (experimental)
|
||||
6
.changeset/poor-queens-shop.md
Normal file
6
.changeset/poor-queens-shop.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
'@verdaccio/signature': patch
|
||||
'@verdaccio/config': patch
|
||||
---
|
||||
|
||||
chore(signature): remove duplicate code
|
||||
@@ -61,55 +61,75 @@
|
||||
"@verdaccio/e2e-cli-pnpm10": "1.0.0",
|
||||
"docusaurus-plugin-downloads": "2.0.0",
|
||||
"@verdaccio/local-publish": "0.0.2",
|
||||
"@verdaccio/e2e-cli-npm10": "1.0.1"
|
||||
"@verdaccio/e2e-cli-npm10": "1.0.1",
|
||||
"@verdaccio/e2e-cli-npm11": "1.0.2-next-8.0"
|
||||
},
|
||||
"changesets": [
|
||||
"afraid-cars-sneeze",
|
||||
"afraid-cheetahs-rule",
|
||||
"angry-doors-tan",
|
||||
"beige-lions-type",
|
||||
"blue-paws-cheer",
|
||||
"brave-ears-drive",
|
||||
"breezy-geckos-search",
|
||||
"breezy-toys-judge",
|
||||
"bright-bobcats-ring",
|
||||
"brown-lions-talk",
|
||||
"brown-planets-approve",
|
||||
"calm-mangos-compare",
|
||||
"chatty-apricots-report",
|
||||
"clean-beds-wash",
|
||||
"clean-rings-listen",
|
||||
"clever-bees-happen",
|
||||
"cool-seals-watch",
|
||||
"curly-mirrors-smile",
|
||||
"curvy-rockets-camp",
|
||||
"cyan-snakes-kiss",
|
||||
"dirty-countries-play",
|
||||
"early-eyes-float",
|
||||
"early-trainers-grin",
|
||||
"eight-countries-think",
|
||||
"eighty-apes-think",
|
||||
"eleven-rocks-dream",
|
||||
"few-beds-itch",
|
||||
"few-ears-deny",
|
||||
"fifty-falcons-design",
|
||||
"forty-hounds-matter",
|
||||
"four-buttons-remember",
|
||||
"fresh-owls-hunt",
|
||||
"funny-fireants-tan",
|
||||
"gentle-stingrays-repeat",
|
||||
"gold-files-speak",
|
||||
"gold-squids-watch",
|
||||
"great-candles-hang",
|
||||
"green-eagles-boil",
|
||||
"healthy-ducks-drive",
|
||||
"healthy-zoos-lie",
|
||||
"hip-deers-join",
|
||||
"hip-eggs-serve",
|
||||
"hip-suns-jam",
|
||||
"hot-crews-live",
|
||||
"hungry-dolls-destroy",
|
||||
"itchy-glasses-end",
|
||||
"large-turkeys-change",
|
||||
"long-eyes-drum",
|
||||
"long-singers-drive",
|
||||
"loud-dingos-cough",
|
||||
"lucky-crabs-enjoy",
|
||||
"modern-llamas-know",
|
||||
"nasty-cooks-watch",
|
||||
"nasty-experts-bow",
|
||||
"nice-garlics-tie",
|
||||
"nine-countries-remember",
|
||||
"nine-onions-talk",
|
||||
"ninety-geese-do",
|
||||
"ninety-hotels-dance",
|
||||
"odd-fishes-cry",
|
||||
"old-clocks-destroy",
|
||||
"pink-jeans-lick",
|
||||
"pink-pants-try",
|
||||
"poor-hats-smile",
|
||||
"poor-queens-shop",
|
||||
"popular-trees-grin",
|
||||
"proud-houses-switch",
|
||||
"purple-planes-do",
|
||||
@@ -122,19 +142,25 @@
|
||||
"rude-birds-design",
|
||||
"rude-socks-walk",
|
||||
"serious-apes-rule",
|
||||
"sharp-queens-rhyme",
|
||||
"shiny-buttons-laugh",
|
||||
"short-mails-smoke",
|
||||
"short-turkeys-boil",
|
||||
"silent-bags-listen",
|
||||
"silent-tips-admire",
|
||||
"silver-houses-remain",
|
||||
"silver-insects-train",
|
||||
"slow-cars-guess",
|
||||
"smooth-games-share",
|
||||
"strange-pants-chew",
|
||||
"stupid-camels-build",
|
||||
"sweet-crabs-deliver",
|
||||
"swift-knives-shop",
|
||||
"swift-mangos-grab",
|
||||
"swift-zebras-cheer",
|
||||
"ten-jeans-approve",
|
||||
"tender-buckets-smoke",
|
||||
"thick-dolphins-rule",
|
||||
"thirty-comics-trade",
|
||||
"tricky-impalas-shake",
|
||||
"tricky-knives-end",
|
||||
@@ -144,6 +170,8 @@
|
||||
"violet-boxes-float",
|
||||
"weak-cherries-serve",
|
||||
"wet-cats-behave",
|
||||
"wicked-points-relate",
|
||||
"wild-coins-lie",
|
||||
"yellow-flies-sniff"
|
||||
]
|
||||
}
|
||||
|
||||
5
.changeset/sharp-queens-rhyme.md
Normal file
5
.changeset/sharp-queens-rhyme.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/ui-components': patch
|
||||
---
|
||||
|
||||
chore(ui): avoid ts errors for CircularProgress
|
||||
5
.changeset/silver-insects-train.md
Normal file
5
.changeset/silver-insects-train.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/ui-components': patch
|
||||
---
|
||||
|
||||
chore(ui): fix ts error due to excluded test folder
|
||||
6
.changeset/swift-knives-shop.md
Normal file
6
.changeset/swift-knives-shop.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
'@verdaccio/core': patch
|
||||
'@verdaccio/utils': patch
|
||||
---
|
||||
|
||||
chore(core): move more utils to core
|
||||
12
.changeset/swift-mangos-grab.md
Normal file
12
.changeset/swift-mangos-grab.md
Normal file
@@ -0,0 +1,12 @@
|
||||
---
|
||||
'@verdaccio/server': patch
|
||||
'@verdaccio/core': patch
|
||||
'@verdaccio/loaders': patch
|
||||
'@verdaccio/config': patch
|
||||
'@verdaccio/store': patch
|
||||
'@verdaccio/auth': patch
|
||||
'@verdaccio/api': patch
|
||||
'@verdaccio/web': patch
|
||||
---
|
||||
|
||||
fix(config): server settings
|
||||
5
.changeset/swift-zebras-cheer.md
Normal file
5
.changeset/swift-zebras-cheer.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/api': patch
|
||||
---
|
||||
|
||||
fix(api): cidr whitelist for tokens
|
||||
5
.changeset/thick-dolphins-rule.md
Normal file
5
.changeset/thick-dolphins-rule.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/middleware': patch
|
||||
---
|
||||
|
||||
fix(middleware): properly derive the html cache key
|
||||
7
.changeset/wicked-points-relate.md
Normal file
7
.changeset/wicked-points-relate.md
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
'@verdaccio/auth': patch
|
||||
'@verdaccio/signature': patch
|
||||
'@verdaccio/types': patch
|
||||
---
|
||||
|
||||
fix: support JWT sign and verify options
|
||||
5
.changeset/wild-coins-lie.md
Normal file
5
.changeset/wild-coins-lie.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/tarball': patch
|
||||
---
|
||||
|
||||
chore(tarball): remove lodash, fix typing
|
||||
39
.github/ISSUE_TEMPLATE/bug_report.md
vendored
39
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@@ -17,24 +17,27 @@ assignees: ''
|
||||
- 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]
|
||||
**Your environment**
|
||||
|
||||
<!-- bugs below the version 6.x will be closed, see SECURITY.md and VERSIONS.md for more details -->
|
||||
<!-- Please paste the results of running `verdaccio --version` -->
|
||||
* **verdaccio version**: 6.x.x
|
||||
|
||||
<!-- Please paste the results of running `verdaccio --info` -->
|
||||
* **node version** [20.x.x, 22.x.x]:
|
||||
* **package manager**: [npm@10.x.x, pnpm@10.x.x, yarn@2.x.x]
|
||||
* **os**: [mac, windows@11, linux]
|
||||
* **platform**: [node, docker, helm, other]
|
||||
* **reverse proxy**: [yes, no]
|
||||
|
||||
**Describe the bug**
|
||||
|
||||
<!-- A clear and concise description of what the bug is. -->
|
||||
|
||||
**To Reproduce**
|
||||
**Steps to reproduce**
|
||||
|
||||
<!-- IMPORTANT:
|
||||
- How to reproduce the issue
|
||||
- Steps to reproduce the issue
|
||||
|
||||
Add step-by-step instructions on how to reproduce the bug.
|
||||
Be aware, the lack of reproducible steps the issue might cause your ticket to be closed.
|
||||
-->
|
||||
|
||||
@@ -42,17 +45,14 @@ 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, Verdaccio server log, package manager log**
|
||||
|
||||
<!-- If applicable, add screenshots to help explain your problem. -->
|
||||
<!-- If applicable, add screenshots to help explain your problem. -->
|
||||
|
||||
**Configuration File (cat ~/.config/verdaccio/config.yaml)**
|
||||
**Configuration file**
|
||||
|
||||
<!-- Please be careful do not leak any sensitive information, remove tokens -->
|
||||
|
||||
**Environment information**
|
||||
|
||||
<!-- Please paste the results of running `verdaccio --info` -->
|
||||
<!-- cat ~/.config/verdaccio/config.yaml -->
|
||||
<!-- Please be careful do not leak any sensitive information, remove usernames and tokens -->
|
||||
|
||||
**Debugging output**
|
||||
|
||||
@@ -66,6 +66,5 @@ Be aware, the lack of reproducible steps the issue might cause your ticket to be
|
||||
- [ ] I'm willing to fix this bug 🥇
|
||||
|
||||
<!--
|
||||
|
||||
IMPORTANT: please do not attach external files, all content should be visible from any device.
|
||||
-->
|
||||
|
||||
2
.github/actions/cache-packages/action.yml
vendored
2
.github/actions/cache-packages/action.yml
vendored
@@ -6,7 +6,7 @@ runs:
|
||||
steps:
|
||||
- name: Cache Packages
|
||||
id: cache-packages
|
||||
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
|
||||
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
|
||||
with:
|
||||
path: ./packages/
|
||||
key: pkg-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}
|
||||
|
||||
2
.github/actions/cache-store/action.yml
vendored
2
.github/actions/cache-store/action.yml
vendored
@@ -6,7 +6,7 @@ runs:
|
||||
steps:
|
||||
- name: Cache .pnpm-store
|
||||
id: cache-npm
|
||||
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
|
||||
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
|
||||
with:
|
||||
path: ~/.pnpm-store
|
||||
key: pnpm-${{ hashFiles('**/pnpm-lock.yaml') }}-${{ github.event.pull_request.number }}-${{ runner.os }}
|
||||
|
||||
2
.github/actions/install-app-node/action.yml
vendored
2
.github/actions/install-app-node/action.yml
vendored
@@ -22,7 +22,7 @@ runs:
|
||||
using: composite
|
||||
steps:
|
||||
- name: Use Node
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version: ${{ inputs.node-version }}
|
||||
- name: Install pnpm
|
||||
|
||||
2
.github/actions/install-app/action.yml
vendored
2
.github/actions/install-app/action.yml
vendored
@@ -15,7 +15,7 @@ runs:
|
||||
using: composite
|
||||
steps:
|
||||
- name: Use Node
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: Install pnpm
|
||||
|
||||
6
.github/workflows/ci.yml
vendored
6
.github/workflows/ci.yml
vendored
@@ -68,7 +68,7 @@ jobs:
|
||||
fail-fast: true
|
||||
matrix:
|
||||
os: [ubuntu-latest]
|
||||
node_version: [18, 20, 21, 22, 23]
|
||||
node_version: [18, 20, 21, 22, 23, 24]
|
||||
name: ${{ matrix.os }} / Node ${{ matrix.node_version }}
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
@@ -86,7 +86,7 @@ jobs:
|
||||
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@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
|
||||
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: Install pnpm
|
||||
@@ -94,7 +94,7 @@ jobs:
|
||||
npm install --global corepack@latest
|
||||
corepack enable
|
||||
corepack install
|
||||
- uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4.2.2
|
||||
- uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
|
||||
with:
|
||||
path: ~/.pnpm-store
|
||||
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
|
||||
|
||||
6
.github/workflows/codeql-analysis.yml
vendored
6
.github/workflows/codeql-analysis.yml
vendored
@@ -37,7 +37,7 @@ jobs:
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@b56ba49b26e50535fa1e7f7db0f4f7b4bf65d80d # v3.28.10
|
||||
uses: github/codeql-action/init@ff0a06e83cb2de871e5a09832bc6a81e7276941f # v3.28.18
|
||||
with:
|
||||
config: |
|
||||
paths-ignore:
|
||||
@@ -50,7 +50,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@b56ba49b26e50535fa1e7f7db0f4f7b4bf65d80d # v3.28.10
|
||||
uses: github/codeql-action/autobuild@ff0a06e83cb2de871e5a09832bc6a81e7276941f # v3.28.18
|
||||
|
||||
# ℹ️ Command-line programs to run using the OS shell.
|
||||
# 📚 https://git.io/JvXDl
|
||||
@@ -64,4 +64,4 @@ jobs:
|
||||
# make release
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@b56ba49b26e50535fa1e7f7db0f4f7b4bf65d80d # v3.28.10
|
||||
uses: github/codeql-action/analyze@ff0a06e83cb2de871e5a09832bc6a81e7276941f # v3.28.18
|
||||
|
||||
@@ -26,7 +26,7 @@ jobs:
|
||||
run: docker compose -f "./e2e/docker/apache-verdaccio/docker-compose.yaml" up -d --build
|
||||
|
||||
- name: Install node
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: npm setup
|
||||
|
||||
2
.github/workflows/docker-proxy-nginx-e2e.yml
vendored
2
.github/workflows/docker-proxy-nginx-e2e.yml
vendored
@@ -24,7 +24,7 @@ jobs:
|
||||
run: docker compose -f "./e2e/docker/proxy-nginx/docker-compose.yaml" up -d --build
|
||||
|
||||
- name: Install node
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: npm setup
|
||||
|
||||
47
.github/workflows/docker-publish.yml
vendored
47
.github/workflows/docker-publish.yml
vendored
@@ -2,50 +2,49 @@ name: Docker publish to docker.io
|
||||
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- .github/workflows/docker-publish.yml
|
||||
- .github/workflows/docker-publish.yml
|
||||
- 'packages/**'
|
||||
- 'docker-bin/**'
|
||||
- 'package.json'
|
||||
- 'pnpm-*.yaml'
|
||||
- 'Dockerfile'
|
||||
- '.dockerignore'
|
||||
branches:
|
||||
- 'master'
|
||||
tags:
|
||||
- 'v*'
|
||||
|
||||
permissions:
|
||||
contents: read # to fetch code (actions/checkout)
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
docker:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.repository == 'verdaccio/verdaccio'
|
||||
steps:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
- uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3.6.0
|
||||
- uses: docker/setup-buildx-action@v1
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
with:
|
||||
driver-opts: network=host
|
||||
- uses: docker/login-action@v1
|
||||
name: Login Docker Hub
|
||||
|
||||
- name: Log in to Docker Hub
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||
- name: Prepare docker image tags
|
||||
|
||||
- name: Prepare Docker image tags
|
||||
id: docker_meta
|
||||
uses: crazy-max/ghaction-docker-meta@v1
|
||||
uses: docker/metadata-action@902fa8ec7d6ecbf8d84d538b9b233a880e428804 # v5
|
||||
with:
|
||||
images: ${{ github.repository }}
|
||||
tag-custom: nightly-master
|
||||
tag-custom-only: ${{ github.ref == 'refs/heads/master' }}
|
||||
tag-latest: false
|
||||
tag-semver: |
|
||||
{{version}}
|
||||
{{major}}
|
||||
{{major}}.{{minor}}
|
||||
tags: |
|
||||
type=raw,value=nightly-master
|
||||
type=raw,value=latest,enable=false
|
||||
labels: |
|
||||
org.opencontainers.image.source=${{ github.repositoryUrl }}
|
||||
org.opencontainers.image.created=${{ steps.docker_meta.outputs.created }}
|
||||
org.opencontainers.image.version=${{ steps.docker_meta.outputs.version }}
|
||||
|
||||
- name: Build & Push
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
|
||||
9
.github/workflows/e2e-ci.yml
vendored
9
.github/workflows/e2e-ci.yml
vendored
@@ -43,9 +43,10 @@ jobs:
|
||||
npm7,
|
||||
npm8,
|
||||
npm9,
|
||||
npm10
|
||||
npm10,
|
||||
npm11,
|
||||
]
|
||||
node: [22]
|
||||
node: [22, 24]
|
||||
name: ${{ matrix.pkg }}/ ubuntu-latest / ${{ matrix.node }}
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
@@ -72,7 +73,7 @@ jobs:
|
||||
pnpm9,
|
||||
pnpm10,
|
||||
]
|
||||
node: [22]
|
||||
node: [2, 24]
|
||||
name: ${{ matrix.pkg }}/ ubuntu-latest / ${{ matrix.node }}
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
@@ -99,7 +100,7 @@ jobs:
|
||||
yarn3,
|
||||
yarn4
|
||||
]
|
||||
node: [22]
|
||||
node: [22, 24]
|
||||
name: ${{ matrix.pkg }}/ ubuntu-latest / ${{ matrix.node }}
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
||||
2
.github/workflows/e2e-ui.yml
vendored
2
.github/workflows/e2e-ui.yml
vendored
@@ -26,7 +26,7 @@ jobs:
|
||||
node-version: 20
|
||||
- name: Test UI
|
||||
run: pnpm test:e2e:ui
|
||||
- uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
|
||||
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
||||
with:
|
||||
name: videos
|
||||
path: /home/runner/work/verdaccio/verdaccio/e2e/ui/cypress/videos
|
||||
|
||||
2
.github/workflows/static-data.yml
vendored
2
.github/workflows/static-data.yml
vendored
@@ -36,7 +36,7 @@ jobs:
|
||||
- name: Get docker downloads
|
||||
run: pnpm --filter @verdaccio/local-scripts run pull:docker
|
||||
- name: Get npmjs monhtly downloads
|
||||
run: pnpm --filter @verdaccio/local-scripts run downloads:mounthly
|
||||
run: pnpm --filter @verdaccio/local-scripts run downloads:monthly
|
||||
- name: Get npmjs year downloads
|
||||
run: pnpm --filter @verdaccio/local-scripts run downloads:yearly
|
||||
- name: update contributors
|
||||
|
||||
2
.github/workflows/website.yml
vendored
2
.github/workflows/website.yml
vendored
@@ -39,7 +39,7 @@ jobs:
|
||||
- name: Build Translations percentage
|
||||
run: pnpm --filter @verdaccio/local-scripts build
|
||||
- name: Cache Docusaurus Build
|
||||
uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4.2.2
|
||||
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
|
||||
with:
|
||||
path: website/node_modules/.cache/webpack
|
||||
key: cache/webpack-${{github.ref}}-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
|
||||
@@ -10,7 +10,7 @@ jobs:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
|
||||
- name: 'Use Node.js'
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: 'install latest npm'
|
||||
@@ -47,7 +47,7 @@ jobs:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
|
||||
- name: 'Use Node.js'
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: 'install latest npm 9'
|
||||
@@ -83,7 +83,7 @@ jobs:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
|
||||
- name: 'Use Node.js'
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: 'install latest npm 10'
|
||||
|
||||
2
.github/workflows/x-e2e-audit-workflow.yml
vendored
2
.github/workflows/x-e2e-audit-workflow.yml
vendored
@@ -10,7 +10,7 @@ jobs:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
|
||||
- name: 'Use Node.js'
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: 'install latest npm 10'
|
||||
|
||||
@@ -10,7 +10,7 @@ jobs:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
|
||||
- name: 'Use Node.js'
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: 'install npm 9'
|
||||
@@ -45,7 +45,7 @@ jobs:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
|
||||
- name: 'Use Node.js'
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: 'install npm 10'
|
||||
|
||||
10
.github/workflows/x-e2e-jest-workflow.yml
vendored
10
.github/workflows/x-e2e-jest-workflow.yml
vendored
@@ -10,7 +10,7 @@ jobs:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
|
||||
- name: 'Use Node.js'
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: Install Dependencies
|
||||
@@ -41,7 +41,7 @@ jobs:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
|
||||
- name: 'Use Node.js'
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: Install Dependencies
|
||||
@@ -75,7 +75,7 @@ jobs:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
|
||||
- name: 'Use Node.js'
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: 'install latest npm'
|
||||
@@ -108,7 +108,7 @@ jobs:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
|
||||
- name: 'Use Node.js'
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: 'install latest npm 9'
|
||||
@@ -141,7 +141,7 @@ jobs:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
|
||||
- name: 'Use Node.js'
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: 'install latest npm 10'
|
||||
|
||||
2
.github/workflows/x-release-snapshot.yml
vendored
2
.github/workflows/x-release-snapshot.yml
vendored
@@ -8,7 +8,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
- name: Use Node (latest)
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: Install
|
||||
|
||||
2
.github/workflows/x-release.yml
vendored
2
.github/workflows/x-release.yml
vendored
@@ -8,7 +8,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
- name: Use Node (latest)
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: Install
|
||||
|
||||
3
.github/workflows/x-smok-test-docker.yml
vendored
3
.github/workflows/x-smok-test-docker.yml
vendored
@@ -16,7 +16,8 @@ jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: Docker test
|
||||
|
||||
2
.github/workflows/x-smok-test-module.yml
vendored
2
.github/workflows/x-smok-test-module.yml
vendored
@@ -12,7 +12,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
- name: Use Node (latest)
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: Docker test
|
||||
|
||||
2
.github/workflows/yarn-ci-lint.yml
vendored
2
.github/workflows/yarn-ci-lint.yml
vendored
@@ -8,7 +8,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
- name: Use Node
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: Install
|
||||
|
||||
2
.github/workflows/yarn-ci.yml
vendored
2
.github/workflows/yarn-ci.yml
vendored
@@ -11,7 +11,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
- name: Use Node ${{ inputs.node_version }}
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version: ${{ inputs.node_version }}
|
||||
- name: Install
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM --platform=${BUILDPLATFORM:-linux/amd64} node:22-alpine AS builder
|
||||
FROM --platform=${BUILDPLATFORM:-linux/amd64} node:24-alpine AS builder
|
||||
|
||||
ENV NODE_ENV=development \
|
||||
VERDACCIO_BUILD_REGISTRY=https://registry.npmjs.org
|
||||
@@ -21,7 +21,7 @@ RUN npm -g i corepack && \
|
||||
# NODE_ENV=production pnpm install --frozen-lockfile --ignore-scripts
|
||||
# RUN pnpm install --prod --ignore-scripts
|
||||
|
||||
FROM node:22-alpine
|
||||
FROM node:24-alpine
|
||||
LABEL maintainer="https://github.com/verdaccio/verdaccio"
|
||||
|
||||
ENV VERDACCIO_APPDIR=/opt/verdaccio \
|
||||
|
||||
28
README.md
28
README.md
@@ -100,19 +100,21 @@ Our goal is to give you the confidence to use your preferred package manager wit
|
||||
|
||||
### Commands
|
||||
|
||||
| cmd | npm6 | npm7 | npm8 | npm9 | npm10 | pnpm8 | pnpm9 | pnpm10 | yarn1 | yarn2 | yarn3 | yarn4 |
|
||||
| --------- | ---- | ---- | ---- | ---- | ----- | ----- | ----- | ------ | ----- | ----- | ----- | ----- |
|
||||
| publish | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| unpublish | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
|
||||
| info | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| audit | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
|
||||
| install | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| deprecate | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
|
||||
| ping | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
|
||||
| search | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
|
||||
| star | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
|
||||
| stars | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
|
||||
| dist-tag | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
|
||||
| cmd | npm6 | npm7 | npm8 | npm9 | npm10 | npm11 | pnpm8 | pnpm9 | pnpm10 | yarn1 | yarn2 | yarn3 | yarn4 |
|
||||
| --------- | ---- | ---- | ---- | ---- | ----- | ----- | ----- | ----- | ------ | ----- | ----- | ----- | ----- |
|
||||
| publish | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| unpublish | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
|
||||
| info | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| audit | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
|
||||
| install | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| deprecate | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
|
||||
| ping | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
|
||||
| search | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
|
||||
| star | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
|
||||
| stars | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
|
||||
| dist-tag | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
|
||||
|
||||
<!-- n6 n7 n8 n9 n10 n11 p8 p9 p10 y1 y2 y3 y4 -->
|
||||
|
||||
> notes:
|
||||
>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Verdaccio 6 Examples
|
||||
|
||||
> We recommend to have installed [docker-compose >= 1.29.0](https://github.com/docker/compose/releases/tag/1.29.2)
|
||||
> We recommend to have installed the latest docker-compose
|
||||
|
||||
## Mapping Volumes
|
||||
|
||||
@@ -20,3 +20,5 @@ Using plugins without `docker-compose` mapping volumes, all withing the `Dockerf
|
||||
|
||||
- [Docker + Local Build Auth Plugin (local development)](plugins/docker-build-install-plugin/README.md)
|
||||
- [Docker + Auth Plugin (from a registry)](plugins/docker-local-plugin/README.md)
|
||||
- [Docker + Localstack S3 + Verdaccio](amazon-s3-docker-example/README.md)
|
||||
- [Docker + GitHub OAuth + verdaccio-github-oauth-ui + Verdaccio](verdaccio-github-oauth-ui/README.md)
|
||||
|
||||
17
docker-examples/v6/amazon-s3-docker-example/README.md
Normal file
17
docker-examples/v6/amazon-s3-docker-example/README.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# Amazon S3 Bucket (Localstack) and Verdaccio 6.x
|
||||
|
||||
This setup runs Verdaccio alongside Localstack, providing a simple test/mocking environment for
|
||||
developing cloud applications. In this case, we are simulating AWS S3 functionality.
|
||||
|
||||
## Usage
|
||||
|
||||
> You might need to create bucket manually here
|
||||
> aws --endpoint-url=http://localhost:4566 s3 mb s3://localstack.s3.plugin.test
|
||||
|
||||
```
|
||||
docker-compose up --force-recreate --build --always-recreate-deps
|
||||
```
|
||||
|
||||
## Articles
|
||||
|
||||
- [Set up S3 bucket using Docker / Compose](https://discuss.localstack.cloud/t/set-up-s3-bucket-using-docker-compose/646.html)
|
||||
@@ -0,0 +1,29 @@
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
localstack-s3:
|
||||
container_name: '${LOCALSTACK_DOCKER_NAME-localstack-main}'
|
||||
image: localstack/localstack:s3-latest
|
||||
ports:
|
||||
- '127.0.0.1:4566:4566'
|
||||
volumes:
|
||||
- './init-s3.py:/etc/localstack/init/ready.d/init-s3.py'
|
||||
verdaccio:
|
||||
container_name: verdaccio-s3-plugin
|
||||
build: s3Plugin/
|
||||
environment:
|
||||
- DEBUG=verdaccio:*
|
||||
- AWS_ACCESS_KEY_ID=foobar
|
||||
- AWS_SECRET_ACCESS_KEY=foobar
|
||||
- AWS_DEFAULT_REGION=eu-west-2
|
||||
- AWS_S3_ENDPOINT=http://localstack-s3:4566
|
||||
- AWS_S3_PATH_STYLE=true
|
||||
ports:
|
||||
- '4874:4873'
|
||||
depends_on:
|
||||
- localstack-s3
|
||||
networks:
|
||||
- default
|
||||
networks:
|
||||
default:
|
||||
name: verdaccio-network
|
||||
10
docker-examples/v6/amazon-s3-docker-example/init-s3.py
Normal file
10
docker-examples/v6/amazon-s3-docker-example/init-s3.py
Normal file
@@ -0,0 +1,10 @@
|
||||
import boto3
|
||||
|
||||
s3_client = boto3.client(
|
||||
"s3",
|
||||
endpoint_url=f"http://localhost:4566",
|
||||
aws_access_key_id="test",
|
||||
aws_secret_access_key="test"
|
||||
)
|
||||
|
||||
s3_client.create_bucket(Bucket="localstack.s3.plugin.test")
|
||||
@@ -0,0 +1,9 @@
|
||||
FROM verdaccio/verdaccio:6.x-next
|
||||
LABEL Juan Picado <jotadeveloper@gmail.com>
|
||||
# Copy the configuration file into the container
|
||||
ADD config.yaml /verdaccio/conf/config.yaml
|
||||
USER root
|
||||
# This is the best way to install a plugin in Verdaccio
|
||||
RUN npm install --global verdaccio-aws-s3-storage
|
||||
USER $VERDACCIO_USER_UID
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
storage: /verdaccio/storage
|
||||
|
||||
store:
|
||||
aws-s3-storage:
|
||||
bucket: localstack.s3.plugin.test
|
||||
keyPrefix: docker-test-prefix
|
||||
region: eu-west-2
|
||||
endpoint: http://localstack-s3:4566
|
||||
|
||||
uplinks:
|
||||
npmjs:
|
||||
url: https://registry.npmjs.org/
|
||||
|
||||
packages:
|
||||
'@*/*':
|
||||
access: $all
|
||||
publish: $all
|
||||
proxy: npmjs
|
||||
'**':
|
||||
access: $all
|
||||
publish: $all
|
||||
proxy: npmjs
|
||||
|
||||
log: { type: stdout, format: pretty, level: trace }
|
||||
|
||||
listen:
|
||||
- 0.0.0.0:4873
|
||||
17
docker-examples/v6/verdaccio-github-oauth-ui/README.md
Normal file
17
docker-examples/v6/verdaccio-github-oauth-ui/README.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# GitHub OAuth Login with verdaccio-github-oauth-ui plugin and Verdaccio 6.x
|
||||
|
||||
This setup runs Verdaccio alongside verdaccio-github-oauth-ui plugin.
|
||||
|
||||
https://github.com/n4bb12/verdaccio-github-oauth-ui
|
||||
|
||||
## Configuration
|
||||
|
||||
Open `config.yaml` and modify the required properties follow the official documentation.
|
||||
|
||||
https://github.com/n4bb12/verdaccio-github-oauth-ui/blob/main/docs/configuration.md
|
||||
|
||||
## Usage
|
||||
|
||||
```bash
|
||||
docker-compose up --force-recreate --build --always-recreate-deps
|
||||
```
|
||||
@@ -0,0 +1,15 @@
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
verdaccio:
|
||||
container_name: verdaccio-oauth-plugin
|
||||
build: plugin/
|
||||
environment:
|
||||
- DEBUG=verdaccio:*
|
||||
ports:
|
||||
- '4874:4873'
|
||||
networks:
|
||||
- default
|
||||
networks:
|
||||
default:
|
||||
name: verdaccio-network
|
||||
@@ -0,0 +1,9 @@
|
||||
FROM verdaccio/verdaccio:6.x-next
|
||||
LABEL Juan Picado <jotadeveloper@gmail.com>
|
||||
# Copy the configuration file into the container
|
||||
ADD config.yaml /verdaccio/conf/config.yaml
|
||||
USER root
|
||||
# This is the best way to install a plugin in Verdaccio
|
||||
RUN npm install --global verdaccio-github-oauth-ui
|
||||
USER $VERDACCIO_USER_UID
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
storage: /verdaccio/storage
|
||||
|
||||
middlewares:
|
||||
github-oauth-ui:
|
||||
enabled: true
|
||||
|
||||
auth:
|
||||
# READ HERE https://github.com/n4bb12/verdaccio-github-oauth-ui/blob/main/docs/configuration.md
|
||||
github-oauth-ui:
|
||||
client-id: take_this_from_github
|
||||
client-secret: take_this_from_github
|
||||
token: my_github_token
|
||||
|
||||
uplinks:
|
||||
npmjs:
|
||||
url: https://registry.npmjs.org/
|
||||
|
||||
packages:
|
||||
'@*/*':
|
||||
access: $all
|
||||
publish: $all
|
||||
proxy: npmjs
|
||||
jquery:
|
||||
# Limit access to users:
|
||||
access: github/user/GITHUB_USER
|
||||
'**':
|
||||
access: $all
|
||||
publish: $all
|
||||
proxy: npmjs
|
||||
|
||||
log: { type: stdout, format: pretty, level: trace }
|
||||
|
||||
listen:
|
||||
- 0.0.0.0:4873
|
||||
@@ -4,16 +4,16 @@
|
||||
"version": "2.0.0-next-8.0",
|
||||
"main": "src/index.ts",
|
||||
"devDependencies": {
|
||||
"@verdaccio/config": "workspace:8.0.0-next-8.14",
|
||||
"@verdaccio/core": "workspace:8.0.0-next-8.14",
|
||||
"@verdaccio/types": "workspace:13.0.0-next-8.5",
|
||||
"@verdaccio/config": "workspace:8.0.0-next-8.16",
|
||||
"@verdaccio/core": "workspace:8.0.0-next-8.16",
|
||||
"@verdaccio/types": "workspace:13.0.0-next-8.6",
|
||||
"debug": "4.4.0",
|
||||
"fs-extra": "11.2.0",
|
||||
"get-port": "5.1.1",
|
||||
"got": "11.8.6",
|
||||
"js-yaml": "4.1.0",
|
||||
"lodash": "4.17.21",
|
||||
"verdaccio": "workspace:8.0.0-next-8.14"
|
||||
"verdaccio": "workspace:8.0.0-next-8.16"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "echo no test",
|
||||
|
||||
9
e2e/cli/e2e-npm-commons/CHANGELOG.md
Normal file
9
e2e/cli/e2e-npm-commons/CHANGELOG.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# @verdaccio/e2e-cli-npm-common
|
||||
|
||||
## 1.0.1-next-8.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- d945bfe: fix(e2e): test.each was not working as expected
|
||||
- 534fafd: feat(e2e): add npm11
|
||||
- @verdaccio/test-cli-commons@2.0.0-next-8.0
|
||||
@@ -12,7 +12,7 @@ export function runAudit(npm) {
|
||||
await registry.init();
|
||||
});
|
||||
|
||||
test.each([['verdaccio-memory', '@verdaccio/cli']])(
|
||||
test.each([['verdaccio-memory'], ['@verdaccio/cli']])(
|
||||
'should audit a package %s',
|
||||
async (pkgName) => {
|
||||
const { tempFolder } = await prepareGenericEmptyProject(
|
||||
|
||||
@@ -17,26 +17,30 @@ export function runDistTag(npm) {
|
||||
await registry.init();
|
||||
});
|
||||
|
||||
test.each([['@foo/foo', 'foo']])('should list dist-tags for %s', async (pkgName) => {
|
||||
const { tempFolder } = await prepareGenericEmptyProject(
|
||||
pkgName,
|
||||
'1.0.0',
|
||||
registry.port,
|
||||
registry.getToken(),
|
||||
registry.getRegistryUrl()
|
||||
);
|
||||
await npmUtils.publish(npm, tempFolder, pkgName, registry);
|
||||
await npmUtils.bumbUp(npm, tempFolder, registry);
|
||||
await npmUtils.publish(npm, tempFolder, pkgName, registry, ['--tag', 'beta']);
|
||||
const resp2 = await npm(
|
||||
{ cwd: tempFolder },
|
||||
'dist-tag',
|
||||
'ls',
|
||||
'--json',
|
||||
...addRegistry(registry.getRegistryUrl())
|
||||
);
|
||||
expect(resp2.stdout).toEqual('beta: 1.1.0latest: 1.0.0');
|
||||
});
|
||||
test.each([['@foo/verdaccio-foo'], ['verdaccio-foo']])(
|
||||
'should list dist-tags for %s',
|
||||
async (pkgName) => {
|
||||
// Packages must not exist in npm registry to avoid conflicts with data from uplink
|
||||
const { tempFolder } = await prepareGenericEmptyProject(
|
||||
pkgName,
|
||||
'1.0.0',
|
||||
registry.port,
|
||||
registry.getToken(),
|
||||
registry.getRegistryUrl()
|
||||
);
|
||||
await npmUtils.publish(npm, tempFolder, pkgName, registry);
|
||||
await npmUtils.bumbUp(npm, tempFolder, registry);
|
||||
await npmUtils.publish(npm, tempFolder, pkgName, registry, ['--tag', 'beta']);
|
||||
const resp2 = await npm(
|
||||
{ cwd: tempFolder },
|
||||
'dist-tag',
|
||||
'ls',
|
||||
'--json',
|
||||
...addRegistry(registry.getRegistryUrl())
|
||||
);
|
||||
expect(resp2.stdout).toEqual('beta: 1.1.0latest: 1.0.0');
|
||||
}
|
||||
);
|
||||
|
||||
test.each([['@verdaccio/bar']])('should remove tag with dist-tags for %s', async (pkgName) => {
|
||||
const { tempFolder } = await prepareGenericEmptyProject(
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@verdaccio/e2e-cli-npm-common",
|
||||
"version": "1.0.0",
|
||||
"version": "1.0.1-next-8.0",
|
||||
"dependencies": {
|
||||
"@verdaccio/test-cli-commons": "workspace:2.0.0-next-8.0"
|
||||
},
|
||||
|
||||
@@ -12,12 +12,18 @@ export function runPublish(npm) {
|
||||
await registry.init();
|
||||
});
|
||||
|
||||
test.each([['verdaccio-memory', 'verdaccio', '@verdaccio/foo', '@verdaccio/some-foo']])(
|
||||
test.each([['verdaccio-memory'], ['verdaccio'], ['@verdaccio/foo'], ['@verdaccio/some-foo']])(
|
||||
'should publish a package %s',
|
||||
async (pkgName) => {
|
||||
// As of npm v11, npm will fetch the packument from the npm registry before publishing (from the uplink),
|
||||
// and there are more checks in the client:
|
||||
// - "You cannot publish over the previously published versions"
|
||||
// - "You must specify a tag using --tag when publishing a prerelease version"
|
||||
// - "Cannot implicitly apply the 'latest' tag because previously published version x.y.z is higher than the new version a.b.c"
|
||||
// Therefore, we pick a version that is higher than any of the published versions for the test packages (and not a pre-release).
|
||||
const { tempFolder } = await prepareGenericEmptyProject(
|
||||
pkgName,
|
||||
'1.0.0-patch',
|
||||
'99.0.0',
|
||||
registry.port,
|
||||
registry.getToken(),
|
||||
registry.getRegistryUrl()
|
||||
@@ -31,7 +37,6 @@ export function runPublish(npm) {
|
||||
const parsedBody = JSON.parse(resp.stdout as string);
|
||||
expect(parsedBody.name).toEqual(pkgName);
|
||||
expect(parsedBody.files).toBeDefined();
|
||||
expect(parsedBody.files).toBeDefined();
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ export function runStar(npm) {
|
||||
test.each([['@verdaccio/foo']])('should star a package %s', async (pkgName) => {
|
||||
const { tempFolder } = await prepareGenericEmptyProject(
|
||||
pkgName,
|
||||
'1.0.0-patch',
|
||||
'1.0.0',
|
||||
registry.port,
|
||||
registry.getToken(),
|
||||
registry.getRegistryUrl()
|
||||
@@ -39,7 +39,7 @@ export function runStar(npm) {
|
||||
test.each([['@verdaccio/bar']])('should unstar a package %s', async (pkgName) => {
|
||||
const { tempFolder } = await prepareGenericEmptyProject(
|
||||
pkgName,
|
||||
'1.0.0-patch',
|
||||
'1.0.0',
|
||||
registry.port,
|
||||
registry.getToken(),
|
||||
registry.getRegistryUrl()
|
||||
@@ -67,7 +67,7 @@ export function runStar(npm) {
|
||||
const pkgName = '@verdaccio/stars';
|
||||
const { tempFolder } = await prepareGenericEmptyProject(
|
||||
pkgName,
|
||||
'1.0.0-patch',
|
||||
'1.0.0',
|
||||
registry.port,
|
||||
registry.getToken(),
|
||||
registry.getRegistryUrl()
|
||||
|
||||
@@ -17,12 +17,12 @@ export function runUnpublish(npm) {
|
||||
await registry.init();
|
||||
});
|
||||
|
||||
test.each([['@verdaccio/test1', 'super-package-do-not-exist-spam']])(
|
||||
test.each([['@verdaccio/test1'], ['super-package-do-not-exist-spam']])(
|
||||
'should unpublish a full package %s',
|
||||
async (pkgName) => {
|
||||
const { tempFolder } = await prepareGenericEmptyProject(
|
||||
pkgName,
|
||||
'1.0.0-beta',
|
||||
'1.0.0',
|
||||
registry.port,
|
||||
registry.getToken(),
|
||||
registry.getRegistryUrl()
|
||||
@@ -44,16 +44,16 @@ export function runUnpublish(npm) {
|
||||
'--json',
|
||||
...addRegistry(registry.getRegistryUrl())
|
||||
);
|
||||
expect(resp2.stdout).toEqual('- @verdaccio/test1');
|
||||
expect(resp2.stdout).toEqual(`- ${pkgName}`);
|
||||
}
|
||||
);
|
||||
|
||||
test.each([['@verdaccio/test1', 'super-package-do-not-exist-spam']])(
|
||||
test.each([['@verdaccio/test1'], ['super-package-do-not-exist-spam']])(
|
||||
'should unpublish a package %s version',
|
||||
async (pkgName) => {
|
||||
const { tempFolder } = await prepareGenericEmptyProject(
|
||||
pkgName,
|
||||
'1.0.0-beta',
|
||||
'1.0.0',
|
||||
registry.port,
|
||||
registry.getToken(),
|
||||
registry.getRegistryUrl()
|
||||
@@ -69,13 +69,13 @@ export function runUnpublish(npm) {
|
||||
const resp2 = await npm(
|
||||
{ cwd: tempFolder },
|
||||
'unpublish',
|
||||
`${pkgName}@1.0.0-beta`,
|
||||
`${pkgName}@1.0.0`,
|
||||
'--force',
|
||||
'--loglevel=info',
|
||||
'--json',
|
||||
...addRegistry(registry.getRegistryUrl())
|
||||
);
|
||||
expect(resp2.stdout).toEqual('- @verdaccio/test1@1.0.0-beta');
|
||||
expect(resp2.stdout).toEqual(`- ${pkgName}@1.0.0`);
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
@@ -1,5 +1,14 @@
|
||||
# @verdaccio/e2e-cli-npm9
|
||||
|
||||
## 1.0.2-next-8.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [d945bfe]
|
||||
- Updated dependencies [534fafd]
|
||||
- @verdaccio/e2e-cli-npm-common@1.0.1-next-8.0
|
||||
- @verdaccio/test-cli-commons@2.0.0-next-8.0
|
||||
|
||||
## 1.0.2-next-8.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@verdaccio/e2e-cli-npm10",
|
||||
"version": "1.0.2-next-8.0",
|
||||
"version": "1.0.2-next-8.1",
|
||||
"dependencies": {
|
||||
"@verdaccio/test-cli-commons": "workspace:2.0.0-next-8.0",
|
||||
"@verdaccio/e2e-cli-npm-common": "workspace:*",
|
||||
|
||||
3
e2e/cli/e2e-npm11/.babelrc
Normal file
3
e2e/cli/e2e-npm11/.babelrc
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"extends": "../../../.babelrc"
|
||||
}
|
||||
7
e2e/cli/e2e-npm11/.eslintrc
Normal file
7
e2e/cli/e2e-npm11/.eslintrc
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"rules": {
|
||||
"no-console": 0,
|
||||
"@typescript-eslint/no-var-requires": 0,
|
||||
"@typescript-eslint/explicit-member-accessibility": 0
|
||||
}
|
||||
}
|
||||
79
e2e/cli/e2e-npm11/CHANGELOG.md
Normal file
79
e2e/cli/e2e-npm11/CHANGELOG.md
Normal file
@@ -0,0 +1,79 @@
|
||||
# @verdaccio/e2e-cli-npm9
|
||||
|
||||
## 1.0.2-next-8.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 534fafd: feat(e2e): add npm11
|
||||
- Updated dependencies [d945bfe]
|
||||
- Updated dependencies [534fafd]
|
||||
- @verdaccio/e2e-cli-npm-common@1.0.1-next-8.0
|
||||
- @verdaccio/test-cli-commons@2.0.0-next-8.0
|
||||
|
||||
## 1.0.2-next-8.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- d4fc827: fix(e2e): name for npm10 test
|
||||
- @verdaccio/test-cli-commons@2.0.0-next-8.0
|
||||
|
||||
## 1.0.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [351aeeaa8]
|
||||
- Updated dependencies [d167f92e1]
|
||||
- Updated dependencies [c383eb68c]
|
||||
- @verdaccio/test-cli-commons@1.1.0
|
||||
|
||||
## 1.0.1-6-next.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [c383eb68]
|
||||
- @verdaccio/test-cli-commons@1.1.0-6-next.7
|
||||
|
||||
## 1.0.1-6-next.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [d167f92e]
|
||||
- @verdaccio/test-cli-commons@1.1.0-6-next.6
|
||||
|
||||
## 1.0.1-6-next.5
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @verdaccio/test-cli-commons@1.0.1-6-next.5
|
||||
|
||||
## 1.0.1-6-next.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @verdaccio/test-cli-commons@1.0.1-6-next.4
|
||||
|
||||
## 1.0.1-6-next.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 351aeeaa: fix(deps): @verdaccio/utils should be a prod dep of local-storage
|
||||
- Updated dependencies [351aeeaa]
|
||||
- @verdaccio/test-cli-commons@1.0.1-6-next.3
|
||||
|
||||
## 1.0.1-6-next.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @verdaccio/test-cli-commons@1.0.1-6-next.2
|
||||
|
||||
## 1.0.1-6-next.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @verdaccio/test-cli-commons@1.0.1-6-next.1
|
||||
|
||||
## 1.0.1-6-next.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @verdaccio/test-cli-commons@1.0.1-6-next.0
|
||||
9
e2e/cli/e2e-npm11/audit.spec.ts
Normal file
9
e2e/cli/e2e-npm11/audit.spec.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
import { describe } from 'vitest';
|
||||
|
||||
import { runAudit } from '@verdaccio/e2e-cli-npm-common';
|
||||
|
||||
import { npm } from './utils';
|
||||
|
||||
describe('audit a package', () => {
|
||||
runAudit(npm);
|
||||
});
|
||||
9
e2e/cli/e2e-npm11/deprecate.spec.ts
Normal file
9
e2e/cli/e2e-npm11/deprecate.spec.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
import { describe } from 'vitest';
|
||||
|
||||
import { runDeprecate } from '@verdaccio/e2e-cli-npm-common';
|
||||
|
||||
import { npm } from './utils';
|
||||
|
||||
describe('deprecate a package', () => {
|
||||
runDeprecate(npm);
|
||||
});
|
||||
9
e2e/cli/e2e-npm11/dist-tags.spec.ts
Normal file
9
e2e/cli/e2e-npm11/dist-tags.spec.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
import { describe } from 'vitest';
|
||||
|
||||
import { runDistTag } from '@verdaccio/e2e-cli-npm-common';
|
||||
|
||||
import { npm } from './utils';
|
||||
|
||||
describe('dist-tags a package', () => {
|
||||
runDistTag(npm);
|
||||
});
|
||||
9
e2e/cli/e2e-npm11/info.spec.ts
Normal file
9
e2e/cli/e2e-npm11/info.spec.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
import { describe } from 'vitest';
|
||||
|
||||
import { runInfo } from '@verdaccio/e2e-cli-npm-common';
|
||||
|
||||
import { npm } from './utils';
|
||||
|
||||
describe('info a package', () => {
|
||||
runInfo(npm);
|
||||
});
|
||||
9
e2e/cli/e2e-npm11/install.spec.ts
Normal file
9
e2e/cli/e2e-npm11/install.spec.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
import { describe } from 'vitest';
|
||||
|
||||
import { runInstall } from '@verdaccio/e2e-cli-npm-common';
|
||||
|
||||
import { npm } from './utils';
|
||||
|
||||
describe('install a project packages', () => {
|
||||
runInstall(npm);
|
||||
});
|
||||
13
e2e/cli/e2e-npm11/package.json
Normal file
13
e2e/cli/e2e-npm11/package.json
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@verdaccio/e2e-cli-npm11",
|
||||
"version": "1.0.2-next-8.1",
|
||||
"dependencies": {
|
||||
"@verdaccio/test-cli-commons": "workspace:2.0.0-next-8.0",
|
||||
"@verdaccio/e2e-cli-npm-common": "workspace:*",
|
||||
"npm": "11.4.0"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "vitest run --testTimeout 50000"
|
||||
}
|
||||
}
|
||||
9
e2e/cli/e2e-npm11/ping.spec.ts
Normal file
9
e2e/cli/e2e-npm11/ping.spec.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
import { describe } from 'vitest';
|
||||
|
||||
import { runPing } from '@verdaccio/e2e-cli-npm-common';
|
||||
|
||||
import { npm } from './utils';
|
||||
|
||||
describe('ping registry', () => {
|
||||
runPing(npm);
|
||||
});
|
||||
9
e2e/cli/e2e-npm11/publish.spec.ts
Normal file
9
e2e/cli/e2e-npm11/publish.spec.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
import { describe } from 'vitest';
|
||||
|
||||
import { runPublish } from '@verdaccio/e2e-cli-npm-common';
|
||||
|
||||
import { npm } from './utils';
|
||||
|
||||
describe('publish a package', () => {
|
||||
runPublish(npm);
|
||||
});
|
||||
9
e2e/cli/e2e-npm11/search.spec.ts
Normal file
9
e2e/cli/e2e-npm11/search.spec.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
import { describe } from 'vitest';
|
||||
|
||||
import { runSearch } from '@verdaccio/e2e-cli-npm-common';
|
||||
|
||||
import { npm } from './utils';
|
||||
|
||||
describe('search a package', () => {
|
||||
runSearch(npm);
|
||||
});
|
||||
9
e2e/cli/e2e-npm11/star.spec.ts
Normal file
9
e2e/cli/e2e-npm11/star.spec.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
import { describe } from 'vitest';
|
||||
|
||||
import { runStar } from '@verdaccio/e2e-cli-npm-common';
|
||||
|
||||
import { npm } from './utils';
|
||||
|
||||
describe('star a package', () => {
|
||||
runStar(npm);
|
||||
});
|
||||
8
e2e/cli/e2e-npm11/tsconfig.json
Normal file
8
e2e/cli/e2e-npm11/tsconfig.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"extends": "../../../tsconfig.reference.json",
|
||||
"references": [
|
||||
{
|
||||
"path": "../cli-commons"
|
||||
}
|
||||
]
|
||||
}
|
||||
9
e2e/cli/e2e-npm11/unpublish.spec.ts
Normal file
9
e2e/cli/e2e-npm11/unpublish.spec.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
import { describe } from 'vitest';
|
||||
|
||||
import { runUnpublish } from '@verdaccio/e2e-cli-npm-common';
|
||||
|
||||
import { npm } from './utils';
|
||||
|
||||
describe('unpublish a package', () => {
|
||||
runUnpublish(npm);
|
||||
});
|
||||
41
e2e/cli/e2e-npm11/utils.ts
Normal file
41
e2e/cli/e2e-npm11/utils.ts
Normal file
@@ -0,0 +1,41 @@
|
||||
import { SpawnOptions } from 'child_process';
|
||||
import { join } from 'path';
|
||||
|
||||
import { exec } from '@verdaccio/test-cli-commons';
|
||||
import { addRegistry } from '@verdaccio/test-cli-commons';
|
||||
|
||||
export function getCommand() {
|
||||
return join(__dirname, './node_modules/.bin/npm');
|
||||
}
|
||||
|
||||
export function npm(options: SpawnOptions, ...args: string[]) {
|
||||
return exec(options, getCommand(), args);
|
||||
}
|
||||
|
||||
export async function bumbUp(tempFolder, registry) {
|
||||
await npm({ cwd: tempFolder }, 'version', 'minor', ...addRegistry(registry.getRegistryUrl()));
|
||||
}
|
||||
|
||||
export async function publish(tempFolder, pkgName, registry, arg: string[] = []) {
|
||||
const resp = await npm(
|
||||
{ cwd: tempFolder },
|
||||
'publish',
|
||||
...arg,
|
||||
'--json',
|
||||
...addRegistry(registry.getRegistryUrl())
|
||||
);
|
||||
const parsedBody = JSON.parse(resp.stdout as string);
|
||||
expect(parsedBody.name).toEqual(pkgName);
|
||||
}
|
||||
|
||||
export async function getInfoVersions(pkgName, registry) {
|
||||
const infoResp = await npm(
|
||||
{},
|
||||
'info',
|
||||
pkgName,
|
||||
'--json',
|
||||
...addRegistry(registry.getRegistryUrl())
|
||||
);
|
||||
const infoBody = JSON.parse(infoResp.stdout as string);
|
||||
return infoBody;
|
||||
}
|
||||
@@ -1,5 +1,14 @@
|
||||
# @verdaccio/e2e-cli-npm6
|
||||
|
||||
## 1.0.2-next-8.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [d945bfe]
|
||||
- Updated dependencies [534fafd]
|
||||
- @verdaccio/e2e-cli-npm-common@1.0.1-next-8.0
|
||||
- @verdaccio/test-cli-commons@2.0.0-next-8.0
|
||||
|
||||
## 1.0.2-next-8.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@verdaccio/e2e-cli-npm6",
|
||||
"version": "1.0.2-next-8.0",
|
||||
"version": "1.0.2-next-8.1",
|
||||
"dependencies": {
|
||||
"@verdaccio/test-cli-commons": "workspace:2.0.0-next-8.0",
|
||||
"@verdaccio/e2e-cli-npm-common": "workspace:*",
|
||||
|
||||
@@ -1,5 +1,14 @@
|
||||
# @verdaccio/e2e-cli-npm7
|
||||
|
||||
## 1.0.2-next-8.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [d945bfe]
|
||||
- Updated dependencies [534fafd]
|
||||
- @verdaccio/e2e-cli-npm-common@1.0.1-next-8.0
|
||||
- @verdaccio/test-cli-commons@2.0.0-next-8.0
|
||||
|
||||
## 1.0.2-next-8.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@verdaccio/e2e-cli-npm7",
|
||||
"version": "1.0.2-next-8.0",
|
||||
"version": "1.0.2-next-8.1",
|
||||
"dependencies": {
|
||||
"@verdaccio/test-cli-commons": "workspace:2.0.0-next-8.0",
|
||||
"@verdaccio/e2e-cli-npm-common": "workspace:*",
|
||||
|
||||
@@ -1,5 +1,14 @@
|
||||
# @verdaccio/e2e-cli-npm8
|
||||
|
||||
## 1.0.2-next-8.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [d945bfe]
|
||||
- Updated dependencies [534fafd]
|
||||
- @verdaccio/e2e-cli-npm-common@1.0.1-next-8.0
|
||||
- @verdaccio/test-cli-commons@2.0.0-next-8.0
|
||||
|
||||
## 1.0.2-next-8.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@verdaccio/e2e-cli-npm8",
|
||||
"version": "1.0.2-next-8.0",
|
||||
"version": "1.0.2-next-8.1",
|
||||
"dependencies": {
|
||||
"@verdaccio/test-cli-commons": "workspace:2.0.0-next-8.0",
|
||||
"@verdaccio/e2e-cli-npm-common": "workspace:*",
|
||||
|
||||
@@ -1,5 +1,14 @@
|
||||
# @verdaccio/e2e-cli-npm9
|
||||
|
||||
## 1.0.2-next-8.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [d945bfe]
|
||||
- Updated dependencies [534fafd]
|
||||
- @verdaccio/e2e-cli-npm-common@1.0.1-next-8.0
|
||||
- @verdaccio/test-cli-commons@2.0.0-next-8.0
|
||||
|
||||
## 1.0.2-next-8.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@verdaccio/e2e-cli-npm9",
|
||||
"version": "1.0.2-next-8.0",
|
||||
"version": "1.0.2-next-8.1",
|
||||
"dependencies": {
|
||||
"@verdaccio/test-cli-commons": "workspace:2.0.0-next-8.0",
|
||||
"@verdaccio/e2e-cli-npm-common": "workspace:*",
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
FROM tutum/nginx
|
||||
RUN rm /etc/nginx/sites-enabled/default
|
||||
ADD sites-enabled /etc/nginx/sites-enabled
|
||||
@@ -1,6 +1,17 @@
|
||||
version: '2'
|
||||
version: '3.9'
|
||||
|
||||
services:
|
||||
nginx:
|
||||
build: ./nginx
|
||||
container_name: reverse_proxy
|
||||
ports:
|
||||
- '80:80'
|
||||
depends_on:
|
||||
- verdaccio
|
||||
volumes:
|
||||
- logs:/var/log/nginx
|
||||
restart: unless-stopped
|
||||
|
||||
verdaccio:
|
||||
image: verdaccio/verdaccio:nightly-master
|
||||
container_name: verdaccio_root_path
|
||||
@@ -8,19 +19,8 @@ services:
|
||||
- '4873:4873'
|
||||
volumes:
|
||||
- verdaccio:/verdaccio
|
||||
|
||||
nginx:
|
||||
restart: always
|
||||
build: conf/nginx
|
||||
ports:
|
||||
- '80:80'
|
||||
volumes:
|
||||
- /www/public
|
||||
volumes_from:
|
||||
- verdaccio
|
||||
links:
|
||||
- verdaccio:verdaccio
|
||||
restart: unless-stopped
|
||||
|
||||
volumes:
|
||||
verdaccio:
|
||||
driver: local
|
||||
logs:
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user