mirror of
https://github.com/verdaccio/verdaccio.git
synced 2024-11-13 03:35:52 +01:00
b970102bfc
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
231 lines
6.3 KiB
Markdown
231 lines
6.3 KiB
Markdown
# @verdaccio/ui-theme
|
|
|
|
## 6.0.0-6-next.12
|
|
|
|
### Major Changes
|
|
|
|
- 794af76c: Remove Node 12 support
|
|
|
|
- We need move to the new `undici` and does not support Node.js 12
|
|
|
|
### Minor Changes
|
|
|
|
- 154b2ecd: refactor: remove @verdaccio/commons-api in favor @verdaccio/core and remove duplications
|
|
|
|
## 6.0.0-6-next.11
|
|
|
|
### Minor Changes
|
|
|
|
- 5fed1955: feat: integrate rematch for ui state storage
|
|
|
|
## 6.0.0-6-next.10
|
|
|
|
### Major Changes
|
|
|
|
- 459b6fa7: refactor: search v1 endpoint and local-database
|
|
|
|
- refactor search `api v1` endpoint, improve performance
|
|
- remove usage of `async` dependency https://github.com/verdaccio/verdaccio/issues/1225
|
|
- refactor method storage class
|
|
- create new module `core` to reduce the ammount of modules with utilities
|
|
- use `undici` instead `node-fetch`
|
|
- use `fastify` instead `express` for functional test
|
|
|
|
### Breaking changes
|
|
|
|
- plugin storage API changes
|
|
- remove old search endpoint (return 404)
|
|
- filter local private packages at plugin level
|
|
|
|
The storage api changes for methods `get`, `add`, `remove` as promise base. The `search` methods also changes and recieves a `query` object that contains all query params from the client.
|
|
|
|
```ts
|
|
export interface IPluginStorage<T> extends IPlugin {
|
|
add(name: string): Promise<void>;
|
|
remove(name: string): Promise<void>;
|
|
get(): Promise<any>;
|
|
init(): Promise<void>;
|
|
getSecret(): Promise<string>;
|
|
setSecret(secret: string): Promise<any>;
|
|
getPackageStorage(packageInfo: string): IPackageStorage;
|
|
search(query: searchUtils.SearchQuery): Promise<searchUtils.SearchItem[]>;
|
|
saveToken(token: Token): Promise<any>;
|
|
deleteToken(user: string, tokenKey: string): Promise<any>;
|
|
readTokens(filter: TokenFilter): Promise<Token[]>;
|
|
}
|
|
```
|
|
|
|
## 6.0.0-6-next.9
|
|
|
|
### Minor Changes
|
|
|
|
- 67406082: upgrade to react@17 and other dependencies
|
|
|
|
## 6.0.0-6-next.8
|
|
|
|
### Minor Changes
|
|
|
|
- 0da7031e: allow disable login on ui and endpoints
|
|
|
|
To be able disable the login, set `login: false`, anything else would enable login. This flag will disable access via UI and web endpoints.
|
|
|
|
```yml
|
|
web:
|
|
title: verdaccio
|
|
login: false
|
|
```
|
|
|
|
## 6.0.0-6-next.7
|
|
|
|
### Minor Changes
|
|
|
|
- aecbd226: web: allow ui hide package managers on sidebar
|
|
|
|
If there is a package manager of preference over others, you can define the package managers to be displayed on the detail page and sidebar, just define in the `config.yaml` and web section the list of package managers to be displayed.
|
|
|
|
```
|
|
web:
|
|
title: Verdaccio
|
|
sort_packages: asc
|
|
primary_color: #cccccc
|
|
pkgManagers:
|
|
- pnpm
|
|
- yarn
|
|
# - npm
|
|
```
|
|
|
|
To disable all package managers, just define empty:
|
|
|
|
```
|
|
web:
|
|
title: Verdaccio
|
|
sort_packages: asc
|
|
primary_color: #cccccc
|
|
pkgManagers:
|
|
```
|
|
|
|
and the section would be hidden.
|
|
|
|
## 6.0.0-6-next.6
|
|
|
|
### Patch Changes
|
|
|
|
- 648575aa: Bug Fixes
|
|
|
|
- fix escaped slash in namespaced packages
|
|
|
|
#### Related tickets
|
|
|
|
https://github.com/verdaccio/verdaccio/pull/2193
|
|
|
|
## 5.0.0-alpha.5
|
|
|
|
### Major Changes
|
|
|
|
- e0b7c4ff: feat: flexible user interface generator
|
|
|
|
**breaking change**
|
|
|
|
The UI does not provide a pre-generated `index.html`, instead the server generates
|
|
the body of the web application based in few parameters:
|
|
|
|
- Webpack manifest
|
|
- User configuration details
|
|
|
|
It allows inject html tags, javascript and new CSS to make the page even more flexible.
|
|
|
|
### Web new properties for dynamic template
|
|
|
|
The new set of properties are made in order allow inject _html_ and _JavaScript_ scripts within the template. This
|
|
might be useful for scenarios like Google Analytics scripts or custom html in any part of the body.
|
|
|
|
- metaScripts: html injected before close the `head` element.
|
|
- scriptsBodyAfter: html injected before close the `body` element.
|
|
- bodyAfter: html injected after _verdaccio_ JS scripts.
|
|
|
|
```yaml
|
|
web:
|
|
scriptsBodyAfter:
|
|
- '<script type="text/javascript" src="https://my.company.com/customJS.min.js"></script>'
|
|
metaScripts:
|
|
- '<script type="text/javascript" src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>'
|
|
- '<script type="text/javascript" src="https://browser.sentry-cdn.com/5.15.5/bundle.min.js"></script>'
|
|
- '<meta name="robots" content="noindex" />'
|
|
bodyBefore:
|
|
- '<div id="myId">html before webpack scripts</div>'
|
|
bodyAfter:
|
|
- '<div id="myId">html after webpack scripts</div>'
|
|
```
|
|
|
|
### UI plugin changes
|
|
|
|
- `index.html` is not longer used, template is generated based on `manifest.json` generated by webpack.
|
|
- Plugin must export:
|
|
- the manifest file.
|
|
- the manifest files: matcher (array of id that generates required scripts to run the ui)
|
|
- static path: The absolute path where the files are located in `node_modules`
|
|
|
|
```
|
|
exports.staticPath = path.join(__dirname, 'static');
|
|
exports.manifest = require('./static/manifest.json');
|
|
exports.manifestFiles = {
|
|
js: ['runtime.js', 'vendors.js', 'main.js'],
|
|
css: [],
|
|
ico: 'favicon.ico',
|
|
};
|
|
```
|
|
|
|
- Remove font files
|
|
- CSS is inline on JS (this will help with #2046)
|
|
|
|
### Docker v5 Examples
|
|
|
|
- Move all current examples to v4 folder
|
|
- Remove any v3 example
|
|
- Create v5 folder with Nginx Example
|
|
|
|
#### Related tickets
|
|
|
|
https://github.com/verdaccio/verdaccio/issues/1523
|
|
https://github.com/verdaccio/verdaccio/issues/1297
|
|
https://github.com/verdaccio/verdaccio/issues/1593
|
|
https://github.com/verdaccio/verdaccio/discussions/1539
|
|
https://github.com/verdaccio/website/issues/264
|
|
https://github.com/verdaccio/verdaccio/issues/1565
|
|
https://github.com/verdaccio/verdaccio/issues/1251
|
|
https://github.com/verdaccio/verdaccio/issues/2029
|
|
https://github.com/verdaccio/docker-examples/issues/29
|
|
|
|
## 5.0.0-alpha.4
|
|
|
|
### Patch Changes
|
|
|
|
- fecbb9be: chore: add release step to private regisry on merge changeset pr
|
|
|
|
## 5.0.0-alpha.3
|
|
|
|
### Minor Changes
|
|
|
|
- 54c58d1e: feat: add server rate limit protection to all request
|
|
|
|
To modify custom values, use the server settings property.
|
|
|
|
```markdown
|
|
server:
|
|
|
|
## https://www.npmjs.com/package/express-rate-limit#configuration-options
|
|
|
|
rateLimit:
|
|
windowMs: 1000
|
|
max: 10000
|
|
```
|
|
|
|
The values are intended to be high, if you want to improve security of your server consider
|
|
using different values.
|
|
|
|
## 5.0.0-alpha.2
|
|
|
|
### Minor Changes
|
|
|
|
- 6cb0b588: feat: ui theme plugin part of the application
|