Compare commits
92 Commits
@verdaccio
...
@verdaccio
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c5e8c9c9c4 | ||
|
|
09753cc1fa | ||
|
|
f86f9244f2 | ||
|
|
a6956b7aaa | ||
|
|
f6d5bb7223 | ||
|
|
271a7c26ad | ||
|
|
8d773c1bad | ||
|
|
3e71a3567b | ||
|
|
bb4aabcae5 | ||
|
|
0dafa98263 | ||
|
|
dbd58cd275 | ||
|
|
ba8bc69b42 | ||
|
|
27831c09e8 | ||
|
|
06020fffc1 | ||
|
|
9bd073da47 | ||
|
|
e74a88ea31 | ||
|
|
18216e54d4 | ||
|
|
6bd92c29a5 | ||
|
|
8bbc357841 | ||
|
|
c1da31cdc5 | ||
|
|
c8b4340a69 | ||
|
|
aa50c2f5fa | ||
|
|
a091bc3c4e | ||
|
|
8cb815ac23 | ||
|
|
e7e169e682 | ||
|
|
6010cb169b | ||
|
|
34a13a245d | ||
|
|
a479745483 | ||
|
|
dc4c6cca1e | ||
|
|
d72a0555fc | ||
|
|
55a6706834 | ||
|
|
c9bccd6ea0 | ||
|
|
a5a711abff | ||
|
|
3590c05577 | ||
|
|
d07fb8eb1f | ||
|
|
b40ba719c7 | ||
|
|
3cf670ebf7 | ||
|
|
701d2bae7c | ||
|
|
6d00511f49 | ||
|
|
8d7df691ae | ||
|
|
7aaffdd197 | ||
|
|
c91921bfcd | ||
|
|
95b17fe56d | ||
|
|
945eff9258 | ||
|
|
66467c3be0 | ||
|
|
ea6d7d58fe | ||
|
|
04014b54d6 | ||
|
|
2947bf7403 | ||
|
|
b3d9e1e632 | ||
|
|
2bd9342cee | ||
|
|
16e38df8ae | ||
|
|
6ffb0091bd | ||
|
|
f555c0c8a3 | ||
|
|
dcb3f33049 | ||
|
|
9e8c9901eb | ||
|
|
a113ea011b | ||
|
|
4f67baec96 | ||
|
|
c383eb68ce | ||
|
|
7ef599cc4a | ||
|
|
f6a538f06d | ||
|
|
83ef80c668 | ||
|
|
b1d258b1da | ||
|
|
0ec3220caf | ||
|
|
d3ff751601 | ||
|
|
f0a5900af3 | ||
|
|
5fee278df4 | ||
|
|
d0b26c1300 | ||
|
|
ad151964bf | ||
|
|
a1da11308f | ||
|
|
854b810afb | ||
|
|
0d171f29db | ||
|
|
974cd8c19c | ||
|
|
612470544c | ||
|
|
042746fe49 | ||
|
|
9f2c7978d3 | ||
|
|
4a6e682395 | ||
|
|
7563bb37aa | ||
|
|
a206f476b0 | ||
|
|
b86f4d51c7 | ||
|
|
2910200126 | ||
|
|
1651ef2f80 | ||
|
|
ec3b79aa6d | ||
|
|
824cd8584f | ||
|
|
d3a4695d5d | ||
|
|
dc571aabd2 | ||
|
|
ddb6a22396 | ||
|
|
399cf9c47c | ||
|
|
819d865fb9 | ||
|
|
3384862846 | ||
|
|
a237700f6a | ||
|
|
ce23833d47 | ||
|
|
3588b8d96b |
8
.changeset/blue-cobras-study.md
Normal file
8
.changeset/blue-cobras-study.md
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
'@verdaccio/cli': minor
|
||||
'@verdaccio/ui-components': minor
|
||||
'@verdaccio/core': minor
|
||||
'@verdaccio/types': minor
|
||||
---
|
||||
|
||||
fix: startup messages improved and logs support on types
|
||||
8
.changeset/fresh-chicken-rush.md
Normal file
8
.changeset/fresh-chicken-rush.md
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
'@verdaccio/types': patch
|
||||
'@verdaccio/middleware': patch
|
||||
'@verdaccio/server': patch
|
||||
'@verdaccio/ui-components': patch
|
||||
---
|
||||
|
||||
fix: missing version on footer
|
||||
5
.changeset/giant-apples-laugh.md
Normal file
5
.changeset/giant-apples-laugh.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/core': patch
|
||||
---
|
||||
|
||||
fix: minor typo on warning message
|
||||
7
.changeset/honest-maps-hear.md
Normal file
7
.changeset/honest-maps-hear.md
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
'@verdaccio/test-cli-commons': patch
|
||||
'@verdaccio/e2e-ui': patch
|
||||
'verdaccio': patch
|
||||
---
|
||||
|
||||
fix: get-port missing dep
|
||||
8
.changeset/kind-ladybugs-admire.md
Normal file
8
.changeset/kind-ladybugs-admire.md
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
'@verdaccio/auth': minor
|
||||
'@verdaccio/config': minor
|
||||
'@verdaccio/signature': minor
|
||||
'@verdaccio/ui-components': minor
|
||||
---
|
||||
|
||||
feat: signature package
|
||||
@@ -56,13 +56,16 @@
|
||||
"customprefix-auth": "0.0.1",
|
||||
"@verdaccio/crowdin-translations": "1.0.0",
|
||||
"@verdaccio/logger-7": "6.0.0-6-next.1",
|
||||
"@verdaccio/logger-commons": "6.0.0-6-next.25"
|
||||
"@verdaccio/logger-commons": "6.0.0-6-next.25",
|
||||
"@verdaccio/e2e-cli-pnpm8": "1.0.1-6-next.6",
|
||||
"@verdaccio/signature": "6.0.0-6-next.1"
|
||||
},
|
||||
"changesets": [
|
||||
"afraid-mice-obey",
|
||||
"angry-nails-appear",
|
||||
"big-lobsters-sin",
|
||||
"big-years-repair",
|
||||
"blue-cobras-study",
|
||||
"brave-seahorses-press",
|
||||
"bright-poems-obey",
|
||||
"brown-cycles-laugh",
|
||||
@@ -88,10 +91,12 @@
|
||||
"fluffy-papayas-lay",
|
||||
"forty-students-refuse",
|
||||
"four-ways-try",
|
||||
"fresh-chicken-rush",
|
||||
"fuzzy-drinks-taste",
|
||||
"fuzzy-onions-draw",
|
||||
"gentle-parrots-lay",
|
||||
"gentle-trains-switch",
|
||||
"giant-apples-laugh",
|
||||
"giant-years-trade",
|
||||
"gold-vans-tease",
|
||||
"green-yaks-divide",
|
||||
@@ -100,7 +105,9 @@
|
||||
"healthy-poets-compare",
|
||||
"heavy-ravens-lay",
|
||||
"hip-hounds-destroy",
|
||||
"honest-maps-hear",
|
||||
"kind-bears-nail",
|
||||
"kind-ladybugs-admire",
|
||||
"late-adults-love",
|
||||
"late-parents-act",
|
||||
"light-pumas-brake",
|
||||
@@ -125,9 +132,11 @@
|
||||
"plenty-spiders-melt",
|
||||
"plenty-tables-refuse",
|
||||
"poor-suns-film",
|
||||
"pretty-clouds-help",
|
||||
"pretty-hounds-tap",
|
||||
"proud-jeans-walk",
|
||||
"proud-jobs-hope",
|
||||
"rare-planets-travel",
|
||||
"red-chefs-float",
|
||||
"red-yaks-sell",
|
||||
"rich-badgers-begin",
|
||||
@@ -136,6 +145,7 @@
|
||||
"shaggy-parrots-smash",
|
||||
"shiny-chefs-heal",
|
||||
"shy-ducks-cover",
|
||||
"silly-moose-watch",
|
||||
"slow-carrots-relate",
|
||||
"slow-snails-sniff",
|
||||
"smart-apricots-kneel",
|
||||
@@ -157,6 +167,7 @@
|
||||
"three-moles-drop",
|
||||
"three-pots-sit",
|
||||
"tiny-seals-join",
|
||||
"tough-days-search",
|
||||
"tricky-taxis-watch",
|
||||
"twelve-crabs-guess",
|
||||
"two-dolls-check",
|
||||
|
||||
9
.changeset/pretty-clouds-help.md
Normal file
9
.changeset/pretty-clouds-help.md
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
'@verdaccio/config': minor
|
||||
'@verdaccio/core': minor
|
||||
'@verdaccio/types': minor
|
||||
'@verdaccio/server': minor
|
||||
'@verdaccio/store': minor
|
||||
---
|
||||
|
||||
feat: trustProxy property
|
||||
9
.changeset/rare-planets-travel.md
Normal file
9
.changeset/rare-planets-travel.md
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
'@verdaccio/config': minor
|
||||
'@verdaccio/core': minor
|
||||
'@verdaccio/types': minor
|
||||
'@verdaccio/signature': minor
|
||||
'@verdaccio/test-helper': minor
|
||||
---
|
||||
|
||||
feat: add forceEnhancedLegacySignature
|
||||
5
.changeset/silly-moose-watch.md
Normal file
5
.changeset/silly-moose-watch.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'verdaccio-htpasswd': patch
|
||||
---
|
||||
|
||||
fix wrong htpasswd file location
|
||||
6
.changeset/tough-days-search.md
Normal file
6
.changeset/tough-days-search.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
'@verdaccio/ui-theme': patch
|
||||
'@verdaccio/ui-components': patch
|
||||
---
|
||||
|
||||
fix: undefined field on missing count
|
||||
5
.github/ISSUE_TEMPLATE/config.yml
vendored
5
.github/ISSUE_TEMPLATE/config.yml
vendored
@@ -8,7 +8,4 @@ contact_links:
|
||||
about: I want to report a security vulnerability
|
||||
- name: Chat 🏘
|
||||
url: https://discord.gg/7qWJxBf
|
||||
about: For a quick question you should do it through our community chat
|
||||
- name: User Interface Report 👩🏼🎨👨🏼🎨
|
||||
url: https://github.com/verdaccio/ui/issues/new/choose
|
||||
about: Any report related with the User Interface should be posted in another repository
|
||||
about: Quick question? Try out Discord chat, you can get faster feedback
|
||||
|
||||
7
.github/workflows/changesets.yml
vendored
7
.github/workflows/changesets.yml
vendored
@@ -20,20 +20,19 @@ jobs:
|
||||
if: github.ref == 'refs/heads/master' && github.repository == 'verdaccio/verdaccio'
|
||||
steps:
|
||||
- name: checkout code repository
|
||||
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
||||
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # tag=v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: setup node.js
|
||||
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3
|
||||
with:
|
||||
node-version: 14
|
||||
registry-url: 'https://registry.npmjs.org'
|
||||
node-version-file: '.nvmrc'
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{ secrets.REGISTRY_AUTH_TOKEN }}
|
||||
|
||||
- name: install pnpm
|
||||
run: npm i pnpm@6.32.15 -g
|
||||
run: npm i pnpm@latest-8 -g
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{ secrets.REGISTRY_AUTH_TOKEN }}
|
||||
|
||||
|
||||
60
.github/workflows/ci-windows.yml
vendored
60
.github/workflows/ci-windows.yml
vendored
@@ -18,21 +18,25 @@ jobs:
|
||||
env:
|
||||
NODE_ENV: production
|
||||
steps:
|
||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
||||
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # tag=v3
|
||||
- name: Node
|
||||
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: Install pnpm
|
||||
run: npm i pnpm@6.32.15 -g
|
||||
run: npm i pnpm@latest-8 -g
|
||||
- name: set store
|
||||
run: |
|
||||
mkdir ~/.pnpm-store
|
||||
pnpm config set store-dir ~/.pnpm-store
|
||||
- name: set store
|
||||
run: |
|
||||
mkdir ~/.pnpm-store
|
||||
pnpm config set store-dir ~/.pnpm-store
|
||||
- name: Install
|
||||
run: pnpm recursive install --frozen-lockfile --registry http://localhost:4873
|
||||
run: pnpm install --registry http://localhost:4873
|
||||
- name: Cache .pnpm-store
|
||||
uses: actions/cache@6998d139ddd3e68c71e9e398d8e40b71a2f39812 # v3
|
||||
uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3
|
||||
with:
|
||||
path: ~/.pnpm-store
|
||||
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
|
||||
@@ -43,19 +47,23 @@ jobs:
|
||||
name: Lint
|
||||
needs: prepare
|
||||
steps:
|
||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
||||
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # tag=v3
|
||||
- name: Node
|
||||
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: Install pnpm
|
||||
run: npm i pnpm@6.32.15 -g
|
||||
- uses: actions/cache@6998d139ddd3e68c71e9e398d8e40b71a2f39812 # v3
|
||||
run: npm i pnpm@latest-8 -g
|
||||
- uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # 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 recursive install --offline --frozen-lockfile --reporter=silence --ignore-scripts
|
||||
run: pnpm install --offline --reporter=silence --ignore-scripts
|
||||
- name: Lint
|
||||
run: pnpm lint
|
||||
format:
|
||||
@@ -63,19 +71,23 @@ jobs:
|
||||
name: Format
|
||||
needs: prepare
|
||||
steps:
|
||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
||||
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # tag=v3
|
||||
- name: Use Node
|
||||
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: Install pnpm
|
||||
run: npm i pnpm@6.32.15 -g
|
||||
- uses: actions/cache@6998d139ddd3e68c71e9e398d8e40b71a2f39812 # v3
|
||||
run: npm i pnpm@latest-8 -g
|
||||
- uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # 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 recursive install --offline --frozen-lockfile --reporter=silence --ignore-scripts
|
||||
run: pnpm install --offline --reporter=silence --ignore-scripts
|
||||
- name: Lint
|
||||
run: pnpm format:check
|
||||
build:
|
||||
@@ -88,19 +100,23 @@ jobs:
|
||||
name: ${{ matrix.os }} / Node ${{ matrix.node_version }}
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
||||
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # tag=v3
|
||||
- name: Use Node ${{ matrix.node_version }}
|
||||
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3
|
||||
with:
|
||||
node-version: ${{ matrix.node_version }}
|
||||
- name: Install pnpm
|
||||
run: npm i pnpm@6.32.15 -g
|
||||
- uses: actions/cache@6998d139ddd3e68c71e9e398d8e40b71a2f39812 # v3
|
||||
run: npm i pnpm@latest-8 -g
|
||||
- uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # 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 recursive install --offline --frozen-lockfile --reporter=silence --ignore-scripts --registry http://localhost:4873
|
||||
run: pnpm install --offline --reporter=silence --ignore-scripts --registry http://localhost:4873
|
||||
- name: build
|
||||
run: pnpm build
|
||||
- name: Test
|
||||
@@ -110,18 +126,22 @@ jobs:
|
||||
runs-on: windows-latest
|
||||
name: UI Test E2E
|
||||
steps:
|
||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
||||
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # tag=v3
|
||||
- uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: Install pnpm
|
||||
run: npm i pnpm@6.32.15 -g
|
||||
- uses: actions/cache@6998d139ddd3e68c71e9e398d8e40b71a2f39812 # v3
|
||||
run: npm i pnpm@latest-8 -g
|
||||
- uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # 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 recursive install --offline --frozen-lockfile --reporter=silence --registry http://localhost:4873
|
||||
run: pnpm install --offline --reporter=silence --registry http://localhost:4873
|
||||
- name: build
|
||||
run: pnpm build
|
||||
- name: Test UI
|
||||
|
||||
58
.github/workflows/ci.yml
vendored
58
.github/workflows/ci.yml
vendored
@@ -21,13 +21,13 @@ jobs:
|
||||
name: setup verdaccio
|
||||
services:
|
||||
verdaccio:
|
||||
image: verdaccio/verdaccio:nightly-master
|
||||
image: verdaccio/verdaccio:5
|
||||
ports:
|
||||
- 4873:4873
|
||||
env:
|
||||
NODE_ENV: production
|
||||
steps:
|
||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
||||
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # tag=v3
|
||||
- name: Node
|
||||
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3
|
||||
with:
|
||||
@@ -35,15 +35,15 @@ jobs:
|
||||
- name: Install pnpm
|
||||
run: |
|
||||
corepack enable
|
||||
corepack prepare --activate pnpm@6.32.15
|
||||
corepack prepare --activate pnpm@latest-8
|
||||
- name: set store
|
||||
run: |
|
||||
mkdir ~/.pnpm-store
|
||||
pnpm config set store-dir ~/.pnpm-store
|
||||
- name: Install
|
||||
run: pnpm recursive install --frozen-lockfile --registry http://localhost:4873
|
||||
run: pnpm install --registry http://localhost:4873
|
||||
- name: Cache .pnpm-store
|
||||
uses: actions/cache@6998d139ddd3e68c71e9e398d8e40b71a2f39812 # v3
|
||||
uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3
|
||||
with:
|
||||
path: ~/.pnpm-store
|
||||
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
|
||||
@@ -54,7 +54,7 @@ jobs:
|
||||
name: Lint
|
||||
needs: prepare
|
||||
steps:
|
||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
||||
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # tag=v3
|
||||
- name: Node
|
||||
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3
|
||||
with:
|
||||
@@ -62,13 +62,16 @@ jobs:
|
||||
- name: Install pnpm
|
||||
run: |
|
||||
corepack enable
|
||||
corepack prepare --activate pnpm@6.32.15
|
||||
- uses: actions/cache@6998d139ddd3e68c71e9e398d8e40b71a2f39812 # v3
|
||||
corepack prepare --activate pnpm@latest-8
|
||||
- uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3
|
||||
with:
|
||||
path: ~/.pnpm-store
|
||||
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
|
||||
- name: set store
|
||||
run: |
|
||||
pnpm config set store-dir ~/.pnpm-store
|
||||
- name: Install
|
||||
run: pnpm recursive install --offline --frozen-lockfile --reporter=silence --ignore-scripts
|
||||
run: pnpm install --offline --ignore-scripts
|
||||
- name: Lint
|
||||
run: pnpm lint
|
||||
format:
|
||||
@@ -76,7 +79,7 @@ jobs:
|
||||
name: Format
|
||||
needs: prepare
|
||||
steps:
|
||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
||||
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # tag=v3
|
||||
- name: Use Node
|
||||
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3
|
||||
with:
|
||||
@@ -84,13 +87,16 @@ jobs:
|
||||
- name: Install pnpm
|
||||
run: |
|
||||
corepack enable
|
||||
corepack prepare --activate pnpm@6.32.15
|
||||
- uses: actions/cache@6998d139ddd3e68c71e9e398d8e40b71a2f39812 # v3
|
||||
corepack prepare --activate pnpm@latest-8
|
||||
- uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3
|
||||
with:
|
||||
path: ~/.pnpm-store
|
||||
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
|
||||
- name: set store
|
||||
run: |
|
||||
pnpm config set store-dir ~/.pnpm-store
|
||||
- name: Install
|
||||
run: pnpm recursive install --offline --frozen-lockfile --reporter=silence --ignore-scripts
|
||||
run: pnpm install --offline --ignore-scripts
|
||||
- name: Lint
|
||||
run: pnpm format:check
|
||||
test:
|
||||
@@ -103,7 +109,7 @@ jobs:
|
||||
name: ${{ matrix.os }} / Node ${{ matrix.node_version }}
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
||||
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # tag=v3
|
||||
- name: Use Node ${{ matrix.node_version }}
|
||||
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3
|
||||
with:
|
||||
@@ -111,13 +117,16 @@ jobs:
|
||||
- name: Install pnpm
|
||||
run: |
|
||||
corepack enable
|
||||
corepack prepare --activate pnpm@6.32.15
|
||||
- uses: actions/cache@6998d139ddd3e68c71e9e398d8e40b71a2f39812 # v3
|
||||
corepack prepare --activate pnpm@latest-8
|
||||
- uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3
|
||||
with:
|
||||
path: ~/.pnpm-store
|
||||
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
|
||||
- name: set store
|
||||
run: |
|
||||
pnpm config set store-dir ~/.pnpm-store
|
||||
- name: Install
|
||||
run: pnpm recursive install --offline --frozen-lockfile --reporter=silence --ignore-scripts --registry http://localhost:4873
|
||||
run: pnpm install --offline --ignore-scripts --registry http://localhost:4873
|
||||
- name: build
|
||||
run: pnpm build
|
||||
- name: Test
|
||||
@@ -126,27 +135,30 @@ jobs:
|
||||
needs: [test]
|
||||
runs-on: ubuntu-latest
|
||||
name: synchronize translations
|
||||
if: (github.event_name == 'push' && github.ref == 'refs/heads/master') || github.event_name == 'workflow_dispatch'
|
||||
if: (github.event_name == 'push' && github.ref == 'refs/heads/master') || github.event_name == 'workflow_dispatch'
|
||||
steps:
|
||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
||||
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # tag=v3
|
||||
- uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: Install pnpm
|
||||
run: |
|
||||
corepack enable
|
||||
corepack prepare --activate pnpm@6.32.15
|
||||
- uses: actions/cache@6998d139ddd3e68c71e9e398d8e40b71a2f39812 # v3
|
||||
corepack prepare --activate pnpm@latest-8
|
||||
- uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3
|
||||
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 recursive install --frozen-lockfile --registry http://localhost:4873
|
||||
run: pnpm install --registry http://localhost:4873
|
||||
- name: build
|
||||
run: pnpm build
|
||||
- name: generate website translations
|
||||
run: pnpm write-translations --filter ...@verdaccio/website
|
||||
run: pnpm --filter ...@verdaccio/website write-translations
|
||||
- name: sync
|
||||
env:
|
||||
CROWDIN_VERDACCIO_API_KEY: ${{ secrets.CROWDIN_VERDACCIO_API_KEY }}
|
||||
|
||||
8
.github/workflows/codeql-analysis.yml
vendored
8
.github/workflows/codeql-analysis.yml
vendored
@@ -21,7 +21,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
||||
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # tag=v3
|
||||
with:
|
||||
# We must fetch at least the immediate parents so that if this is
|
||||
# a pull request then we can checkout the head.
|
||||
@@ -34,7 +34,7 @@ jobs:
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@17573ee1cc1b9d061760f3a006fc4aac4f944fd5 # tag=v2
|
||||
uses: github/codeql-action/init@7df0ce34898d659f95c0c4a09eaa8d4e32ee64db # tag=v2
|
||||
|
||||
# Override language selection by uncommenting this and choosing your languages
|
||||
# with:
|
||||
@@ -42,7 +42,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@17573ee1cc1b9d061760f3a006fc4aac4f944fd5 # tag=v2
|
||||
uses: github/codeql-action/autobuild@7df0ce34898d659f95c0c4a09eaa8d4e32ee64db # tag=v2
|
||||
|
||||
# ℹ️ Command-line programs to run using the OS shell.
|
||||
# 📚 https://git.io/JvXDl
|
||||
@@ -56,4 +56,4 @@ jobs:
|
||||
# make release
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@17573ee1cc1b9d061760f3a006fc4aac4f944fd5 # tag=v2
|
||||
uses: github/codeql-action/analyze@7df0ce34898d659f95c0c4a09eaa8d4e32ee64db # tag=v2
|
||||
|
||||
@@ -15,7 +15,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
|
||||
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3
|
||||
|
||||
- name: Start containers
|
||||
run: docker-compose -f "./e2e/docker/apache-verdaccio/docker-compose.yaml" up -d --build
|
||||
|
||||
2
.github/workflows/docker-proxy-nginx-e2e.yml
vendored
2
.github/workflows/docker-proxy-nginx-e2e.yml
vendored
@@ -12,7 +12,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
|
||||
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3
|
||||
|
||||
- name: Start containers
|
||||
run: docker-compose -f "./e2e/docker/proxy-nginx/docker-compose.yaml" up -d --build
|
||||
|
||||
2
.github/workflows/docker-publish.yml
vendored
2
.github/workflows/docker-publish.yml
vendored
@@ -23,7 +23,7 @@ jobs:
|
||||
docker:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
||||
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # tag=v3
|
||||
- uses: docker/setup-qemu-action@e81a89b1732b9c48d79cd809d8d81d79c4647a18 # tag=v1
|
||||
- uses: docker/setup-buildx-action@v1
|
||||
with:
|
||||
|
||||
38
.github/workflows/e2e-ci.yml
vendored
38
.github/workflows/e2e-ci.yml
vendored
@@ -15,21 +15,21 @@ jobs:
|
||||
env:
|
||||
NODE_ENV: production
|
||||
steps:
|
||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
||||
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # tag=v3
|
||||
- name: Use Node
|
||||
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: Install pnpm
|
||||
run: npm i pnpm@6.32.15 -g
|
||||
run: npm i pnpm@latest-8 -g
|
||||
- name: set store
|
||||
run: |
|
||||
mkdir ~/.pnpm-store
|
||||
pnpm config set store-dir ~/.pnpm-store
|
||||
- name: Install
|
||||
run: pnpm recursive install --frozen-lockfile --reporter=silence --ignore-scripts --registry http://localhost:4873
|
||||
run: pnpm install --reporter=silence --ignore-scripts --registry http://localhost:4873
|
||||
- name: Cache .pnpm-store
|
||||
uses: actions/cache@6998d139ddd3e68c71e9e398d8e40b71a2f39812 # v3
|
||||
uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3
|
||||
with:
|
||||
path: ~/.pnpm-store
|
||||
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}
|
||||
@@ -39,23 +39,26 @@ jobs:
|
||||
needs: [prepare]
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
||||
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # tag=v3
|
||||
- name: Use Node 16
|
||||
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: Install pnpm
|
||||
run: npm i pnpm@6.32.15 -g
|
||||
- uses: actions/cache@6998d139ddd3e68c71e9e398d8e40b71a2f39812 # v3
|
||||
run: npm i pnpm@latest-8 -g
|
||||
- uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3
|
||||
with:
|
||||
path: ~/.pnpm-store
|
||||
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}
|
||||
- name: set store
|
||||
run: |
|
||||
pnpm config set store-dir ~/.pnpm-store
|
||||
- name: Install
|
||||
run: pnpm recursive install --frozen-lockfile --reporter=silence --registry http://localhost:4873
|
||||
run: pnpm recursive install --reporter=silence --registry http://localhost:4873
|
||||
- name: build
|
||||
run: pnpm build
|
||||
- name: Cache packages
|
||||
uses: actions/cache@6998d139ddd3e68c71e9e398d8e40b71a2f39812 # v3
|
||||
uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3
|
||||
id: cache-packages
|
||||
with:
|
||||
path: ./packages/
|
||||
@@ -75,24 +78,27 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
pkg: [npm6, npm7, npm8, npm9, pnpm6, pnpm7, yarn1, yarn2, yarn3, yarn4]
|
||||
pkg: [npm6, npm7, npm8, npm9, pnpm6, pnpm7, pnpm8, yarn1, yarn2, yarn3, yarn4]
|
||||
node: [16, 18, 19]
|
||||
name: ${{ matrix.pkg }}/ ubuntu-latest / ${{ matrix.node }}
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
||||
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # tag=v3
|
||||
- uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3
|
||||
with:
|
||||
node-version: ${{ matrix.node }}
|
||||
- name: Install pnpm
|
||||
run: npm i pnpm@6.32.15 -g
|
||||
- uses: actions/cache@6998d139ddd3e68c71e9e398d8e40b71a2f39812 # v3
|
||||
run: npm i pnpm@latest-8 -g
|
||||
- uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3
|
||||
with:
|
||||
path: ~/.pnpm-store
|
||||
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}
|
||||
- name: set store
|
||||
run: |
|
||||
pnpm config set store-dir ~/.pnpm-store
|
||||
- name: Install
|
||||
run: pnpm recursive install --offline --frozen-lockfile --reporter=silence --ignore-scripts --registry http://localhost:4873
|
||||
- uses: actions/cache@6998d139ddd3e68c71e9e398d8e40b71a2f39812 # v3
|
||||
run: pnpm install --offline --reporter=silence --ignore-scripts --registry http://localhost:4873
|
||||
- uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3
|
||||
with:
|
||||
path: ./packages/
|
||||
key: pkg-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}
|
||||
@@ -101,6 +107,6 @@ jobs:
|
||||
# path: ./e2e/
|
||||
# key: test-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}
|
||||
- name: build e2e
|
||||
run: pnpm run build --filter=./e2e
|
||||
run: pnpm --filter @verdaccio/test-cli-commons build
|
||||
- name: Test CLI
|
||||
run: NODE_ENV=production pnpm test --filter ...@verdaccio/e2e-cli-${{matrix.pkg}}
|
||||
|
||||
6
.github/workflows/e2e-ui.yml
vendored
6
.github/workflows/e2e-ui.yml
vendored
@@ -15,7 +15,7 @@ jobs:
|
||||
env:
|
||||
NODE_ENV: production
|
||||
steps:
|
||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
||||
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # tag=v3
|
||||
- name: Use Node
|
||||
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3
|
||||
with:
|
||||
@@ -23,9 +23,9 @@ jobs:
|
||||
- name: Install pnpm
|
||||
run: |
|
||||
corepack enable
|
||||
corepack prepare --activate pnpm@6.32.15
|
||||
corepack prepare --activate pnpm@latest-8
|
||||
- name: Install
|
||||
run: pnpm install --frozen-lockfile --reporter=silence --registry http://localhost:4873
|
||||
run: pnpm install --reporter=silence --registry http://localhost:4873
|
||||
- name: build
|
||||
run: pnpm build
|
||||
- name: Test UI
|
||||
|
||||
12
.github/workflows/static-data.yml
vendored
12
.github/workflows/static-data.yml
vendored
@@ -19,7 +19,7 @@ jobs:
|
||||
name: Run script
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
||||
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # tag=v3
|
||||
with:
|
||||
persist-credentials: false
|
||||
fetch-depth: 0
|
||||
@@ -27,17 +27,11 @@ jobs:
|
||||
with:
|
||||
node-version: 18.x
|
||||
- name: install pnpm
|
||||
run: sudo npm i pnpm@latest-6 -g
|
||||
- name: set store
|
||||
run: |
|
||||
mkdir ~/.pnpm-store
|
||||
pnpm config set store-dir ~/.pnpm-store
|
||||
- name: setup pnpm config registry
|
||||
run: pnpm config set registry https://registry.verdaccio.org
|
||||
run: sudo npm i pnpm@latest-8 -g
|
||||
- name: install dependencies
|
||||
run: pnpm install
|
||||
- name: Build Translations percentage
|
||||
run: pnpm build --filter "@verdaccio/crowdin-translations"
|
||||
run: pnpm --filter @verdaccio/crowdin-translations build
|
||||
- name: update contributors
|
||||
run: pnpm run contributors
|
||||
env:
|
||||
|
||||
12
.github/workflows/ui-components.yml
vendored
12
.github/workflows/ui-components.yml
vendored
@@ -27,7 +27,7 @@ jobs:
|
||||
env:
|
||||
NODE_OPTIONS: --max_old_space_size=4096
|
||||
steps:
|
||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
||||
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # tag=v3
|
||||
|
||||
- name: Use Node
|
||||
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3
|
||||
@@ -35,7 +35,7 @@ jobs:
|
||||
node-version-file: '.nvmrc'
|
||||
|
||||
- name: Cache pnpm modules
|
||||
uses: actions/cache@6998d139ddd3e68c71e9e398d8e40b71a2f39812 # v3
|
||||
uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3
|
||||
env:
|
||||
cache-name: cache-pnpm-modules
|
||||
with:
|
||||
@@ -47,9 +47,9 @@ jobs:
|
||||
- name: Install pnpm
|
||||
run: |
|
||||
corepack enable
|
||||
corepack prepare --activate pnpm@6.32.15
|
||||
corepack prepare --activate pnpm@latest-8
|
||||
- name: Install
|
||||
run: pnpm recursive install --frozen-lockfile
|
||||
run: pnpm install
|
||||
- name: Build storybook
|
||||
run: pnpm ui:storybook:build
|
||||
- name: Copy public content
|
||||
@@ -57,7 +57,7 @@ jobs:
|
||||
run: cp -R packages/ui-components/public/* packages/ui-components/storybook-static
|
||||
- name: 🔥 Deploy Production UI Netlify
|
||||
if: (github.event_name == 'push' && github.ref == 'refs/heads/master') || github.event_name == 'workflow_dispatch'
|
||||
uses: verdaccio/action-netlify-deploy@v2.0.0
|
||||
uses: verdaccio/action-netlify-deploy@1c086d59169edeec9254672c7de17d2ceac3928f # v2.0.0
|
||||
with:
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
netlify-auth-token: ${{ secrets.NETLIFY_AUTH_TOKEN }}
|
||||
@@ -65,7 +65,7 @@ jobs:
|
||||
build-dir: './packages/ui-components/storybook-static'
|
||||
- name: 🤖 Deploy Preview UI Components Netlify
|
||||
if: github.repository == 'verdaccio/verdaccio'
|
||||
uses: verdaccio/action-netlify-deploy@v2.0.0
|
||||
uses: verdaccio/action-netlify-deploy@1c086d59169edeec9254672c7de17d2ceac3928f # v2.0.0
|
||||
id: netlify_preview_ui
|
||||
with:
|
||||
draft: true
|
||||
|
||||
18
.github/workflows/website.yml
vendored
18
.github/workflows/website.yml
vendored
@@ -23,7 +23,7 @@ jobs:
|
||||
env:
|
||||
NODE_OPTIONS: --max_old_space_size=4096
|
||||
steps:
|
||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
|
||||
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # tag=v3
|
||||
|
||||
- name: Use Node 16
|
||||
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3
|
||||
@@ -31,7 +31,7 @@ jobs:
|
||||
node-version: 16
|
||||
|
||||
- name: Cache pnpm modules
|
||||
uses: actions/cache@6998d139ddd3e68c71e9e398d8e40b71a2f39812 # v3
|
||||
uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3
|
||||
env:
|
||||
cache-name: cache-pnpm-modules
|
||||
with:
|
||||
@@ -42,16 +42,16 @@ jobs:
|
||||
|
||||
- uses: pnpm/action-setup@c3b53f6a16e57305370b4ae5a540c2077a1d50dd # tag=v2.2.4
|
||||
with:
|
||||
version: 6.32.15
|
||||
version: latest-8
|
||||
run_install: |
|
||||
- recursive: true
|
||||
args: [--frozen-lockfile]
|
||||
- name: Build
|
||||
run: pnpm build
|
||||
- name: Build Translations percentage
|
||||
run: pnpm build --filter "@verdaccio/crowdin-translations"
|
||||
run: pnpm --filter @verdaccio/crowdin-translations build
|
||||
- name: Cache Docusaurus Build
|
||||
uses: actions/cache@6998d139ddd3e68c71e9e398d8e40b71a2f39812 # v3
|
||||
uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3
|
||||
with:
|
||||
path: website/node_modules/.cache/webpack
|
||||
key: cache/webpack-${{github.ref}}-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
@@ -66,7 +66,7 @@ jobs:
|
||||
CROWDIN_VERDACCIO_API_KEY: ${{ secrets.CROWDIN_VERDACCIO_API_KEY }}
|
||||
SENTRY_KEY: ${{ secrets.SENTRY_KEY }}
|
||||
CONTEXT: production
|
||||
run: pnpm netlify:build:production --filter ...@verdaccio/website
|
||||
run: pnpm --filter @verdaccio/website netlify:build:production
|
||||
|
||||
- name: 🔥 Deploy Production Netlify
|
||||
if: (github.event_name == 'push' && github.ref == 'refs/heads/master') || github.event_name == 'workflow_dispatch'
|
||||
@@ -81,7 +81,7 @@ jobs:
|
||||
- name: Build Deployment Preview
|
||||
env:
|
||||
CONTEXT: deploy-preview
|
||||
run: pnpm netlify:build:deployPreview --filter ...@verdaccio/website
|
||||
run: pnpm --filter ...@verdaccio/website netlify:build:deployPreview
|
||||
|
||||
- name: 🤖 Deploy Preview Netlify
|
||||
if: github.repository == 'verdaccio/verdaccio'
|
||||
@@ -100,7 +100,7 @@ jobs:
|
||||
- name: Audit preview URL with Lighthouse
|
||||
if: github.repository == 'verdaccio/verdaccio'
|
||||
id: lighthouse_audit
|
||||
uses: treosh/lighthouse-ci-action@e0fe113967eee84b631d526ed18ce001f35fe9e9 # tag=9.3.1
|
||||
uses: treosh/lighthouse-ci-action@2e159d989f91bb9e399801b3e1ad90bcd4749f75 # tag=9.6.8
|
||||
with:
|
||||
urls: |
|
||||
${{ steps.netlify_preview.outputs.preview-url }}
|
||||
@@ -109,7 +109,7 @@ jobs:
|
||||
|
||||
- name: Format lighthouse score
|
||||
id: format_lighthouse_score
|
||||
uses: actions/github-script@98814c53be79b1d30f795b907e553d8679345975 # tag=v6
|
||||
uses: actions/github-script@d7906e4ad0b1822421a7e6a35d5ca353c962f410 # tag=v6
|
||||
with:
|
||||
github-token: ${{secrets.GITHUB_TOKEN}}
|
||||
script: |
|
||||
|
||||
1
.npmrc
1
.npmrc
@@ -1,4 +1,3 @@
|
||||
always-auth = true
|
||||
recursive-install = true
|
||||
loglevel=info
|
||||
fetch-retries="10"
|
||||
|
||||
@@ -44,7 +44,7 @@ This setting would cause the `pnpm install` command to install incorrect version
|
||||
To begin your development setup, please install the latest version of pnpm globally:
|
||||
|
||||
```
|
||||
npm i -g pnpm@latest-6
|
||||
npm i -g pnpm@latest-8
|
||||
```
|
||||
|
||||
With pnpm installed, the first step is installing all dependencies:
|
||||
|
||||
12
Dockerfile
12
Dockerfile
@@ -1,7 +1,7 @@
|
||||
FROM --platform=${BUILDPLATFORM:-linux/amd64} node:18-alpine as builder
|
||||
|
||||
ENV NODE_ENV=development \
|
||||
VERDACCIO_BUILD_REGISTRY=https://registry.verdaccio.org
|
||||
VERDACCIO_BUILD_REGISTRY=https://registry.npmjs.org
|
||||
|
||||
RUN apk --no-cache add openssl ca-certificates wget && \
|
||||
apk --no-cache add g++ gcc libgcc libstdc++ linux-headers make python3 && \
|
||||
@@ -11,13 +11,13 @@ RUN apk --no-cache add openssl ca-certificates wget && \
|
||||
|
||||
WORKDIR /opt/verdaccio-build
|
||||
COPY . .
|
||||
RUN npm -g i pnpm@6.32.15 && \
|
||||
RUN npm -g i pnpm@latest-8 && \
|
||||
pnpm config set registry $VERDACCIO_BUILD_REGISTRY && \
|
||||
pnpm recursive install --frozen-lockfile --ignore-scripts && \
|
||||
pnpm install --frozen-lockfile --ignore-scripts && \
|
||||
rm -Rf test && \
|
||||
pnpm run build && \
|
||||
pnpm install -P
|
||||
# FIXME: need to remove devDependencies from the build
|
||||
pnpm run build
|
||||
# FIXME: need to remove devDependencies from the build
|
||||
# NODE_ENV=production pnpm install --frozen-lockfile --ignore-scripts
|
||||
# RUN pnpm install --prod --ignore-scripts
|
||||
|
||||
FROM node:18-alpine
|
||||
|
||||
@@ -275,6 +275,7 @@ You can find and chat with then over Discord, click [here](http://chat.verdaccio
|
||||
## Who is using Verdaccio?
|
||||
|
||||
- [create-react-app](https://github.com/facebook/create-react-app/blob/master/CONTRIBUTING.md#customizing-e2e-registry-configuration) _(+86.2k ⭐️)_
|
||||
- [Grafana](https://github.com/grafana/grafana/search?q=verdaccio) _(+54.9k ⭐️)_
|
||||
- [Gatsby](https://github.com/gatsbyjs/gatsby) _(+49.2k ⭐️)_
|
||||
- [Babel.js](https://github.com/babel/babel) _(+38.5k ⭐️)_
|
||||
- [Docusaurus](https://github.com/facebook/docusaurus) _(+34k ⭐️)_
|
||||
|
||||
@@ -10,18 +10,18 @@
|
||||
|
||||
### Commands Tested
|
||||
|
||||
| cmd | npm6 | npm7 | npm8 | npm9 | pnpm6 | pnpm7 | yarn1 | yarn2 | yarn3 | yarn4 |
|
||||
| --------- | ---- | ---- | ---- | ---- | ----- | ----- | ----- | ----- | ----- | ----- |
|
||||
| publish | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| info | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| audit | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
|
||||
| install | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| deprecate | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
|
||||
| ping | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
|
||||
| search | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
|
||||
| star | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
|
||||
| stars | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
|
||||
| dist-tag | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
|
||||
| cmd | npm6 | npm7 | npm8 | npm9 | pnpm6 | pnpm7 | pnpm8 | yarn1 | yarn2 | yarn3 | yarn4 |
|
||||
| --------- | ---- | ---- | ---- | ---- | ----- | ----- | ----- | ----- | ----- | ----- | ----- |
|
||||
| publish | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| info | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| audit | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
|
||||
| install | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| deprecate | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
|
||||
| ping | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
|
||||
| search | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
|
||||
| star | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
|
||||
| stars | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
|
||||
| dist-tag | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
|
||||
|
||||
> notes:
|
||||
>
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
# @verdaccio/test-cli-commons
|
||||
|
||||
## 1.1.0-6-next.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- c383eb68: fix: get-port missing dep
|
||||
|
||||
## 1.1.0-6-next.6
|
||||
|
||||
### Minor Changes
|
||||
|
||||
@@ -1,19 +1,20 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@verdaccio/test-cli-commons",
|
||||
"version": "1.1.0-6-next.6",
|
||||
"version": "1.1.0-6-next.7",
|
||||
"main": "./build/index.js",
|
||||
"types": "./build/index.d.ts",
|
||||
"devDependencies": {
|
||||
"@verdaccio/config": "workspace:6.0.0-6-next.62",
|
||||
"@verdaccio/core": "workspace:6.0.0-6-next.62",
|
||||
"@verdaccio/types": "workspace:11.0.0-6-next.21",
|
||||
"@verdaccio/config": "workspace:6.0.0-6-next.68",
|
||||
"@verdaccio/core": "workspace:6.0.0-6-next.68",
|
||||
"@verdaccio/types": "workspace:11.0.0-6-next.25",
|
||||
"debug": "4.3.4",
|
||||
"fs-extra": "10.1.0",
|
||||
"got": "11.8.5",
|
||||
"got": "11.8.6",
|
||||
"js-yaml": "4.1.0",
|
||||
"get-port": "5.1.1",
|
||||
"lodash": "4.17.21",
|
||||
"verdaccio": "workspace:6.0.0-6-next.62"
|
||||
"verdaccio": "workspace:6.0.0-6-next.68"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "jest",
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/* eslint-disable prefer-promise-reject-errors */
|
||||
import buildDebug from 'debug';
|
||||
import getPort from 'get-port';
|
||||
import { merge } from 'lodash';
|
||||
import { Registry } from 'verdaccio';
|
||||
|
||||
@@ -35,6 +36,7 @@ export async function initialSetup(customConfig?: ConfigYaml): Promise<Setup> {
|
||||
const { configPath, tempFolder } = await getConfigPath(config);
|
||||
debug(`configPath %o`, configPath);
|
||||
debug(`tempFolder %o`, tempFolder);
|
||||
const registry = new Registry(configPath, { createUser: true });
|
||||
const port = await getPort();
|
||||
const registry = new Registry(configPath, { createUser: true, port });
|
||||
return { registry, tempFolder };
|
||||
}
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
# @verdaccio/e2e-cli-npm6
|
||||
|
||||
## 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
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@verdaccio/e2e-cli-npm6",
|
||||
"version": "1.0.1-6-next.6",
|
||||
"version": "1.0.1-6-next.7",
|
||||
"dependencies": {
|
||||
"@verdaccio/test-cli-commons": "workspace:1.1.0-6-next.6",
|
||||
"@verdaccio/test-cli-commons": "workspace:1.1.0-6-next.7",
|
||||
"npm": "6.14.18"
|
||||
},
|
||||
"scripts": {
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
# @verdaccio/e2e-cli-npm7
|
||||
|
||||
## 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
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@verdaccio/e2e-cli-npm7",
|
||||
"version": "1.0.1-6-next.6",
|
||||
"version": "1.0.1-6-next.7",
|
||||
"dependencies": {
|
||||
"@verdaccio/test-cli-commons": "workspace:1.1.0-6-next.6",
|
||||
"@verdaccio/test-cli-commons": "workspace:1.1.0-6-next.7",
|
||||
"npm": "7.24.2"
|
||||
},
|
||||
"scripts": {
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
# @verdaccio/e2e-cli-npm8
|
||||
|
||||
## 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
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@verdaccio/e2e-cli-npm8",
|
||||
"version": "1.0.1-6-next.6",
|
||||
"version": "1.0.1-6-next.7",
|
||||
"dependencies": {
|
||||
"@verdaccio/test-cli-commons": "workspace:1.1.0-6-next.6",
|
||||
"@verdaccio/test-cli-commons": "workspace:1.1.0-6-next.7",
|
||||
"npm": "8.19.4"
|
||||
},
|
||||
"scripts": {
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
# @verdaccio/e2e-cli-npm9
|
||||
|
||||
## 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
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@verdaccio/e2e-cli-npm9",
|
||||
"version": "1.0.1-6-next.6",
|
||||
"version": "1.0.1-6-next.7",
|
||||
"dependencies": {
|
||||
"@verdaccio/test-cli-commons": "workspace:1.1.0-6-next.6",
|
||||
"npm": "9.5.0"
|
||||
"@verdaccio/test-cli-commons": "workspace:1.1.0-6-next.7",
|
||||
"npm": "9.6.3"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "jest"
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
# @verdaccio/e2e-cli-pnpm6
|
||||
|
||||
## 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
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@verdaccio/e2e-cli-pnpm6",
|
||||
"version": "1.0.1-6-next.6",
|
||||
"version": "1.0.1-6-next.7",
|
||||
"dependencies": {
|
||||
"@verdaccio/test-cli-commons": "workspace:1.1.0-6-next.6",
|
||||
"@verdaccio/test-cli-commons": "workspace:1.1.0-6-next.7",
|
||||
"pnpm": "^6.35.1"
|
||||
},
|
||||
"scripts": {
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
# @verdaccio/e2e-cli-pnpm7
|
||||
|
||||
## 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
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@verdaccio/e2e-cli-pnpm7",
|
||||
"version": "1.0.1-6-next.6",
|
||||
"version": "1.0.1-6-next.7",
|
||||
"dependencies": {
|
||||
"@verdaccio/test-cli-commons": "workspace:1.1.0-6-next.6",
|
||||
"@verdaccio/test-cli-commons": "workspace:1.1.0-6-next.7",
|
||||
"pnpm": "^7.27.1"
|
||||
},
|
||||
"scripts": {
|
||||
|
||||
3
e2e/cli/e2e-pnpm8/.babelrc
Normal file
3
e2e/cli/e2e-pnpm8/.babelrc
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"extends": "../../../.babelrc"
|
||||
}
|
||||
7
e2e/cli/e2e-pnpm8/.eslintrc
Normal file
7
e2e/cli/e2e-pnpm8/.eslintrc
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"rules": {
|
||||
"no-console": 0,
|
||||
"@typescript-eslint/no-var-requires": 0,
|
||||
"@typescript-eslint/explicit-member-accessibility": 0
|
||||
}
|
||||
}
|
||||
53
e2e/cli/e2e-pnpm8/CHANGELOG.md
Normal file
53
e2e/cli/e2e-pnpm8/CHANGELOG.md
Normal file
@@ -0,0 +1,53 @@
|
||||
# @verdaccio/e2e-cli-pnpm7
|
||||
|
||||
## 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
|
||||
45
e2e/cli/e2e-pnpm8/audit.spec.ts
Normal file
45
e2e/cli/e2e-pnpm8/audit.spec.ts
Normal file
@@ -0,0 +1,45 @@
|
||||
import { addRegistry, initialSetup, prepareGenericEmptyProject } from '@verdaccio/test-cli-commons';
|
||||
|
||||
import { pnpm } from './utils';
|
||||
|
||||
describe('install a package', () => {
|
||||
jest.setTimeout(10000);
|
||||
let registry;
|
||||
|
||||
beforeAll(async () => {
|
||||
const setup = await initialSetup();
|
||||
registry = setup.registry;
|
||||
await registry.init();
|
||||
});
|
||||
|
||||
test.each([['verdaccio-memory', '@verdaccio/cli']])(
|
||||
'should audit a package %s',
|
||||
async (pkgName) => {
|
||||
const { tempFolder } = await prepareGenericEmptyProject(
|
||||
pkgName,
|
||||
'1.0.0-patch',
|
||||
registry.port,
|
||||
registry.getToken(),
|
||||
registry.getRegistryUrl(),
|
||||
{ jquery: '3.6.1' }
|
||||
);
|
||||
// install is required to create package lock file
|
||||
await pnpm({ cwd: tempFolder }, 'install', ...addRegistry(registry.getRegistryUrl()));
|
||||
const resp = await pnpm(
|
||||
{ cwd: tempFolder },
|
||||
'audit',
|
||||
'--json',
|
||||
...addRegistry(registry.getRegistryUrl())
|
||||
);
|
||||
const parsedBody = JSON.parse(resp.stdout as string);
|
||||
expect(parsedBody.metadata).toBeDefined();
|
||||
expect(parsedBody.actions).toBeDefined();
|
||||
expect(parsedBody.advisories).toBeDefined();
|
||||
expect(parsedBody.muted).toBeDefined();
|
||||
}
|
||||
);
|
||||
|
||||
afterAll(async () => {
|
||||
registry.stop();
|
||||
});
|
||||
});
|
||||
115
e2e/cli/e2e-pnpm8/deprecate.spec.ts
Normal file
115
e2e/cli/e2e-pnpm8/deprecate.spec.ts
Normal file
@@ -0,0 +1,115 @@
|
||||
import {
|
||||
addRegistry,
|
||||
initialSetup,
|
||||
pnpmUtils,
|
||||
prepareGenericEmptyProject,
|
||||
} from '@verdaccio/test-cli-commons';
|
||||
|
||||
import { pnpm } from './utils';
|
||||
|
||||
describe('deprecate a package', () => {
|
||||
jest.setTimeout(20000);
|
||||
let registry;
|
||||
|
||||
async function deprecate(tempFolder, packageVersion, registry, message) {
|
||||
await pnpm(
|
||||
{ cwd: tempFolder },
|
||||
'deprecate',
|
||||
packageVersion,
|
||||
message,
|
||||
'--json',
|
||||
...addRegistry(registry.getRegistryUrl())
|
||||
);
|
||||
}
|
||||
|
||||
beforeAll(async () => {
|
||||
const setup = await initialSetup();
|
||||
registry = setup.registry;
|
||||
await registry.init();
|
||||
});
|
||||
|
||||
test.each([['@verdaccio/deprecated-1']])(
|
||||
'should deprecate a single package %s',
|
||||
async (pkgName) => {
|
||||
const message = 'some message';
|
||||
const { tempFolder } = await prepareGenericEmptyProject(
|
||||
pkgName,
|
||||
'1.0.0',
|
||||
registry.port,
|
||||
registry.getToken(),
|
||||
registry.getRegistryUrl()
|
||||
);
|
||||
await pnpmUtils.publish(pnpm, tempFolder, pkgName, registry);
|
||||
// deprecate one version
|
||||
await deprecate(tempFolder, `${pkgName}@1.0.0`, registry, message);
|
||||
// verify is deprecated
|
||||
const infoBody = await pnpmUtils.getInfoVersions(pnpm, `${pkgName}`, registry);
|
||||
expect(infoBody.name).toEqual(pkgName);
|
||||
expect(infoBody.deprecated).toEqual(message);
|
||||
}
|
||||
);
|
||||
|
||||
test.each([['@verdaccio/deprecated-2']])('should un-deprecate a package %s', async (pkgName) => {
|
||||
const message = 'some message';
|
||||
const { tempFolder } = await prepareGenericEmptyProject(
|
||||
pkgName,
|
||||
'1.0.0',
|
||||
registry.port,
|
||||
registry.getToken(),
|
||||
registry.getRegistryUrl()
|
||||
);
|
||||
await pnpmUtils.publish(pnpm, tempFolder, pkgName, registry);
|
||||
// deprecate one version
|
||||
await deprecate(tempFolder, `${pkgName}@1.0.0`, registry, message);
|
||||
// verify is deprecated
|
||||
const infoBody = await pnpmUtils.getInfoVersions(pnpm, `${pkgName}`, registry);
|
||||
expect(infoBody.deprecated).toEqual(message);
|
||||
// empty string is same as undeprecate
|
||||
await deprecate(tempFolder, `${pkgName}@1.0.0`, registry, '');
|
||||
const infoBody2 = await pnpmUtils.getInfoVersions(pnpm, `${pkgName}`, registry);
|
||||
expect(infoBody2.deprecated).toBeUndefined();
|
||||
});
|
||||
|
||||
test.each([['@verdaccio/deprecated-3']])(
|
||||
'should deprecate a multiple packages %s',
|
||||
async (pkgName) => {
|
||||
const message = 'some message';
|
||||
const { tempFolder } = await prepareGenericEmptyProject(
|
||||
pkgName,
|
||||
'1.0.0',
|
||||
registry.port,
|
||||
registry.getToken(),
|
||||
registry.getRegistryUrl()
|
||||
);
|
||||
// publish 1.0.0
|
||||
await pnpmUtils.publish(pnpm, tempFolder, pkgName, registry);
|
||||
// publish 1.1.0
|
||||
await pnpmUtils.bumbUp(pnpm, tempFolder, registry);
|
||||
await pnpmUtils.publish(pnpm, tempFolder, pkgName, registry);
|
||||
// publish 1.2.0
|
||||
await pnpmUtils.bumbUp(pnpm, tempFolder, registry);
|
||||
await pnpmUtils.publish(pnpm, tempFolder, pkgName, registry);
|
||||
// publish 1.3.0
|
||||
await pnpmUtils.bumbUp(pnpm, tempFolder, registry);
|
||||
await pnpmUtils.publish(pnpm, tempFolder, pkgName, registry);
|
||||
// // deprecate all version
|
||||
await deprecate(tempFolder, pkgName, registry, message);
|
||||
// verify is deprecated
|
||||
for (let v of ['1.0.0', '1.1.0', '1.2.0', '1.3.0']) {
|
||||
const infoResp = await pnpmUtils.getInfoVersions(pnpm, `${pkgName}@${v}`, registry);
|
||||
expect(infoResp.deprecated).toEqual(message);
|
||||
}
|
||||
// publish normal version
|
||||
// publish 1.4.0
|
||||
await pnpmUtils.bumbUp(pnpm, tempFolder, registry);
|
||||
await pnpmUtils.publish(pnpm, tempFolder, pkgName, registry);
|
||||
const infoResp = await pnpmUtils.getInfoVersions(pnpm, `${pkgName}@1.4.0`, registry);
|
||||
// must be not deprecated
|
||||
expect(infoResp.deprecated).toBeUndefined();
|
||||
}
|
||||
);
|
||||
|
||||
afterAll(async () => {
|
||||
registry.stop();
|
||||
});
|
||||
});
|
||||
91
e2e/cli/e2e-pnpm8/dist-tags.spec.ts
Normal file
91
e2e/cli/e2e-pnpm8/dist-tags.spec.ts
Normal file
@@ -0,0 +1,91 @@
|
||||
import {
|
||||
addRegistry,
|
||||
initialSetup,
|
||||
pnpmUtils,
|
||||
prepareGenericEmptyProject,
|
||||
} from '@verdaccio/test-cli-commons';
|
||||
|
||||
import { pnpm } from './utils';
|
||||
|
||||
describe('publish a package', () => {
|
||||
jest.setTimeout(20000);
|
||||
let registry;
|
||||
|
||||
beforeAll(async () => {
|
||||
const setup = await initialSetup();
|
||||
registry = setup.registry;
|
||||
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 pnpmUtils.publish(pnpm, tempFolder, pkgName, registry);
|
||||
await pnpmUtils.bumbUp(pnpm, tempFolder, registry);
|
||||
await pnpmUtils.publish(pnpm, tempFolder, pkgName, registry, ['--tag', 'beta']);
|
||||
const resp2 = await pnpm(
|
||||
{ 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(
|
||||
pkgName,
|
||||
'1.0.0',
|
||||
registry.port,
|
||||
registry.getToken(),
|
||||
registry.getRegistryUrl()
|
||||
);
|
||||
await pnpmUtils.publish(pnpm, tempFolder, pkgName, registry);
|
||||
await pnpmUtils.bumbUp(pnpm, tempFolder, registry);
|
||||
await pnpmUtils.publish(pnpm, tempFolder, pkgName, registry, ['--tag', 'beta']);
|
||||
const resp2 = await pnpm(
|
||||
{ cwd: tempFolder },
|
||||
'dist-tag',
|
||||
'rm',
|
||||
`${pkgName}@1.1.0`,
|
||||
'beta',
|
||||
...addRegistry(registry.getRegistryUrl())
|
||||
);
|
||||
expect(resp2.stdout).toEqual('-beta: @verdaccio/bar@1.1.0');
|
||||
});
|
||||
|
||||
test.each([['@verdaccio/five']])(
|
||||
'should add tag to package and version with dist-tags for %s',
|
||||
async (pkgName) => {
|
||||
const { tempFolder } = await prepareGenericEmptyProject(
|
||||
pkgName,
|
||||
'1.0.0',
|
||||
registry.port,
|
||||
registry.getToken(),
|
||||
registry.getRegistryUrl()
|
||||
);
|
||||
await pnpmUtils.publish(pnpm, tempFolder, pkgName, registry);
|
||||
await pnpmUtils.bumbUp(pnpm, tempFolder, registry);
|
||||
await pnpmUtils.publish(pnpm, tempFolder, pkgName, registry);
|
||||
const resp2 = await pnpm(
|
||||
{ cwd: tempFolder },
|
||||
'dist-tag',
|
||||
'add',
|
||||
`${pkgName}@1.1.0`,
|
||||
'alfa',
|
||||
...addRegistry(registry.getRegistryUrl())
|
||||
);
|
||||
expect(resp2.stdout).toEqual(`+alfa: ${pkgName}@1.1.0`);
|
||||
}
|
||||
);
|
||||
|
||||
afterAll(async () => {
|
||||
registry.stop();
|
||||
});
|
||||
});
|
||||
31
e2e/cli/e2e-pnpm8/info.spec.ts
Normal file
31
e2e/cli/e2e-pnpm8/info.spec.ts
Normal file
@@ -0,0 +1,31 @@
|
||||
import { addRegistry, initialSetup } from '@verdaccio/test-cli-commons';
|
||||
|
||||
import { pnpm } from './utils';
|
||||
|
||||
describe('install a package', () => {
|
||||
jest.setTimeout(10000);
|
||||
let registry;
|
||||
|
||||
beforeAll(async () => {
|
||||
const setup = await initialSetup();
|
||||
registry = setup.registry;
|
||||
await registry.init();
|
||||
});
|
||||
|
||||
test('should run pnpm info json body', async () => {
|
||||
const resp = await pnpm(
|
||||
{},
|
||||
'info',
|
||||
'verdaccio',
|
||||
'--json',
|
||||
...addRegistry(registry.getRegistryUrl())
|
||||
);
|
||||
const parsedBody = JSON.parse(resp.stdout as string);
|
||||
expect(parsedBody.name).toEqual('verdaccio');
|
||||
expect(parsedBody.dependencies).toBeDefined();
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
registry.stop();
|
||||
});
|
||||
});
|
||||
36
e2e/cli/e2e-pnpm8/install.spec.ts
Normal file
36
e2e/cli/e2e-pnpm8/install.spec.ts
Normal file
@@ -0,0 +1,36 @@
|
||||
import { addRegistry, initialSetup, prepareGenericEmptyProject } from '@verdaccio/test-cli-commons';
|
||||
|
||||
import { pnpm } from './utils';
|
||||
|
||||
describe('install a project packages', () => {
|
||||
jest.setTimeout(80000);
|
||||
let registry;
|
||||
|
||||
beforeAll(async () => {
|
||||
const setup = await initialSetup();
|
||||
registry = setup.registry;
|
||||
await registry.init();
|
||||
});
|
||||
|
||||
test('should run npm install json body', async () => {
|
||||
const { tempFolder } = await prepareGenericEmptyProject(
|
||||
'something',
|
||||
'1.0.0-patch',
|
||||
registry.port,
|
||||
registry.getToken(),
|
||||
registry.getRegistryUrl(),
|
||||
{ react: '18.2.0' }
|
||||
);
|
||||
const resp = await pnpm(
|
||||
{ cwd: tempFolder },
|
||||
'install',
|
||||
'--reporter=default',
|
||||
...addRegistry(registry.getRegistryUrl())
|
||||
);
|
||||
expect(resp.stdout).toMatch(/react/);
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
registry.stop();
|
||||
});
|
||||
});
|
||||
3
e2e/cli/e2e-pnpm8/jest.config.js
Normal file
3
e2e/cli/e2e-pnpm8/jest.config.js
Normal file
@@ -0,0 +1,3 @@
|
||||
const config = require('../jest.config');
|
||||
|
||||
module.exports = { ...config };
|
||||
12
e2e/cli/e2e-pnpm8/package.json
Normal file
12
e2e/cli/e2e-pnpm8/package.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@verdaccio/e2e-cli-pnpm8",
|
||||
"version": "1.0.1-6-next.7",
|
||||
"dependencies": {
|
||||
"@verdaccio/test-cli-commons": "workspace:1.1.0-6-next.7",
|
||||
"pnpm": "^8.0.0-alpha.0"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "jest"
|
||||
}
|
||||
}
|
||||
24
e2e/cli/e2e-pnpm8/ping.spec.ts
Normal file
24
e2e/cli/e2e-pnpm8/ping.spec.ts
Normal file
@@ -0,0 +1,24 @@
|
||||
import { addRegistry, initialSetup } from '@verdaccio/test-cli-commons';
|
||||
|
||||
import { pnpm } from './utils';
|
||||
|
||||
describe('ping registry', () => {
|
||||
jest.setTimeout(10000);
|
||||
let registry;
|
||||
|
||||
beforeAll(async () => {
|
||||
const setup = await initialSetup();
|
||||
registry = setup.registry;
|
||||
await registry.init();
|
||||
});
|
||||
|
||||
test('should ping registry', async () => {
|
||||
const resp = await pnpm({}, 'ping', '--json', ...addRegistry(registry.getRegistryUrl()));
|
||||
const parsedBody = JSON.parse(resp.stdout as string);
|
||||
expect(parsedBody.registry).toEqual(registry.getRegistryUrl() + '/');
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
registry.stop();
|
||||
});
|
||||
});
|
||||
41
e2e/cli/e2e-pnpm8/publish.spec.ts
Normal file
41
e2e/cli/e2e-pnpm8/publish.spec.ts
Normal file
@@ -0,0 +1,41 @@
|
||||
import { addRegistry, initialSetup, prepareGenericEmptyProject } from '@verdaccio/test-cli-commons';
|
||||
|
||||
import { pnpm } from './utils';
|
||||
|
||||
describe('install a package', () => {
|
||||
jest.setTimeout(10000);
|
||||
let registry;
|
||||
|
||||
beforeAll(async () => {
|
||||
const setup = await initialSetup();
|
||||
registry = setup.registry;
|
||||
await registry.init();
|
||||
});
|
||||
|
||||
test.each([['verdaccio-memory', 'verdaccio', '@verdaccio/foo', '@verdaccio/some-foo']])(
|
||||
'should publish a package %s',
|
||||
async (pkgName) => {
|
||||
const { tempFolder } = await prepareGenericEmptyProject(
|
||||
pkgName,
|
||||
'1.0.0-patch',
|
||||
registry.port,
|
||||
registry.getToken(),
|
||||
registry.getRegistryUrl()
|
||||
);
|
||||
const resp = await pnpm(
|
||||
{ cwd: tempFolder },
|
||||
'publish',
|
||||
'--json',
|
||||
...addRegistry(registry.getRegistryUrl())
|
||||
);
|
||||
const parsedBody = JSON.parse(resp.stdout as string);
|
||||
expect(parsedBody.name).toEqual(pkgName);
|
||||
expect(parsedBody.files).toBeDefined();
|
||||
expect(parsedBody.files).toBeDefined();
|
||||
}
|
||||
);
|
||||
|
||||
afterAll(async () => {
|
||||
registry.stop();
|
||||
});
|
||||
});
|
||||
33
e2e/cli/e2e-pnpm8/search.spec.ts
Normal file
33
e2e/cli/e2e-pnpm8/search.spec.ts
Normal file
@@ -0,0 +1,33 @@
|
||||
import { addRegistry, initialSetup } from '@verdaccio/test-cli-commons';
|
||||
|
||||
import { pnpm } from './utils';
|
||||
|
||||
describe('search a package', () => {
|
||||
jest.setTimeout(10000);
|
||||
let registry;
|
||||
|
||||
beforeAll(async () => {
|
||||
const setup = await initialSetup();
|
||||
registry = setup.registry;
|
||||
await registry.init();
|
||||
});
|
||||
|
||||
test('should search a package', async () => {
|
||||
const resp = await pnpm(
|
||||
{},
|
||||
'search',
|
||||
'@verdaccio/cli',
|
||||
'--json',
|
||||
...addRegistry(registry.getRegistryUrl())
|
||||
);
|
||||
const parsedBody = JSON.parse(resp.stdout as string);
|
||||
const pkgFind = parsedBody.find((item) => {
|
||||
return item.name === '@verdaccio/cli';
|
||||
});
|
||||
expect(pkgFind.name).toEqual('@verdaccio/cli');
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
registry.stop();
|
||||
});
|
||||
});
|
||||
89
e2e/cli/e2e-pnpm8/star.spec.ts
Normal file
89
e2e/cli/e2e-pnpm8/star.spec.ts
Normal file
@@ -0,0 +1,89 @@
|
||||
import {
|
||||
addRegistry,
|
||||
initialSetup,
|
||||
pnpmUtils,
|
||||
prepareGenericEmptyProject,
|
||||
} from '@verdaccio/test-cli-commons';
|
||||
|
||||
import { pnpm } from './utils';
|
||||
|
||||
describe('star a package', () => {
|
||||
jest.setTimeout(20000);
|
||||
let registry;
|
||||
|
||||
beforeAll(async () => {
|
||||
const setup = await initialSetup();
|
||||
registry = setup.registry;
|
||||
await registry.init();
|
||||
});
|
||||
|
||||
test.each([['@verdaccio/foo']])('should star a package %s', async (pkgName) => {
|
||||
const { tempFolder } = await prepareGenericEmptyProject(
|
||||
pkgName,
|
||||
'1.0.0-patch',
|
||||
registry.port,
|
||||
registry.getToken(),
|
||||
registry.getRegistryUrl()
|
||||
);
|
||||
|
||||
await pnpmUtils.publish(pnpm, tempFolder, pkgName, registry);
|
||||
const resp = await pnpm(
|
||||
{ cwd: tempFolder },
|
||||
'star',
|
||||
pkgName,
|
||||
...addRegistry(registry.getRegistryUrl())
|
||||
);
|
||||
expect(resp.stdout).toEqual(`★ ${pkgName}`);
|
||||
});
|
||||
|
||||
test.each([['@verdaccio/bar']])('should unstar a package %s', async (pkgName) => {
|
||||
const { tempFolder } = await prepareGenericEmptyProject(
|
||||
pkgName,
|
||||
'1.0.0-patch',
|
||||
registry.port,
|
||||
registry.getToken(),
|
||||
registry.getRegistryUrl()
|
||||
);
|
||||
|
||||
await pnpmUtils.publish(pnpm, tempFolder, pkgName, registry);
|
||||
const resp = await pnpm(
|
||||
{ cwd: tempFolder },
|
||||
'star',
|
||||
pkgName,
|
||||
...addRegistry(registry.getRegistryUrl())
|
||||
);
|
||||
expect(resp.stdout).toEqual(`★ ${pkgName}`);
|
||||
|
||||
const resp1 = await pnpm(
|
||||
{ cwd: tempFolder },
|
||||
'unstar',
|
||||
pkgName,
|
||||
...addRegistry(registry.getRegistryUrl())
|
||||
);
|
||||
expect(resp1.stdout).toEqual(`☆ ${pkgName}`);
|
||||
});
|
||||
|
||||
test('should list stars of a user %s', async () => {
|
||||
const pkgName = '@verdaccio/stars';
|
||||
const { tempFolder } = await prepareGenericEmptyProject(
|
||||
pkgName,
|
||||
'1.0.0-patch',
|
||||
registry.port,
|
||||
registry.getToken(),
|
||||
registry.getRegistryUrl()
|
||||
);
|
||||
await pnpmUtils.publish(pnpm, tempFolder, pkgName, registry);
|
||||
await pnpm({ cwd: tempFolder }, 'star', pkgName, ...addRegistry(registry.getRegistryUrl()));
|
||||
const resp = await pnpm(
|
||||
{ cwd: tempFolder },
|
||||
'stars',
|
||||
...addRegistry(registry.getRegistryUrl())
|
||||
);
|
||||
// side effects: this result is affected the the package published in the previous step
|
||||
expect(resp.stdout).toEqual(`@verdaccio/foo@verdaccio/stars`);
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
registry.stop();
|
||||
});
|
||||
});
|
||||
8
e2e/cli/e2e-pnpm8/tsconfig.json
Normal file
8
e2e/cli/e2e-pnpm8/tsconfig.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"extends": "../../../tsconfig.reference.json",
|
||||
"references": [
|
||||
{
|
||||
"path": "../cli-commons"
|
||||
}
|
||||
]
|
||||
}
|
||||
12
e2e/cli/e2e-pnpm8/utils.ts
Normal file
12
e2e/cli/e2e-pnpm8/utils.ts
Normal file
@@ -0,0 +1,12 @@
|
||||
import { SpawnOptions } from 'child_process';
|
||||
import { join } from 'path';
|
||||
|
||||
import { exec } from '@verdaccio/test-cli-commons';
|
||||
|
||||
function getCommand() {
|
||||
return join(__dirname, './node_modules/.bin/pnpm');
|
||||
}
|
||||
|
||||
export function pnpm(options: SpawnOptions, ...args: string[]) {
|
||||
return exec(options, getCommand(), args);
|
||||
}
|
||||
@@ -1,5 +1,12 @@
|
||||
# @verdaccio/e2e-cli-yarn1
|
||||
|
||||
## 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
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@verdaccio/e2e-cli-yarn1",
|
||||
"version": "1.0.1-6-next.6",
|
||||
"version": "1.0.1-6-next.7",
|
||||
"dependencies": {
|
||||
"@verdaccio/test-cli-commons": "workspace:1.1.0-6-next.6",
|
||||
"@verdaccio/test-cli-commons": "workspace:1.1.0-6-next.7",
|
||||
"yarn": "1.22.19"
|
||||
},
|
||||
"scripts": {
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
# @verdaccio/e2e-cli-yarn2
|
||||
|
||||
## 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
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@verdaccio/e2e-cli-yarn2",
|
||||
"version": "1.0.1-6-next.6",
|
||||
"version": "1.0.1-6-next.7",
|
||||
"dependencies": {
|
||||
"@verdaccio/test-cli-commons": "workspace:1.1.0-6-next.6",
|
||||
"@verdaccio/test-cli-commons": "workspace:1.1.0-6-next.7",
|
||||
"@yarnpkg/cli-dist": "2.4.2"
|
||||
},
|
||||
"scripts": {
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
# @verdaccio/e2e-cli-yarn3
|
||||
|
||||
## 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
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@verdaccio/e2e-cli-yarn3",
|
||||
"version": "1.0.1-6-next.6",
|
||||
"version": "1.0.1-6-next.7",
|
||||
"dependencies": {
|
||||
"@verdaccio/test-cli-commons": "workspace:1.1.0-6-next.6",
|
||||
"@verdaccio/test-cli-commons": "workspace:1.1.0-6-next.7",
|
||||
"@yarnpkg/cli-dist": "3.4.1"
|
||||
},
|
||||
"scripts": {
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
# @verdaccio/e2e-cli-yarn4
|
||||
|
||||
## 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
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@verdaccio/e2e-cli-yarn4",
|
||||
"version": "1.0.1-6-next.6",
|
||||
"version": "1.0.1-6-next.7",
|
||||
"dependencies": {
|
||||
"@yarnpkg/cli-dist": "4.0.0-rc.39",
|
||||
"@verdaccio/test-cli-commons": "workspace:1.1.0-6-next.6"
|
||||
"@verdaccio/test-cli-commons": "workspace:1.1.0-6-next.7"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "jest"
|
||||
|
||||
7
e2e/ui/CHANGELOG.md
Normal file
7
e2e/ui/CHANGELOG.md
Normal file
@@ -0,0 +1,7 @@
|
||||
# @verdaccio/e2e-ui
|
||||
|
||||
## 2.0.0-6-next.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- c383eb68: fix: get-port missing dep
|
||||
@@ -1,4 +1,5 @@
|
||||
import { defineConfig } from 'cypress';
|
||||
import getPort from 'get-port';
|
||||
import { join } from 'path';
|
||||
import { Registry, ServerQuery } from 'verdaccio';
|
||||
|
||||
@@ -17,9 +18,11 @@ export default defineConfig({
|
||||
...configProtected,
|
||||
storage: registry1storage,
|
||||
});
|
||||
const port = await getPort();
|
||||
registry1 = new Registry(protectedRegistry.configPath, {
|
||||
createUser: true,
|
||||
credentials: { user: 'test', password: 'test' },
|
||||
port,
|
||||
});
|
||||
await registry1.init();
|
||||
});
|
||||
|
||||
@@ -12,6 +12,11 @@ describe('home spec', () => {
|
||||
cy.title().should('eq', 'verdaccio-server-e2e');
|
||||
});
|
||||
|
||||
it('version should be displayed', () => {
|
||||
cy.visit(ctx.url);
|
||||
cy.getByTestId('version-footer').contains('Powered by');
|
||||
});
|
||||
|
||||
it('should match title with no packages published', () => {
|
||||
cy.visit(ctx.url);
|
||||
cy.getByTestId('help-card').contains('No Package Published Yet.');
|
||||
|
||||
@@ -1,14 +1,15 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@verdaccio/e2e-ui",
|
||||
"version": "2.0.0-6-next.3",
|
||||
"version": "2.0.0-6-next.4",
|
||||
"devDependencies": {
|
||||
"verdaccio": "workspace:6.0.0-6-next.62",
|
||||
"@verdaccio/core": "workspace:6.0.0-6-next.62",
|
||||
"@verdaccio/config": "workspace:6.0.0-6-next.62",
|
||||
"@verdaccio/test-helper": "workspace:2.0.0-6-next.7",
|
||||
"verdaccio": "workspace:6.0.0-6-next.68",
|
||||
"@verdaccio/core": "workspace:6.0.0-6-next.68",
|
||||
"@verdaccio/config": "workspace:6.0.0-6-next.68",
|
||||
"@verdaccio/test-helper": "workspace:2.0.0-6-next.8",
|
||||
"debug": "4.3.4",
|
||||
"cypress": "11.2.0"
|
||||
"cypress": "11.2.0",
|
||||
"get-port": "5.1.1"
|
||||
},
|
||||
"scripts": {
|
||||
"cypress:open": "cypress open",
|
||||
|
||||
44
package.json
44
package.json
@@ -17,6 +17,7 @@
|
||||
"devDependencies": {
|
||||
"@babel/cli": "7.20.7",
|
||||
"@babel/core": "7.20.7",
|
||||
"@babel/eslint-parser": "7.11.0",
|
||||
"@babel/node": "7.20.7",
|
||||
"@babel/plugin-proposal-class-properties": "7.18.6",
|
||||
"@babel/plugin-proposal-decorators": "7.20.7",
|
||||
@@ -41,16 +42,21 @@
|
||||
"@changesets/changelog-github": "0.4.8",
|
||||
"@changesets/cli": "2.24.4",
|
||||
"@changesets/get-dependents-graph": "1.3.5",
|
||||
"@crowdin/cli": "3.9.1",
|
||||
"@crowdin/cli": "3.10.1",
|
||||
"@dianmora/contributors": "5.0.0",
|
||||
"@emotion/react": "11.10.5",
|
||||
"@emotion/styled": "11.10.5",
|
||||
"@emotion/react": "11.10.6",
|
||||
"@emotion/styled": "11.10.6",
|
||||
"@testing-library/dom": "8.19.1",
|
||||
"@testing-library/jest-dom": "5.16.5",
|
||||
"@testing-library/react": "12.1.4",
|
||||
"@trivago/prettier-plugin-sort-imports": "^4.0.0",
|
||||
"@types/async": "3.2.16",
|
||||
"@types/body-parser": "1.19.2",
|
||||
"@types/connect": "3.4.35",
|
||||
"@types/cookiejar": "2.1.2",
|
||||
"@types/debug": "^4.1.7",
|
||||
"@types/express": "4.17.15",
|
||||
"@types/express-serve-static-core": "4.17.31",
|
||||
"@types/http-errors": "1.8.2",
|
||||
"@types/jest": "27.5.2",
|
||||
"@types/jsonwebtoken": "8.5.9",
|
||||
@@ -59,6 +65,8 @@
|
||||
"@types/minimatch": "3.0.5",
|
||||
"@types/node": "16.18.10",
|
||||
"@types/node-fetch": "2.6.2",
|
||||
"@types/qs": "6.9.7",
|
||||
"@types/range-parser": "1.2.4",
|
||||
"@types/react": "18.0.26",
|
||||
"@types/react-dom": "18.0.9",
|
||||
"@types/react-router-dom": "5.3.3",
|
||||
@@ -66,6 +74,8 @@
|
||||
"@types/redux": "3.6.0",
|
||||
"@types/request": "2.48.8",
|
||||
"@types/semver": "7.3.13",
|
||||
"@types/serve-static": "1.13.10",
|
||||
"@types/superagent": "4.1.10",
|
||||
"@types/supertest": "2.0.12",
|
||||
"@types/testing-library__jest-dom": "5.14.5",
|
||||
"@types/validator": "13.7.12",
|
||||
@@ -78,7 +88,6 @@
|
||||
"@verdaccio/types": "workspace:*",
|
||||
"@verdaccio/ui-theme": "workspace:*",
|
||||
"babel-core": "7.0.0-bridge.0",
|
||||
"babel-eslint": "10.1.0",
|
||||
"babel-jest": "29.4.3",
|
||||
"babel-plugin-dynamic-import-node": "2.3.3",
|
||||
"babel-plugin-emotion": "10.2.2",
|
||||
@@ -88,7 +97,7 @@
|
||||
"detect-secrets": "1.0.6",
|
||||
"eslint": "8.34.0",
|
||||
"fs-extra": "10.1.0",
|
||||
"got": "11.8.5",
|
||||
"got": "11.8.6",
|
||||
"husky": "7.0.4",
|
||||
"in-publish": "2.0.1",
|
||||
"jest": "29.4.3",
|
||||
@@ -119,22 +128,22 @@
|
||||
"scripts": {
|
||||
"prepare": "husky install",
|
||||
"husky:pre-commit": "lint-staged",
|
||||
"clean": "pnpm run clean --filter=./packages",
|
||||
"build": "pnpm run build --filter=./packages && pnpm run build --filter=./e2e",
|
||||
"clean": "pnpm --filter \"./packages/**\" clean",
|
||||
"build": "pnpm --filter \"./packages/**\" build && pnpm --filter @verdaccio/test-cli-commons build",
|
||||
"docker": "docker build -t verdaccio/verdaccio:local . --no-cache",
|
||||
"format": "prettier --write \"**/*.{js,jsx,ts,tsx,json,yml,yaml,md}\"",
|
||||
"format:check": "prettier --check \"**/*.{js,jsx,ts,tsx,json,yml,yaml,md}\"",
|
||||
"lint": "eslint --max-warnings 100 \"**/*.{js,jsx,ts,tsx}\"",
|
||||
"test": "pnpm recursive test --filter ./packages",
|
||||
"test:e2e:cli": "pnpm test --filter ...@verdaccio/e2e-cli-* -- --coverage=false",
|
||||
"test:e2e:ui": "pnpm test --filter ...@verdaccio/e2e-ui",
|
||||
"test": "pnpm --filter \"./packages/**\" test",
|
||||
"test:e2e:cli": "pnpm --filter ...@verdaccio/e2e-cli-* test -- --coverage=false",
|
||||
"test:e2e:ui": "pnpm --filter ...@verdaccio/e2e-ui test",
|
||||
"start": "concurrently --kill-others \"pnpm _start:server\" \"pnpm _start:web\"",
|
||||
"contributors": "ts-node ./scripts/contributors-update.ts",
|
||||
"script:addson": "ts-node ./scripts/addon-update.ts",
|
||||
"start:watch": "concurrently --kill-others \"pnpm _build:watch\" \"pnpm _start:server\" \"pnpm _debug:reload\"",
|
||||
"_build:watch": "pnpm run --parallel watch --filter ./packages",
|
||||
"_start:server": "node --inspect packages/verdaccio/debug/bootstrap.js --listen 8000",
|
||||
"_start:web": "pnpm start --filter ...@verdaccio/ui-theme",
|
||||
"_start:web": "pnpm --filter ...@verdaccio/ui-theme start",
|
||||
"_debug:reload": "nodemon -d 3 packages/verdaccio/debug/bootstrap.js",
|
||||
"start:ts": "ts-node packages/verdaccio/src/start.ts -- --listen 8000",
|
||||
"debug": "node --trace-warnings --trace-uncaught --inspect packages/verdaccio/debug/bootstrap.js",
|
||||
@@ -147,15 +156,15 @@
|
||||
"ci:version:changeset": "changeset version",
|
||||
"ci:publish": "changeset publish",
|
||||
"ts:ref": "update-ts-references --discardComments",
|
||||
"website": "pnpm build --filter ...@verdaccio/website",
|
||||
"ui:storybook:build": "pnpm build-storybook --filter ...@verdaccio/ui-components",
|
||||
"ui:storybook": "pnpm storybook --filter ...@verdaccio/ui-components",
|
||||
"website": "pnpm --filter ...@verdaccio/website build",
|
||||
"ui:storybook:build": "pnpm --filter ...@verdaccio/ui-components build-storybook",
|
||||
"ui:storybook": "pnpm --filter ...@verdaccio/ui-components storybook",
|
||||
"translations": "local-crowdin-api translations",
|
||||
"crowdin:upload": "crowdin upload sources --auto-update --config ./crowdin.yaml",
|
||||
"crowdin:download": "crowdin download --verbose --config ./crowdin.yaml",
|
||||
"crowdin:sync": "pnpm crowdin:upload && pnpm crowdin:download --verbose",
|
||||
"crowdin:sync": "pnpm crowdin:upload && pnpm crowdin:download",
|
||||
"postinstall": "husky install",
|
||||
"local:registry": "pnpm start --filter ...@verdaccio/local-publish",
|
||||
"local:registry": "pnpm --filter ...@verdaccio/local-publish start",
|
||||
"local:snapshots": "changeset version --snapshot",
|
||||
"local:publish": "cross-env npm_config_registry=http://localhost:4873 pnpm ci:publish -- --no-git-tag",
|
||||
"local:publish:release": "concurrently \"pnpm local:registry\" \"pnpm local:publish\""
|
||||
@@ -167,8 +176,7 @@
|
||||
}
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=16.5",
|
||||
"pnpm": ">=6.32.3 <7.0.0"
|
||||
"node": ">=16.5"
|
||||
},
|
||||
"license": "MIT",
|
||||
"lint-staged": {
|
||||
|
||||
@@ -1,5 +1,83 @@
|
||||
# @verdaccio/api
|
||||
|
||||
## 6.0.0-6-next.51
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @verdaccio/auth@6.0.0-6-next.47
|
||||
- @verdaccio/core@6.0.0-6-next.68
|
||||
- @verdaccio/config@6.0.0-6-next.68
|
||||
- @verdaccio/middleware@6.0.0-6-next.47
|
||||
- @verdaccio/store@6.0.0-6-next.48
|
||||
- @verdaccio/utils@6.0.0-6-next.36
|
||||
- @verdaccio/logger@6.0.0-6-next.36
|
||||
|
||||
## 6.0.0-6-next.50
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [16e38df8]
|
||||
- @verdaccio/config@6.0.0-6-next.67
|
||||
- @verdaccio/core@6.0.0-6-next.67
|
||||
- @verdaccio/store@6.0.0-6-next.47
|
||||
- @verdaccio/auth@6.0.0-6-next.46
|
||||
- @verdaccio/middleware@6.0.0-6-next.46
|
||||
- @verdaccio/utils@6.0.0-6-next.35
|
||||
- @verdaccio/logger@6.0.0-6-next.35
|
||||
|
||||
## 6.0.0-6-next.49
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [7ef599cc]
|
||||
- @verdaccio/middleware@6.0.0-6-next.45
|
||||
- @verdaccio/auth@6.0.0-6-next.45
|
||||
- @verdaccio/core@6.0.0-6-next.66
|
||||
- @verdaccio/logger@6.0.0-6-next.34
|
||||
- @verdaccio/store@6.0.0-6-next.46
|
||||
- @verdaccio/config@6.0.0-6-next.66
|
||||
- @verdaccio/utils@6.0.0-6-next.34
|
||||
|
||||
## 6.0.0-6-next.48
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a1da1130]
|
||||
- @verdaccio/core@6.0.0-6-next.65
|
||||
- @verdaccio/auth@6.0.0-6-next.44
|
||||
- @verdaccio/config@6.0.0-6-next.65
|
||||
- @verdaccio/middleware@6.0.0-6-next.44
|
||||
- @verdaccio/store@6.0.0-6-next.45
|
||||
- @verdaccio/utils@6.0.0-6-next.33
|
||||
- @verdaccio/logger@6.0.0-6-next.33
|
||||
|
||||
## 6.0.0-6-next.47
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [974cd8c1]
|
||||
- @verdaccio/core@6.0.0-6-next.64
|
||||
- @verdaccio/auth@6.0.0-6-next.43
|
||||
- @verdaccio/config@6.0.0-6-next.64
|
||||
- @verdaccio/middleware@6.0.0-6-next.43
|
||||
- @verdaccio/store@6.0.0-6-next.44
|
||||
- @verdaccio/utils@6.0.0-6-next.32
|
||||
- @verdaccio/logger@6.0.0-6-next.32
|
||||
|
||||
## 6.0.0-6-next.46
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [ddb6a223]
|
||||
- Updated dependencies [dc571aab]
|
||||
- @verdaccio/auth@6.0.0-6-next.42
|
||||
- @verdaccio/config@6.0.0-6-next.63
|
||||
- @verdaccio/core@6.0.0-6-next.63
|
||||
- @verdaccio/middleware@6.0.0-6-next.42
|
||||
- @verdaccio/store@6.0.0-6-next.43
|
||||
- @verdaccio/utils@6.0.0-6-next.31
|
||||
- @verdaccio/logger@6.0.0-6-next.31
|
||||
|
||||
## 6.0.0-6-next.45
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@verdaccio/api",
|
||||
"version": "6.0.0-6-next.45",
|
||||
"version": "6.0.0-6-next.51",
|
||||
"description": "loaders logic",
|
||||
"main": "./build/index.js",
|
||||
"types": "build/index.d.ts",
|
||||
@@ -39,13 +39,13 @@
|
||||
},
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@verdaccio/auth": "workspace:6.0.0-6-next.41",
|
||||
"@verdaccio/config": "workspace:6.0.0-6-next.62",
|
||||
"@verdaccio/core": "workspace:6.0.0-6-next.62",
|
||||
"@verdaccio/logger": "workspace:6.0.0-6-next.30",
|
||||
"@verdaccio/middleware": "workspace:6.0.0-6-next.41",
|
||||
"@verdaccio/store": "workspace:6.0.0-6-next.42",
|
||||
"@verdaccio/utils": "workspace:6.0.0-6-next.30",
|
||||
"@verdaccio/auth": "workspace:6.0.0-6-next.47",
|
||||
"@verdaccio/config": "workspace:6.0.0-6-next.68",
|
||||
"@verdaccio/core": "workspace:6.0.0-6-next.68",
|
||||
"@verdaccio/logger": "workspace:6.0.0-6-next.36",
|
||||
"@verdaccio/middleware": "workspace:6.0.0-6-next.47",
|
||||
"@verdaccio/store": "workspace:6.0.0-6-next.48",
|
||||
"@verdaccio/utils": "workspace:6.0.0-6-next.36",
|
||||
"abortcontroller-polyfill": "1.7.5",
|
||||
"cookies": "0.8.0",
|
||||
"debug": "4.3.4",
|
||||
@@ -57,9 +57,9 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "16.18.10",
|
||||
"@verdaccio/server": "workspace:6.0.0-6-next.51",
|
||||
"@verdaccio/types": "workspace:11.0.0-6-next.21",
|
||||
"@verdaccio/test-helper": "workspace:2.0.0-6-next.7",
|
||||
"@verdaccio/server": "workspace:6.0.0-6-next.57",
|
||||
"@verdaccio/types": "workspace:11.0.0-6-next.25",
|
||||
"@verdaccio/test-helper": "workspace:2.0.0-6-next.8",
|
||||
"supertest": "6.3.3",
|
||||
"nock": "13.2.9",
|
||||
"mockdate": "3.0.5"
|
||||
|
||||
@@ -1,5 +1,87 @@
|
||||
# @verdaccio/auth
|
||||
|
||||
## 6.0.0-6-next.47
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [09753cc1]
|
||||
- verdaccio-htpasswd@11.0.0-6-next.38
|
||||
- @verdaccio/core@6.0.0-6-next.68
|
||||
- @verdaccio/config@6.0.0-6-next.68
|
||||
- @verdaccio/loaders@6.0.0-6-next.37
|
||||
- @verdaccio/utils@6.0.0-6-next.36
|
||||
- @verdaccio/signature@6.0.0-6-next.2
|
||||
- @verdaccio/logger@6.0.0-6-next.36
|
||||
|
||||
## 6.0.0-6-next.46
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [16e38df8]
|
||||
- @verdaccio/config@6.0.0-6-next.67
|
||||
- @verdaccio/core@6.0.0-6-next.67
|
||||
- @verdaccio/loaders@6.0.0-6-next.36
|
||||
- verdaccio-htpasswd@11.0.0-6-next.37
|
||||
- @verdaccio/signature@6.0.0-6-next.2
|
||||
- @verdaccio/utils@6.0.0-6-next.35
|
||||
- @verdaccio/logger@6.0.0-6-next.35
|
||||
|
||||
## 6.0.0-6-next.45
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @verdaccio/core@6.0.0-6-next.66
|
||||
- @verdaccio/loaders@6.0.0-6-next.35
|
||||
- @verdaccio/logger@6.0.0-6-next.34
|
||||
- verdaccio-htpasswd@11.0.0-6-next.36
|
||||
- @verdaccio/signature@6.0.0-6-next.2
|
||||
- @verdaccio/config@6.0.0-6-next.66
|
||||
- @verdaccio/utils@6.0.0-6-next.34
|
||||
|
||||
## 6.0.0-6-next.44
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a1da1130]
|
||||
- @verdaccio/core@6.0.0-6-next.65
|
||||
- @verdaccio/config@6.0.0-6-next.65
|
||||
- @verdaccio/loaders@6.0.0-6-next.34
|
||||
- verdaccio-htpasswd@11.0.0-6-next.35
|
||||
- @verdaccio/utils@6.0.0-6-next.33
|
||||
- @verdaccio/signature@6.0.0-6-next.2
|
||||
- @verdaccio/logger@6.0.0-6-next.33
|
||||
|
||||
## 6.0.0-6-next.43
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [974cd8c1]
|
||||
- @verdaccio/core@6.0.0-6-next.64
|
||||
- @verdaccio/config@6.0.0-6-next.64
|
||||
- @verdaccio/loaders@6.0.0-6-next.33
|
||||
- verdaccio-htpasswd@11.0.0-6-next.34
|
||||
- @verdaccio/utils@6.0.0-6-next.32
|
||||
- @verdaccio/logger@6.0.0-6-next.32
|
||||
- @verdaccio/signature@6.0.0-6-next.2
|
||||
|
||||
## 6.0.0-6-next.42
|
||||
|
||||
### Minor Changes
|
||||
|
||||
- ddb6a223: feat: signature package
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [ddb6a223]
|
||||
- Updated dependencies [dc571aab]
|
||||
- @verdaccio/config@6.0.0-6-next.63
|
||||
- @verdaccio/signature@6.0.0-6-next.2
|
||||
- @verdaccio/core@6.0.0-6-next.63
|
||||
- @verdaccio/loaders@6.0.0-6-next.32
|
||||
- verdaccio-htpasswd@11.0.0-6-next.33
|
||||
- @verdaccio/utils@6.0.0-6-next.31
|
||||
- @verdaccio/logger@6.0.0-6-next.31
|
||||
|
||||
## 6.0.0-6-next.41
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -4,7 +4,7 @@ module.exports = Object.assign({}, config, {
|
||||
coverageThreshold: {
|
||||
global: {
|
||||
// FIXME: increase to 90
|
||||
lines: 42,
|
||||
lines: 30,
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@verdaccio/auth",
|
||||
"version": "6.0.0-6-next.41",
|
||||
"version": "6.0.0-6-next.47",
|
||||
"description": "logger",
|
||||
"main": "./build/index.js",
|
||||
"types": "./build/index.d.ts",
|
||||
@@ -39,19 +39,19 @@
|
||||
},
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@verdaccio/core": "workspace:6.0.0-6-next.62",
|
||||
"@verdaccio/config": "workspace:6.0.0-6-next.62",
|
||||
"@verdaccio/loaders": "workspace:6.0.0-6-next.31",
|
||||
"@verdaccio/logger": "workspace:6.0.0-6-next.30",
|
||||
"@verdaccio/utils": "workspace:6.0.0-6-next.30",
|
||||
"@verdaccio/core": "workspace:6.0.0-6-next.68",
|
||||
"@verdaccio/config": "workspace:6.0.0-6-next.68",
|
||||
"@verdaccio/loaders": "workspace:6.0.0-6-next.37",
|
||||
"@verdaccio/logger": "workspace:6.0.0-6-next.36",
|
||||
"@verdaccio/signature": "workspace:6.0.0-6-next.2",
|
||||
"@verdaccio/utils": "workspace:6.0.0-6-next.36",
|
||||
"debug": "4.3.4",
|
||||
"express": "4.18.2",
|
||||
"jsonwebtoken": "9.0.0",
|
||||
"lodash": "4.17.21",
|
||||
"verdaccio-htpasswd": "workspace:11.0.0-6-next.32"
|
||||
"verdaccio-htpasswd": "workspace:11.0.0-6-next.38"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@verdaccio/types": "workspace:11.0.0-6-next.21"
|
||||
"@verdaccio/types": "workspace:11.0.0-6-next.25"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
|
||||
@@ -15,6 +15,7 @@ import {
|
||||
} from '@verdaccio/core';
|
||||
import { asyncLoadPlugin } from '@verdaccio/loaders';
|
||||
import { logger } from '@verdaccio/logger';
|
||||
import { aesEncrypt, parseBasicPayload, signPayload } from '@verdaccio/signature';
|
||||
import {
|
||||
AllowAccess,
|
||||
Callback,
|
||||
@@ -27,9 +28,6 @@ import {
|
||||
} from '@verdaccio/types';
|
||||
import { getMatchedPackagesSpec, isFunction, isNil } from '@verdaccio/utils';
|
||||
|
||||
import { signPayload } from './jwt-token';
|
||||
import { aesEncrypt } from './legacy-token';
|
||||
import { parseBasicPayload } from './token';
|
||||
import {
|
||||
convertPayloadToBase64,
|
||||
getDefaultPlugins,
|
||||
@@ -47,6 +45,7 @@ export interface TokenEncryption {
|
||||
aesEncrypt(buf: string): string | void;
|
||||
}
|
||||
|
||||
// remove
|
||||
export interface AESPayload {
|
||||
user: string;
|
||||
password: string;
|
||||
|
||||
@@ -1,5 +1,2 @@
|
||||
export { Auth, TokenEncryption } from './auth';
|
||||
export { Auth } from './auth';
|
||||
export * from './utils';
|
||||
export * from './legacy-token';
|
||||
export * from './jwt-token';
|
||||
export * from './token';
|
||||
|
||||
@@ -11,12 +11,10 @@ import {
|
||||
errorUtils,
|
||||
pluginUtils,
|
||||
} from '@verdaccio/core';
|
||||
import { aesDecrypt, parseBasicPayload, verifyPayload } from '@verdaccio/signature';
|
||||
import { AuthPackageAllow, Config, Logger, RemoteUser, Security } from '@verdaccio/types';
|
||||
|
||||
import { AESPayload, TokenEncryption } from './auth';
|
||||
import { verifyPayload } from './jwt-token';
|
||||
import { aesDecrypt } from './legacy-token';
|
||||
import { parseBasicPayload } from './token';
|
||||
|
||||
const debug = buildDebug('verdaccio:auth:utils');
|
||||
|
||||
|
||||
@@ -17,24 +17,22 @@ import {
|
||||
errorUtils,
|
||||
} from '@verdaccio/core';
|
||||
import { setup } from '@verdaccio/logger';
|
||||
import { aesDecrypt, signPayload, verifyPayload } from '@verdaccio/signature';
|
||||
import { Config, RemoteUser, Security } from '@verdaccio/types';
|
||||
import { buildToken, buildUserBuffer, getAuthenticatedMessage } from '@verdaccio/utils';
|
||||
import type { AllowActionCallbackResponse } from '@verdaccio/utils';
|
||||
|
||||
import {
|
||||
ActionsAllowed,
|
||||
AllowActionCallbackResponse,
|
||||
Auth,
|
||||
aesDecrypt,
|
||||
allow_action,
|
||||
getApiToken,
|
||||
getDefaultPlugins,
|
||||
getMiddlewareCredentials,
|
||||
signPayload,
|
||||
verifyJWTPayload,
|
||||
verifyPayload,
|
||||
} from '../src';
|
||||
|
||||
setup([]);
|
||||
setup({});
|
||||
|
||||
const parseConfigurationFile = (conf) => {
|
||||
const { name, ext } = path.parse(conf);
|
||||
@@ -452,6 +450,7 @@ describe('Auth utilities', () => {
|
||||
const config: Config = getConfig('security-legacy', secret);
|
||||
const auth: Auth = new Auth(config);
|
||||
await auth.init();
|
||||
// @ts-expect-error
|
||||
const token = auth.aesEncrypt(null);
|
||||
const security: Security = config.security;
|
||||
const credentials = getMiddlewareCredentials(
|
||||
|
||||
@@ -19,6 +19,9 @@
|
||||
{
|
||||
"path": "../loaders"
|
||||
},
|
||||
{
|
||||
"path": "../signature"
|
||||
},
|
||||
{
|
||||
"path": "../logger/logger"
|
||||
},
|
||||
|
||||
@@ -1,5 +1,68 @@
|
||||
# @verdaccio/cli
|
||||
|
||||
## 6.0.0-6-next.68
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @verdaccio/node-api@6.0.0-6-next.68
|
||||
- @verdaccio/core@6.0.0-6-next.68
|
||||
- @verdaccio/config@6.0.0-6-next.68
|
||||
- @verdaccio/logger@6.0.0-6-next.36
|
||||
|
||||
## 6.0.0-6-next.67
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [16e38df8]
|
||||
- @verdaccio/config@6.0.0-6-next.67
|
||||
- @verdaccio/core@6.0.0-6-next.67
|
||||
- @verdaccio/node-api@6.0.0-6-next.67
|
||||
- @verdaccio/logger@6.0.0-6-next.35
|
||||
|
||||
## 6.0.0-6-next.66
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @verdaccio/core@6.0.0-6-next.66
|
||||
- @verdaccio/logger@6.0.0-6-next.34
|
||||
- @verdaccio/node-api@6.0.0-6-next.66
|
||||
- @verdaccio/config@6.0.0-6-next.66
|
||||
|
||||
## 6.0.0-6-next.65
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a1da1130]
|
||||
- @verdaccio/core@6.0.0-6-next.65
|
||||
- @verdaccio/config@6.0.0-6-next.65
|
||||
- @verdaccio/node-api@6.0.0-6-next.65
|
||||
- @verdaccio/logger@6.0.0-6-next.33
|
||||
|
||||
## 6.0.0-6-next.64
|
||||
|
||||
### Minor Changes
|
||||
|
||||
- 974cd8c1: fix: startup messages improved and logs support on types
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [974cd8c1]
|
||||
- @verdaccio/core@6.0.0-6-next.64
|
||||
- @verdaccio/config@6.0.0-6-next.64
|
||||
- @verdaccio/node-api@6.0.0-6-next.64
|
||||
- @verdaccio/logger@6.0.0-6-next.32
|
||||
|
||||
## 6.0.0-6-next.63
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [ddb6a223]
|
||||
- Updated dependencies [dc571aab]
|
||||
- @verdaccio/config@6.0.0-6-next.63
|
||||
- @verdaccio/core@6.0.0-6-next.63
|
||||
- @verdaccio/node-api@6.0.0-6-next.63
|
||||
- @verdaccio/logger@6.0.0-6-next.31
|
||||
|
||||
## 6.0.0-6-next.62
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@verdaccio/cli",
|
||||
"version": "6.0.0-6-next.62",
|
||||
"version": "6.0.0-6-next.68",
|
||||
"author": {
|
||||
"name": "Juan Picado",
|
||||
"email": "juanpicado19@gmail.com"
|
||||
@@ -44,10 +44,10 @@
|
||||
"start": "ts-node src/index.ts"
|
||||
},
|
||||
"dependencies": {
|
||||
"@verdaccio/core": "workspace:6.0.0-6-next.62",
|
||||
"@verdaccio/config": "workspace:6.0.0-6-next.62",
|
||||
"@verdaccio/logger": "workspace:6.0.0-6-next.30",
|
||||
"@verdaccio/node-api": "workspace:6.0.0-6-next.62",
|
||||
"@verdaccio/core": "workspace:6.0.0-6-next.68",
|
||||
"@verdaccio/config": "workspace:6.0.0-6-next.68",
|
||||
"@verdaccio/logger": "workspace:6.0.0-6-next.36",
|
||||
"@verdaccio/node-api": "workspace:6.0.0-6-next.68",
|
||||
"clipanion": "3.2.0",
|
||||
"envinfo": "7.8.1",
|
||||
"kleur": "3.0.3",
|
||||
|
||||
@@ -46,9 +46,7 @@ export class InitCommand extends Command {
|
||||
});
|
||||
|
||||
private initLogger(logConfig: ConfigYaml) {
|
||||
// @ts-expect-error
|
||||
if (logConfig.logs) {
|
||||
// @ts-expect-error
|
||||
logConfig.log = logConfig.logs;
|
||||
warningUtils.emit(warningUtils.Codes.VERWAR002);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,60 @@
|
||||
# @verdaccio/config
|
||||
|
||||
## 6.0.0-6-next.68
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @verdaccio/core@6.0.0-6-next.68
|
||||
- @verdaccio/utils@6.0.0-6-next.36
|
||||
|
||||
## 6.0.0-6-next.67
|
||||
|
||||
### Minor Changes
|
||||
|
||||
- 16e38df8: feat: trustProxy property
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [16e38df8]
|
||||
- @verdaccio/core@6.0.0-6-next.67
|
||||
- @verdaccio/utils@6.0.0-6-next.35
|
||||
|
||||
## 6.0.0-6-next.66
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @verdaccio/core@6.0.0-6-next.66
|
||||
- @verdaccio/utils@6.0.0-6-next.34
|
||||
|
||||
## 6.0.0-6-next.65
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a1da1130]
|
||||
- @verdaccio/core@6.0.0-6-next.65
|
||||
- @verdaccio/utils@6.0.0-6-next.33
|
||||
|
||||
## 6.0.0-6-next.64
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [974cd8c1]
|
||||
- @verdaccio/core@6.0.0-6-next.64
|
||||
- @verdaccio/utils@6.0.0-6-next.32
|
||||
|
||||
## 6.0.0-6-next.63
|
||||
|
||||
### Minor Changes
|
||||
|
||||
- ddb6a223: feat: signature package
|
||||
- dc571aab: feat: add forceEnhancedLegacySignature
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [dc571aab]
|
||||
- @verdaccio/core@6.0.0-6-next.63
|
||||
- @verdaccio/utils@6.0.0-6-next.31
|
||||
|
||||
## 6.0.0-6-next.62
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@verdaccio/config",
|
||||
"version": "6.0.0-6-next.62",
|
||||
"version": "6.0.0-6-next.68",
|
||||
"description": "logger",
|
||||
"main": "./build/index.js",
|
||||
"types": "build/index.d.ts",
|
||||
@@ -38,8 +38,8 @@
|
||||
"build": "pnpm run build:js && pnpm run build:types"
|
||||
},
|
||||
"dependencies": {
|
||||
"@verdaccio/core": "workspace:6.0.0-6-next.62",
|
||||
"@verdaccio/utils": "workspace:6.0.0-6-next.30",
|
||||
"@verdaccio/core": "workspace:6.0.0-6-next.68",
|
||||
"@verdaccio/utils": "workspace:6.0.0-6-next.36",
|
||||
"debug": "4.3.4",
|
||||
"js-yaml": "4.1.0",
|
||||
"lodash": "4.17.21",
|
||||
|
||||
@@ -106,6 +106,9 @@ server:
|
||||
# A regex for the password validation /.{3}$/ (3 characters min)
|
||||
# An example to limit to 10 characters minimum
|
||||
# passwordValidationRegex: /.{10}$/
|
||||
# Allow `req.ip` to resolve properly when Verdaccio is behind a proxy or load-balancer
|
||||
# See: https://expressjs.com/en/guide/behind-proxies.html
|
||||
# trustProxy: '127.0.0.1'
|
||||
|
||||
# https://verdaccio.org/docs/configuration#offline-publish
|
||||
# publish:
|
||||
|
||||
@@ -112,6 +112,9 @@ server:
|
||||
# A regex for the password validation /.{3}$/ (3 characters min)
|
||||
# An example to limit to 10 characters minimum
|
||||
# passwordValidationRegex: /.{10}$/
|
||||
# Allow `req.ip` to resolve properly when Verdaccio is behind a proxy or load-balancer
|
||||
# See: https://expressjs.com/en/guide/behind-proxies.html
|
||||
# trustProxy: '127.0.0.1'
|
||||
|
||||
# https://verdaccio.org/docs/configuration#offline-publish
|
||||
# publish:
|
||||
|
||||
@@ -28,7 +28,6 @@ const debug = buildDebug('verdaccio:config');
|
||||
* @return {String} the config file path
|
||||
*/
|
||||
function findConfigFile(configPath?: string): string {
|
||||
// console.log(process.env);
|
||||
if (typeof configPath !== 'undefined') {
|
||||
return path.resolve(configPath);
|
||||
}
|
||||
|
||||
@@ -2,7 +2,8 @@ import assert from 'assert';
|
||||
import buildDebug from 'debug';
|
||||
import _ from 'lodash';
|
||||
|
||||
import { APP_ERROR } from '@verdaccio/core';
|
||||
import { APP_ERROR, warningUtils } from '@verdaccio/core';
|
||||
import { Codes } from '@verdaccio/core/build/warning-utils';
|
||||
import {
|
||||
Config as AppConfig,
|
||||
AuthConf,
|
||||
@@ -45,9 +46,11 @@ class Config implements AppConfig {
|
||||
public users: any;
|
||||
public auth: AuthConf;
|
||||
public server_id: string;
|
||||
// @deprecated use configPath instead
|
||||
public config_path: string;
|
||||
public configPath: string;
|
||||
/**
|
||||
* @deprecated use configPath or config.getConfigPath();
|
||||
*/
|
||||
public self_path: string;
|
||||
public storage: string | void;
|
||||
|
||||
public plugins: string | void | null;
|
||||
@@ -57,14 +60,24 @@ class Config implements AppConfig {
|
||||
public secret: string;
|
||||
public flags: FlagsConfig;
|
||||
public userRateLimit: RateLimit;
|
||||
public constructor(config: ConfigYaml & { config_path: string }) {
|
||||
private configOptions: { forceEnhancedLegacySignature: boolean };
|
||||
public constructor(
|
||||
config: ConfigYaml & { config_path: string },
|
||||
configOptions = { forceEnhancedLegacySignature: true }
|
||||
) {
|
||||
const self = this;
|
||||
this.configOptions = configOptions;
|
||||
this.storage = process.env.VERDACCIO_STORAGE_PATH || config.storage;
|
||||
if (!config.configPath) {
|
||||
throw new Error('config_path is required');
|
||||
// backport self_path for previous to version 6
|
||||
// @ts-expect-error
|
||||
config.configPath = config.config_path ?? config.self_path;
|
||||
if (!config.configPath) {
|
||||
throw new Error('configPath property is required');
|
||||
}
|
||||
}
|
||||
this.config_path = config.config_path ?? (config.configPath as string);
|
||||
this.configPath = config.configPath;
|
||||
this.self_path = this.configPath;
|
||||
debug('config path: %s', this.configPath);
|
||||
this.plugins = config.plugins;
|
||||
this.security = _.merge(defaultSecurity, config.security);
|
||||
@@ -117,6 +130,10 @@ class Config implements AppConfig {
|
||||
}
|
||||
}
|
||||
|
||||
public getConfigPath() {
|
||||
return this.configPath;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check for package spec
|
||||
*/
|
||||
@@ -127,18 +144,35 @@ class Config implements AppConfig {
|
||||
|
||||
/**
|
||||
* Store or create whether receive a secret key
|
||||
* @secret external secret key
|
||||
*/
|
||||
public checkSecretKey(secret?: string): string {
|
||||
debug('check secret key');
|
||||
if (_.isString(secret) && _.isEmpty(secret) === false) {
|
||||
if (typeof secret === 'string' && _.isEmpty(secret) === false) {
|
||||
this.secret = secret;
|
||||
debug('reusing previous key');
|
||||
return secret;
|
||||
}
|
||||
// it generates a secret key
|
||||
// generate a new a secret key
|
||||
// FUTURE: this might be an external secret key, perhaps within config file?
|
||||
debug('generate a new key');
|
||||
this.secret = generateRandomSecretKey();
|
||||
//
|
||||
if (this.configOptions.forceEnhancedLegacySignature) {
|
||||
this.secret = generateRandomSecretKey();
|
||||
} else {
|
||||
this.secret =
|
||||
this.security.enhancedLegacySignature === true
|
||||
? generateRandomSecretKey()
|
||||
: generateRandomHexString(32);
|
||||
// set this to false allow use old token signature and is not recommended
|
||||
// only use for migration reasons, major release will remove this property and
|
||||
// set it by default
|
||||
if (this.security.enhancedLegacySignature === false) {
|
||||
warningUtils.emit(Codes.VERWAR005);
|
||||
}
|
||||
}
|
||||
|
||||
debug('generated a new secret key %s', this.secret?.length);
|
||||
return this.secret;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,6 +9,9 @@
|
||||
"references": [
|
||||
{
|
||||
"path": "../utils"
|
||||
},
|
||||
{
|
||||
"path": "../core/core"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,5 +1,33 @@
|
||||
# @verdaccio/core
|
||||
|
||||
## 6.0.0-6-next.68
|
||||
|
||||
## 6.0.0-6-next.67
|
||||
|
||||
### Minor Changes
|
||||
|
||||
- 16e38df8: feat: trustProxy property
|
||||
|
||||
## 6.0.0-6-next.66
|
||||
|
||||
## 6.0.0-6-next.65
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- a1da1130: fix: minor typo on warning message
|
||||
|
||||
## 6.0.0-6-next.64
|
||||
|
||||
### Minor Changes
|
||||
|
||||
- 974cd8c1: fix: startup messages improved and logs support on types
|
||||
|
||||
## 6.0.0-6-next.63
|
||||
|
||||
### Minor Changes
|
||||
|
||||
- dc571aab: feat: add forceEnhancedLegacySignature
|
||||
|
||||
## 6.0.0-6-next.62
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@verdaccio/core",
|
||||
"version": "6.0.0-6-next.62",
|
||||
"version": "6.0.0-6-next.68",
|
||||
"description": "core utilities",
|
||||
"keywords": [
|
||||
"private",
|
||||
@@ -44,7 +44,7 @@
|
||||
"lodash": "4.17.21",
|
||||
"typedoc": "0.23.25",
|
||||
"typedoc-plugin-missing-exports": "latest",
|
||||
"@verdaccio/types": "workspace:11.0.0-6-next.21"
|
||||
"@verdaccio/types": "workspace:11.0.0-6-next.25"
|
||||
},
|
||||
"scripts": {
|
||||
"clean": "rimraf ./build",
|
||||
|
||||
@@ -170,5 +170,5 @@ export interface IBasicAuth {
|
||||
}
|
||||
|
||||
export interface ManifestFilter<T> extends Plugin<T> {
|
||||
filterMetadata(packageInfo: Manifest): Promise<Manifest>;
|
||||
filter_metadata(packageInfo: Manifest): Promise<Manifest>;
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ export enum Codes {
|
||||
VERWAR002 = 'VERWAR002',
|
||||
VERWAR003 = 'VERWAR003',
|
||||
VERWAR004 = 'VERWAR004',
|
||||
VERWAR005 = 'VERWAR005',
|
||||
// deprecation warnings
|
||||
VERDEP003 = 'VERDEP003',
|
||||
}
|
||||
@@ -16,7 +17,7 @@ export enum Codes {
|
||||
warningInstance.create(
|
||||
verdaccioWarning,
|
||||
Codes.VERWAR002,
|
||||
`The property config "logs" property is longer supported, rename to "log" and use object instead`
|
||||
`The configuration property "logs" has been deprecated, please rename to "log" for future compatibility`
|
||||
);
|
||||
|
||||
warningInstance.create(
|
||||
@@ -39,6 +40,12 @@ host:port (e.g. "localhost:4873") or full url '(e.g. "http://localhost:4873/")
|
||||
https://verdaccio.org/docs/en/configuration#listen-port`
|
||||
);
|
||||
|
||||
warningInstance.create(
|
||||
verdaccioWarning,
|
||||
Codes.VERWAR005,
|
||||
'disable enhanced legacy signature is considered a security risk, please reconsider enable it'
|
||||
);
|
||||
|
||||
warningInstance.create(
|
||||
verdaccioDeprecation,
|
||||
Codes.VERDEP003,
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
"lockfile": "1.0.4"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@verdaccio/types": "workspace:11.0.0-6-next.21"
|
||||
"@verdaccio/types": "workspace:11.0.0-6-next.25"
|
||||
},
|
||||
"scripts": {
|
||||
"clean": "rimraf ./build",
|
||||
|
||||
@@ -1,5 +1,57 @@
|
||||
# Change Log
|
||||
|
||||
## 11.0.0-6-next.37
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @verdaccio/core@6.0.0-6-next.68
|
||||
- @verdaccio/url@11.0.0-6-next.34
|
||||
- @verdaccio/utils@6.0.0-6-next.36
|
||||
|
||||
## 11.0.0-6-next.36
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [16e38df8]
|
||||
- @verdaccio/core@6.0.0-6-next.67
|
||||
- @verdaccio/url@11.0.0-6-next.33
|
||||
- @verdaccio/utils@6.0.0-6-next.35
|
||||
|
||||
## 11.0.0-6-next.35
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @verdaccio/core@6.0.0-6-next.66
|
||||
- @verdaccio/url@11.0.0-6-next.32
|
||||
- @verdaccio/utils@6.0.0-6-next.34
|
||||
|
||||
## 11.0.0-6-next.34
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a1da1130]
|
||||
- @verdaccio/core@6.0.0-6-next.65
|
||||
- @verdaccio/url@11.0.0-6-next.31
|
||||
- @verdaccio/utils@6.0.0-6-next.33
|
||||
|
||||
## 11.0.0-6-next.33
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [974cd8c1]
|
||||
- @verdaccio/core@6.0.0-6-next.64
|
||||
- @verdaccio/url@11.0.0-6-next.30
|
||||
- @verdaccio/utils@6.0.0-6-next.32
|
||||
|
||||
## 11.0.0-6-next.32
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [dc571aab]
|
||||
- @verdaccio/core@6.0.0-6-next.63
|
||||
- @verdaccio/url@11.0.0-6-next.29
|
||||
- @verdaccio/utils@6.0.0-6-next.31
|
||||
|
||||
## 11.0.0-6-next.31
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@verdaccio/tarball",
|
||||
"version": "11.0.0-6-next.31",
|
||||
"version": "11.0.0-6-next.37",
|
||||
"description": "tarball utilities resolver",
|
||||
"keywords": [
|
||||
"private",
|
||||
@@ -34,13 +34,13 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"debug": "4.3.4",
|
||||
"@verdaccio/core": "workspace:6.0.0-6-next.62",
|
||||
"@verdaccio/url": "workspace:11.0.0-6-next.28",
|
||||
"@verdaccio/utils": "workspace:6.0.0-6-next.30",
|
||||
"@verdaccio/core": "workspace:6.0.0-6-next.68",
|
||||
"@verdaccio/url": "workspace:11.0.0-6-next.34",
|
||||
"@verdaccio/utils": "workspace:6.0.0-6-next.36",
|
||||
"lodash": "4.17.21"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@verdaccio/types": "workspace:11.0.0-6-next.21",
|
||||
"@verdaccio/types": "workspace:11.0.0-6-next.25",
|
||||
"node-mocks-http": "1.12.1"
|
||||
},
|
||||
"scripts": {
|
||||
|
||||
@@ -1,5 +1,29 @@
|
||||
# Change Log
|
||||
|
||||
## 11.0.0-6-next.25
|
||||
|
||||
### Minor Changes
|
||||
|
||||
- 16e38df8: feat: trustProxy property
|
||||
|
||||
## 11.0.0-6-next.24
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 7ef599cc: fix: missing version on footer
|
||||
|
||||
## 11.0.0-6-next.23
|
||||
|
||||
### Minor Changes
|
||||
|
||||
- 974cd8c1: fix: startup messages improved and logs support on types
|
||||
|
||||
## 11.0.0-6-next.22
|
||||
|
||||
### Minor Changes
|
||||
|
||||
- dc571aab: feat: add forceEnhancedLegacySignature
|
||||
|
||||
## 11.0.0-6-next.21
|
||||
|
||||
### Patch Changes
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user