2020-11-15 12:45:30 +01:00
# @verdaccio/utils
2021-10-15 23:13:06 +02:00
## 6.0.0-6-next.7
### 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
### Patch Changes
- Updated dependencies [794af76c]
- Updated dependencies [154b2ecd]
- @verdaccio/core@6 .0.0-6-next.2
2021-09-08 19:33:09 +02:00
## 6.0.0-6-next.6
### 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 [ ] > ;
}
```
### Patch Changes
- Updated dependencies [459b6fa7]
- @verdaccio/commons -api@11.0.0-6-next.4
2021-05-24 09:01:22 +02:00
## 6.0.0-6-next.5
### Patch Changes
- d2c65da9: Fixed the validation of the name when searching for a tarball that have scoped package name
2021-04-25 10:14:01 +02:00
## 6.0.0-6-next.4
### Patch Changes
- 648575aa: Bug Fixes
- fix escaped slash in namespaced packages
#### Related tickets
https://github.com/verdaccio/verdaccio/pull/2193
2021-01-10 19:32:01 +01:00
## 5.0.0-alpha.3
### Patch Changes
- fecbb9be: chore: add release step to private regisry on merge changeset pr
- Updated dependencies [fecbb9be]
- @verdaccio/commons -api@10.0.0-alpha.3
2021-01-09 07:43:17 +01:00
## 5.0.0-alpha.2
### 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.
### Patch Changes
- Updated dependencies [54c58d1e]
- @verdaccio/commons -api@10.0.0-alpha.2
2020-11-15 12:45:30 +01:00
## 5.0.0-alpha.1
2020-11-15 15:04:55 +01:00
### Major Changes
- d87fa026: feat!: experiments config renamed to flags
- The `experiments` configuration is renamed to `flags` . The functionality is exactly the same.
```js
flags: token: false;
search: false;
```
- The `self_path` property from the config file is being removed in favor of `config_file` full path.
- Refactor `config` module, better types and utilities
- da1ee9c8: - Replace signature handler for legacy tokens by removing deprecated crypto.createDecipher by createCipheriv
- Introduce environment variables for legacy tokens
### Code Improvements
- Add debug library for improve developer experience
### Breaking change
- The new signature invalidates all previous tokens generated by Verdaccio 4 or previous versions.
- The secret key must have 32 characters long.
### New environment variables
- `VERDACCIO_LEGACY_ALGORITHM` : Allows to define the specific algorithm for the token signature which by default is `aes-256-ctr`
- `VERDACCIO_LEGACY_ENCRYPTION_KEY` : By default, the token stores in the database, but using this variable allows to get it from memory
### Minor Changes
- 26b494cb: feat: add typescript project references settings
Reading https://ebaytech.berlin/optimizing-multi-package-apps-with-typescript-project-references-d5c57a3b4440 I realized I can use project references to solve the issue to pre-compile modules on develop mode.
It allows to navigate (IDE) trough the packages without need compile the packages.
Add two `tsconfig` , one using the previous existing configuration that is able to produce declaration files (`tsconfig.build`) and a new one `tsconfig` which is enables [_projects references_ ](https://www.typescriptlang.org/docs/handbook/project-references.html ).
### Patch Changes
- b57b4338: Enable prerelease mode with **changesets**
- 31af0164: ESLint Warnings Fixed
Related to issue #1461
- max-len: most of the sensible max-len errors are fixed
- no-unused-vars: most of these types of errors are fixed by deleting not needed declarations
- @typescript -eslint/no-unused-vars: same as above
- Updated dependencies [d87fa026]
- Updated dependencies [da1ee9c8]
- Updated dependencies [26b494cb]
- Updated dependencies [b57b4338]
- Updated dependencies [31af0164]
- @verdaccio/commons -api@10.0.0-alpha.1
## 5.0.0-alpha.1
2020-11-15 12:45:30 +01:00
### Major Changes
- d87fa0268: feat!: experiments config renamed to flags
2020-11-15 15:04:55 +01:00
2020-11-15 12:45:30 +01:00
- The `experiments` configuration is renamed to `flags` . The functionality is exactly the same.
2020-11-15 15:04:55 +01:00
2020-11-15 12:45:30 +01:00
```js
flags: token: false;
search: false;
```
2020-11-15 15:04:55 +01:00
2020-11-15 12:45:30 +01:00
- The `self_path` property from the config file is being removed in favor of `config_file` full path.
- Refactor `config` module, better types and utilities
2020-11-15 15:04:55 +01:00
2020-11-15 12:45:30 +01:00
- da1ee9c82: - Replace signature handler for legacy tokens by removing deprecated crypto.createDecipher by createCipheriv
2020-11-15 15:04:55 +01:00
2020-11-15 12:45:30 +01:00
- Introduce environment variables for legacy tokens
2020-11-15 15:04:55 +01:00
2020-11-15 12:45:30 +01:00
### Code Improvements
2020-11-15 15:04:55 +01:00
2020-11-15 12:45:30 +01:00
- Add debug library for improve developer experience
2020-11-15 15:04:55 +01:00
2020-11-15 12:45:30 +01:00
### Breaking change
2020-11-15 15:04:55 +01:00
2020-11-15 12:45:30 +01:00
- The new signature invalidates all previous tokens generated by Verdaccio 4 or previous versions.
- The secret key must have 32 characters long.
2020-11-15 15:04:55 +01:00
2020-11-15 12:45:30 +01:00
### New environment variables
2020-11-15 15:04:55 +01:00
2020-11-15 12:45:30 +01:00
- `VERDACCIO_LEGACY_ALGORITHM` : Allows to define the specific algorithm for the token signature which by default is `aes-256-ctr`
- `VERDACCIO_LEGACY_ENCRYPTION_KEY` : By default, the token stores in the database, but using this variable allows to get it from memory
### Minor Changes
- 26b494cbd: feat: add typescript project references settings
2020-11-15 15:04:55 +01:00
2020-11-15 12:45:30 +01:00
Reading https://ebaytech.berlin/optimizing-multi-package-apps-with-typescript-project-references-d5c57a3b4440 I realized I can use project references to solve the issue to pre-compile modules on develop mode.
2020-11-15 15:04:55 +01:00
2020-11-15 12:45:30 +01:00
It allows to navigate (IDE) trough the packages without need compile the packages.
2020-11-15 15:04:55 +01:00
2020-11-15 12:45:30 +01:00
Add two `tsconfig` , one using the previous existing configuration that is able to produce declaration files (`tsconfig.build`) and a new one `tsconfig` which is enables [_projects references_ ](https://www.typescriptlang.org/docs/handbook/project-references.html ).
### Patch Changes
- b57b43388: Enable prerelease mode with **changesets**
- 31af01641: ESLint Warnings Fixed
2020-11-15 15:04:55 +01:00
2020-11-15 12:45:30 +01:00
Related to issue #1461
2020-11-15 15:04:55 +01:00
2020-11-15 12:45:30 +01:00
- max-len: most of the sensible max-len errors are fixed
- no-unused-vars: most of these types of errors are fixed by deleting not needed declarations
- @typescript -eslint/no-unused-vars: same as above
2020-11-15 15:04:55 +01:00
2020-11-15 12:45:30 +01:00
- Updated dependencies [d87fa0268]
- Updated dependencies [da1ee9c82]
- Updated dependencies [26b494cbd]
- Updated dependencies [b57b43388]
- Updated dependencies [31af01641]
- @verdaccio/commons -api@10.0.0-alpha.0