Compare commits

..

30 Commits

Author SHA1 Message Date
Juan Picado
928b66106c chore: update versions (6-next) (#3571)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-01-22 09:55:24 +01:00
Juan Picado
ef88da3b47 fix: improve support for fs promises older nodejs (#3570)
* fix: improve support for fs promises older nodejs

* second try with fallback for nodejs18
2023-01-22 09:48:04 +01:00
verdacciobot
1ca60b1b4d chore: updated static data 2023-01-19 00:14:04 +00:00
dependabot[bot]
6aa30f8bf9 chore(deps): bump actions/checkout from 3.2.0 to 3.3.0 (#3559)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](755da8c3cf...ac59398561)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-18 20:06:56 +01:00
dependabot[bot]
381f178e6e chore(deps): bump actions/setup-node from 3.5.1 to 3.6.0 (#3560)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3.5.1 to 3.6.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](8c91899e58...64ed1c7eab)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-18 19:35:18 +01:00
dependabot[bot]
19afc0452d chore(deps): bump github/codeql-action from 2.1.37 to 2.1.38 (#3563)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.1.37 to 2.1.38.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](959cbb7472...515828d974)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-18 19:35:07 +01:00
dependabot[bot]
91d24c55ba chore(deps): bump actions/cache from 3.2.2 to 3.2.3 (#3558)
Bumps [actions/cache](https://github.com/actions/cache) from 3.2.2 to 3.2.3.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](4723a57e26...58c146cc91)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-18 19:34:56 +01:00
verdacciobot
eb7163f107 chore: updated static data 2023-01-16 01:01:38 +00:00
dependabot[bot]
272b35e534 chore(deps): bump actions/upload-artifact from 3.1.1 to 3.1.2 (#3561)
* chore(deps): bump actions/upload-artifact from 3.1.1 to 3.1.2

Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3.1.1 to 3.1.2.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](83fd05a356...0b7f8abb15)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

* fix test

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Juan Picado <juanpicado19@gmail.com>
2023-01-13 20:38:39 +01:00
verdacciobot
186e063724 chore: updated static data 2023-01-12 01:02:42 +00:00
verdacciobot
4241fd2675 chore: updated static data 2023-01-09 00:14:24 +00:00
Juan Picado
a1f78368c4 docs: add pages to ui components (#3557)
* rename method

* Update ui-components.md

* clean up jest

* docs: add pages to ui components

* Update ui-components.yml

* chore: add some example docs
2023-01-08 11:27:37 +01:00
Juan Picado
ce13b55693 Update ui-components.yml 2023-01-07 11:33:16 +01:00
verdacciobot
b9f4a7c35d chore: updated static data 2023-01-05 00:14:45 +00:00
Johannes Losch
c23726a5ac updated gitlab auth (#3554)
removed https://github.com/snics/docker-verdaccio-gitlab (not longer maintained)
added https://github.com/johanneslosch/verdaccio-auth-gitlab
2023-01-03 16:36:56 +01:00
Juan Picado
9045402d73 docs: add ui components docs (#3553)
* docs: add ui components docs

* Update ui-components.md

* Update package.json
2023-01-03 10:50:34 +01:00
Eric Mutta
beefebfcfa Fix typo in e2e.md (#3552) 2023-01-03 10:29:56 +01:00
Juan Picado
d73ad92fa1 chore: update versions (6-next) (#3551)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-01-03 00:01:34 +01:00
renovate[bot]
b4baa10ac0 chore(deps): update actions/cache digest to 4723a57 (#3549)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-02 23:09:54 +01:00
Juan Picado
f58f886c48 Update ui-components.yml 2023-01-02 23:05:09 +01:00
Juan Picado
9997879743 feats: components UI for custom user interfaces (#3548) 2023-01-02 20:13:45 +01:00
verdacciobot
86d813840d chore: updated static data 2023-01-02 00:14:22 +00:00
verdacciobot
c856597e2c chore: updated static data 2022-12-29 00:13:26 +00:00
renovate[bot]
9b761945df fix(deps): update all core dependencies (#3542)
* fix(deps): update all core dependencies

* update deps

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Juan Picado <juanpicado19@gmail.com>
2022-12-26 09:43:07 +01:00
renovate[bot]
c353839683 fix(deps): update all linting dependencies (#3543)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-26 08:53:40 +01:00
renovate[bot]
d0829623aa chore(deps): update actions/cache digest to c1a5de8 (#3541)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-26 08:16:23 +01:00
verdacciobot
d08ffb6e34 chore: updated static data 2022-12-26 00:14:06 +00:00
Juan Picado
294018443e Update pre.json 2022-12-25 22:48:13 +01:00
Juan Picado
2b8c2aee07 chore: fix changeset 2022-12-25 20:44:09 +01:00
Juan Picado
176dee9757 chore: ignore docs folder 2022-12-25 18:52:47 +01:00
504 changed files with 128045 additions and 11696 deletions

View File

@@ -0,0 +1,18 @@
---
'@verdaccio/api': minor
'@verdaccio/config': minor
'@verdaccio/core': minor
'@verdaccio/file-locking': minor
'@verdaccio/tarball': minor
'@verdaccio/types': minor
'@verdaccio/url': minor
'@verdaccio/hooks': minor
'@verdaccio/loaders': minor
'@verdaccio/logger': minor
'@verdaccio/logger-prettify': minor
'@verdaccio/local-storage': minor
'@verdaccio/utils': minor
'verdaccio': minor
---
feat: improve support for fs promises older nodejs

View File

@@ -0,0 +1,27 @@
---
'@verdaccio/types': major
'@verdaccio/ui-theme': major
'@verdaccio/ui-components': major
---
feat(web): components for custom user interfaces
Provides a package that includes all components from the user interface, instead being embedded at the `@verdaccio/ui-theme` package.
```
npm i -D @verdaccio/ui-components
```
The package contains
- Components
- Providers
- Redux Storage
- Layouts (precomposed layouts ready to use)
- Custom Material Theme
The `@verdaccio/ui-theme` will consume this package and will use only those are need it.
> Prerequisites are using Redux, Material-UI and Translations with `i18next`.
Users could have their own Material UI theme and build custom layouts, adding new features without the need to modify the default project.

View File

@@ -33,8 +33,9 @@
"@verdaccio/cli-standalone": "6.0.0-alpha.3",
"@verdaccio/tarball": "11.0.0-alpha.3",
"@verdaccio/url": "11.0.0-alpha.3",
"@verdaccio/ui-components": "2.0.0-alpha.0",
"@verdaccio/server-fastify": "6.0.0-6-next.9",
"@verdaccio/eslint-config": "1.0.0",
"@verdaccio/eslint-config": "2.0.0-alpha.0",
"@verdaccio/core": "6.0.0-next.0",
"@verdaccio/test-helper": "1.0.0",
"docusaurus-plugin-contributors": "1.0.0",
@@ -64,6 +65,7 @@
"brown-cycles-laugh",
"brown-pandas-wink",
"calm-pants-impress",
"chatty-pillows-perform",
"chilled-ways-fetch",
"chilly-glasses-occur",
"clever-pugs-warn",
@@ -105,6 +107,7 @@
"neat-toes-report",
"neat-toys-float",
"olive-candles-speak",
"orange-cows-pull",
"orange-flowers-cover",
"perfect-candles-clap",
"perfect-emus-clean",

View File

@@ -14,3 +14,7 @@ test/functional/store/*
docker-examples/**/lib/**/*.js
test/cli/e2e-yarn4/bin/yarn-4.0.0-rc.14.cjs
yarn.js
# storybook
packages/ui-components/storybook-static
dist.js
bundle.js

View File

@@ -20,12 +20,12 @@ jobs:
if: github.ref == 'refs/heads/master' && github.repository == 'verdaccio/verdaccio'
steps:
- name: checkout code repository
uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # tag=v3
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
with:
fetch-depth: 0
- name: setup node.js
uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # tag=v3
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3
with:
node-version: 14
registry-url: 'https://registry.npmjs.org'

View File

@@ -18,9 +18,9 @@ jobs:
env:
NODE_ENV: production
steps:
- uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # tag=v3
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
- name: Node
uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # tag=v3
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm
@@ -32,7 +32,7 @@ jobs:
- name: Install
run: pnpm recursive install --frozen-lockfile --registry http://localhost:4873
- name: Cache .pnpm-store
uses: actions/cache@9b0c1fce7a93df8e3bb8926b0d6e9d89e92f20a7 # tag=v3
uses: actions/cache@58c146cc91c5b9e778e71775dfe9bf1442ad9a12 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
@@ -43,14 +43,14 @@ jobs:
name: Lint
needs: prepare
steps:
- uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # tag=v3
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
- name: Node
uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # 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@9b0c1fce7a93df8e3bb8926b0d6e9d89e92f20a7 # tag=v3
- uses: actions/cache@58c146cc91c5b9e778e71775dfe9bf1442ad9a12 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
@@ -63,14 +63,14 @@ jobs:
name: Format
needs: prepare
steps:
- uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # tag=v3
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
- name: Use Node
uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # 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@9b0c1fce7a93df8e3bb8926b0d6e9d89e92f20a7 # tag=v3
- uses: actions/cache@58c146cc91c5b9e778e71775dfe9bf1442ad9a12 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
@@ -88,14 +88,14 @@ jobs:
name: ${{ matrix.os }} / Node ${{ matrix.node_version }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # tag=v3
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
- name: Use Node ${{ matrix.node_version }}
uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # tag=v3
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@9b0c1fce7a93df8e3bb8926b0d6e9d89e92f20a7 # tag=v3
- uses: actions/cache@58c146cc91c5b9e778e71775dfe9bf1442ad9a12 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
@@ -110,13 +110,13 @@ jobs:
runs-on: windows-latest
name: UI Test E2E
steps:
- uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # tag=v3
- uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # tag=v3
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # 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@9b0c1fce7a93df8e3bb8926b0d6e9d89e92f20a7 # tag=v3
- uses: actions/cache@58c146cc91c5b9e778e71775dfe9bf1442ad9a12 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}

View File

@@ -27,9 +27,9 @@ jobs:
env:
NODE_ENV: production
steps:
- uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # tag=v3
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
- name: Node
uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # tag=v3
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm
@@ -43,7 +43,7 @@ jobs:
- name: Install
run: pnpm recursive install --frozen-lockfile --registry http://localhost:4873
- name: Cache .pnpm-store
uses: actions/cache@9b0c1fce7a93df8e3bb8926b0d6e9d89e92f20a7 # tag=v3
uses: actions/cache@58c146cc91c5b9e778e71775dfe9bf1442ad9a12 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
@@ -54,16 +54,16 @@ jobs:
name: Lint
needs: prepare
steps:
- uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # tag=v3
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
- name: Node
uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # 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@9b0c1fce7a93df8e3bb8926b0d6e9d89e92f20a7 # tag=v3
- uses: actions/cache@58c146cc91c5b9e778e71775dfe9bf1442ad9a12 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
@@ -76,16 +76,16 @@ jobs:
name: Format
needs: prepare
steps:
- uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # tag=v3
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
- name: Use Node
uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # 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@9b0c1fce7a93df8e3bb8926b0d6e9d89e92f20a7 # tag=v3
- uses: actions/cache@58c146cc91c5b9e778e71775dfe9bf1442ad9a12 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
@@ -103,16 +103,16 @@ jobs:
name: ${{ matrix.os }} / Node ${{ matrix.node_version }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # tag=v3
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
- name: Use Node ${{ matrix.node_version }}
uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # tag=v3
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3
with:
node-version: ${{ matrix.node_version }}
- name: Install pnpm
run: |
corepack enable
corepack prepare --activate pnpm@6.32.15
- uses: actions/cache@9b0c1fce7a93df8e3bb8926b0d6e9d89e92f20a7 # tag=v3
- uses: actions/cache@58c146cc91c5b9e778e71775dfe9bf1442ad9a12 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
@@ -128,15 +128,15 @@ jobs:
name: synchronize translations
if: (github.event_name == 'push' && github.ref == 'refs/heads/master') || github.event_name == 'workflow_dispatch'
steps:
- uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # tag=v3
- uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # tag=v3
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # 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@9b0c1fce7a93df8e3bb8926b0d6e9d89e92f20a7 # tag=v3
- uses: actions/cache@58c146cc91c5b9e778e71775dfe9bf1442ad9a12 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}

View File

@@ -21,7 +21,7 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # tag=v3
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # 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@959cbb7472c4d4ad70cdfe6f4976053fe48ab394 # tag=v2
uses: github/codeql-action/init@515828d97454b8354517688ddc5b48402b723750 # 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@959cbb7472c4d4ad70cdfe6f4976053fe48ab394 # tag=v2
uses: github/codeql-action/autobuild@515828d97454b8354517688ddc5b48402b723750 # 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@959cbb7472c4d4ad70cdfe6f4976053fe48ab394 # tag=v2
uses: github/codeql-action/analyze@515828d97454b8354517688ddc5b48402b723750 # tag=v2

View File

@@ -23,7 +23,7 @@ jobs:
docker:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # tag=v3
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
- uses: docker/setup-qemu-action@e81a89b1732b9c48d79cd809d8d81d79c4647a18 # tag=v1
- uses: docker/setup-buildx-action@v1
with:

View File

@@ -15,9 +15,9 @@ jobs:
env:
NODE_ENV: production
steps:
- uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # tag=v3
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
- name: Use Node
uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # tag=v3
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm
@@ -29,7 +29,7 @@ jobs:
- name: Install
run: pnpm recursive install --frozen-lockfile --reporter=silence --ignore-scripts --registry http://localhost:4873
- name: Cache .pnpm-store
uses: actions/cache@9b0c1fce7a93df8e3bb8926b0d6e9d89e92f20a7 # tag=v3
uses: actions/cache@58c146cc91c5b9e778e71775dfe9bf1442ad9a12 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}
@@ -39,14 +39,14 @@ jobs:
needs: [prepare]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # tag=v3
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
- name: Use Node 16
uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # 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@9b0c1fce7a93df8e3bb8926b0d6e9d89e92f20a7 # tag=v3
- uses: actions/cache@58c146cc91c5b9e778e71775dfe9bf1442ad9a12 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}
@@ -55,7 +55,7 @@ jobs:
- name: build
run: pnpm build
- name: Cache packages
uses: actions/cache@9b0c1fce7a93df8e3bb8926b0d6e9d89e92f20a7 # tag=v3
uses: actions/cache@58c146cc91c5b9e778e71775dfe9bf1442ad9a12 # v3
id: cache-packages
with:
path: ./packages/
@@ -79,19 +79,19 @@ jobs:
name: ${{ matrix.pkg }} / ${{ matrix.os }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # tag=v3
- uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # tag=v3
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # 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@9b0c1fce7a93df8e3bb8926b0d6e9d89e92f20a7 # tag=v3
- uses: actions/cache@58c146cc91c5b9e778e71775dfe9bf1442ad9a12 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}
- name: Install
run: pnpm recursive install --offline --frozen-lockfile --reporter=silence --ignore-scripts --registry http://localhost:4873
- uses: actions/cache@9b0c1fce7a93df8e3bb8926b0d6e9d89e92f20a7 # tag=v3
- uses: actions/cache@58c146cc91c5b9e778e71775dfe9bf1442ad9a12 # v3
with:
path: ./packages/
key: pkg-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}

View File

@@ -15,9 +15,9 @@ jobs:
env:
NODE_ENV: production
steps:
- uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # tag=v3
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
- name: Use Node
uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # tag=v3
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm
@@ -30,7 +30,7 @@ jobs:
run: pnpm build
- name: Test UI
run: pnpm test:e2e:ui
- uses: actions/upload-artifact@83fd05a356d7e2593de66fc9913b3002723633cb # v3
- uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3
with:
name: videos
path: /home/runner/work/verdaccio/verdaccio/e2e/ui/cypress/videos

View File

@@ -19,11 +19,11 @@ jobs:
name: Run script
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # tag=v3
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
with:
persist-credentials: false
fetch-depth: 0
- uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # tag=v3
- uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3
with:
node-version: 18.x
- name: install pnpm

78
.github/workflows/ui-components.yml vendored Normal file
View File

@@ -0,0 +1,78 @@
name: UI Components
on:
workflow_dispatch:
pull_request:
paths:
- .github/workflows/ui-components.yml
- 'packages/ui-components/**'
- 'package.json'
- 'pnpm-workspace.yaml'
- 'pnpm-lock.yaml'
permissions:
contents: read # to fetch code (actions/checkout)
env:
DEBUG: verdaccio*
jobs:
deploy:
permissions:
contents: read # to fetch code (actions/checkout)
deployments: write
pull-requests: write # to comment on pull-requests
runs-on: ubuntu-latest
env:
NODE_OPTIONS: --max_old_space_size=4096
steps:
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
- name: Use Node
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3
with:
node-version-file: '.nvmrc'
- name: Cache pnpm modules
uses: actions/cache@58c146cc91c5b9e778e71775dfe9bf1442ad9a12 # v3
env:
cache-name: cache-pnpm-modules
with:
path: ~/.pnpm-store
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.node-version }}-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.node-version }}-
- name: Install pnpm
run: |
corepack enable
corepack prepare --activate pnpm@6.32.15
- name: Install
run: pnpm recursive install --frozen-lockfile
- name: Build storybook
run: pnpm ui:storybook:build
- name: Copy public content
# the msw.js worker is need it at the storybook-static folder in production
run: cp -R packages/ui-components/public/* packages/ui-components/storybook-static
- name: 🔥 Deploy 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
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
netlify-auth-token: ${{ secrets.NETLIFY_AUTH_TOKEN }}
netlify-site-id: ${{ secrets.NETLIFY_UI_SITE_ID }}
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
id: netlify_preview_ui
with:
draft: true
comment-on-pull-request: true
github-deployment-is-production: false
github-deployment-is-transient: true
github-token: ${{ secrets.GITHUB_TOKEN }}
netlify-auth-token: ${{ secrets.NETLIFY_AUTH_TOKEN }}
netlify-site-id: ${{ secrets.NETLIFY_UI_SITE_ID }}
build-dir: './packages/ui-components/storybook-static'

View File

@@ -23,15 +23,15 @@ jobs:
env:
NODE_OPTIONS: --max_old_space_size=4096
steps:
- uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # tag=v3
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3
- name: Use Node 16
uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # tag=v3
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3
with:
node-version: 16
- name: Cache pnpm modules
uses: actions/cache@9b0c1fce7a93df8e3bb8926b0d6e9d89e92f20a7 # tag=v3
uses: actions/cache@58c146cc91c5b9e778e71775dfe9bf1442ad9a12 # v3
env:
cache-name: cache-pnpm-modules
with:
@@ -51,7 +51,7 @@ jobs:
- name: Build Translations percentage
run: pnpm build --filter "@verdaccio/crowdin-translations"
- name: Cache Docusaurus Build
uses: actions/cache@9b0c1fce7a93df8e3bb8926b0d6e9d89e92f20a7 # tag=v3
uses: actions/cache@58c146cc91c5b9e778e71775dfe9bf1442ad9a12 # v3
with:
path: website/node_modules/.cache/webpack
key: cache/webpack-${{github.ref}}-${{ hashFiles('**/pnpm-lock.yaml') }}

10
.gitignore vendored
View File

@@ -41,13 +41,6 @@ packages/plugins/ui-theme/static
# CI Pnpm cache
.pnpm-store/
# benchmark
api-results.json
hyper-results.json
hyper-results*.json
api-results*.json
.clinic/
#docs
website/docs/api/**/*.md
website/docs/api/**/*.yml
@@ -57,3 +50,6 @@ packages/**/docs
# cypress
e2e/ui/cypress/videos/**/*
e2e/ui/cypress/screenshots/**/*
# storybook
packages/ui-components/storybook-static

View File

@@ -35,3 +35,5 @@ packages/plugins/ui-theme/static/
.verdaccio-db.json
test/cli/e2e-yarn4/bin/yarn-4.0.0-rc.14.cjs
yarn.js
website/docs/api/*
packages/ui-components/storybook-static/*

View File

@@ -5,14 +5,14 @@
"main": "./build/index.js",
"types": "./build/index.d.ts",
"devDependencies": {
"verdaccio": "workspace:6.0.0-6-next.52",
"@verdaccio/core": "workspace:6.0.0-6-next.52",
"@verdaccio/config": "workspace:6.0.0-6-next.52",
"@verdaccio/types": "workspace:11.0.0-6-next.17",
"yaml": "2.1.3",
"verdaccio": "workspace:6.0.0-6-next.54",
"@verdaccio/core": "workspace:6.0.0-6-next.54",
"@verdaccio/config": "workspace:6.0.0-6-next.54",
"@verdaccio/types": "workspace:11.0.0-6-next.19",
"yaml": "2.2.0",
"debug": "4.3.4",
"fs-extra": "10.1.0",
"got": "11.8.5",
"got": "11.8.6",
"lodash": "4.17.21"
},
"scripts": {

View File

@@ -4,7 +4,7 @@
"version": "1.0.1-6-next.5",
"dependencies": {
"@verdaccio/test-cli-commons": "workspace:1.0.1-6-next.5",
"npm": "6.14.17"
"npm": "6.14.18"
},
"scripts": {
"test": "jest"

View File

@@ -4,7 +4,7 @@
"version": "1.0.1-6-next.5",
"dependencies": {
"@verdaccio/test-cli-commons": "workspace:1.0.1-6-next.5",
"npm": "9.1.2"
"npm": "9.2.0"
},
"scripts": {
"test": "jest"

View File

@@ -30,10 +30,6 @@ describe('audit a package yarn 2', () => {
const resp = await yarn(projectFolder, 'npm', 'audit', '--json');
const parsedBody = JSON.parse(resp.stdout as string);
expect(parsedBody.advisories).toBeDefined();
expect(parsedBody.advisories['1069969']).toBeDefined();
expect(parsedBody.advisories['1069969'].recommendation).toEqual(
'Upgrade to version 3.4.0 or later'
);
});
afterAll(async () => {

View File

@@ -30,10 +30,6 @@ describe('audit a package yarn 3', () => {
const resp = await yarn(projectFolder, 'npm', 'audit', '--json');
const parsedBody = JSON.parse(resp.stdout as string);
expect(parsedBody.advisories).toBeDefined();
expect(parsedBody.advisories['1069969']).toBeDefined();
expect(parsedBody.advisories['1069969'].recommendation).toEqual(
'Upgrade to version 3.4.0 or later'
);
});
afterAll(async () => {

View File

@@ -4,7 +4,7 @@
"version": "1.0.1-6-next.5",
"dependencies": {
"@verdaccio/test-cli-commons": "workspace:1.0.1-6-next.5",
"@yarnpkg/cli-dist": "3.3.0"
"@yarnpkg/cli-dist": "3.3.1"
},
"scripts": {
"test": "jest"

View File

@@ -3,12 +3,12 @@
"name": "@verdaccio/e2e-ui",
"version": "2.0.0-6-next.3",
"devDependencies": {
"verdaccio": "workspace:6.0.0-6-next.52",
"@verdaccio/core": "workspace:6.0.0-6-next.52",
"@verdaccio/config": "workspace:6.0.0-6-next.52",
"verdaccio": "workspace:6.0.0-6-next.54",
"@verdaccio/core": "workspace:6.0.0-6-next.54",
"@verdaccio/config": "workspace:6.0.0-6-next.54",
"@verdaccio/test-helper": "workspace:2.0.0-6-next.6",
"debug": "4.3.4",
"cypress": "11.1.0"
"cypress": "11.2.0"
},
"scripts": {
"cypress:open": "cypress open",

View File

@@ -15,51 +15,51 @@
"url": "https://opencollective.com/verdaccio"
},
"devDependencies": {
"@babel/cli": "7.19.3",
"@babel/core": "7.20.2",
"@babel/node": "7.20.2",
"@babel/cli": "7.20.7",
"@babel/core": "7.20.7",
"@babel/node": "7.20.7",
"@babel/plugin-proposal-class-properties": "7.18.6",
"@babel/plugin-proposal-decorators": "7.20.2",
"@babel/plugin-proposal-decorators": "7.20.7",
"@babel/plugin-proposal-export-namespace-from": "7.18.9",
"@babel/plugin-proposal-function-sent": "7.18.6",
"@babel/plugin-proposal-json-strings": "7.18.6",
"@babel/plugin-proposal-nullish-coalescing-operator": "7.18.6",
"@babel/plugin-proposal-numeric-separator": "7.18.6",
"@babel/plugin-proposal-object-rest-spread": "7.20.2",
"@babel/plugin-proposal-optional-chaining": "7.18.9",
"@babel/plugin-proposal-object-rest-spread": "7.20.7",
"@babel/plugin-proposal-optional-chaining": "7.20.7",
"@babel/plugin-proposal-throw-expressions": "7.18.6",
"@babel/plugin-syntax-dynamic-import": "7.8.3",
"@babel/plugin-syntax-import-meta": "7.10.4",
"@babel/plugin-transform-async-to-generator": "7.18.6",
"@babel/plugin-transform-classes": "7.20.2",
"@babel/plugin-transform-async-to-generator": "7.20.7",
"@babel/plugin-transform-classes": "7.20.7",
"@babel/plugin-transform-runtime": "7.19.6",
"@babel/preset-env": "7.20.2",
"@babel/preset-react": "7.18.6",
"@babel/preset-typescript": "7.18.6",
"@babel/register": "7.18.9",
"@babel/runtime": "7.20.1",
"@babel/runtime": "7.20.7",
"@dianmora/contributors": "5.0.0",
"@changesets/changelog-github": "0.4.7",
"@changesets/changelog-github": "0.4.8",
"@changesets/cli": "2.24.4",
"@changesets/get-dependents-graph": "1.3.4",
"@changesets/get-dependents-graph": "1.3.5",
"@crowdin/cli": "3.9.1",
"@emotion/react": "11.10.5",
"@emotion/styled": "11.10.5",
"@mui/material": "5.11.1",
"@testing-library/dom": "8.19.1",
"@testing-library/jest-dom": "5.16.5",
"@testing-library/react": "12.1.4",
"react": "18.2.0",
"react-dom": "18.2.0",
"@mui/icons-material": "5.11.0",
"@mui/styles": "5.11.1",
"@mui/system": "5.11.1",
"@trivago/prettier-plugin-sort-imports": "3.4.0",
"@types/async": "3.2.15",
"@types/express": "4.17.14",
"@types/async": "3.2.16",
"@types/express": "4.17.15",
"@types/http-errors": "1.8.2",
"@types/jest": "27.5.2",
"@types/lodash": "4.14.189",
"@types/lodash": "4.14.191",
"@types/mime": "2.0.3",
"@types/minimatch": "3.0.5",
"@types/node": "16.18.3",
"@types/redux": "3.6.0",
"@types/node": "16.18.10",
"@types/jsonwebtoken": "8.5.9",
"@types/request": "2.48.8",
"@types/semver": "7.3.13",
@@ -69,12 +69,12 @@
"@types/validator": "13.7.10",
"@types/webpack": "5.28.0",
"@types/webpack-env": "1.18.0",
"@types/react": "18.0.25",
"@types/react": "18.0.26",
"@types/react-dom": "18.0.9",
"@types/react-router-dom": "5.3.3",
"@types/react-virtualized": "9.21.21",
"@typescript-eslint/eslint-plugin": "5.41.0",
"@typescript-eslint/parser": "5.41.0",
"@typescript-eslint/eslint-plugin": "5.47.0",
"@typescript-eslint/parser": "5.47.0",
"@verdaccio/crowdin-translations": "workspace:*",
"@verdaccio/eslint-config": "workspace:*",
"@verdaccio/types": "workspace:*",
@@ -85,12 +85,12 @@
"babel-plugin-dynamic-import-node": "2.3.3",
"babel-plugin-emotion": "10.2.2",
"concurrently": "6.5.1",
"core-js": "3.26.1",
"core-js": "3.27.0",
"cross-env": "7.0.3",
"debug": "4.3.4",
"detect-secrets": "1.0.6",
"jest-diff": "29.3.1",
"eslint": "8.26.0",
"eslint": "8.30.0",
"fs-extra": "10.1.0",
"husky": "7.0.4",
"in-publish": "2.0.1",
@@ -101,16 +101,16 @@
"jest-junit": "12.3.0",
"kleur": "3.0.3",
"lint-staged": "11.2.6",
"got": "11.8.5",
"got": "11.8.6",
"nock": "13.2.9",
"nodemon": "2.0.20",
"npm-run-all": "4.1.5",
"prettier": "2.7.1",
"prettier": "2.8.1",
"rimraf": "3.0.2",
"selfsigned": "1.10.14",
"supertest": "6.3.1",
"supertest": "6.3.3",
"ts-node": "10.9.1",
"typescript": "4.9.3",
"typescript": "4.9.4",
"update-ts-references": "2.4.1",
"verdaccio-audit": "workspace:*",
"verdaccio-auth-memory": "workspace:*",
@@ -149,6 +149,8 @@
"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",
"translations": "local-crowdin-api translations",
"crowdin:upload": "crowdin upload sources --auto-update --config ./crowdin.yaml",
"crowdin:download": "crowdin download --verbose --config ./crowdin.yaml",

View File

@@ -1,5 +1,34 @@
# @verdaccio/api
## 6.0.0-6-next.37
### Minor Changes
- ef88da3b: feat: improve support for fs promises older nodejs
### Patch Changes
- Updated dependencies [ef88da3b]
- @verdaccio/config@6.0.0-6-next.54
- @verdaccio/core@6.0.0-6-next.54
- @verdaccio/logger@6.0.0-6-next.22
- @verdaccio/utils@6.0.0-6-next.22
- @verdaccio/auth@6.0.0-6-next.33
- @verdaccio/store@6.0.0-6-next.34
- @verdaccio/middleware@6.0.0-6-next.33
## 6.0.0-6-next.36
### Patch Changes
- @verdaccio/auth@6.0.0-6-next.32
- @verdaccio/core@6.0.0-6-next.53
- @verdaccio/logger@6.0.0-6-next.21
- @verdaccio/store@6.0.0-6-next.33
- @verdaccio/config@6.0.0-6-next.53
- @verdaccio/middleware@6.0.0-6-next.32
- @verdaccio/utils@6.0.0-6-next.21
## 6.0.0-6-next.35
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/api",
"version": "6.0.0-6-next.35",
"version": "6.0.0-6-next.37",
"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.31",
"@verdaccio/config": "workspace:6.0.0-6-next.52",
"@verdaccio/core": "workspace:6.0.0-6-next.52",
"@verdaccio/logger": "workspace:6.0.0-6-next.20",
"@verdaccio/middleware": "workspace:6.0.0-6-next.31",
"@verdaccio/store": "workspace:6.0.0-6-next.32",
"@verdaccio/utils": "workspace:6.0.0-6-next.20",
"@verdaccio/auth": "workspace:6.0.0-6-next.33",
"@verdaccio/config": "workspace:6.0.0-6-next.54",
"@verdaccio/core": "workspace:6.0.0-6-next.54",
"@verdaccio/logger": "workspace:6.0.0-6-next.22",
"@verdaccio/middleware": "workspace:6.0.0-6-next.33",
"@verdaccio/store": "workspace:6.0.0-6-next.34",
"@verdaccio/utils": "workspace:6.0.0-6-next.22",
"abortcontroller-polyfill": "1.7.5",
"cookies": "0.8.0",
"debug": "4.3.4",
@@ -56,11 +56,11 @@
"semver": "7.3.8"
},
"devDependencies": {
"@types/node": "16.18.3",
"@verdaccio/server": "workspace:6.0.0-6-next.41",
"@verdaccio/types": "workspace:11.0.0-6-next.17",
"@types/node": "16.18.10",
"@verdaccio/server": "workspace:6.0.0-6-next.43",
"@verdaccio/types": "workspace:11.0.0-6-next.19",
"@verdaccio/test-helper": "workspace:2.0.0-6-next.6",
"supertest": "6.3.1",
"supertest": "6.3.3",
"nock": "13.2.9",
"mockdate": "3.0.5"
},

View File

@@ -16,7 +16,7 @@ import { buildToken, generateRandomHexString } from '@verdaccio/utils';
import apiMiddleware from '../../src';
setup();
setup({});
export const getConf = (conf) => {
const configPath = path.join(__dirname, 'config', conf);

View File

@@ -1,5 +1,28 @@
# @verdaccio/auth
## 6.0.0-6-next.33
### Patch Changes
- Updated dependencies [ef88da3b]
- @verdaccio/config@6.0.0-6-next.54
- @verdaccio/core@6.0.0-6-next.54
- @verdaccio/loaders@6.0.0-6-next.23
- @verdaccio/logger@6.0.0-6-next.22
- @verdaccio/utils@6.0.0-6-next.22
- verdaccio-htpasswd@11.0.0-6-next.24
## 6.0.0-6-next.32
### Patch Changes
- @verdaccio/core@6.0.0-6-next.53
- @verdaccio/loaders@6.0.0-6-next.22
- @verdaccio/logger@6.0.0-6-next.21
- verdaccio-htpasswd@11.0.0-6-next.23
- @verdaccio/config@6.0.0-6-next.53
- @verdaccio/utils@6.0.0-6-next.21
## 6.0.0-6-next.31
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/auth",
"version": "6.0.0-6-next.31",
"version": "6.0.0-6-next.33",
"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.52",
"@verdaccio/config": "workspace:6.0.0-6-next.52",
"@verdaccio/loaders": "workspace:6.0.0-6-next.21",
"@verdaccio/logger": "workspace:6.0.0-6-next.20",
"@verdaccio/utils": "workspace:6.0.0-6-next.20",
"@verdaccio/core": "workspace:6.0.0-6-next.54",
"@verdaccio/config": "workspace:6.0.0-6-next.54",
"@verdaccio/loaders": "workspace:6.0.0-6-next.23",
"@verdaccio/logger": "workspace:6.0.0-6-next.22",
"@verdaccio/utils": "workspace:6.0.0-6-next.22",
"debug": "4.3.4",
"express": "4.18.2",
"jsonwebtoken": "8.5.1",
"jsonwebtoken": "9.0.0",
"lodash": "4.17.21",
"verdaccio-htpasswd": "workspace:11.0.0-6-next.22"
"verdaccio-htpasswd": "workspace:11.0.0-6-next.24"
},
"devDependencies": {
"@verdaccio/types": "workspace:11.0.0-6-next.17"
"@verdaccio/types": "workspace:11.0.0-6-next.19"
},
"funding": {
"type": "opencollective",

View File

@@ -1,5 +1,24 @@
# @verdaccio/cli
## 6.0.0-6-next.54
### Patch Changes
- Updated dependencies [ef88da3b]
- @verdaccio/config@6.0.0-6-next.54
- @verdaccio/core@6.0.0-6-next.54
- @verdaccio/logger@6.0.0-6-next.22
- @verdaccio/node-api@6.0.0-6-next.54
## 6.0.0-6-next.53
### Patch Changes
- @verdaccio/core@6.0.0-6-next.53
- @verdaccio/logger@6.0.0-6-next.21
- @verdaccio/node-api@6.0.0-6-next.53
- @verdaccio/config@6.0.0-6-next.53
## 6.0.0-6-next.52
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/cli",
"version": "6.0.0-6-next.52",
"version": "6.0.0-6-next.54",
"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.52",
"@verdaccio/config": "workspace:6.0.0-6-next.52",
"@verdaccio/logger": "workspace:6.0.0-6-next.20",
"@verdaccio/node-api": "workspace:6.0.0-6-next.52",
"@verdaccio/core": "workspace:6.0.0-6-next.54",
"@verdaccio/config": "workspace:6.0.0-6-next.54",
"@verdaccio/logger": "workspace:6.0.0-6-next.22",
"@verdaccio/node-api": "workspace:6.0.0-6-next.54",
"clipanion": "3.1.0",
"envinfo": "7.8.1",
"kleur": "3.0.3",

View File

@@ -1,5 +1,24 @@
# @verdaccio/config
## 6.0.0-6-next.54
### Minor Changes
- ef88da3b: feat: improve support for fs promises older nodejs
### Patch Changes
- Updated dependencies [ef88da3b]
- @verdaccio/core@6.0.0-6-next.54
- @verdaccio/utils@6.0.0-6-next.22
## 6.0.0-6-next.53
### Patch Changes
- @verdaccio/core@6.0.0-6-next.53
- @verdaccio/utils@6.0.0-6-next.21
## 6.0.0-6-next.52
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/config",
"version": "6.0.0-6-next.52",
"version": "6.0.0-6-next.54",
"description": "logger",
"main": "./build/index.js",
"types": "build/index.d.ts",
@@ -26,8 +26,7 @@
"verdaccio"
],
"engines": {
"node": ">=14",
"npm": ">=6"
"node": ">=12"
},
"scripts": {
"clean": "rimraf ./build",
@@ -39,10 +38,10 @@
"build": "pnpm run build:js && pnpm run build:types"
},
"dependencies": {
"@verdaccio/core": "workspace:6.0.0-6-next.52",
"@verdaccio/utils": "workspace:6.0.0-6-next.20",
"@verdaccio/core": "workspace:6.0.0-6-next.54",
"@verdaccio/utils": "workspace:6.0.0-6-next.22",
"debug": "4.3.4",
"yaml": "2.1.3",
"yaml": "2.2.0",
"lodash": "4.17.21",
"minimatch": "3.1.2",
"yup": "0.32.11"

View File

@@ -1,4 +1,4 @@
import { writeFile } from 'fs/promises';
import fs from 'fs';
import path from 'path';
import { fileUtils } from '@verdaccio/core';
@@ -6,6 +6,8 @@ import { fileUtils } from '@verdaccio/core';
import { fromJStoYAML, parseConfigFile } from '../src';
import { parseConfigurationFile } from './utils';
const { writeFile } = fs.promises ? fs.promises : require('fs/promises');
describe('parse', () => {
describe('parseConfigFile', () => {
describe('JSON format', () => {

View File

@@ -1,5 +1,13 @@
# @verdaccio/core
## 6.0.0-6-next.54
### Minor Changes
- ef88da3b: feat: improve support for fs promises older nodejs
## 6.0.0-6-next.53
## 6.0.0-6-next.52
## 6.0.0-6-next.51

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/core",
"version": "6.0.0-6-next.52",
"version": "6.0.0-6-next.54",
"description": "core utilities",
"keywords": [
"private",
@@ -19,8 +19,7 @@
"license": "MIT",
"homepage": "https://verdaccio.org",
"engines": {
"node": ">=14",
"npm": ">=6"
"node": ">=12"
},
"repository": {
"type": "https",
@@ -39,13 +38,13 @@
"semver": "7.3.8",
"ajv": "8.11.2",
"process-warning": "1.0.0",
"core-js": "3.26.1"
"core-js": "3.27.0"
},
"devDependencies": {
"lodash": "4.17.21",
"typedoc": "0.23.21",
"typedoc": "0.23.23",
"typedoc-plugin-missing-exports": "latest",
"@verdaccio/types": "workspace:11.0.0-6-next.17"
"@verdaccio/types": "workspace:11.0.0-6-next.19"
},
"scripts": {
"clean": "rimraf ./build",

View File

@@ -1,4 +1,4 @@
import { mkdir, mkdtemp } from 'fs/promises';
import fs from 'fs';
import os from 'os';
import path from 'path';
@@ -6,6 +6,8 @@ export const Files = {
DatabaseName: '.verdaccio-db.json',
};
const { mkdir, mkdtemp } = fs.promises ? fs.promises : require('fs/promises');
/**
* Create a temporary folder.
* @param prefix The prefix of the folder name.

View File

@@ -1,5 +1,11 @@
# Change Log
## 11.0.0-6-next.7
### Minor Changes
- ef88da3b: feat: improve support for fs promises older nodejs
## 11.0.0-6-next.6
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/file-locking",
"version": "11.0.0-6-next.6",
"version": "11.0.0-6-next.7",
"description": "library that handle file locking",
"keywords": [
"private",
@@ -17,8 +17,7 @@
"license": "MIT",
"homepage": "https://verdaccio.org",
"engines": {
"node": ">=14",
"npm": ">=6"
"node": ">=12"
},
"repository": {
"type": "https",
@@ -40,7 +39,7 @@
"lockfile": "1.0.4"
},
"devDependencies": {
"@verdaccio/types": "workspace:11.0.0-6-next.17"
"@verdaccio/types": "workspace:11.0.0-6-next.19"
},
"scripts": {
"clean": "rimraf ./build",

View File

@@ -1,10 +1,12 @@
import fs from 'fs/promises';
import fs from 'fs';
import locker from 'lockfile';
import path from 'path';
import { promisify } from 'util';
export const readFile = fs.readFile;
const statPromise = fs.stat;
const fsP = fs.promises ? fs.promises : require('fs/promises');
export const readFile = fsP.readFile;
const statPromise = fsP.stat;
// https://github.com/npm/lockfile/issues/33
const lfLock = promisify(locker.lock);
const lfUnlock = promisify(locker.unlock);

View File

@@ -1,5 +1,26 @@
# Change Log
## 11.0.0-6-next.23
### Minor Changes
- ef88da3b: feat: improve support for fs promises older nodejs
### Patch Changes
- Updated dependencies [ef88da3b]
- @verdaccio/core@6.0.0-6-next.54
- @verdaccio/url@11.0.0-6-next.20
- @verdaccio/utils@6.0.0-6-next.22
## 11.0.0-6-next.22
### Patch Changes
- @verdaccio/core@6.0.0-6-next.53
- @verdaccio/url@11.0.0-6-next.19
- @verdaccio/utils@6.0.0-6-next.21
## 11.0.0-6-next.21
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/tarball",
"version": "11.0.0-6-next.21",
"version": "11.0.0-6-next.23",
"description": "tarball utilities resolver",
"keywords": [
"private",
@@ -19,8 +19,7 @@
"license": "MIT",
"homepage": "https://verdaccio.org",
"engines": {
"node": ">=14",
"npm": ">=6"
"node": ">=12"
},
"repository": {
"type": "https",
@@ -35,13 +34,13 @@
},
"dependencies": {
"debug": "4.3.4",
"@verdaccio/core": "workspace:6.0.0-6-next.52",
"@verdaccio/url": "workspace:11.0.0-6-next.18",
"@verdaccio/utils": "workspace:6.0.0-6-next.20",
"@verdaccio/core": "workspace:6.0.0-6-next.54",
"@verdaccio/url": "workspace:11.0.0-6-next.20",
"@verdaccio/utils": "workspace:6.0.0-6-next.22",
"lodash": "4.17.21"
},
"devDependencies": {
"@verdaccio/types": "workspace:11.0.0-6-next.17",
"@verdaccio/types": "workspace:11.0.0-6-next.19",
"node-mocks-http": "1.12.1"
},
"scripts": {

View File

@@ -1,5 +1,37 @@
# Change Log
## 11.0.0-6-next.19
### Minor Changes
- ef88da3b: feat: improve support for fs promises older nodejs
## 11.0.0-6-next.18
### Major Changes
- 99978797: feat(web): components for custom user interfaces
Provides a package that includes all components from the user interface, instead being embedded at the `@verdaccio/ui-theme` package.
```
npm i -D @verdaccio/ui-components
```
The package contains
- Components
- Providers
- Redux Storage
- Layouts (precomposed layouts ready to use)
- Custom Material Theme
The `@verdaccio/ui-theme` will consume this package and will use only those are need it.
> Prerequisites are using Redux, Material-UI and Translations with `i18next`.
Users could have their own Material UI theme and build custom layouts, adding new features without the need to modify the default project.
## 11.0.0-6-next.17
### Major Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/types",
"version": "11.0.0-6-next.17",
"version": "11.0.0-6-next.19",
"description": "verdaccio types definitions",
"keywords": [
"private",
@@ -17,8 +17,7 @@
"license": "MIT",
"homepage": "https://verdaccio.org",
"engines": {
"node": ">=14",
"npm": ">=6"
"node": ">=12"
},
"repository": {
"type": "https",
@@ -41,8 +40,8 @@
"build": "tsc --emitDeclarationOnly -p tsconfig.build.json"
},
"devDependencies": {
"@types/node": "16.18.3",
"typedoc": "0.23.21"
"@types/node": "16.18.10",
"typedoc": "0.23.23"
},
"typedoc": {
"entryPoint": "./src/types.ts",

View File

@@ -126,7 +126,7 @@ export type TemplateUIOptions = {
showDownloadTarball?: boolean;
showRaw?: boolean;
base: string;
primaryColor?: string;
primaryColor: string;
version?: string;
logoURI?: string;
flags: FlagsConfig;

View File

@@ -1,5 +1,22 @@
# Change Log
## 11.0.0-6-next.20
### Minor Changes
- ef88da3b: feat: improve support for fs promises older nodejs
### Patch Changes
- Updated dependencies [ef88da3b]
- @verdaccio/core@6.0.0-6-next.54
## 11.0.0-6-next.19
### Patch Changes
- @verdaccio/core@6.0.0-6-next.53
## 11.0.0-6-next.18
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/url",
"version": "11.0.0-6-next.18",
"version": "11.0.0-6-next.20",
"description": "url utilities resolver",
"keywords": [
"private",
@@ -19,8 +19,7 @@
"license": "MIT",
"homepage": "https://verdaccio.org",
"engines": {
"node": ">=14",
"npm": ">=6"
"node": ">=12"
},
"repository": {
"type": "https",
@@ -34,13 +33,13 @@
"access": "public"
},
"dependencies": {
"@verdaccio/core": "workspace:6.0.0-6-next.52",
"@verdaccio/core": "workspace:6.0.0-6-next.54",
"debug": "4.3.4",
"lodash": "4.17.21",
"validator": "13.7.0"
},
"devDependencies": {
"@verdaccio/types": "workspace:11.0.0-6-next.17",
"@verdaccio/types": "workspace:11.0.0-6-next.19",
"node-mocks-http": "1.12.1"
},
"scripts": {

View File

@@ -1,5 +1,24 @@
# @verdaccio/hooks
## 6.0.0-6-next.24
### Minor Changes
- ef88da3b: feat: improve support for fs promises older nodejs
### Patch Changes
- Updated dependencies [ef88da3b]
- @verdaccio/core@6.0.0-6-next.54
- @verdaccio/logger@6.0.0-6-next.22
## 6.0.0-6-next.23
### Patch Changes
- @verdaccio/core@6.0.0-6-next.53
- @verdaccio/logger@6.0.0-6-next.21
## 6.0.0-6-next.22
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/hooks",
"version": "6.0.0-6-next.22",
"version": "6.0.0-6-next.24",
"description": "loaders logic",
"main": "./build/index.js",
"types": "build/index.d.ts",
@@ -26,22 +26,21 @@
"verdaccio"
],
"engines": {
"node": ">=14",
"npm": ">=6"
"node": ">=16"
},
"dependencies": {
"@verdaccio/core": "workspace:6.0.0-6-next.52",
"@verdaccio/logger": "workspace:6.0.0-6-next.20",
"core-js": "3.26.1",
"@verdaccio/core": "workspace:6.0.0-6-next.54",
"@verdaccio/logger": "workspace:6.0.0-6-next.22",
"core-js": "3.27.0",
"debug": "4.3.4",
"handlebars": "4.7.7",
"undici": "4.16.0"
},
"devDependencies": {
"@types/node": "16.18.3",
"@verdaccio/auth": "workspace:6.0.0-6-next.31",
"@verdaccio/config": "workspace:6.0.0-6-next.52",
"@verdaccio/types": "workspace:11.0.0-6-next.17"
"@types/node": "16.18.10",
"@verdaccio/auth": "workspace:6.0.0-6-next.33",
"@verdaccio/config": "workspace:6.0.0-6-next.54",
"@verdaccio/types": "workspace:11.0.0-6-next.19"
},
"scripts": {
"clean": "rimraf ./build",

View File

@@ -1,5 +1,22 @@
# @verdaccio/loaders
## 6.0.0-6-next.23
### Minor Changes
- ef88da3b: feat: improve support for fs promises older nodejs
### Patch Changes
- Updated dependencies [ef88da3b]
- @verdaccio/logger@6.0.0-6-next.22
## 6.0.0-6-next.22
### Patch Changes
- @verdaccio/logger@6.0.0-6-next.21
## 6.0.0-6-next.21
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/loaders",
"version": "6.0.0-6-next.21",
"version": "6.0.0-6-next.23",
"description": "loaders logic",
"main": "./build/index.js",
"types": "build/index.d.ts",
@@ -13,14 +13,14 @@
"url": "https://github.com/verdaccio/verdaccio"
},
"dependencies": {
"@verdaccio/logger": "workspace:6.0.0-6-next.20",
"@verdaccio/logger": "workspace:6.0.0-6-next.22",
"debug": "4.3.4",
"lodash": "4.17.21"
},
"devDependencies": {
"@verdaccio/core": "workspace:6.0.0-6-next.52",
"@verdaccio/config": "workspace:6.0.0-6-next.52",
"@verdaccio/types": "workspace:11.0.0-6-next.17",
"@verdaccio/core": "workspace:6.0.0-6-next.54",
"@verdaccio/config": "workspace:6.0.0-6-next.54",
"@verdaccio/types": "workspace:11.0.0-6-next.19",
"@verdaccio-scope/verdaccio-auth-foo": "0.0.2",
"verdaccio-auth-memory": "workspace:*",
"customprefix-auth": "1.0.0-6-next.0"
@@ -38,8 +38,7 @@
"verdaccio"
],
"engines": {
"node": ">=14",
"npm": ">=6"
"node": ">=12"
},
"license": "MIT",
"scripts": {

View File

@@ -1,5 +1,5 @@
import buildDebug from 'debug';
import { lstat } from 'fs/promises';
import fs from 'fs';
import { dirname, isAbsolute, join, resolve } from 'path';
import { pluginUtils } from '@verdaccio/core';
@@ -10,6 +10,8 @@ import { PluginType, isES6, isValid, tryLoad } from './utils';
const debug = buildDebug('verdaccio:plugin:loader:async');
const { lstat } = fs.promises ? fs.promises : require('fs/promises');
async function isDirectory(pathFolder: string) {
const stat = await lstat(pathFolder);
return stat.isDirectory();

View File

@@ -1,5 +1,11 @@
# @verdaccio/logger-prettify
## 6.0.0-6-next.8
### Minor Changes
- ef88da3b: feat: improve support for fs promises older nodejs
## 6.0.0-6-next.7
### Major Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/logger-prettify",
"version": "6.0.0-6-next.7",
"version": "6.0.0-6-next.8",
"description": "logger",
"main": "./build/index.js",
"types": "build/index.d.ts",
@@ -26,8 +26,7 @@
"verdaccio"
],
"engines": {
"node": ">=14",
"npm": ">=6"
"node": ">=12"
},
"scripts": {
"clean": "rimraf ./build",
@@ -39,14 +38,14 @@
"build": "pnpm run build:js && pnpm run build:types"
},
"dependencies": {
"dayjs": "1.11.6",
"dayjs": "1.11.7",
"pino-abstract-transport": "1.0.0",
"colorette": "2.0.19",
"lodash": "4.17.21",
"sonic-boom": "3.2.0"
"sonic-boom": "3.2.1"
},
"devDependencies": {
"pino": "8.7.0"
"pino": "8.8.0"
},
"funding": {
"type": "opencollective",

View File

@@ -1,5 +1,23 @@
# @verdaccio/logger
## 6.0.0-6-next.22
### Minor Changes
- ef88da3b: feat: improve support for fs promises older nodejs
### Patch Changes
- Updated dependencies [ef88da3b]
- @verdaccio/core@6.0.0-6-next.54
- @verdaccio/logger-prettify@6.0.0-6-next.8
## 6.0.0-6-next.21
### Patch Changes
- @verdaccio/core@6.0.0-6-next.53
## 6.0.0-6-next.20
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/logger",
"version": "6.0.0-6-next.20",
"version": "6.0.0-6-next.22",
"description": "logger",
"main": "./build/index.js",
"types": "./build/index.d.ts",
@@ -26,8 +26,7 @@
"verdaccio"
],
"engines": {
"node": ">=14",
"npm": ">=6"
"node": ">=12"
},
"scripts": {
"clean": "rimraf ./build",
@@ -39,14 +38,14 @@
"build": "pnpm run build:js && pnpm run build:types"
},
"dependencies": {
"@verdaccio/core": "workspace:6.0.0-6-next.52",
"@verdaccio/logger-prettify": "workspace:6.0.0-6-next.7",
"@verdaccio/core": "workspace:6.0.0-6-next.54",
"@verdaccio/logger-prettify": "workspace:6.0.0-6-next.8",
"debug": "4.3.4",
"colorette": "2.0.19",
"pino": "8.7.0"
"pino": "8.8.0"
},
"devDependencies": {
"@verdaccio/types": "workspace:11.0.0-6-next.17"
"@verdaccio/types": "workspace:11.0.0-6-next.19"
},
"funding": {
"type": "opencollective",

View File

@@ -1,5 +1,24 @@
# @verdaccio/middleware
## 6.0.0-6-next.33
### Patch Changes
- Updated dependencies [ef88da3b]
- @verdaccio/core@6.0.0-6-next.54
- @verdaccio/logger@6.0.0-6-next.22
- @verdaccio/utils@6.0.0-6-next.22
- @verdaccio/auth@6.0.0-6-next.33
## 6.0.0-6-next.32
### Patch Changes
- @verdaccio/auth@6.0.0-6-next.32
- @verdaccio/core@6.0.0-6-next.53
- @verdaccio/logger@6.0.0-6-next.21
- @verdaccio/utils@6.0.0-6-next.21
## 6.0.0-6-next.31
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/middleware",
"version": "6.0.0-6-next.31",
"version": "6.0.0-6-next.33",
"description": "loaders logic",
"main": "./build/index.js",
"types": "build/index.d.ts",
@@ -40,10 +40,10 @@
"dependencies": {
"debug": "4.3.4",
"body-parser": "1.20.1",
"@verdaccio/auth": "workspace:6.0.0-6-next.31",
"@verdaccio/core": "workspace:6.0.0-6-next.52",
"@verdaccio/logger": "workspace:6.0.0-6-next.20",
"@verdaccio/utils": "workspace:6.0.0-6-next.20",
"@verdaccio/auth": "workspace:6.0.0-6-next.33",
"@verdaccio/core": "workspace:6.0.0-6-next.54",
"@verdaccio/logger": "workspace:6.0.0-6-next.22",
"@verdaccio/utils": "workspace:6.0.0-6-next.22",
"lodash": "4.17.21"
},
"funding": {

View File

@@ -1,5 +1,26 @@
# @verdaccio/node-api
## 6.0.0-6-next.54
### Patch Changes
- Updated dependencies [ef88da3b]
- @verdaccio/config@6.0.0-6-next.54
- @verdaccio/core@6.0.0-6-next.54
- @verdaccio/logger@6.0.0-6-next.22
- @verdaccio/server@6.0.0-6-next.43
- @verdaccio/server-fastify@6.0.0-6-next.35
## 6.0.0-6-next.53
### Patch Changes
- @verdaccio/core@6.0.0-6-next.53
- @verdaccio/logger@6.0.0-6-next.21
- @verdaccio/server-fastify@6.0.0-6-next.34
- @verdaccio/config@6.0.0-6-next.53
- @verdaccio/server@6.0.0-6-next.42
## 6.0.0-6-next.52
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/node-api",
"version": "6.0.0-6-next.52",
"version": "6.0.0-6-next.54",
"description": "node API",
"main": "build/index.js",
"types": "build/index.d.ts",
@@ -39,21 +39,21 @@
},
"license": "MIT",
"dependencies": {
"@verdaccio/core": "workspace:6.0.0-6-next.52",
"@verdaccio/config": "workspace:6.0.0-6-next.52",
"@verdaccio/logger": "workspace:6.0.0-6-next.20",
"@verdaccio/server": "workspace:6.0.0-6-next.41",
"@verdaccio/server-fastify": "workspace:6.0.0-6-next.33",
"core-js": "3.26.1",
"@verdaccio/core": "workspace:6.0.0-6-next.54",
"@verdaccio/config": "workspace:6.0.0-6-next.54",
"@verdaccio/logger": "workspace:6.0.0-6-next.22",
"@verdaccio/server": "workspace:6.0.0-6-next.43",
"@verdaccio/server-fastify": "workspace:6.0.0-6-next.35",
"core-js": "3.27.0",
"debug": "4.3.4",
"lodash": "4.17.21"
},
"devDependencies": {
"@types/node": "16.18.3",
"@verdaccio/types": "workspace:11.0.0-6-next.17",
"@types/node": "16.18.10",
"@verdaccio/types": "workspace:11.0.0-6-next.19",
"jest-mock-process": "1.5.1",
"selfsigned": "1.10.14",
"supertest": "6.3.1"
"supertest": "6.3.3"
},
"publishConfig": {
"access": "public"

View File

@@ -1,5 +1,22 @@
# Change Log
## 11.0.0-6-next.17
### Patch Changes
- Updated dependencies [ef88da3b]
- @verdaccio/config@6.0.0-6-next.54
- @verdaccio/core@6.0.0-6-next.54
- @verdaccio/logger@6.0.0-6-next.22
## 11.0.0-6-next.16
### Patch Changes
- @verdaccio/core@6.0.0-6-next.53
- @verdaccio/logger@6.0.0-6-next.21
- @verdaccio/config@6.0.0-6-next.53
## 11.0.0-6-next.15
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "verdaccio-audit",
"version": "11.0.0-6-next.15",
"version": "11.0.0-6-next.17",
"description": "Verdaccio Middleware plugin to bypass npmjs audit",
"keywords": [
"private",
@@ -31,19 +31,19 @@
"npm": ">=6"
},
"dependencies": {
"@verdaccio/core": "workspace:6.0.0-6-next.52",
"@verdaccio/config": "workspace:6.0.0-6-next.52",
"@verdaccio/logger": "workspace:6.0.0-6-next.20",
"@verdaccio/core": "workspace:6.0.0-6-next.54",
"@verdaccio/config": "workspace:6.0.0-6-next.54",
"@verdaccio/logger": "workspace:6.0.0-6-next.22",
"express": "4.18.2",
"body-parser": "1.20.1",
"https-proxy-agent": "5.0.1",
"node-fetch": "cjs"
},
"devDependencies": {
"@verdaccio/types": "workspace:11.0.0-6-next.17",
"@verdaccio/auth": "workspace:6.0.0-6-next.31",
"@verdaccio/types": "workspace:11.0.0-6-next.19",
"@verdaccio/auth": "workspace:6.0.0-6-next.33",
"nock": "13.2.9",
"supertest": "6.3.1"
"supertest": "6.3.3"
},
"scripts": {
"clean": "rimraf ./build",

View File

@@ -1,5 +1,18 @@
# Change Log
## 11.0.0-6-next.19
### Patch Changes
- Updated dependencies [ef88da3b]
- @verdaccio/core@6.0.0-6-next.54
## 11.0.0-6-next.18
### Patch Changes
- @verdaccio/core@6.0.0-6-next.53
## 11.0.0-6-next.17
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "verdaccio-auth-memory",
"version": "11.0.0-6-next.17",
"version": "11.0.0-6-next.19",
"description": "Auth plugin for Verdaccio that keeps users in memory",
"keywords": [
"private",
@@ -32,11 +32,11 @@
},
"dependencies": {
"debug": "4.3.4",
"@verdaccio/core": "workspace:6.0.0-6-next.52"
"@verdaccio/core": "workspace:6.0.0-6-next.54"
},
"devDependencies": {
"@verdaccio/config": "workspace:6.0.0-6-next.52",
"@verdaccio/types": "workspace:11.0.0-6-next.17"
"@verdaccio/config": "workspace:6.0.0-6-next.54",
"@verdaccio/types": "workspace:11.0.0-6-next.19"
},
"scripts": {
"clean": "rimraf ./build",

View File

@@ -1,5 +1,20 @@
# Change Log
## 11.0.0-6-next.24
### Patch Changes
- Updated dependencies [ef88da3b]
- @verdaccio/core@6.0.0-6-next.54
- @verdaccio/file-locking@11.0.0-6-next.7
## 11.0.0-6-next.23
### Patch Changes
- @verdaccio/core@6.0.0-6-next.53
- @verdaccio/file-locking@11.0.0-6-next.6
## 11.0.0-6-next.22
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "verdaccio-htpasswd",
"version": "11.0.0-6-next.22",
"version": "11.0.0-6-next.24",
"description": "htpasswd auth plugin for Verdaccio",
"keywords": [
"private",
@@ -34,20 +34,20 @@
"npm": ">=6"
},
"dependencies": {
"@verdaccio/core": "workspace:6.0.0-6-next.52",
"@verdaccio/file-locking": "workspace:11.0.0-6-next.6",
"@verdaccio/core": "workspace:6.0.0-6-next.54",
"@verdaccio/file-locking": "workspace:11.0.0-6-next.7",
"apache-md5": "1.1.8",
"bcryptjs": "2.4.3",
"core-js": "3.26.1",
"core-js": "3.27.0",
"http-errors": "1.8.1",
"debug": "4.3.4",
"unix-crypt-td-js": "1.1.4"
},
"devDependencies": {
"@types/bcryptjs": "2.4.2",
"@verdaccio/types": "workspace:11.0.0-6-next.17",
"@verdaccio/config": "workspace:6.0.0-6-next.52",
"@verdaccio/logger": "workspace:6.0.0-6-next.20",
"@verdaccio/types": "workspace:11.0.0-6-next.19",
"@verdaccio/config": "workspace:6.0.0-6-next.54",
"@verdaccio/logger": "workspace:6.0.0-6-next.22",
"mockdate": "3.0.5"
},
"scripts": {

View File

@@ -1,5 +1,26 @@
# Change Log
## 11.0.0-6-next.24
### Minor Changes
- ef88da3b: feat: improve support for fs promises older nodejs
### Patch Changes
- Updated dependencies [ef88da3b]
- @verdaccio/core@6.0.0-6-next.54
- @verdaccio/file-locking@11.0.0-6-next.7
- @verdaccio/utils@6.0.0-6-next.22
## 11.0.0-6-next.23
### Patch Changes
- @verdaccio/core@6.0.0-6-next.53
- @verdaccio/file-locking@11.0.0-6-next.6
- @verdaccio/utils@6.0.0-6-next.21
## 11.0.0-6-next.22
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/local-storage",
"version": "11.0.0-6-next.22",
"version": "11.0.0-6-next.24",
"description": "Local storage implementation",
"keywords": [
"private",
@@ -37,10 +37,10 @@
"npm": ">=7"
},
"dependencies": {
"@verdaccio/core": "workspace:6.0.0-6-next.52",
"@verdaccio/file-locking": "workspace:11.0.0-6-next.6",
"@verdaccio/utils": "workspace:6.0.0-6-next.20",
"core-js": "3.26.1",
"@verdaccio/core": "workspace:6.0.0-6-next.54",
"@verdaccio/file-locking": "workspace:11.0.0-6-next.7",
"@verdaccio/utils": "workspace:6.0.0-6-next.22",
"core-js": "3.27.0",
"debug": "4.3.4",
"globby": "11.1.0",
"lockfile": "1.0.4",
@@ -51,9 +51,9 @@
},
"devDependencies": {
"@types/minimatch": "3.0.5",
"@verdaccio/types": "workspace:11.0.0-6-next.17",
"@verdaccio/config": "workspace:6.0.0-6-next.52",
"@verdaccio/logger": "workspace:6.0.0-6-next.20",
"@verdaccio/types": "workspace:11.0.0-6-next.19",
"@verdaccio/config": "workspace:6.0.0-6-next.54",
"@verdaccio/logger": "workspace:6.0.0-6-next.22",
"@verdaccio/test-helper": "workspace:2.0.0-6-next.6",
"minimatch": "3.1.2"
},

View File

@@ -1,16 +1,18 @@
import fsCallback from 'fs';
import fs from 'fs/promises';
import fs from 'fs';
const readFile = fs.readFile;
const mkdirPromise = fs.mkdir;
const accessPromise = fs.access;
const writeFilePromise = fs.writeFile;
const readdirPromise = fs.readdir;
const statPromise = fs.stat;
const unlinkPromise = fs.unlink;
const rmdirPromise = fs.rmdir;
const renamePromise = fs.rename;
const openPromise = fs.open;
const fsP = fs.promises ? fs.promises : require('fs/promises');
const readFile = fsP.readFile;
const mkdirPromise = fsP.mkdir;
const accessPromise = fsP.access;
const writeFilePromise = fsP.writeFile;
const readdirPromise = fsP.readdir;
const statPromise = fsP.stat;
const unlinkPromise = fsP.unlink;
const rmdirPromise = fsP.rmdir;
const renamePromise = fsP.rename;
const openPromise = fsP.open;
const readFilePromise = async (path) => {
return await readFile(path, 'utf8');

View File

@@ -1,5 +1,18 @@
# Change Log
## 11.0.0-6-next.21
### Patch Changes
- Updated dependencies [ef88da3b]
- @verdaccio/core@6.0.0-6-next.54
## 11.0.0-6-next.20
### Patch Changes
- @verdaccio/core@6.0.0-6-next.53
## 11.0.0-6-next.19
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "verdaccio-memory",
"version": "11.0.0-6-next.19",
"version": "11.0.0-6-next.21",
"description": "Storage implementation in memory",
"keywords": [
"private",
@@ -31,15 +31,15 @@
"npm": ">=6"
},
"dependencies": {
"@verdaccio/core": "workspace:6.0.0-6-next.52",
"@verdaccio/core": "workspace:6.0.0-6-next.54",
"memory-fs": "0.5.0",
"debug": "4.3.4",
"memfs": "3.4.12"
},
"devDependencies": {
"@verdaccio/types": "workspace:11.0.0-6-next.17",
"@verdaccio/config": "workspace:6.0.0-6-next.52",
"@verdaccio/logger": "workspace:6.0.0-6-next.20"
"@verdaccio/types": "workspace:11.0.0-6-next.19",
"@verdaccio/config": "workspace:6.0.0-6-next.54",
"@verdaccio/logger": "workspace:6.0.0-6-next.22"
},
"scripts": {
"clean": "rimraf ./build",

View File

@@ -1,5 +1,33 @@
# @verdaccio/ui-theme
## 6.0.0-6-next.54
## 6.0.0-6-next.53
### Major Changes
- 99978797: feat(web): components for custom user interfaces
Provides a package that includes all components from the user interface, instead being embedded at the `@verdaccio/ui-theme` package.
```
npm i -D @verdaccio/ui-components
```
The package contains
- Components
- Providers
- Redux Storage
- Layouts (precomposed layouts ready to use)
- Custom Material Theme
The `@verdaccio/ui-theme` will consume this package and will use only those are need it.
> Prerequisites are using Redux, Material-UI and Translations with `i18next`.
Users could have their own Material UI theme and build custom layouts, adding new features without the need to modify the default project.
## 6.0.0-6-next.52
### Patch Changes

View File

@@ -35,8 +35,6 @@ module.exports = Object.assign({}, config, {
// note: this section has to be on sync with webpack configuration
'verdaccio-ui/components/(.*)': '<rootDir>/src/components/$1',
'verdaccio-ui/utils/(.*)': '<rootDir>/src/utils/$1',
'verdaccio-ui/providers/(.*)': '<rootDir>/src/providers/$1',
'verdaccio-ui/design-tokens/(.*)': '<rootDir>/src/design-tokens/$1',
'react-markdown': '<rootDir>/src/__mocks__/react-markdown.tsx',
'remark-*': '<rootDir>/src/__mocks__/remark-plugin.ts',
},

View File

@@ -1,47 +0,0 @@
/**
* API Mocks for WebUI
*/
import login from '../store/login';
import logo from '../store/logo';
import { packageInformation } from '../store/package';
import { packageMeta } from '../store/packageMeta';
/**
* Register mock api endpoints
* @param {string} endpoint
* @returns {Promise}
*/
const register = (url, method = 'get', options = {}) => {
if (url === 'login' && method.toLocaleLowerCase() === 'post') {
return login(options);
}
if (url === 'logo' && method.toLocaleLowerCase() === 'get') {
return logo();
}
if (url === 'sidebar/verdaccio' && method.toLocaleLowerCase() === 'get') {
return new Promise(function (resolve) {
resolve(packageMeta);
});
}
if (url === 'packages' && method.toLocaleLowerCase() === 'get') {
return new Promise(function (resolve) {
resolve(packageInformation);
});
}
throw Error(`URL not found: ${url}`);
};
/**
* Bind API methods
*/
class API {
public request(...rest) {
return register.call(null, ...rest);
}
}
export default new API();

View File

@@ -1,30 +0,0 @@
/**
* Token Utility
*/
import dayjs from 'dayjs';
import { Base64 } from 'js-base64';
export function generateTokenWithTimeRange(amount = 0) {
const payload = {
username: 'verdaccio',
exp: Number.parseInt(String(dayjs(new Date()).add(amount, 'hour').valueOf() / 1000), 10),
};
return `xxxxxx.${Base64.encode(JSON.stringify(payload))}.xxxxxx`;
}
export function generateTokenWithExpirationAsString() {
const payload = { username: 'verdaccio', exp: 'I am not a number' };
return `xxxxxx.${Base64.encode(JSON.stringify(payload))}.xxxxxx`;
}
export function generateInvalidToken() {
const payload = `invalidtoken`;
return `xxxxxx.${Base64.encode(payload)}.xxxxxx`;
}
export function generateTokenWithOutExpiration() {
const payload = {
username: 'verdaccio',
};
return `xxxxxx.${Base64.encode(JSON.stringify(payload))}.xxxxxx`;
}

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/ui-theme",
"version": "6.0.0-6-next.52",
"version": "6.0.0-6-next.54",
"description": "Verdaccio User Interface",
"author": {
"name": "Verdaccio Contributors",
@@ -12,38 +12,30 @@
},
"homepage": "https://verdaccio.org",
"main": "index.js",
"peerDependencies": {
"devDependencies": {
"@emotion/react": "11.10.5",
"@emotion/styled": "11.10.5",
"@mui/material": "5.11.1",
"react": "18.2.0",
"react-dom": "18.2.0",
"@mui/icons-material": "5.11.0",
"@mui/styles": "5.11.1"
},
"devDependencies": {
"@mui/styles": "5.11.1",
"@mui/material": "5.11.1",
"@emotion/babel-plugin": "11.10.5",
"@emotion/css": "11.10.5",
"@emotion/jest": "11.10.5",
"@rematch/core": "2.2.0",
"@rematch/loading": "2.1.2",
"@rematch/persist": "2.1.2",
"@testing-library/dom": "8.19.0",
"@testing-library/dom": "8.19.1",
"@testing-library/jest-dom": "5.16.5",
"@testing-library/react": "13.4.0",
"@types/react": "18.0.25",
"@types/react-dom": "18.0.9",
"@types/react-router-dom": "5.3.3",
"@types/react-virtualized": "9.21.21",
"@types/redux": "3.6.0",
"@verdaccio/node-api": "workspace:6.0.0-6-next.52",
"@verdaccio/ui-components": "workspace:1.0.0",
"@verdaccio/node-api": "workspace:6.0.0-6-next.54",
"@verdaccio/ui-components": "workspace:2.0.0-6-next.2",
"@verdaccio/types": "workspace:*",
"normalize.css": "8.0.1",
"babel-loader": "8.3.0",
"babel-plugin-dynamic-import-node": "2.3.3",
"country-flag-icons": "1.5.5",
"css-loader": "6.7.2",
"dayjs": "1.11.6",
"css-loader": "6.7.3",
"dayjs": "1.11.7",
"friendly-errors-webpack-plugin": "1.7.0",
"harmony-reflect": "1.6.2",
"history": "4.10.1",
@@ -54,25 +46,24 @@
"js-yaml": "3.14.1",
"localstorage-memory": "1.0.3",
"lodash": "4.17.21",
"mini-css-extract-plugin": "2.7.0",
"msw": "0.49.0",
"mini-css-extract-plugin": "2.7.2",
"msw": "0.49.2",
"mutationobserver-shim": "0.3.7",
"node-mocks-http": "1.12.1",
"normalize.css": "8.0.1",
"optimize-css-assets-webpack-plugin": "6.0.1",
"ora": "5.4.1",
"dompurify": "2.4.1",
"highlight.js": "11.6.0",
"highlight.js": "11.7.0",
"github-markdown-css": "4.0.0",
"marked": "4.2.3",
"marked": "4.2.5",
"raw-loader": "4.0.2",
"react": "18.2.0",
"react-dom": "18.2.0",
"react-hook-form": "7.39.5",
"react-hook-form": "7.41.1",
"react-hot-loader": "4.13.1",
"react-i18next": "12.0.0",
"react-i18next": "12.1.1",
"react-json-view": "1.21.3",
"react-markdown": "8.0.3",
"react-markdown": "8.0.4",
"react-redux": "7.2.9",
"react-router": "5.3.4",
"react-router-dom": "5.3.4",
@@ -82,12 +73,12 @@
"remark-gfm": "3.0.1",
"rimraf": "3.0.2",
"style-loader": "3.3.1",
"stylelint": "14.14.0",
"stylelint": "14.16.0",
"stylelint-config-recommended": "7.0.0",
"stylelint-config-styled-components": "0.1.1",
"stylelint-processor-styled-components": "1.10.0",
"stylelint-webpack-plugin": "3.3.0",
"supertest": "6.3.1",
"supertest": "6.3.3",
"terser-webpack-plugin": "5.3.6",
"url-loader": "4.1.1",
"validator": "13.7.0",

View File

@@ -1,30 +1,9 @@
import React from 'react';
import { renderWithStore, screen } from 'verdaccio-ui/utils/test-react-testing-library';
import { store } from '../store';
import App from './App';
import { store } from '@verdaccio/ui-components';
jest.mock('verdaccio-ui/utils/storage', () => {
class LocalStorageMock {
private store: Record<string, string>;
public constructor() {
this.store = {};
}
public clear(): void {
this.store = {};
}
public getItem(key: string): unknown {
return this.store[key] || null;
}
public setItem(key: string, value: string): void {
this.store[key] = value.toString();
}
public removeItem(key: string): void {
delete this.store[key];
}
}
return new LocalStorageMock();
});
import App from './App';
// force the windows to expand to display items
// https://github.com/bvaughn/react-virtualized/issues/493#issuecomment-640084107
@@ -40,6 +19,7 @@ describe('<App />', () => {
});
test('should not display the Header component', () => {
// @ts-ignore
window.__VERDACCIO_BASENAME_UI_OPTIONS = {
showFooter: false,
};

View File

@@ -1,18 +1,33 @@
/* eslint-disable react/jsx-pascal-case */
/* eslint-disable react/jsx-max-depth */
import styled from '@emotion/styled';
import Box from '@mui/material/Box';
import FlagsIcon from 'country-flag-icons/react/3x2';
import React, { StrictMode, Suspense, useEffect } from 'react';
import { useTranslation } from 'react-i18next';
import ReactMarkdown from 'react-markdown';
import { Router } from 'react-router-dom';
import Loading from 'verdaccio-ui/components/Loading';
import StyleBaseline from 'verdaccio-ui/design-tokens/StyleBaseline';
import loadDayJSLocale from 'verdaccio-ui/design-tokens/load-dayjs-locale';
import { Theme } from 'verdaccio-ui/design-tokens/theme';
import { useConfig } from 'verdaccio-ui/providers/config';
import remarkGfm from 'remark-gfm';
import '../i18n/config';
import {
Footer,
Header,
HeaderInfoDialog,
Loading,
Theme,
TranslatorProvider,
useConfig,
} from '@verdaccio/ui-components';
import Contributors from '../components/Contributors';
import Support from '../components/Support';
import about from '../components/about.md';
import license from '../components/license.md';
import i18n from '../i18n/config';
import { listLanguages } from '../i18n/enabledLanguages';
import loadDayJSLocale from '../i18n/load-dayjs-locale';
import AppRoute, { history } from './AppRoute';
import Footer from './Footer';
import Header from './Header';
const StyledBox = styled(Box)<{ theme?: Theme }>(({ theme }) => ({
backgroundColor: theme?.palette.background.default,
@@ -27,6 +42,45 @@ const StyledBoxContent = styled(Box)<{ theme?: Theme }>(({ theme }) => ({
},
}));
const Flags = styled('span')<{ theme?: Theme }>(() => ({
width: '25px',
}));
function CustomInfoDialog({ onCloseDialog, title, isOpen }) {
const { t } = useTranslation();
return (
<HeaderInfoDialog
dialogTitle={title}
isOpen={isOpen}
onCloseDialog={onCloseDialog}
tabPanels={[
{
element: (
<>
<ReactMarkdown remarkPlugins={[remarkGfm]}>{about}</ReactMarkdown>
<Contributors />
</>
),
},
{ element: <ReactMarkdown remarkPlugins={[remarkGfm]}>{license}</ReactMarkdown> },
{ element: <Support /> },
]}
tabs={[
{ label: t('about') },
{ label: t('dialog.license') },
{
label: '',
icon: (
<Flags>
<FlagsIcon.UA />
</Flags>
),
},
]}
/>
);
}
const App: React.FC = () => {
const { configOptions } = useConfig();
@@ -35,20 +89,19 @@ const App: React.FC = () => {
}, []);
return (
<StrictMode>
<Suspense fallback={<Loading />}>
<StyleBaseline />
<StyledBox display="flex" flexDirection="column" height="100%">
<>
<TranslatorProvider i18n={i18n} listLanguages={listLanguages} onMount={loadDayJSLocale}>
<Suspense fallback={<Loading />}>
<StyledBox display="flex" flexDirection="column" height="100%">
<Router history={history}>
<Header />
<Header HeaderInfoDialog={CustomInfoDialog} />
<StyledBoxContent flexGrow={1}>
<AppRoute />
</StyledBoxContent>
</Router>
{configOptions.showFooter && <Footer />}
</>
</StyledBox>
</Suspense>
</StyledBox>
</Suspense>
</TranslatorProvider>
</StrictMode>
);
};

View File

@@ -2,26 +2,13 @@ import { createBrowserHistory } from 'history';
import React from 'react';
import { Route as ReactRouterDomRoute, Router, Switch } from 'react-router-dom';
import loadable from './utils/loadable';
import { NotFound, Route, VersionProvider, loadable } from '@verdaccio/ui-components';
const NotFound = loadable(
() => import(/* webpackChunkName: "NotFound" */ 'verdaccio-ui/components/NotFound')
);
const VersionContextProvider = loadable(
() => import(/* webpackChunkName: "Provider" */ '../pages/Version/VersionContextProvider')
);
const VersionPage = loadable(() => import(/* webpackChunkName: "Version" */ '../pages/Version'));
const HomePage = loadable(() => import(/* webpackChunkName: "Home" */ '../pages/home'));
enum Route {
ROOT = '/',
SCOPE_PACKAGE = '/-/web/detail/@:scope/:package',
SCOPE_PACKAGE_VERSION = '/-/web/detail/@:scope/:package/v/:version',
PACKAGE = '/-/web/detail/:package',
PACKAGE_VERSION = '/-/web/detail/:package/v/:version',
}
const Front = loadable(() => import(/* webpackChunkName: "Home" */ '../pages/Front'));
export const history = createBrowserHistory({
// @ts-ignore
basename: window?.__VERDACCIO_BASENAME_UI_OPTIONS?.url_prefix,
});
@@ -30,27 +17,27 @@ const AppRoute: React.FC = () => {
<Router history={history}>
<Switch>
<ReactRouterDomRoute exact={true} path={Route.ROOT}>
<HomePage />
<Front />
</ReactRouterDomRoute>
<ReactRouterDomRoute exact={true} path={Route.PACKAGE}>
<VersionContextProvider>
<VersionProvider>
<VersionPage />
</VersionContextProvider>
</VersionProvider>
</ReactRouterDomRoute>
<ReactRouterDomRoute exact={true} path={Route.PACKAGE_VERSION}>
<VersionContextProvider>
<VersionProvider>
<VersionPage />
</VersionContextProvider>
</VersionProvider>
</ReactRouterDomRoute>
<ReactRouterDomRoute exact={true} path={Route.SCOPE_PACKAGE_VERSION}>
<VersionContextProvider>
<VersionProvider>
<VersionPage />
</VersionContextProvider>
</VersionProvider>
</ReactRouterDomRoute>
<ReactRouterDomRoute exact={true} path={Route.SCOPE_PACKAGE}>
<VersionContextProvider>
<VersionProvider>
<VersionPage />
</VersionContextProvider>
</VersionProvider>
</ReactRouterDomRoute>
<ReactRouterDomRoute>
<NotFound />

View File

@@ -1,96 +0,0 @@
/* eslint-disable react/jsx-pascal-case */
/* eslint-disable verdaccio/jsx-spread */
import styled from '@emotion/styled';
import { Theme } from '@mui/material';
import Box from '@mui/material/Box';
import Tab from '@mui/material/Tab';
import Tabs from '@mui/material/Tabs';
import FlagsIcon from 'country-flag-icons/react/3x2';
import React from 'react';
import { useTranslation } from 'react-i18next';
import ReactMarkdown from 'react-markdown';
import remarkGfm from 'remark-gfm';
import Contributors from './Contributors';
import RegistryInfoDialog from './RegistryInfoDialog';
import { Support } from './Support';
import about from './about.md';
import license from './license.md';
interface Props {
isOpen: boolean;
onCloseDialog: () => void;
}
function a11yProps(index) {
return {
id: `simple-tab-${index}`,
'aria-controls': `simple-tabpanel-${index}`,
};
}
function TabPanel(props) {
const { children, value, index, ...other } = props;
return (
<div
aria-labelledby={`simple-tab-${index}`}
hidden={value !== index}
id={`simple-tabpanel-${index}`}
role="tabpanel"
{...other}
>
{value === index && <Box sx={{ paddingTop: 3 }}>{children}</Box>}
</div>
);
}
const Flags = styled('span')<{ theme?: Theme }>(() => ({
width: '25px',
}));
const HeaderInfoDialog: React.FC<Props> = ({ onCloseDialog, isOpen }) => {
const [value, setValue] = React.useState(0);
const handleChange = (_event, newValue) => {
setValue(newValue);
};
const { t } = useTranslation();
return (
<RegistryInfoDialog
onClose={onCloseDialog}
open={isOpen}
title={t('dialog.registry-info.title')}
>
<Box sx={{ width: '100%' }}>
<Box sx={{ borderBottom: 1, borderColor: 'divider' }}>
<Tabs aria-label="basic tabs example" onChange={handleChange} value={value}>
<Tab label={t('about')} {...a11yProps(0)} />
<Tab label={t('dialog.license')} {...a11yProps(1)} />
<Tab
{...a11yProps(2)}
icon={
<Flags>
<FlagsIcon.UA />
</Flags>
}
/>
</Tabs>
</Box>
<TabPanel index={0} value={value}>
<ReactMarkdown remarkPlugins={[remarkGfm]}>{about}</ReactMarkdown>
<Contributors />
</TabPanel>
<TabPanel index={1} value={value}>
<ReactMarkdown remarkPlugins={[remarkGfm]}>{license}</ReactMarkdown>
</TabPanel>
<TabPanel index={2} value={value}>
<Support />
</TabPanel>
</Box>
</RegistryInfoDialog>
);
};
export default HeaderInfoDialog;

View File

@@ -1,3 +0,0 @@
import { Support } from './Support';
export { Support };

View File

@@ -1,125 +0,0 @@
import React from 'react';
import {
cleanup,
fireEvent,
renderWithStore,
screen,
} from 'verdaccio-ui/utils/test-react-testing-library';
import { DetailContext, DetailContextProps } from '../../pages/Version';
import { store } from '../../store/store';
import ActionBar, { Props } from './ActionBar';
const detailContextValue: DetailContextProps = {
packageName: 'foo',
readMe: 'test',
enableLoading: () => {},
isLoading: false,
hasNotBeenFound: false,
packageMeta: {
_uplinks: {},
latest: {
name: 'verdaccio-ui/local-storage',
version: '8.0.1-next.1',
dist: {
fileCount: 0,
unpackedSize: 0,
tarball: 'http://localhost:8080/bootstrap/-/bootstrap-4.3.1.tgz',
},
homepage: 'https://verdaccio.org',
bugs: {
url: 'https://github.com/verdaccio/monorepo/issues',
},
},
},
};
const ComponentToBeRendered: React.FC<{ contextValue: DetailContextProps; props?: Props }> = ({
contextValue,
props,
}) => (
<DetailContext.Provider value={contextValue}>
<ActionBar {...props} />
</DetailContext.Provider>
);
describe('<ActionBar /> component', () => {
afterEach(() => {
cleanup();
});
test('should render the component in default state', () => {
const { container } = renderWithStore(
<ComponentToBeRendered contextValue={detailContextValue} />,
store
);
expect(container.firstChild).toMatchSnapshot();
});
test('when there is no action bar data', () => {
const packageMeta = {
...detailContextValue.packageMeta,
latest: {
...detailContextValue.packageMeta.latest,
homepage: undefined,
bugs: undefined,
dist: {
...detailContextValue.packageMeta.latest.dist,
tarball: undefined,
},
},
};
const { container } = renderWithStore(
<ComponentToBeRendered contextValue={{ ...detailContextValue, packageMeta }} />,
store
);
expect(container.firstChild).toMatchSnapshot();
});
test('when there is a button to download a tarball', () => {
renderWithStore(<ComponentToBeRendered contextValue={{ ...detailContextValue }} />, store);
expect(screen.getByLabelText('Download tarball')).toBeTruthy();
});
test('when there is a button to raw manifest', () => {
renderWithStore(
<ComponentToBeRendered contextValue={{ ...detailContextValue }} props={{ showRaw: true }} />,
store
);
expect(screen.getByLabelText('Raw Manifest')).toBeTruthy();
});
test('when click button to raw manifest open a dialog with viewver', () => {
renderWithStore(
<ComponentToBeRendered contextValue={{ ...detailContextValue }} props={{ showRaw: true }} />,
store
);
fireEvent.click(screen.getByLabelText('Raw Manifest'));
expect(screen.getByTestId('raw-viewver-dialog')).toBeInTheDocument();
});
test('should not display download tarball button', () => {
renderWithStore(
<ComponentToBeRendered
contextValue={{ ...detailContextValue }}
props={{ showDownloadTarball: false }}
/>,
store
);
expect(screen.queryByLabelText('Download tarball')).toBeFalsy();
});
test('should not display show raw button', () => {
renderWithStore(
<ComponentToBeRendered contextValue={{ ...detailContextValue }} props={{ showRaw: false }} />,
store
);
expect(screen.queryByLabelText('Raw Manifest')).toBeFalsy();
});
test('when there is a button to open an issue', () => {
renderWithStore(<ComponentToBeRendered contextValue={{ ...detailContextValue }} />, store);
expect(screen.getByLabelText('Open an issue')).toBeTruthy();
});
});

View File

@@ -1,3 +0,0 @@
import { default as MaterialUIAppBar } from '@mui/material/AppBar';
export default MaterialUIAppBar;

View File

@@ -699,6 +699,10 @@
"username": "dafanasiev",
"id": 5094703
},
{
"username": "ericmutta",
"id": 20465797
},
{
"username": "einfallstoll",
"id": 619048
@@ -759,6 +763,10 @@
"username": "jeremymoritz",
"id": 2779583
},
{
"username": "johanneslosch",
"id": 15651065
},
{
"username": "johannespfeiffer",
"id": 6780316

View File

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

View File

@@ -1,16 +0,0 @@
import React from 'react';
import { useTranslation } from 'react-i18next';
import { CopyClipboard as CopyClipboardOriginal } from '@verdaccio/ui-components';
interface Props {
text: string;
children?: React.ReactNode;
}
function CopyToClipBoard(props: Props) {
const { t } = useTranslation();
return <CopyClipboardOriginal title={t('copy-to-clipboard')} dataTestId="copy-icon" {...props} />;
}
export default CopyToClipBoard;

View File

@@ -1,3 +0,0 @@
import { default as MaterialUIFormHelperText } from '@mui/material/FormHelperText';
export default MaterialUIFormHelperText;

View File

@@ -1,3 +0,0 @@
import { default as MaterialUIInput } from '@mui/material/Input';
export default MaterialUIInput;

View File

@@ -1,40 +0,0 @@
import React, { MouseEvent } from 'react';
import { Link as RouterLink } from 'react-router-dom';
import Text, { TextProps } from './Text';
interface Props extends Pick<TextProps, 'variant'> {
external?: boolean;
className?: string;
to: string;
children?: React.ReactNode;
onClick?: (event: MouseEvent<HTMLAnchorElement>) => void;
}
type LinkRef = HTMLAnchorElement;
/* eslint-disable verdaccio/jsx-spread */
const Link = React.forwardRef<LinkRef, Props>(function Link(
{ external, to, children, variant, className, ...props },
ref
) {
const LinkTextContent = <Text variant={variant}>{children}</Text>;
return external ? (
<a
className={className}
href={to}
ref={ref}
rel="noopener noreferrer"
target="_blank"
{...props}
>
{LinkTextContent}
</a>
) : (
<RouterLink className={className} innerRef={ref} to={to} {...props}>
{LinkTextContent}
</RouterLink>
);
});
export default Link;

View File

@@ -1,39 +0,0 @@
import styled from '@emotion/styled';
import List from '@mui/material/List';
import { PRIMARY_COLOR } from 'verdaccio-ui/utils/colors';
import { default as MuiCard } from '../Card';
import { default as Typography } from '../Heading';
export const Wrapper = styled('div')({
display: 'flex',
alignItems: 'center',
flexDirection: 'column',
justifyContent: 'center',
flex: 1,
padding: '16px',
});
export const Inner = styled('div')({
maxWidth: '650px',
display: 'flex',
flexDirection: 'column',
});
export const EmptyPackage = styled('img')({
width: '150px',
margin: '0 auto',
});
export const Heading = styled(Typography)({
color: PRIMARY_COLOR,
});
export const StyledList = styled(List)({
padding: 0,
color: PRIMARY_COLOR,
});
export const Card = styled(MuiCard)({
marginTop: '24px',
});

View File

@@ -1,3 +0,0 @@
import { default as MaterialUIPaper } from '@mui/material/Paper';
export default MaterialUIPaper;

View File

@@ -78,4 +78,4 @@ const Support = () => {
);
};
export { Support };
export default Support;

View File

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

View File

@@ -1,6 +0,0 @@
import styled from '@emotion/styled';
import Chip from '@mui/material/Chip';
export const Tag = styled(Chip)({
margin: '5px',
});

View File

@@ -1,3 +0,0 @@
import { default as MaterialUITypography } from '@mui/material/Typography';
export default MaterialUITypography;

View File

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

View File

@@ -1,3 +0,0 @@
import { default as MaterialUIToolbar } from '@mui/material/Toolbar';
export default MaterialUIToolbar;

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