diff --git a/website/i18n/zh-CN.json b/website/i18n/zh-CN.json index cab2bb3adeda..decb4ba42115 100644 --- a/website/i18n/zh-CN.json +++ b/website/i18n/zh-CN.json @@ -3,7 +3,7 @@ "localized-strings": { "next": "下一个", "previous": "上一个", - "tagline": "Verdaccio · 一个开源轻量的npm私服", + "tagline": "Verdaccio:一个轻量级的开源 npm 私有部署仓库", "docs": { "amazon": { "title": "亚马逊Web服务" @@ -129,7 +129,7 @@ "title": "Talks" }, "test": { - "title": "test" + "title": "测试" }, "uplinks": { "title": "上行链路" @@ -154,24 +154,24 @@ "Help": "Help", "GitHub": "GitHub", "Contributors": "Contributors", - "Sponsor Us": "支持我们" + "Sponsor Us": "给我们捐赠" }, "categories": { "Introduction": "Introduction", - "Features": "Features", + "Features": "新特性", "Server": "Server", "Development": "Development", - "DevOps": "DevOps", + "DevOps": "运维", "Guides": "Guides" } }, "pages-strings": { "Contributors|no description given": "Contributors", - "Learn more using the [documentation on this site.](/docs/en/installation.html)|no description given": "通过 [站内文档](/docs/en/installation.html) 了解更多信息", - "Browse Docs|no description given": "浏览文档", - "Ask questions about the documentation and project|no description given": "询问有关于文档或项目的问题", + "Learn more using the [documentation on this site.](/docs/en/installation.html)|no description given": "阅读[文档](/docs/en/installation.html),了解更多信息", + "Browse Docs|no description given": "查看文档", + "Ask questions about the documentation and project|no description given": "询问文档或项目相关的问题", "Join the community|no description given": "加入社区", - "Find out what's new with this project|no description given": "了解项目中新增的内容", + "Find out what's new with this project|no description given": "了解项目的新特性", "Stay up to date|no description given": "保持最新版本", "Need help?|no description given": "需要帮助?", "This project is maintained by a dedicated group of people.|statement made to reader": "这个项目有专业的组织维护。", @@ -193,10 +193,10 @@ "Who's Using This?|no description given": "谁在用这个?", "More|no description given": "更多", "Users|no description given": "用户", - "Verdaccio is sponsored by these awesome folks...|no description given": "Verdaccio is sponsored by these awesome folks...", - "and used by many others, including:|no description given": "and used by many others, including:", + "Verdaccio is sponsored by these awesome folks...|no description given": "Verdaccio 项目通过民间赞助。", + "and used by many others, including:|no description given": "并且,也被很多其他人使用,其中就包括:", "Are you using this project? Do not be shy and add your company/project logo.|no description given": "您是否正在使用此项目?不要害羞, 请添加您的公司/项目Logo到这里。", - "Add your project|no description given": "Add your project", + "Add your project|no description given": "添加你的项目", "Help Translate|recruit community translators for your project": "帮助翻译", "Edit this Doc|recruitment message asking to edit the doc source": "编辑", "Translate this Doc|recruitment message asking to translate the docs": "翻译" diff --git a/website/translated_docs/ar/caching.md b/website/translated_docs/ar/caching.md index 60b7f65879e2..f662d67dfa25 100644 --- a/website/translated_docs/ar/caching.md +++ b/website/translated_docs/ar/caching.md @@ -7,11 +7,12 @@ Verdaccio caches all packages by default into the `/storage` folder. But you can ## Caching scenarios -* Build a Node.js project on **Continous Integration** (Bamboo, GitLab, Jenkins, etc) servers is a task that might take several times at a day, thus, the server will download tons of tarballs from the registry every time takes place. As usual, the CI tools clear the cache after each build and the process start over and over again. That is a waste of bandwidth and reduces the external traffic. **You can use Verdaccio for caching tarballs and metadata in our internal network and give a boost in your build time.** +* Build a Node.js project on **Continous Integration** (Bamboo, GitLab, Jenkins, etc) servers is a task that might take several times at a day, thus, the server will download tons of tarballs from the registry every time takes place. As usual, the CI tools clear the cache after each build and the process start over and over again. That is a waste of bandwidth and reduces the external traffic. **You can use Verdaccio for caching tarballs and metadata in our internal network and give a boost in your build time.** * **Latency and Connectivity**, not all countries enjoy a high-speed connection. For such reason cache packages locally in your network is really handy. Either if you are traveling, or have a weak connection, roaming or countries with strong Firewalls that might affect the user experience (eg: corrupting tarballs). * **Offline Mode**, all Node Package Managers nowadays uses their own internal cache, but it common that different projects might use different tools, which implies lock files and so on. Those tools are unable to share cache, the unique solution is centralized and relies on a proxy registry, Verdaccio cache all metadata and tarballs are downloaded by demand being able to share them across all your project. * Avoid that any remote registry suddenly returns *HTTP 404* error for tarballs were previously available a.k.a ([left-pad issue](https://www.theregister.co.uk/2016/03/23/npm_left_pad_chaos/)). + # Strategies for faster builds > We are looking for more strategies, feel free to share your experience in this field @@ -20,15 +21,16 @@ Verdaccio caches all packages by default into the `/storage` folder. But you can If you have a limited storage space, you might need to avoid cache tarballs, enabling `cache` false in each uplink will cache only metadata files. - uplinks: - npmjs: - url: https://registry.npmjs.org/ - cache: false - +``` +uplinks: + npmjs: + url: https://registry.npmjs.org/ + cache: false +``` ## Extending Cache Expiration Time -Verdaccio by default waits 2 minutes to invalidate the cache metadata before fetching new information from the remote registry. + Verdaccio by default waits 2 minutes to invalidate the cache metadata before fetching new information from the remote registry. ```yaml uplinks: @@ -39,6 +41,7 @@ uplinks: Increasing the value of `maxage` in each `uplink` remotes will be asked less frequently. This might be a valid strategy if you don't update dependencies so often. + ## Using the memory instead the hardrive Sometimes caching packages is not a critical step, rather than route packages from different registries and achieving faster build times. There are two plugins that avoid write in a physical hard drive at all using the memory. @@ -62,4 +65,4 @@ store: limit: 1000 ``` -Remember, once the server is restarted the data is being lost, we recommend this setup in cases where you do not need to persist at all. \ No newline at end of file +Remember, once the server is restarted the data is being lost, we recommend this setup in cases where you do not need to persist at all. diff --git a/website/translated_docs/ar/chef.md b/website/translated_docs/ar/chef.md index 1aded77e06c8..6fc4da9728d5 100644 --- a/website/translated_docs/ar/chef.md +++ b/website/translated_docs/ar/chef.md @@ -7,9 +7,11 @@ Using Chef Cookbook for Verdaccio For further information: -* -* +* [https://github.com/verdaccio/verdaccio-cookbook](https://github.com/verdaccio/verdaccio-cookbook) +* [https://supermarket.chef.io/cookbooks/verdaccio](https://supermarket.chef.io/cookbooks/verdaccio) > We are looking for contributors for this repository, if you are interested please notify the author via tickets. -Author: [Keli Grubb](https://github.com/kgrubb) && Barthelemy Vessemont. \ No newline at end of file +Author: [Keli Grubb](https://github.com/kgrubb) && Barthelemy Vessemont. + + diff --git a/website/translated_docs/ar/install.md b/website/translated_docs/ar/install.md index 46b35f61a3bc..3f897208d7f3 100644 --- a/website/translated_docs/ar/install.md +++ b/website/translated_docs/ar/install.md @@ -13,7 +13,7 @@ Verdaccio is a multiplatform web application. To install it, you need a few basi > We highly recommend to use the latest versions of Node Package Manager clients `> npm@6.x | yarn@1.x | | yarn@2.x | pnpm@6.x`. Don't support `npm@5.x` or older. -1. A modern web browser to run the web interface. We actually support `Chrome, Firefox, Edge`. +3. A modern web browser to run the web interface. We actually support `Chrome, Firefox, Edge`. > Verdaccio will support latest Node.js version according the [Node.js Release Working Group](https://github.com/nodejs/Release) recomendations. @@ -21,7 +21,7 @@ Are you still using **Verdaccio 4**?. Check the [migration guide](https://verdac ### Quick Introduction -Learn the basics before getting started, how to install, where is the location of the configuration file and more. +Learn the basics before getting started, how to install, where is the location of the configuration file and more. ## Installing the CLI @@ -92,7 +92,7 @@ Or a `publishConfig` in your `package.json` ## Create Your Own Private NPM Package Tutorial -If you'd like a broader explanation, don't miss the tutorial created by [thedevlife](https://mybiolink.co/thedevlife) on how to Create Your Own Private NPM Package using Verdaccio. +If you'd like a broader explanation, don't miss the tutorial created by [thedevlife](https://mybiolink.co/thedevlife) on how to Create Your Own Private NPM Package using Verdaccio. ## Docker Image @@ -106,4 +106,4 @@ docker run -it --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio `Verdaccio` is also available as a 1-click install on [Cloudron](https://cloudron.io) -[![Install](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=org.eggertsson.verdaccio) \ No newline at end of file +[![Install](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=org.eggertsson.verdaccio) diff --git a/website/translated_docs/ar/kubernetes.md b/website/translated_docs/ar/kubernetes.md index 4d41ab7fc2ab..5da1b2f18435 100644 --- a/website/translated_docs/ar/kubernetes.md +++ b/website/translated_docs/ar/kubernetes.md @@ -23,8 +23,9 @@ Deploy the Helm [verdaccio/verdaccio](https://github.com/verdaccio/charts) chart ### Add repository - helm repo add verdaccio https://charts.verdaccio.org - +``` +helm repo add verdaccio https://charts.verdaccio.org +``` In this example we use `npm` as release name: @@ -52,6 +53,7 @@ helm uninstall npm **Note:** this command delete all the resources, including packages that you may have previously published to the registry. + ### Custom Verdaccio configuration You can customize the Verdaccio configuration using a Kubernetes *configMap*. @@ -92,7 +94,6 @@ helm install npm --set customConfigMap=verdaccio-config verdaccio/verdaccio #### NGINX proxy body-size limit The standard k8s NGINX ingress proxy allows for 1MB for body-size which can be increased by modifying the default deployment options according to the [documentation](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#custom-max-body-size): - ```yaml ... @@ -109,4 +110,4 @@ annotations: [Rancher](http://rancher.com/) is a complete container management platform that makes managing and using containers in production really easy. -* [verdaccio-rancher](https://github.com/lgaticaq/verdaccio-rancher) \ No newline at end of file +* [verdaccio-rancher](https://github.com/lgaticaq/verdaccio-rancher) diff --git a/website/translated_docs/ar/linking.md b/website/translated_docs/ar/linking.md index 20936fac8e9d..76f693de99c3 100644 --- a/website/translated_docs/ar/linking.md +++ b/website/translated_docs/ar/linking.md @@ -17,10 +17,11 @@ You can link multiple registries, the following document will drive you through The unique way to access multiple registries using the `.npmrc` is the scope feature as follows: - // .npmrc - registry=https://registry.npmjs.org - @mycompany:registry=http://localhost:4873 - +``` +// .npmrc +registry=https://registry.npmjs.org +@mycompany:registry=http://localhost:4873 +``` This approach is valid, but comes with several disadvantages: @@ -75,7 +76,8 @@ Verdaccio supports multiple registries on the `proxy` field. The request will be Having a full Offline Registry is completely possible. If you don't want any connectivity with external remotes you can do the following. ```yaml -
auth: + +auth: htpasswd: file: ./htpasswd uplinks: @@ -91,4 +93,4 @@ packages: publish: $authenticated ``` -Remove all `proxy` fields within each section of `packages`. The registry will become full offline. \ No newline at end of file +Remove all `proxy` fields within each section of `packages`. The registry will become full offline. diff --git a/website/translated_docs/ar/logger.md b/website/translated_docs/ar/logger.md index 64401095fcdf..c25d522b25aa 100644 --- a/website/translated_docs/ar/logger.md +++ b/website/translated_docs/ar/logger.md @@ -28,4 +28,4 @@ Use `SIGUSR2` to notify the application, the log-file was rotated and it needs t | type | string | No | [stdout, file] | all | define the output | | path | string | No | verdaccio.log | all | if type is file, define the location of that file | | format | string | No | [pretty, pretty-timestamped] | all | output format | -| level | string | No | [fatal, error, warn, http, info, debug, trace] | all | verbose level | \ No newline at end of file +| level | string | No | [fatal, error, warn, http, info, debug, trace] | all | verbose level | diff --git a/website/translated_docs/ar/logo.md b/website/translated_docs/ar/logo.md index d93ae00a848c..b2e1d23c74eb 100644 --- a/website/translated_docs/ar/logo.md +++ b/website/translated_docs/ar/logo.md @@ -11,7 +11,7 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ## Symbols -**With text** +__With text__ ![symbol tiny with text](assets/logo/symbol/png/logo-small-header-bottom.png) @@ -19,11 +19,11 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ![symbol big with text](assets/logo/symbol/png/logo-small-header-bottom@3x.png) -**SVG** +__SVG__ ![symbol svg](assets/logo/symbol/svg/logo-small-header-bottom.svg) -**No text** +__No text__ ![symbol tiny](assets/logo/symbol/png/verdaccio-tiny.png) @@ -31,10 +31,12 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ![symbol big](assets/logo/symbol/png/verdaccio-tiny@3x.png) -**SVG** +__SVG__ ![svg format symbol no text](assets/logo/symbol/svg/verdaccio-tiny.svg) + + ### Black&White ![symbol bw small](assets/logo/symbol/png/verdaccio-blackwhite.png) @@ -43,14 +45,17 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ![symbol bw big](assets/logo/symbol/png/verdaccio-blackwhite@3x.png) -**SVG** +__SVG__ ![symbol bw svg](assets/logo/symbol/svg/verdaccio-blackwhite.svg) + ## Banner ![banner small](assets/logo/banner/png/verdaccio-banner.png) ![banner medium](assets/logo/banner/png/verdaccio-banner@2x.png) -![banner big](assets/logo/banner/png/verdaccio-banner@3x.png) \ No newline at end of file +![banner big](assets/logo/banner/png/verdaccio-banner@3x.png) + + diff --git a/website/translated_docs/ar/node-api.md b/website/translated_docs/ar/node-api.md index b1a27cbb0eed..f6840716b5e9 100644 --- a/website/translated_docs/ar/node-api.md +++ b/website/translated_docs/ar/node-api.md @@ -39,4 +39,4 @@ verdaccioServer.serviceUninstall(); verdaccioServer.serviceStart(); verdaccioServer.serviceStop(); verdaccioServer.serviceRestart(); -``` \ No newline at end of file +``` diff --git a/website/translated_docs/ar/notifications.md b/website/translated_docs/ar/notifications.md index d1d3bc7a3b65..95f0ce34b130 100644 --- a/website/translated_docs/ar/notifications.md +++ b/website/translated_docs/ar/notifications.md @@ -48,12 +48,13 @@ We use [Handlebars](https://handlebarsjs.com/) as main template engine. ### Format Examples - # iterate all versions - {{ name }}{{#each versions}} v{{version}}{{/each}} - - # publisher and `dist-tag` package published - {{ publisher.name }} has published {{ publishedPackage }} - +``` +# iterate all versions +{{ name }}{{#each versions}} v{{version}}{{/each}} + +# publisher and `dist-tag` package published +{{ publisher.name }} has published {{ publishedPackage }} +``` ### Properties @@ -67,54 +68,56 @@ List of properties accesible via template Package metadata that the template has access - { - "_id": "@test/pkg1", - "name": "@test/pkg1", - "description": "", - "dist-tags": { - "beta": "1.0.54" - }, - "versions": { - "1.0.54": { - "name": "@test/pkg1", - "version": "1.0.54", - "description": "some description", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": { - "name": "Author Name", - "email": "author@domain.com" - }, - "license": "MIT", - "dependencies": { - "webpack": "4.12.0" - }, - "readmeFilename": "README.md", - "_id": "@ test/pkg1@1.0.54", - "_npmVersion": "6.1.0", - "_nodeVersion": "9.9.0", - "_npmUser": {}, - "dist": { - "integrity": "sha512-JlXWpLtMUBAqvVZBvH7UVLhXkGE1ctmXbDjbH/l0zMuG7wVzQ7GshTYvD/b5C+G2vOL2oiIS1RtayA/kKkTwKw==", - "shasum": "29c55c52c1e76e966e706165e5b9f22e32aa9f22", - "tarball": "http://localhost:4873/@test/pkg1/-/@test/pkg1-1.0.54.tgz" - } - } - }, - "readme": "# test", - "_attachments": { - "@test/pkg1-1.0.54.tgz": { - "content_type": "application/octet-stream", - "data": "H4sIAAAAAAAAE+y9Z5PjyJIgOJ ...", - "length": 33112 +``` +{ + "_id": "@test/pkg1", + "name": "@test/pkg1", + "description": "", + "dist-tags": { + "beta": "1.0.54" + }, + "versions": { + "1.0.54": { + "name": "@test/pkg1", + "version": "1.0.54", + "description": "some description", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": { + "name": "Author Name", + "email": "author@domain.com" + }, + "license": "MIT", + "dependencies": { + "webpack": "4.12.0" + }, + "readmeFilename": "README.md", + "_id": "@ test/pkg1@1.0.54", + "_npmVersion": "6.1.0", + "_nodeVersion": "9.9.0", + "_npmUser": {}, + "dist": { + "integrity": "sha512-JlXWpLtMUBAqvVZBvH7UVLhXkGE1ctmXbDjbH/l0zMuG7wVzQ7GshTYvD/b5C+G2vOL2oiIS1RtayA/kKkTwKw==", + "shasum": "29c55c52c1e76e966e706165e5b9f22e32aa9f22", + "tarball": "http://localhost:4873/@test/pkg1/-/@test/pkg1-1.0.54.tgz" } - }, - "time": {} - } - + } + }, + "readme": "# test", + "_attachments": { + "@test/pkg1-1.0.54.tgz": { + "content_type": "application/octet-stream", + "data": "H4sIAAAAAAAAE+y9Z5PjyJIgOJ ...", + "length": 33112 + } + }, + "time": {} +} +``` + ### Publisher @@ -122,21 +125,23 @@ You can get access to the package publisher information in the `content` of a we See below the `publisher` object type: - { - name: string, - groups: string[], - real_groups: string[] - } - +``` +{ + name: string, + groups: string[], + real_groups: string[] +} +``` An example: - notify: - method: POST - headers: [{'Content-Type': 'application/json'}] - endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken - content: '{"color":"green","message":"New package published: * {{ name }}*. Publisher name: * {{ publisher.name }} *.","notify":true,"message_format":"text"}' - +``` +notify: + method: POST + headers: [{'Content-Type': 'application/json'}] + endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken + content: '{"color":"green","message":"New package published: * {{ name }}*. Publisher name: * {{ publisher.name }} *.","notify":true,"message_format":"text"}' +``` **Note:** it's not possible to get the publisher information if the `package.json` file already has the `publisher` property. @@ -144,8 +149,9 @@ An example: You can access to the package is being published with the keyword `{{publishedPackage}}` as follows. - {{ publisher.name }} has published {{ publishedPackage }} - +``` +{{ publisher.name }} has published {{ publishedPackage }} +``` ## Configuration @@ -156,4 +162,4 @@ You can access to the package is being published with the keyword `{{publishedPa | packagePatternFlags | string | No | all | | Any flags to be used with the regular expression | | headers | array/object | Yes | all | | If this endpoint requires specific headers, set them here as an array of key: value objects. | | endpoint | string | Yes | all | | set the URL endpoint for this call | -| content | string | Yes | all | | any [Handlebar](https://handlebarsjs.com/) expressions | \ No newline at end of file +| content | string | Yes | all | | any [Handlebar](https://handlebarsjs.com/) expressions | diff --git a/website/translated_docs/ar/packages.md b/website/translated_docs/ar/packages.md index fcc2bc93d0d0..bd50e417b5c8 100644 --- a/website/translated_docs/ar/packages.md +++ b/website/translated_docs/ar/packages.md @@ -155,7 +155,7 @@ You may assign multiple uplinks for use as a proxy to use in the case of failove #### Unpublishing Packages -The property `publish` handle permissions for `npm publish` and `npm unpublish`. But, if you want to be more specific, you can use the property `unpublish` in your package access section, for instance: +The property `publish` handle permissions for `npm publish` and `npm unpublish`. But, if you want to be more specific, you can use the property `unpublish` in your package access section, for instance: ```yalm packages: @@ -183,6 +183,7 @@ In the previous example, the behaviour would be described: * only authenticated users can publish `my-company-*` packages, but **nobody would be allowed to unpublish them**. * If `unpublish` is commented out, the access will be granted or denied by the `publish` definition. + ### Configuration You can define mutiple `packages` and each of them must have an unique `Regex`. The syntax is based on [minimatch glob expressions](https://github.com/isaacs/minimatch). @@ -196,4 +197,4 @@ You can define mutiple `packages` and each of them must have an unique `Regex`. > We higlight that we recommend to not use **allow_access**/**allow_publish** and **proxy_access** anymore, those are deprecated and will soon be removed, please use the short version of each of those (**access**/**publish**/**proxy**). -If you want more information about how to use the **storage** property, please refer to this [comment](https://github.com/verdaccio/verdaccio/issues/1383#issuecomment-509933674). \ No newline at end of file +If you want more information about how to use the **storage** property, please refer to this [comment](https://github.com/verdaccio/verdaccio/issues/1383#issuecomment-509933674). diff --git a/website/translated_docs/ar/plugins.md b/website/translated_docs/ar/plugins.md index 7249d99fa4de..f94d6e2a931e 100644 --- a/website/translated_docs/ar/plugins.md +++ b/website/translated_docs/ar/plugins.md @@ -24,8 +24,9 @@ $> npm install --global verdaccio-activedirectory `verdaccio` as a sinopia fork it has backward compability with plugins that are compatible with `sinopia@1.4.0`. In such case the installation is the same. - $> npm install --global sinopia-memory - +``` +$> npm install --global sinopia-memory +``` ### Configuration @@ -33,6 +34,7 @@ Open the `config.yaml` file and update the `auth` section as follows: The default configuration looks like this, due we use a build-in `htpasswd` plugin by default that you can disable just commenting out the following lines. + ### Authentication Configuration ```yaml @@ -93,12 +95,14 @@ store: Verdaccio allows to replace the User Interface with a custom one, we call it **theme**. By default, uses `@verdaccio/ui-theme` that comes built-in, but, you can use something different installing your own plugin. ```bash -
$> npm install --global verdaccio-theme-dark + +$> npm install --global verdaccio-theme-dark ``` > The plugin name prefix must start with `verdaccio-theme`, otherwise the plugin won't load. + You can load only one theme at a time and pass through options if you need it. ```yaml @@ -132,4 +136,5 @@ theme: * [sinopia-ldap](https://www.npmjs.com/package/sinopia-ldap): LDAP auth plugin for sinopia. * [sinopia-github-oauth-env](https://www.npmjs.com/package/sinopia-github-oauth-env) Sinopia authentication plugin with github oauth web flow. -> All sinopia plugins should be compatible with all future verdaccio versions. Anyhow, we encourage contributors to migrate them to the modern verdaccio API and using the prefix as *verdaccio-xx-name*. \ No newline at end of file +> All sinopia plugins should be compatible with all future verdaccio versions. Anyhow, we encourage contributors to migrate them to the modern verdaccio API and using the prefix as *verdaccio-xx-name*. + diff --git a/website/translated_docs/ar/protect-your-dependencies.md b/website/translated_docs/ar/protect-your-dependencies.md index 05970c1bdfa9..b6cd69d68a7f 100644 --- a/website/translated_docs/ar/protect-your-dependencies.md +++ b/website/translated_docs/ar/protect-your-dependencies.md @@ -31,7 +31,8 @@ I won't have access to such dependencies and they also won't be visible via the ```bash ➜ npm install my-company-core npm ERR! code E403 -npm ERR! 403 Forbidden: webpack-1@latest +npm ERR! code E403 +npm ERR! ``` or with `yarn`: @@ -40,6 +41,6 @@ or with `yarn`: ➜ yarn add my-company-core yarn add v0.24.6 info No lockfile found. -[1/4] +[1/4] 🔍 Resolving packages... error An unexpected error occurred: "http://localhost:5555/webpack-1: unregistered users are not allowed to access package my-company-core". -``` \ No newline at end of file +``` diff --git a/website/translated_docs/ar/puppet.md b/website/translated_docs/ar/puppet.md index a9cc94557481..390eef309750 100644 --- a/website/translated_docs/ar/puppet.md +++ b/website/translated_docs/ar/puppet.md @@ -16,6 +16,10 @@ In both variants you have to explicitely call "class nodejs {}" in your puppet s For further information: - +[https://github.com/verdaccio/puppet-verdaccio](https://github.com/verdaccio/puppet-verdaccio) + +> We are looking for active contributors for this integration, if you are interested [refers to this ticket](https://github.com/verdaccio/puppet-verdaccio/issues/11). + + + -> We are looking for active contributors for this integration, if you are interested [refers to this ticket](https://github.com/verdaccio/puppet-verdaccio/issues/11). \ No newline at end of file diff --git a/website/translated_docs/ar/repositories.md b/website/translated_docs/ar/repositories.md index fac3fe942aaa..19433d9f03dc 100644 --- a/website/translated_docs/ar/repositories.md +++ b/website/translated_docs/ar/repositories.md @@ -5,4 +5,5 @@ title: Source Code `verdaccio` is composed or multiple repositories you might contribute. Look into the **issues** tab whether there is a ticket waiting for you 🤠. -To see the complete list of repositories, [click here](https://github.com/verdaccio/verdaccio/wiki/Repositories). \ No newline at end of file +To see the complete list of repositories, [click here](https://github.com/verdaccio/verdaccio/wiki/Repositories). + diff --git a/website/translated_docs/ar/reverse-proxy.md b/website/translated_docs/ar/reverse-proxy.md index 769d34e4eb64..f302852d1604 100644 --- a/website/translated_docs/ar/reverse-proxy.md +++ b/website/translated_docs/ar/reverse-proxy.md @@ -11,141 +11,145 @@ Apache and `mod_proxy` should **not decode/encode slashes** and leave them as th For installing at relative path, `/npm`, on the server - - AllowEncodedSlashes NoDecode - ProxyPass /npm http://127.0.0.1:4873 nocanon - ProxyPassReverse /npm http://127.0.0.1:4873 - - +```` + + AllowEncodedSlashes NoDecode + ProxyPass /npm http://127.0.0.1:4873 nocanon + ProxyPassReverse /npm http://127.0.0.1:4873 + +```` For installing at root path, `/`, on the server - - - ServerName your.domain.com - ServerAdmin hello@your.domain.com - ProxyPreserveHost On - AllowEncodedSlashes NoDecode - ProxyPass / http://127.0.0.1:4873/ nocanon - ProxyPassReverse / http://127.0.0.1:4873/ - - +```` + + ServerName your.domain.com + ServerAdmin hello@your.domain.com + ProxyPreserveHost On + AllowEncodedSlashes NoDecode + ProxyPass / http://127.0.0.1:4873/ nocanon + ProxyPassReverse / http://127.0.0.1:4873/ + +```` ### Configuration with SSL Apache virtual server configuration - apacheconfig - - - ServerName npm.your.domain.com - SSLEngine on - SSLCertificateFile /etc/letsencrypt/live/npm.your.domain.com/fullchain.pem - SSLCertificateKeyFile /etc/letsencrypt/live/npm.your.domain.com/privkey.pem - SSLProxyEngine On - ProxyRequests Off - ProxyPreserveHost On - AllowEncodedSlashes NoDecode - ProxyPass / http://127.0.0.1:4873/ nocanon - ProxyPassReverse / http://127.0.0.1:4873/ - RequestHeader set X-Forwarded-Proto "https" - - - +```` + apacheconfig + + + ServerName npm.your.domain.com + SSLEngine on + SSLCertificateFile /etc/letsencrypt/live/npm.your.domain.com/fullchain.pem + SSLCertificateKeyFile /etc/letsencrypt/live/npm.your.domain.com/privkey.pem + SSLProxyEngine On + ProxyRequests Off + ProxyPreserveHost On + AllowEncodedSlashes NoDecode + ProxyPass / http://127.0.0.1:4873/ nocanon + ProxyPassReverse / http://127.0.0.1:4873/ + RequestHeader set X-Forwarded-Proto "https" + + +```` # Nginx The following snippet is a full `docker` example can be tested in our [Docker examples repository](https://github.com/verdaccio/verdaccio/tree/5.x/docker-examples/reverse_proxy/nginx). - upstream verdaccio_v4 { - server verdaccio_relative_path_v4:4873; - keepalive 8; - } - - upstream verdaccio_v4_root { - server verdaccio_relative_path_v4_root:8000; - keepalive 8; +```` +upstream verdaccio_v4 { + server verdaccio_relative_path_v4:4873; + keepalive 8; +} + +upstream verdaccio_v4_root { + server verdaccio_relative_path_v4_root:8000; + keepalive 8; +} + +upstream verdaccio_v3 { + server verdaccio_relative_path_latest_v3:7771; + keepalive 8; +} + +server { + listen 80 default_server; + access_log /var/log/nginx/verdaccio.log; + charset utf-8; + + location / { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4_root; + proxy_redirect off; } - - upstream verdaccio_v3 { - server verdaccio_relative_path_latest_v3:7771; - keepalive 8; + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4/$1; + proxy_redirect off; } - - server { - listen 80 default_server; - access_log /var/log/nginx/verdaccio.log; - charset utf-8; - - location / { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4_root; - proxy_redirect off; - } - - location ~ ^/verdaccio/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4/$1; - proxy_redirect off; - } - - location ~ ^/verdacciov3/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - - proxy_pass http://verdaccio_v3/$1; - proxy_redirect off; - } + + location ~ ^/verdacciov3/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + + proxy_pass http://verdaccio_v3/$1; + proxy_redirect off; } - +} +```` ## SSL example - server { - listen 80; - return 302 https://$host$request_uri; +```` +server { + listen 80; + return 302 https://$host$request_uri; +} + +server { + listen 443 ssl http2; + server_name localhost; + + ssl_certificate /etc/nginx/cert.crt; + ssl_certificate_key /etc/nginx/cert.key; + + ssl on; + ssl_session_cache builtin:1000 shared:SSL:10m; + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; + ssl_prefer_server_ciphers on; + + location / { + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_pass http://verdaccio_v4_root; + proxy_read_timeout 600; + proxy_redirect off; } - - server { - listen 443 ssl http2; - server_name localhost; - - ssl_certificate /etc/nginx/cert.crt; - ssl_certificate_key /etc/nginx/cert.key; - - ssl on; - ssl_session_cache builtin:1000 shared:SSL:10m; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; - ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; - ssl_prefer_server_ciphers on; - - location / { - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_pass http://verdaccio_v4_root; - proxy_read_timeout 600; - proxy_redirect off; - } - - location ~ ^/verdaccio/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4_root/$1; - proxy_redirect off; - } + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4_root/$1; + proxy_redirect off; } - +} +```` ## Run behind reverse proxy with different domain and port @@ -171,10 +175,9 @@ location / { proxy_set_header X-Forwarded-Proto $scheme; } ``` - For this case, `url_prefix` should **NOT** set in Verdaccio config -* * * +--- or a sub-directory installation: @@ -186,7 +189,6 @@ location ~ ^/verdaccio/(.*)$ { proxy_set_header X-Forwarded-Proto $scheme; } ``` - For this case, `url_prefix` should set to `/verdaccio/` -> Note: There is a slash after the install path (`https://your-domain:port/verdaccio/`)! \ No newline at end of file +> Note: There is a slash after the install path (`https://your-domain:port/verdaccio/`)! diff --git a/website/translated_docs/ar/server.md b/website/translated_docs/ar/server.md index 7473ea12d00c..51498ca32c44 100644 --- a/website/translated_docs/ar/server.md +++ b/website/translated_docs/ar/server.md @@ -31,7 +31,6 @@ The `cd` command sends you to the home directory of the Verdaccio user. Make sur ## Listening on all addresses If you want to listen to every external address set the listen directive in the config to: - ```yaml # you can specify listen address (or simply a port) listen: 0.0.0.0:4873 @@ -71,8 +70,9 @@ $ crontab -e This might ask you to choose an editor. Pick your favorite and proceed. Add the following entry to the file: - @reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio - +``` +@reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio +``` The locations may vary depending on your server setup. If you want to know where your files are you can use the 'which' command: @@ -84,9 +84,7 @@ $ which verdaccio ## Using systemd Instead of `forever` you can use `systemd` for starting Verdaccio and keeping it running. Verdaccio installation has systemd unit, you only need to copy it: - ```bash $ sudo cp /usr/lib/node_modules/verdaccio/systemd/verdaccio.service /lib/systemd/system/ && sudo systemctl daemon-reload ``` - -This unit assumes you have configuration in `/etc/verdaccio/config.yaml` and store data in `/var/lib/verdaccio`, so either move your files to those locations or edit the unit. \ No newline at end of file +This unit assumes you have configuration in `/etc/verdaccio/config.yaml` and store data in `/var/lib/verdaccio`, so either move your files to those locations or edit the unit. diff --git a/website/translated_docs/ar/ssl.md b/website/translated_docs/ar/ssl.md index 02399848b2fb..1e3d16baffba 100644 --- a/website/translated_docs/ar/ssl.md +++ b/website/translated_docs/ar/ssl.md @@ -5,31 +5,38 @@ title: "Set up the SSL Certificates" Follow these instructions to configure an SSL certificate to serve an npm registry over HTTPS. + * Update the listen property in your `~/.config/verdaccio/config.yaml`: - listen: 'https://your.domain.com/' - +```` +listen: 'https://your.domain.com/' +```` Once you've updated the listen property and try to run verdaccio again, it will ask for certificates. * Generate your certificates - $ openssl genrsa -out /Users/user/.config/verdaccio/verdaccio-key.pem 2048 - $ openssl req -new -sha256 -key /Users/user/.config/verdaccio/verdaccio-key.pem -out /Users/user/.config/verdaccio/verdaccio-csr.pem - $ openssl x509 -req -in /Users/user/.config/verdaccio/verdaccio-csr.pem -signkey /Users/user/.config/verdaccio/verdaccio-key.pem -out /Users/user/.config/verdaccio/verdaccio-cert.pem - ```` - - * Edit your config file `/Users/user/.config/verdaccio/config.yaml` and add the following section: - - +```` + $ openssl genrsa -out /Users/user/.config/verdaccio/verdaccio-key.pem 2048 + $ openssl req -new -sha256 -key /Users/user/.config/verdaccio/verdaccio-key.pem -out /Users/user/.config/verdaccio/verdaccio-csr.pem + $ openssl x509 -req -in /Users/user/.config/verdaccio/verdaccio-csr.pem -signkey /Users/user/.config/verdaccio/verdaccio-key.pem -out /Users/user/.config/verdaccio/verdaccio-cert.pem + ```` + ```` -https: key: /Users/user/.config/verdaccio/verdaccio-key.pem cert: /Users/user/.config/verdaccio/verdaccio-cert.pem ca: /Users/user/.config/verdaccio/verdaccio-csr.pem +* Edit your config file `/Users/user/.config/verdaccio/config.yaml` and add the following section: -
Alternatively, if you have a certificate with the `server.pfx` format, you can add the following configuration section: (The passphrase is optional and only needed if your certificate is encrypted.) - - +```` +https: + key: /Users/user/.config/verdaccio/verdaccio-key.pem + cert: /Users/user/.config/verdaccio/verdaccio-cert.pem + ca: /Users/user/.config/verdaccio/verdaccio-csr.pem +```` +https: key: /Users/user/.config/verdaccio/verdaccio-key.pem cert: /Users/user/.config/verdaccio/verdaccio-cert.pem ca: /Users/user/.config/verdaccio/verdaccio-csr.pem + +```` https: pfx: /Users/user/.config/verdaccio/server.pfx passphrase: 'secret' ```` +```` You can find more info on the `key`, `cert`, `ca`, `pfx`, and `passphrase` arguments in the [Node documentation](https://nodejs.org/api/tls.html#tls_tls_createsecurecontext_options) @@ -40,7 +47,6 @@ You can find more info on the `key`, `cert`, `ca`, `pfx`, and `passphrase` argum These instructions are mostly valid under OSX and Linux; on Windows the paths will vary, but the steps are the same. ## Docker - If you are using the Docker image, you have to set the `VERDACCIO_PROTOCOL` environment variable to `https`, as the `listen` argument is provided in the [Dockerfile](https://github.com/verdaccio/verdaccio/blob/master/Dockerfile#L43) and thus ignored from your config file. -You can also set the `VERDACCIO_PORT` environment variable if you are using a port other than `4873`. \ No newline at end of file +You can also set the `VERDACCIO_PORT` environment variable if you are using a port other than `4873`. diff --git a/website/translated_docs/ar/windows.md b/website/translated_docs/ar/windows.md index eeb0b4e96470..753bd9db917e 100644 --- a/website/translated_docs/ar/windows.md +++ b/website/translated_docs/ar/windows.md @@ -5,10 +5,10 @@ title: "Installing As a Windows Service" Loosely based upon the instructions found [here](http://asysadmin.tumblr.com/post/32941224574/running-nginx-on-windows-as-a-service). I crafted the following and it provided me with a fully working verdaccio service installation: -1. Create a directory for verdaccio +1. Create a directory for verdaccio * mkdir `c:\verdaccio` * cd `c:\verdaccio` -2. Install verdaccio locally (I ran into npm issues with global installs) +2. Install verdaccio locally (I ran into npm issues with global installs) * npm install verdaccio 3. Create your `config.yaml` file in this location `(c:\verdaccio\config.yaml)` 4. Windows Service Setup @@ -24,29 +24,29 @@ ALTERNATIVE METHOD: (WinSW package was missing when I tried to download it) * Open an administrative command * Run nssm install verdaccio At a minimum you must fill in the Application tab Path, Startup directory and Arguments fields. Assuming an install with node in the system path and a location of c:\verdaccio the below values will work: - * Path: `node` * Startup directory: `c:\verdaccio` * Arguments: `c:\verdaccio\node_modules\verdaccio\build\lib\cli.js -c c:\verdaccio\config.yaml` - + You can adjust other service settings under other tabs as desired. When you are done, click Install service button - - * Start the service sc start verdaccio + + * Start the service sc start verdaccio ## Using WinSW * As of 2015-10-27, WinSW is no longer available at the below location. Please follow the Using NSSM instructions above. -* Download [WinSW](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/) +* Download [WinSW](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/) * Place the executable (e.g. `winsw-1.9-bin.exe`) into this folder (`c:\verdaccio`) and rename it to `verdaccio-winsw.exe` * Create a configuration file in `c:\verdaccio`, named `verdaccio-winsw.xml` with the following configuration `xml verdaccio verdaccio verdaccio node c:\verdaccio\node_modules\verdaccio\src\lib\cli.js -c c:\verdaccio\config.yaml roll c:\verdaccio`. -* Install your service +* Install your service * `cd c:\verdaccio` * `verdaccio-winsw.exe install` -* Start your service +* Start your service * `verdaccio-winsw.exe start` Some of the above config is more verbose than I had expected, it appears as though 'workingdirectory' is ignored, but other than that, this works for me and allows my verdaccio instance to persist between restarts of the server, and also restart itself should there be any crashes of the verdaccio process. + ## Repositories -* [verdaccio-deamon-windows](https://github.com/davidenke/verdaccio-deamon-windows) \ No newline at end of file +* [verdaccio-deamon-windows](https://github.com/davidenke/verdaccio-deamon-windows) diff --git a/website/translated_docs/cs/caching.md b/website/translated_docs/cs/caching.md index ac8465b67184..e6aded5fd045 100644 --- a/website/translated_docs/cs/caching.md +++ b/website/translated_docs/cs/caching.md @@ -7,10 +7,11 @@ Verdaccio standardně ukládá všechny balíčky do složky `/storage`. Můžet ## Scénáře ukládání do mezipaměti -* Build a Node.js project on **Continous Integration** (Bamboo, GitLab, Jenkins, etc) servers is a task that might take several times at a day, thus, the server will download tons of tarballs from the registry every time takes place. Jako obvykle, nástroje CI vymažou mezipaměť po každém sestavení a proces začne znovu a znovu. To je ztráta šířky pásma a snižuje externí komunikaci. **Verdaccio můžete použít pro ukládání do mezipaměti a metadat v naší interní síti a zrychlit build time.** -* **Latence a připojení**, ne všechny země mají vysokorychlostní připojení. Z tohoto důvodu jsou balíčky lokálně ve vaší síti velmi užitečné. Buď pokud cestujete nebo máte slabé spojení, roaming nebo země se silnými bránami firewall, které by mohly ovlivnit uživatelský komfort (např. poškození tarballs). -* **Režim offline**, v současné době používají všichni správci balíčků své vlastní interní mezipaměti, ale běžné je, že různé projekty mohou používat různé nástroje, což znamená zamykání souborů a podobně. Tyto nástroje nejsou schopny sdílet mezipaměť, jedinečné řešení je centralizované a spoléhá se na registr proxy, mezipaměť Verdaccio všechny metadata a tarballs jsou staženy v závislosti na poptávce a následně sdílena ve všech projektech. -* Vyhněte se tomu, aby jakýkoliv vzdálený registr náhle vrátil chybu *HTTP 404* pro tarballs, které byly dříve k dispozici aka ([problém s levým polem](https://www.theregister.co.uk/2016/03/23/npm_left_pad_chaos/)). +* Build a Node.js project on **Continous Integration** (Bamboo, GitLab, Jenkins, etc) servers is a task that might take several times at a day, thus, the server will download tons of tarballs from the registry every time takes place. Jako obvykle, nástroje CI vymažou mezipaměť po každém sestavení a proces začne znovu a znovu. To je ztráta šířky pásma a snižuje externí komunikaci. **You can use Verdaccio for caching tarballs and metadata in our internal network and give a boost in your build time.** +* **Latency and Connectivity**, not all countries enjoy a high-speed connection. Z tohoto důvodu jsou balíčky lokálně ve vaší síti velmi užitečné. Buď pokud cestujete nebo máte slabé spojení, roaming nebo země se silnými bránami firewall, které by mohly ovlivnit uživatelský komfort (např. poškození tarballs). +* **Offline Mode**, all Node Package Managers nowadays uses their own internal cache, but it common that different projects might use different tools, which implies lock files and so on. Tyto nástroje nejsou schopny sdílet mezipaměť, jedinečné řešení je centralizované a spoléhá se na registr proxy, mezipaměť Verdaccio všechny metadata a tarballs jsou staženy v závislosti na poptávce a následně sdílena ve všech projektech. +* Avoid that any remote registry suddenly returns *HTTP 404* error for tarballs were previously available a.k.a ([left-pad issue](https://www.theregister.co.uk/2016/03/23/npm_left_pad_chaos/)). + # Strategie pro rychlejší build @@ -20,15 +21,16 @@ Verdaccio standardně ukládá všechny balíčky do složky `/storage`. Můžet Pokud máte omezený úložný prostor, možná se budete muset vyhnout tarballs v mezipaměti, povolením `cache` false v každém uplinku se budou ukládat pouze soubory metadat. - uplinks: - npmjs: - url: https://registry.npmjs.org/ - cache: false - +``` +uplinks: + npmjs: + url: https://registry.npmjs.org/ + cache: false +``` ## Prodloužení doby vypršení mezipaměti -Verdaccio ve výchozím nastavení čeká 2 minuty na zrušení platnosti metadat mezipaměti před načtením nových informací ze vzdáleného registru. + Verdaccio ve výchozím nastavení čeká 2 minuty na zrušení platnosti metadat mezipaměti před načtením nových informací ze vzdáleného registru. ```yaml uplinks: @@ -39,6 +41,7 @@ uplinks: Zvýšení hodnoty `maxage` v každém `uplink` způsobí snížení frekvence dotazování. This might be a valid strategy if you don't update dependencies so often. + ## Použití paměti místo pevného disku Sometimes caching packages is not a critical step, rather than route packages from different registries and achieving faster build times. There are two plugins that avoid write in a physical hard drive at all using the memory. @@ -62,4 +65,4 @@ store: limit: 1000 ``` -Remember, once the server is restarted the data is being lost, we recommend this setup in cases where you do not need to persist at all. \ No newline at end of file +Remember, once the server is restarted the data is being lost, we recommend this setup in cases where you do not need to persist at all. diff --git a/website/translated_docs/cs/install.md b/website/translated_docs/cs/install.md index c85760d24ae0..7e53d23d5f07 100644 --- a/website/translated_docs/cs/install.md +++ b/website/translated_docs/cs/install.md @@ -13,7 +13,7 @@ Verdaccio is a multiplatform web application. To install it, you need a few basi > We highly recommend to use the latest versions of Node Package Manager clients `> npm@6.x | yarn@1.x | | yarn@2.x | pnpm@6.x`. Don't support `npm@5.x` or older. -1. A modern web browser to run the web interface. We actually support `Chrome, Firefox, Edge`. +3. A modern web browser to run the web interface. We actually support `Chrome, Firefox, Edge`. > Verdaccio will support latest Node.js version according the [Node.js Release Working Group](https://github.com/nodejs/Release) recomendations. @@ -21,7 +21,7 @@ Are you still using **Verdaccio 4**?. Check the [migration guide](https://verdac ### Quick Introduction -Learn the basics before getting started, how to install, where is the location of the configuration file and more. +Learn the basics before getting started, how to install, where is the location of the configuration file and more. ## Installing the CLI @@ -92,7 +92,7 @@ Or a `publishConfig` in your `package.json` ## Create Your Own Private NPM Package Tutorial -If you'd like a broader explanation, don't miss the tutorial created by [thedevlife](https://mybiolink.co/thedevlife) on how to Create Your Own Private NPM Package using Verdaccio. +If you'd like a broader explanation, don't miss the tutorial created by [thedevlife](https://mybiolink.co/thedevlife) on how to Create Your Own Private NPM Package using Verdaccio. ## Docker Image @@ -106,4 +106,4 @@ docker run -it --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio `Verdaccio` is also available as a 1-click install on [Cloudron](https://cloudron.io) -[![Instalace](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=org.eggertsson.verdaccio) \ No newline at end of file +[![Instalace](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=org.eggertsson.verdaccio) diff --git a/website/translated_docs/cs/kubernetes.md b/website/translated_docs/cs/kubernetes.md index 6b0ae423859d..c1683e4f929d 100644 --- a/website/translated_docs/cs/kubernetes.md +++ b/website/translated_docs/cs/kubernetes.md @@ -23,8 +23,9 @@ Deploy the Helm [verdaccio/verdaccio](https://github.com/verdaccio/charts) chart ### Add repository - helm repo add verdaccio https://charts.verdaccio.org - +``` +helm repo add verdaccio https://charts.verdaccio.org +``` In this example we use `npm` as release name: @@ -52,6 +53,7 @@ helm uninstall npm **Poznámka:** tento příkaz odstraní všechny prostředky včetně balíčků, které jste dříve publikovali do registru. + ### Vlastní konfigurace Verdaccia Můžete upravit konfiguraci Verdaccia pomocí Kubernetes *configMap*. @@ -92,7 +94,6 @@ helm install npm --set customConfigMap=verdaccio-config verdaccio/verdaccio #### NGINX proxy body-size limit The standard k8s NGINX ingress proxy allows for 1MB for body-size which can be increased by modifying the default deployment options according to the [documentation](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#custom-max-body-size): - ```yaml ... @@ -109,4 +110,4 @@ annotations: [Rancher](http://rancher.com/) is a complete container management platform that makes managing and using containers in production really easy. -* [verdaccio-rancher](https://github.com/lgaticaq/verdaccio-rancher) \ No newline at end of file +* [verdaccio-rancher](https://github.com/lgaticaq/verdaccio-rancher) diff --git a/website/translated_docs/cs/linking.md b/website/translated_docs/cs/linking.md index 20936fac8e9d..76f693de99c3 100644 --- a/website/translated_docs/cs/linking.md +++ b/website/translated_docs/cs/linking.md @@ -17,10 +17,11 @@ You can link multiple registries, the following document will drive you through The unique way to access multiple registries using the `.npmrc` is the scope feature as follows: - // .npmrc - registry=https://registry.npmjs.org - @mycompany:registry=http://localhost:4873 - +``` +// .npmrc +registry=https://registry.npmjs.org +@mycompany:registry=http://localhost:4873 +``` This approach is valid, but comes with several disadvantages: @@ -75,7 +76,8 @@ Verdaccio supports multiple registries on the `proxy` field. The request will be Having a full Offline Registry is completely possible. If you don't want any connectivity with external remotes you can do the following. ```yaml -
auth: + +auth: htpasswd: file: ./htpasswd uplinks: @@ -91,4 +93,4 @@ packages: publish: $authenticated ``` -Remove all `proxy` fields within each section of `packages`. The registry will become full offline. \ No newline at end of file +Remove all `proxy` fields within each section of `packages`. The registry will become full offline. diff --git a/website/translated_docs/cs/logger.md b/website/translated_docs/cs/logger.md index 428794ba7ea2..5afd06bc2c49 100644 --- a/website/translated_docs/cs/logger.md +++ b/website/translated_docs/cs/logger.md @@ -28,4 +28,4 @@ Use `SIGUSR2` to notify the application, the log-file was rotated and it needs t | typ | řetězec | Ne | [stdout, file] | všechny | definovat výstup | | cesta | řetězec | Ne | verdaccio.log | všechny | pokud je typ soubor, definujte umístění souboru | | formát | řetězec | Ne | [pretty, pretty-timestamped] | všechny | výstupní formát | -| úroveň | řetězec | Ne | [fatal, error, warn, http, info, debug, trace] | všechny | úroveň podrobností | \ No newline at end of file +| úroveň | řetězec | Ne | [fatal, error, warn, http, info, debug, trace] | všechny | úroveň podrobností | diff --git a/website/translated_docs/cs/logo.md b/website/translated_docs/cs/logo.md index be2bf2f16029..71ffb5db6423 100644 --- a/website/translated_docs/cs/logo.md +++ b/website/translated_docs/cs/logo.md @@ -11,7 +11,7 @@ Zvláštní poděkování patří *[@Lisapressmar](https://github.com/Lisapressm ## Symboly -**S textem** +__S textem__ ![symbol malý s textem](assets/logo/symbol/png/logo-small-header-bottom.png) @@ -19,11 +19,11 @@ Zvláštní poděkování patří *[@Lisapressmar](https://github.com/Lisapressm ![symbol velký s textem](assets/logo/symbol/png/logo-small-header-bottom@3x.png) -**SVG** +__SVG__ ![symbol svg](assets/logo/symbol/svg/logo-small-header-bottom.svg) -**Bez textu** +__Bez textu__ ![symbol malý](assets/logo/symbol/png/verdaccio-tiny.png) @@ -31,10 +31,12 @@ Zvláštní poděkování patří *[@Lisapressmar](https://github.com/Lisapressm ![symbol velký](assets/logo/symbol/png/verdaccio-tiny@3x.png) -**SVG** +__SVG__ ![svg formát bez textu](assets/logo/symbol/svg/verdaccio-tiny.svg) + + ### Černobílé ![symbol bw malý](assets/logo/symbol/png/verdaccio-blackwhite.png) @@ -43,14 +45,17 @@ Zvláštní poděkování patří *[@Lisapressmar](https://github.com/Lisapressm ![symbol bw velký](assets/logo/symbol/png/verdaccio-blackwhite@3x.png) -**SVG** +__SVG__ ![symbol bw svg](assets/logo/symbol/svg/verdaccio-blackwhite.svg) + ## Banner ![banner malý](assets/logo/banner/png/verdaccio-banner.png) ![banner střední](assets/logo/banner/png/verdaccio-banner@2x.png) -![banner velký](assets/logo/banner/png/verdaccio-banner@3x.png) \ No newline at end of file +![banner velký](assets/logo/banner/png/verdaccio-banner@3x.png) + + diff --git a/website/translated_docs/cs/node-api.md b/website/translated_docs/cs/node-api.md index e290e00176a5..c3e2f60afa58 100644 --- a/website/translated_docs/cs/node-api.md +++ b/website/translated_docs/cs/node-api.md @@ -39,4 +39,4 @@ verdaccioServer.serviceUninstall(); verdaccioServer.serviceStart(); verdaccioServer.serviceStop(); verdaccioServer.serviceRestart(); -``` \ No newline at end of file +``` diff --git a/website/translated_docs/cs/notifications.md b/website/translated_docs/cs/notifications.md index 56438ff57721..c2a32c91ff19 100644 --- a/website/translated_docs/cs/notifications.md +++ b/website/translated_docs/cs/notifications.md @@ -48,12 +48,13 @@ Jako hlavní šablonovací engine používáme [Handlebars](https://handlebarsjs ### Format Examples - # iterate all versions - {{ name }}{{#each versions}} v{{version}}{{/each}} - - # publisher and `dist-tag` package published - {{ publisher.name }} has published {{ publishedPackage }} - +``` +# iterate all versions +{{ name }}{{#each versions}} v{{version}}{{/each}} + +# publisher and `dist-tag` package published +{{ publisher.name }} has published {{ publishedPackage }} +``` ### Properties @@ -67,54 +68,56 @@ Seznam vlastností dostupných pomocí šablon Package metadata that the template has access - { - "_id": "@test/pkg1", - "name": "@test/pkg1", - "description": "", - "dist-tags": { - "beta": "1.0.54" - }, - "versions": { - "1.0.54": { - "name": "@test/pkg1", - "version": "1.0.54", - "description": "some description", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": { - "name": "Author Name", - "email": "author@domain.com" - }, - "license": "MIT", - "dependencies": { - "webpack": "4.12.0" - }, - "readmeFilename": "README.md", - "_id": "@ test/pkg1@1.0.54", - "_npmVersion": "6.1.0", - "_nodeVersion": "9.9.0", - "_npmUser": {}, - "dist": { - "integrity": "sha512-JlXWpLtMUBAqvVZBvH7UVLhXkGE1ctmXbDjbH/l0zMuG7wVzQ7GshTYvD/b5C+G2vOL2oiIS1RtayA/kKkTwKw==", - "shasum": "29c55c52c1e76e966e706165e5b9f22e32aa9f22", - "tarball": "http://localhost:4873/@test/pkg1/-/@test/pkg1-1.0.54.tgz" - } - } - }, - "readme": "# test", - "_attachments": { - "@test/pkg1-1.0.54.tgz": { - "content_type": "application/octet-stream", - "data": "H4sIAAAAAAAAE+y9Z5PjyJIgOJ ...", - "length": 33112 +``` +{ + "_id": "@test/pkg1", + "name": "@test/pkg1", + "description": "", + "dist-tags": { + "beta": "1.0.54" + }, + "versions": { + "1.0.54": { + "name": "@test/pkg1", + "version": "1.0.54", + "description": "some description", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": { + "name": "Author Name", + "email": "author@domain.com" + }, + "license": "MIT", + "dependencies": { + "webpack": "4.12.0" + }, + "readmeFilename": "README.md", + "_id": "@ test/pkg1@1.0.54", + "_npmVersion": "6.1.0", + "_nodeVersion": "9.9.0", + "_npmUser": {}, + "dist": { + "integrity": "sha512-JlXWpLtMUBAqvVZBvH7UVLhXkGE1ctmXbDjbH/l0zMuG7wVzQ7GshTYvD/b5C+G2vOL2oiIS1RtayA/kKkTwKw==", + "shasum": "29c55c52c1e76e966e706165e5b9f22e32aa9f22", + "tarball": "http://localhost:4873/@test/pkg1/-/@test/pkg1-1.0.54.tgz" } - }, - "time": {} - } - + } + }, + "readme": "# test", + "_attachments": { + "@test/pkg1-1.0.54.tgz": { + "content_type": "application/octet-stream", + "data": "H4sIAAAAAAAAE+y9Z5PjyJIgOJ ...", + "length": 33112 + } + }, + "time": {} +} +``` + ### Publisher @@ -122,21 +125,23 @@ You can get access to the package publisher information in the `content` of a we See below the `publisher` object type: - { - name: string, - groups: string[], - real_groups: string[] - } - +``` +{ + name: string, + groups: string[], + real_groups: string[] +} +``` An example: - notify: - method: POST - headers: [{'Content-Type': 'application/json'}] - endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken - content: '{"color":"green","message":"New package published: * {{ name }}*. Publisher name: * {{ publisher.name }} *.","notify":true,"message_format":"text"}' - +``` +notify: + method: POST + headers: [{'Content-Type': 'application/json'}] + endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken + content: '{"color":"green","message":"New package published: * {{ name }}*. Publisher name: * {{ publisher.name }} *.","notify":true,"message_format":"text"}' +``` **Note:** it's not possible to get the publisher information if the `package.json` file already has the `publisher` property. @@ -144,8 +149,9 @@ An example: You can access to the package is being published with the keyword `{{publishedPackage}}` as follows. - {{ publisher.name }} has published {{ publishedPackage }} - +``` +{{ publisher.name }} has published {{ publishedPackage }} +``` ## Konfigurace @@ -156,4 +162,4 @@ You can access to the package is being published with the keyword `{{publishedPa | packagePatternFlags | řetězec | Ne | všechny | | Any flags to be used with the regular expression | | headers | array/object | Ano | všechny | | If this endpoint requires specific headers, set them here as an array of key: value objects. | | endpoint | řetězec | Ano | všechny | | set the URL endpoint for this call | -| content | řetězec | Ano | všechny | | any [Handlebar](https://handlebarsjs.com/) expressions | \ No newline at end of file +| content | řetězec | Ano | všechny | | any [Handlebar](https://handlebarsjs.com/) expressions | diff --git a/website/translated_docs/cs/packages.md b/website/translated_docs/cs/packages.md index b09ed9decb9f..f97209c98aa1 100644 --- a/website/translated_docs/cs/packages.md +++ b/website/translated_docs/cs/packages.md @@ -155,7 +155,7 @@ You may assign multiple uplinks for use as a proxy to use in the case of failove #### Unpublishing Packages -The property `publish` handle permissions for `npm publish` and `npm unpublish`. But, if you want to be more specific, you can use the property `unpublish` in your package access section, for instance: +The property `publish` handle permissions for `npm publish` and `npm unpublish`. But, if you want to be more specific, you can use the property `unpublish` in your package access section, for instance: ```yalm packages: @@ -183,6 +183,7 @@ In the previous example, the behaviour would be described: * only authenticated users can publish `my-company-*` packages, but **nobody would be allowed to unpublish them**. * If `unpublish` is commented out, the access will be granted or denied by the `publish` definition. + ### Konfigurace You can define mutiple `packages` and each of them must have an unique `Regex`. The syntax is based on [minimatch glob expressions](https://github.com/isaacs/minimatch). @@ -196,4 +197,4 @@ You can define mutiple `packages` and each of them must have an unique `Regex`. > We higlight that we recommend to not use **allow_access**/**allow_publish** and **proxy_access** anymore, those are deprecated and will soon be removed, please use the short version of each of those (**access**/**publish**/**proxy**). -If you want more information about how to use the **storage** property, please refer to this [comment](https://github.com/verdaccio/verdaccio/issues/1383#issuecomment-509933674). \ No newline at end of file +If you want more information about how to use the **storage** property, please refer to this [comment](https://github.com/verdaccio/verdaccio/issues/1383#issuecomment-509933674). diff --git a/website/translated_docs/cs/plugins.md b/website/translated_docs/cs/plugins.md index c937db005489..c7b4b0a70a2a 100644 --- a/website/translated_docs/cs/plugins.md +++ b/website/translated_docs/cs/plugins.md @@ -24,8 +24,9 @@ $> npm install --global verdaccio-activedirectory `verdaccio` as a sinopia fork it has backward compability with plugins that are compatible with `sinopia@1.4.0`. In such case the installation is the same. - $> npm install --global sinopia-memory - +``` +$> npm install --global sinopia-memory +``` ### Konfigurace @@ -33,6 +34,7 @@ Open the `config.yaml` file and update the `auth` section as follows: The default configuration looks like this, due we use a build-in `htpasswd` plugin by default that you can disable just commenting out the following lines. + ### Authentication Configuration ```yaml @@ -93,12 +95,14 @@ store: Verdaccio allows to replace the User Interface with a custom one, we call it **theme**. By default, uses `@verdaccio/ui-theme` that comes built-in, but, you can use something different installing your own plugin. ```bash -
$> npm install --global verdaccio-theme-dark + +$> npm install --global verdaccio-theme-dark ``` > The plugin name prefix must start with `verdaccio-theme`, otherwise the plugin won't load. + You can load only one theme at a time and pass through options if you need it. ```yaml @@ -132,4 +136,5 @@ theme: * [sinopia-ldap](https://www.npmjs.com/package/sinopia-ldap): LDAP auth plugin for sinopia. * [sinopia-github-oauth-env](https://www.npmjs.com/package/sinopia-github-oauth-env) Sinopia authentication plugin with github oauth web flow. -> All sinopia plugins should be compatible with all future verdaccio versions. Anyhow, we encourage contributors to migrate them to the modern verdaccio API and using the prefix as *verdaccio-xx-name*. \ No newline at end of file +> All sinopia plugins should be compatible with all future verdaccio versions. Anyhow, we encourage contributors to migrate them to the modern verdaccio API and using the prefix as *verdaccio-xx-name*. + diff --git a/website/translated_docs/cs/protect-your-dependencies.md b/website/translated_docs/cs/protect-your-dependencies.md index 25343e3a7ce1..9ceacfdc02b2 100644 --- a/website/translated_docs/cs/protect-your-dependencies.md +++ b/website/translated_docs/cs/protect-your-dependencies.md @@ -40,6 +40,6 @@ or with `yarn`: ➜ yarn add my-company-core yarn add v0.24.6 info No lockfile found. -[1/4] +[1/4] 🔍 Resolving packages... error An unexpected error occurred: "http://localhost:5555/webpack-1: unregistered users are not allowed to access package my-company-core". -``` \ No newline at end of file +``` diff --git a/website/translated_docs/cs/puppet.md b/website/translated_docs/cs/puppet.md index fe1e545db338..1d92231cc642 100644 --- a/website/translated_docs/cs/puppet.md +++ b/website/translated_docs/cs/puppet.md @@ -16,6 +16,10 @@ In both variants you have to explicitely call "class nodejs {}" in your puppet s Další informace: - +[https://github.com/verdaccio/puppet-verdaccio](https://github.com/verdaccio/puppet-verdaccio) + +> We are looking for active contributors for this integration, if you are interested [refers to this ticket](https://github.com/verdaccio/puppet-verdaccio/issues/11). + + + -> We are looking for active contributors for this integration, if you are interested [refers to this ticket](https://github.com/verdaccio/puppet-verdaccio/issues/11). \ No newline at end of file diff --git a/website/translated_docs/cs/repositories.md b/website/translated_docs/cs/repositories.md index fac3fe942aaa..19433d9f03dc 100644 --- a/website/translated_docs/cs/repositories.md +++ b/website/translated_docs/cs/repositories.md @@ -5,4 +5,5 @@ title: Source Code `verdaccio` is composed or multiple repositories you might contribute. Look into the **issues** tab whether there is a ticket waiting for you 🤠. -To see the complete list of repositories, [click here](https://github.com/verdaccio/verdaccio/wiki/Repositories). \ No newline at end of file +To see the complete list of repositories, [click here](https://github.com/verdaccio/verdaccio/wiki/Repositories). + diff --git a/website/translated_docs/cs/reverse-proxy.md b/website/translated_docs/cs/reverse-proxy.md index 769d34e4eb64..f302852d1604 100644 --- a/website/translated_docs/cs/reverse-proxy.md +++ b/website/translated_docs/cs/reverse-proxy.md @@ -11,141 +11,145 @@ Apache and `mod_proxy` should **not decode/encode slashes** and leave them as th For installing at relative path, `/npm`, on the server - - AllowEncodedSlashes NoDecode - ProxyPass /npm http://127.0.0.1:4873 nocanon - ProxyPassReverse /npm http://127.0.0.1:4873 - - +```` + + AllowEncodedSlashes NoDecode + ProxyPass /npm http://127.0.0.1:4873 nocanon + ProxyPassReverse /npm http://127.0.0.1:4873 + +```` For installing at root path, `/`, on the server - - - ServerName your.domain.com - ServerAdmin hello@your.domain.com - ProxyPreserveHost On - AllowEncodedSlashes NoDecode - ProxyPass / http://127.0.0.1:4873/ nocanon - ProxyPassReverse / http://127.0.0.1:4873/ - - +```` + + ServerName your.domain.com + ServerAdmin hello@your.domain.com + ProxyPreserveHost On + AllowEncodedSlashes NoDecode + ProxyPass / http://127.0.0.1:4873/ nocanon + ProxyPassReverse / http://127.0.0.1:4873/ + +```` ### Configuration with SSL Apache virtual server configuration - apacheconfig - - - ServerName npm.your.domain.com - SSLEngine on - SSLCertificateFile /etc/letsencrypt/live/npm.your.domain.com/fullchain.pem - SSLCertificateKeyFile /etc/letsencrypt/live/npm.your.domain.com/privkey.pem - SSLProxyEngine On - ProxyRequests Off - ProxyPreserveHost On - AllowEncodedSlashes NoDecode - ProxyPass / http://127.0.0.1:4873/ nocanon - ProxyPassReverse / http://127.0.0.1:4873/ - RequestHeader set X-Forwarded-Proto "https" - - - +```` + apacheconfig + + + ServerName npm.your.domain.com + SSLEngine on + SSLCertificateFile /etc/letsencrypt/live/npm.your.domain.com/fullchain.pem + SSLCertificateKeyFile /etc/letsencrypt/live/npm.your.domain.com/privkey.pem + SSLProxyEngine On + ProxyRequests Off + ProxyPreserveHost On + AllowEncodedSlashes NoDecode + ProxyPass / http://127.0.0.1:4873/ nocanon + ProxyPassReverse / http://127.0.0.1:4873/ + RequestHeader set X-Forwarded-Proto "https" + + +```` # Nginx The following snippet is a full `docker` example can be tested in our [Docker examples repository](https://github.com/verdaccio/verdaccio/tree/5.x/docker-examples/reverse_proxy/nginx). - upstream verdaccio_v4 { - server verdaccio_relative_path_v4:4873; - keepalive 8; - } - - upstream verdaccio_v4_root { - server verdaccio_relative_path_v4_root:8000; - keepalive 8; +```` +upstream verdaccio_v4 { + server verdaccio_relative_path_v4:4873; + keepalive 8; +} + +upstream verdaccio_v4_root { + server verdaccio_relative_path_v4_root:8000; + keepalive 8; +} + +upstream verdaccio_v3 { + server verdaccio_relative_path_latest_v3:7771; + keepalive 8; +} + +server { + listen 80 default_server; + access_log /var/log/nginx/verdaccio.log; + charset utf-8; + + location / { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4_root; + proxy_redirect off; } - - upstream verdaccio_v3 { - server verdaccio_relative_path_latest_v3:7771; - keepalive 8; + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4/$1; + proxy_redirect off; } - - server { - listen 80 default_server; - access_log /var/log/nginx/verdaccio.log; - charset utf-8; - - location / { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4_root; - proxy_redirect off; - } - - location ~ ^/verdaccio/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4/$1; - proxy_redirect off; - } - - location ~ ^/verdacciov3/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - - proxy_pass http://verdaccio_v3/$1; - proxy_redirect off; - } + + location ~ ^/verdacciov3/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + + proxy_pass http://verdaccio_v3/$1; + proxy_redirect off; } - +} +```` ## SSL example - server { - listen 80; - return 302 https://$host$request_uri; +```` +server { + listen 80; + return 302 https://$host$request_uri; +} + +server { + listen 443 ssl http2; + server_name localhost; + + ssl_certificate /etc/nginx/cert.crt; + ssl_certificate_key /etc/nginx/cert.key; + + ssl on; + ssl_session_cache builtin:1000 shared:SSL:10m; + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; + ssl_prefer_server_ciphers on; + + location / { + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_pass http://verdaccio_v4_root; + proxy_read_timeout 600; + proxy_redirect off; } - - server { - listen 443 ssl http2; - server_name localhost; - - ssl_certificate /etc/nginx/cert.crt; - ssl_certificate_key /etc/nginx/cert.key; - - ssl on; - ssl_session_cache builtin:1000 shared:SSL:10m; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; - ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; - ssl_prefer_server_ciphers on; - - location / { - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_pass http://verdaccio_v4_root; - proxy_read_timeout 600; - proxy_redirect off; - } - - location ~ ^/verdaccio/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4_root/$1; - proxy_redirect off; - } + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4_root/$1; + proxy_redirect off; } - +} +```` ## Run behind reverse proxy with different domain and port @@ -171,10 +175,9 @@ location / { proxy_set_header X-Forwarded-Proto $scheme; } ``` - For this case, `url_prefix` should **NOT** set in Verdaccio config -* * * +--- or a sub-directory installation: @@ -186,7 +189,6 @@ location ~ ^/verdaccio/(.*)$ { proxy_set_header X-Forwarded-Proto $scheme; } ``` - For this case, `url_prefix` should set to `/verdaccio/` -> Note: There is a slash after the install path (`https://your-domain:port/verdaccio/`)! \ No newline at end of file +> Note: There is a slash after the install path (`https://your-domain:port/verdaccio/`)! diff --git a/website/translated_docs/cs/server.md b/website/translated_docs/cs/server.md index 7473ea12d00c..51498ca32c44 100644 --- a/website/translated_docs/cs/server.md +++ b/website/translated_docs/cs/server.md @@ -31,7 +31,6 @@ The `cd` command sends you to the home directory of the Verdaccio user. Make sur ## Listening on all addresses If you want to listen to every external address set the listen directive in the config to: - ```yaml # you can specify listen address (or simply a port) listen: 0.0.0.0:4873 @@ -71,8 +70,9 @@ $ crontab -e This might ask you to choose an editor. Pick your favorite and proceed. Add the following entry to the file: - @reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio - +``` +@reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio +``` The locations may vary depending on your server setup. If you want to know where your files are you can use the 'which' command: @@ -84,9 +84,7 @@ $ which verdaccio ## Using systemd Instead of `forever` you can use `systemd` for starting Verdaccio and keeping it running. Verdaccio installation has systemd unit, you only need to copy it: - ```bash $ sudo cp /usr/lib/node_modules/verdaccio/systemd/verdaccio.service /lib/systemd/system/ && sudo systemctl daemon-reload ``` - -This unit assumes you have configuration in `/etc/verdaccio/config.yaml` and store data in `/var/lib/verdaccio`, so either move your files to those locations or edit the unit. \ No newline at end of file +This unit assumes you have configuration in `/etc/verdaccio/config.yaml` and store data in `/var/lib/verdaccio`, so either move your files to those locations or edit the unit. diff --git a/website/translated_docs/cs/windows.md b/website/translated_docs/cs/windows.md index 6087880603d5..cc22e8730120 100644 --- a/website/translated_docs/cs/windows.md +++ b/website/translated_docs/cs/windows.md @@ -5,10 +5,10 @@ title: "Instalovat jako Windows službu" Loosely based upon the instructions found [here](http://asysadmin.tumblr.com/post/32941224574/running-nginx-on-windows-as-a-service). I crafted the following and it provided me with a fully working verdaccio service installation: -1. Create a directory for verdaccio +1. Create a directory for verdaccio * mkdir `c:\verdaccio` * cd `c:\verdaccio` -2. Install verdaccio locally (I ran into npm issues with global installs) +2. Install verdaccio locally (I ran into npm issues with global installs) * npm install verdaccio 3. Create your `config.yaml` file in this location `(c:\verdaccio\config.yaml)` 4. Windows Service Setup @@ -24,29 +24,29 @@ ALTERNATIVE METHOD: (WinSW package was missing when I tried to download it) * Open an administrative command * Run nssm install verdaccio At a minimum you must fill in the Application tab Path, Startup directory and Arguments fields. Assuming an install with node in the system path and a location of c:\verdaccio the below values will work: - * Path: `node` * Startup directory: `c:\verdaccio` * Arguments: `c:\verdaccio\node_modules\verdaccio\build\lib\cli.js -c c:\verdaccio\config.yaml` - + You can adjust other service settings under other tabs as desired. When you are done, click Install service button - - * Start the service sc start verdaccio + + * Start the service sc start verdaccio ## Using WinSW * As of 2015-10-27, WinSW is no longer available at the below location. Please follow the Using NSSM instructions above. -* Download [WinSW](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/) +* Download [WinSW](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/) * Place the executable (e.g. `winsw-1.9-bin.exe`) into this folder (`c:\verdaccio`) and rename it to `verdaccio-winsw.exe` * Create a configuration file in `c:\verdaccio`, named `verdaccio-winsw.xml` with the following configuration `xml verdaccio verdaccio verdaccio node c:\verdaccio\node_modules\verdaccio\src\lib\cli.js -c c:\verdaccio\config.yaml roll c:\verdaccio`. -* Install your service +* Install your service * `cd c:\verdaccio` * `verdaccio-winsw.exe install` -* Start your service +* Start your service * `verdaccio-winsw.exe start` Some of the above config is more verbose than I had expected, it appears as though 'workingdirectory' is ignored, but other than that, this works for me and allows my verdaccio instance to persist between restarts of the server, and also restart itself should there be any crashes of the verdaccio process. + ## Repozitáře -* [verdaccio-deamon-windows](https://github.com/davidenke/verdaccio-deamon-windows) \ No newline at end of file +* [verdaccio-deamon-windows](https://github.com/davidenke/verdaccio-deamon-windows) diff --git a/website/translated_docs/de/caching.md b/website/translated_docs/de/caching.md index 60b7f65879e2..f662d67dfa25 100644 --- a/website/translated_docs/de/caching.md +++ b/website/translated_docs/de/caching.md @@ -7,11 +7,12 @@ Verdaccio caches all packages by default into the `/storage` folder. But you can ## Caching scenarios -* Build a Node.js project on **Continous Integration** (Bamboo, GitLab, Jenkins, etc) servers is a task that might take several times at a day, thus, the server will download tons of tarballs from the registry every time takes place. As usual, the CI tools clear the cache after each build and the process start over and over again. That is a waste of bandwidth and reduces the external traffic. **You can use Verdaccio for caching tarballs and metadata in our internal network and give a boost in your build time.** +* Build a Node.js project on **Continous Integration** (Bamboo, GitLab, Jenkins, etc) servers is a task that might take several times at a day, thus, the server will download tons of tarballs from the registry every time takes place. As usual, the CI tools clear the cache after each build and the process start over and over again. That is a waste of bandwidth and reduces the external traffic. **You can use Verdaccio for caching tarballs and metadata in our internal network and give a boost in your build time.** * **Latency and Connectivity**, not all countries enjoy a high-speed connection. For such reason cache packages locally in your network is really handy. Either if you are traveling, or have a weak connection, roaming or countries with strong Firewalls that might affect the user experience (eg: corrupting tarballs). * **Offline Mode**, all Node Package Managers nowadays uses their own internal cache, but it common that different projects might use different tools, which implies lock files and so on. Those tools are unable to share cache, the unique solution is centralized and relies on a proxy registry, Verdaccio cache all metadata and tarballs are downloaded by demand being able to share them across all your project. * Avoid that any remote registry suddenly returns *HTTP 404* error for tarballs were previously available a.k.a ([left-pad issue](https://www.theregister.co.uk/2016/03/23/npm_left_pad_chaos/)). + # Strategies for faster builds > We are looking for more strategies, feel free to share your experience in this field @@ -20,15 +21,16 @@ Verdaccio caches all packages by default into the `/storage` folder. But you can If you have a limited storage space, you might need to avoid cache tarballs, enabling `cache` false in each uplink will cache only metadata files. - uplinks: - npmjs: - url: https://registry.npmjs.org/ - cache: false - +``` +uplinks: + npmjs: + url: https://registry.npmjs.org/ + cache: false +``` ## Extending Cache Expiration Time -Verdaccio by default waits 2 minutes to invalidate the cache metadata before fetching new information from the remote registry. + Verdaccio by default waits 2 minutes to invalidate the cache metadata before fetching new information from the remote registry. ```yaml uplinks: @@ -39,6 +41,7 @@ uplinks: Increasing the value of `maxage` in each `uplink` remotes will be asked less frequently. This might be a valid strategy if you don't update dependencies so often. + ## Using the memory instead the hardrive Sometimes caching packages is not a critical step, rather than route packages from different registries and achieving faster build times. There are two plugins that avoid write in a physical hard drive at all using the memory. @@ -62,4 +65,4 @@ store: limit: 1000 ``` -Remember, once the server is restarted the data is being lost, we recommend this setup in cases where you do not need to persist at all. \ No newline at end of file +Remember, once the server is restarted the data is being lost, we recommend this setup in cases where you do not need to persist at all. diff --git a/website/translated_docs/de/install.md b/website/translated_docs/de/install.md index 58ff0423a548..c0469c1777ca 100644 --- a/website/translated_docs/de/install.md +++ b/website/translated_docs/de/install.md @@ -13,7 +13,7 @@ Verdaccio is a multiplatform web application. To install it, you need a few basi > We highly recommend to use the latest versions of Node Package Manager clients `> npm@6.x | yarn@1.x | | yarn@2.x | pnpm@6.x`. Don't support `npm@5.x` or older. -1. A modern web browser to run the web interface. We actually support `Chrome, Firefox, Edge`. +3. A modern web browser to run the web interface. We actually support `Chrome, Firefox, Edge`. > Verdaccio wird laut [Node.js Release Working Group](https://github.com/nodejs/Release) Empfehlung die neuste Node.js Version unterstützen. @@ -21,7 +21,7 @@ Are you still using **Verdaccio 4**?. Check the [migration guide](https://verdac ### Quick Introduction -Learn the basics before getting started, how to install, where is the location of the configuration file and more. +Learn the basics before getting started, how to install, where is the location of the configuration file and more. ## Installing the CLI @@ -92,7 +92,7 @@ Or a `publishConfig` in your `package.json` ## Create Your Own Private NPM Package Tutorial -If you'd like a broader explanation, don't miss the tutorial created by [thedevlife](https://mybiolink.co/thedevlife) on how to Create Your Own Private NPM Package using Verdaccio. +If you'd like a broader explanation, don't miss the tutorial created by [thedevlife](https://mybiolink.co/thedevlife) on how to Create Your Own Private NPM Package using Verdaccio. ## Docker Image @@ -106,4 +106,4 @@ docker run -it --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio `Verdaccio` is also available as a 1-click install on [Cloudron](https://cloudron.io) -[![Install](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=org.eggertsson.verdaccio) \ No newline at end of file +[![Install](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=org.eggertsson.verdaccio) diff --git a/website/translated_docs/de/kubernetes.md b/website/translated_docs/de/kubernetes.md index 4d41ab7fc2ab..3cf8b7096625 100644 --- a/website/translated_docs/de/kubernetes.md +++ b/website/translated_docs/de/kubernetes.md @@ -23,8 +23,9 @@ Deploy the Helm [verdaccio/verdaccio](https://github.com/verdaccio/charts) chart ### Add repository - helm repo add verdaccio https://charts.verdaccio.org - +``` +helm repo add verdaccio https://charts.verdaccio.org +``` In this example we use `npm` as release name: @@ -52,6 +53,7 @@ helm uninstall npm **Note:** this command delete all the resources, including packages that you may have previously published to the registry. + ### Custom Verdaccio configuration You can customize the Verdaccio configuration using a Kubernetes *configMap*. @@ -92,21 +94,22 @@ helm install npm --set customConfigMap=verdaccio-config verdaccio/verdaccio #### NGINX proxy body-size limit The standard k8s NGINX ingress proxy allows for 1MB for body-size which can be increased by modifying the default deployment options according to the [documentation](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#custom-max-body-size): - ```yaml ... annotations: ... - kubernetes.io/proxy-body-size: 20m -.... + annotations: ... + kubernetes.io/proxy-body-size: 20m +.... + ``` ## Rancher Support [Rancher](http://rancher.com/) is a complete container management platform that makes managing and using containers in production really easy. -* [verdaccio-rancher](https://github.com/lgaticaq/verdaccio-rancher) \ No newline at end of file +* [verdaccio-rancher](https://github.com/lgaticaq/verdaccio-rancher) diff --git a/website/translated_docs/de/linking.md b/website/translated_docs/de/linking.md index e64e7bf6d347..6fc9e158dc43 100644 --- a/website/translated_docs/de/linking.md +++ b/website/translated_docs/de/linking.md @@ -17,10 +17,11 @@ Du kannst mehrere Registrierungen verknüpfen. Das folgende Dokument führt dich The unique way to access multiple registries using the `.npmrc` is the scope feature as follows: - // .npmrc - registry=https://registry.npmjs.org - @mycompany:registry=http://localhost:4873 - +``` +// .npmrc +registry=https://registry.npmjs.org +@mycompany:registry=http://localhost:4873 +``` This approach is valid, but comes with several disadvantages: @@ -66,6 +67,11 @@ Add a `proxy` section to define the selected registry you want to proxy. access: $all publish: $authenticated proxy: server1 server2 + + 'webpack': + access: $all + publish: $authenticated + proxy: server1 server2 ``` Verdaccio supports multiple registries on the `proxy` field. The request will be resolved with the first in the list; if that fails, it will try with the next in the list and so on. @@ -75,7 +81,8 @@ Verdaccio supports multiple registries on the `proxy` field. The request will be Having a full Offline Registry is completely possible. If you don't want any connectivity with external remotes you can do the following. ```yaml -
auth: + +auth: htpasswd: file: ./htpasswd uplinks: @@ -91,4 +98,4 @@ packages: publish: $authenticated ``` -Remove all `proxy` fields within each section of `packages`. The registry will become full offline. \ No newline at end of file +Remove all `proxy` fields within each section of `packages`. The registry will become full offline. diff --git a/website/translated_docs/de/logger.md b/website/translated_docs/de/logger.md index 9e2ac88b7725..6a2238afd6a5 100644 --- a/website/translated_docs/de/logger.md +++ b/website/translated_docs/de/logger.md @@ -28,4 +28,4 @@ Use `SIGUSR2` to notify the application, the log-file was rotated and it needs t | type | string | Nein | [stdout, file] | all | define the output | | path | string | Nein | verdaccio.log | all | if type is file, define the location of that file | | format | string | Nein | [pretty, pretty-timestamped] | all | output format | -| level | string | Nein | [fatal, error, warn, http, info, debug, trace] | all | verbose level | \ No newline at end of file +| level | string | Nein | [fatal, error, warn, http, info, debug, trace] | all | verbose level | diff --git a/website/translated_docs/de/logo.md b/website/translated_docs/de/logo.md index 0c36e0a7437b..7cd319e601b3 100644 --- a/website/translated_docs/de/logo.md +++ b/website/translated_docs/de/logo.md @@ -11,7 +11,7 @@ Besonderer Dank gilt *[@Lisapressmar](https://github.com/Lisapressmar)* für Ihr ## Symbole -**Mit Text** +__Mit Text__ ![Symbol klein mit Text](assets/logo/symbol/png/logo-small-header-bottom.png) @@ -19,11 +19,11 @@ Besonderer Dank gilt *[@Lisapressmar](https://github.com/Lisapressmar)* für Ihr ![Symbol groß mit Text](assets/logo/symbol/png/logo-small-header-bottom@3x.png) -**SVG** +__SVG__ ![Symbol SVG](assets/logo/symbol/svg/logo-small-header-bottom.svg) -**Kein Text** +__Kein Text__ ![Symbol klein](assets/logo/symbol/png/verdaccio-tiny.png) @@ -31,10 +31,12 @@ Besonderer Dank gilt *[@Lisapressmar](https://github.com/Lisapressmar)* für Ihr ![Symbol groß](assets/logo/symbol/png/verdaccio-tiny@3x.png) -**SVG** +__SVG__ ![Symbol SVG ohne Text](assets/logo/symbol/svg/verdaccio-tiny.svg) + + ### Schwarz&Weiß ![Symbol bw klein](assets/logo/symbol/png/verdaccio-blackwhite.png) @@ -43,14 +45,17 @@ Besonderer Dank gilt *[@Lisapressmar](https://github.com/Lisapressmar)* für Ihr ![Symbol bw groß](assets/logo/symbol/png/verdaccio-blackwhite@3x.png) -**SVG** +__SVG__ ![Symbol bw SVG](assets/logo/symbol/svg/verdaccio-blackwhite.svg) + ## Banner ![Banner klein](assets/logo/banner/png/verdaccio-banner.png) ![Banner mittel](assets/logo/banner/png/verdaccio-banner@2x.png) -![Banner groß](assets/logo/banner/png/verdaccio-banner@3x.png) \ No newline at end of file +![Banner groß](assets/logo/banner/png/verdaccio-banner@3x.png) + + diff --git a/website/translated_docs/de/node-api.md b/website/translated_docs/de/node-api.md index 4c72e42fa423..6b1cf5e61509 100644 --- a/website/translated_docs/de/node-api.md +++ b/website/translated_docs/de/node-api.md @@ -39,4 +39,4 @@ verdaccioServer.serviceUninstall(); verdaccioServer.serviceStart(); verdaccioServer.serviceStop(); verdaccioServer.serviceRestart(); -``` \ No newline at end of file +``` diff --git a/website/translated_docs/de/notifications.md b/website/translated_docs/de/notifications.md index 6776050e914e..9f7111eea60b 100644 --- a/website/translated_docs/de/notifications.md +++ b/website/translated_docs/de/notifications.md @@ -48,12 +48,13 @@ We use [Handlebars](https://handlebarsjs.com/) as main template engine. ### Format Examples - # iterate all versions - {{ name }}{{#each versions}} v{{version}}{{/each}} - - # publisher and `dist-tag` package published - {{ publisher.name }} has published {{ publishedPackage }} - +``` +# iterate all versions +{{ name }}{{#each versions}} v{{version}}{{/each}} + +# publisher and `dist-tag` package published +{{ publisher.name }} has published {{ publishedPackage }} +``` ### Properties @@ -67,54 +68,56 @@ List of properties accesible via template Package metadata that the template has access - { - "_id": "@test/pkg1", - "name": "@test/pkg1", - "description": "", - "dist-tags": { - "beta": "1.0.54" - }, - "versions": { - "1.0.54": { - "name": "@test/pkg1", - "version": "1.0.54", - "description": "some description", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": { - "name": "Author Name", - "email": "author@domain.com" - }, - "license": "MIT", - "dependencies": { - "webpack": "4.12.0" - }, - "readmeFilename": "README.md", - "_id": "@ test/pkg1@1.0.54", - "_npmVersion": "6.1.0", - "_nodeVersion": "9.9.0", - "_npmUser": {}, - "dist": { - "integrity": "sha512-JlXWpLtMUBAqvVZBvH7UVLhXkGE1ctmXbDjbH/l0zMuG7wVzQ7GshTYvD/b5C+G2vOL2oiIS1RtayA/kKkTwKw==", - "shasum": "29c55c52c1e76e966e706165e5b9f22e32aa9f22", - "tarball": "http://localhost:4873/@test/pkg1/-/@test/pkg1-1.0.54.tgz" - } - } - }, - "readme": "# test", - "_attachments": { - "@test/pkg1-1.0.54.tgz": { - "content_type": "application/octet-stream", - "data": "H4sIAAAAAAAAE+y9Z5PjyJIgOJ ...", - "length": 33112 +``` +{ + "_id": "@test/pkg1", + "name": "@test/pkg1", + "description": "", + "dist-tags": { + "beta": "1.0.54" + }, + "versions": { + "1.0.54": { + "name": "@test/pkg1", + "version": "1.0.54", + "description": "some description", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": { + "name": "Author Name", + "email": "author@domain.com" + }, + "license": "MIT", + "dependencies": { + "webpack": "4.12.0" + }, + "readmeFilename": "README.md", + "_id": "@ test/pkg1@1.0.54", + "_npmVersion": "6.1.0", + "_nodeVersion": "9.9.0", + "_npmUser": {}, + "dist": { + "integrity": "sha512-JlXWpLtMUBAqvVZBvH7UVLhXkGE1ctmXbDjbH/l0zMuG7wVzQ7GshTYvD/b5C+G2vOL2oiIS1RtayA/kKkTwKw==", + "shasum": "29c55c52c1e76e966e706165e5b9f22e32aa9f22", + "tarball": "http://localhost:4873/@test/pkg1/-/@test/pkg1-1.0.54.tgz" } - }, - "time": {} - } - + } + }, + "readme": "# test", + "_attachments": { + "@test/pkg1-1.0.54.tgz": { + "content_type": "application/octet-stream", + "data": "H4sIAAAAAAAAE+y9Z5PjyJIgOJ ...", + "length": 33112 + } + }, + "time": {} +} +``` + ### Publisher @@ -122,21 +125,23 @@ You can get access to the package publisher information in the `content` of a we See below the `publisher` object type: - { - name: string, - groups: string[], - real_groups: string[] - } - +``` +{ + name: string, + groups: string[], + real_groups: string[] +} +``` An example: - notify: - method: POST - headers: [{'Content-Type': 'application/json'}] - endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken - content: '{"color":"green","message":"New package published: * {{ name }}*. Publisher name: * {{ publisher.name }} *.","notify":true,"message_format":"text"}' - +``` +notify: + method: POST + headers: [{'Content-Type': 'application/json'}] + endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken + content: '{"color":"green","message":"New package published: * {{ name }}*. Publisher name: * {{ publisher.name }} *.","notify":true,"message_format":"text"}' +``` **Note:** it's not possible to get the publisher information if the `package.json` file already has the `publisher` property. @@ -144,8 +149,9 @@ An example: You can access to the package is being published with the keyword `{{publishedPackage}}` as follows. - {{ publisher.name }} has published {{ publishedPackage }} - +``` +{{ publisher.name }} has published {{ publishedPackage }} +``` ## Configuration @@ -156,4 +162,4 @@ You can access to the package is being published with the keyword `{{publishedPa | packagePatternFlags | string | Nein | all | | Any flags to be used with the regular expression | | headers | array/object | Ja | all | | If this endpoint requires specific headers, set them here as an array of key: value objects. | | endpoint | string | Ja | all | | set the URL endpoint for this call | -| content | string | Ja | all | | any [Handlebar](https://handlebarsjs.com/) expressions | \ No newline at end of file +| content | string | Ja | all | | any [Handlebar](https://handlebarsjs.com/) expressions | diff --git a/website/translated_docs/de/packages.md b/website/translated_docs/de/packages.md index 172d5f3fb5d4..2d85e4c11e8f 100644 --- a/website/translated_docs/de/packages.md +++ b/website/translated_docs/de/packages.md @@ -155,7 +155,7 @@ You may assign multiple uplinks for use as a proxy to use in the case of failove #### Unpublishing Packages -The property `publish` handle permissions for `npm publish` and `npm unpublish`. But, if you want to be more specific, you can use the property `unpublish` in your package access section, for instance: +The property `publish` handle permissions for `npm publish` and `npm unpublish`. But, if you want to be more specific, you can use the property `unpublish` in your package access section, for instance: ```yalm packages: @@ -183,6 +183,7 @@ In the previous example, the behaviour would be described: * only authenticated users can publish `my-company-*` packages, but **nobody would be allowed to unpublish them**. * If `unpublish` is commented out, the access will be granted or denied by the `publish` definition. + ### Configuration You can define mutiple `packages` and each of them must have an unique `Regex`. The syntax is based on [minimatch glob expressions](https://github.com/isaacs/minimatch). @@ -196,4 +197,4 @@ You can define mutiple `packages` and each of them must have an unique `Regex`. > We higlight that we recommend to not use **allow_access**/**allow_publish** and **proxy_access** anymore, those are deprecated and will soon be removed, please use the short version of each of those (**access**/**publish**/**proxy**). -If you want more information about how to use the **storage** property, please refer to this [comment](https://github.com/verdaccio/verdaccio/issues/1383#issuecomment-509933674). \ No newline at end of file +If you want more information about how to use the **storage** property, please refer to this [comment](https://github.com/verdaccio/verdaccio/issues/1383#issuecomment-509933674). diff --git a/website/translated_docs/de/plugins.md b/website/translated_docs/de/plugins.md index 42c87b8c8bef..06d4fe198de4 100644 --- a/website/translated_docs/de/plugins.md +++ b/website/translated_docs/de/plugins.md @@ -24,8 +24,9 @@ $> npm install --global verdaccio-activedirectory `verdaccio` as a sinopia fork it has backward compability with plugins that are compatible with `sinopia@1.4.0`. In such case the installation is the same. - $> npm install --global sinopia-memory - +``` +$> npm install --global sinopia-memory +``` ### Configuration @@ -33,6 +34,7 @@ Open the `config.yaml` file and update the `auth` section as follows: The default configuration looks like this, due we use a build-in `htpasswd` plugin by default that you can disable just commenting out the following lines. + ### Authentication Configuration ```yaml @@ -93,12 +95,14 @@ store: Verdaccio allows to replace the User Interface with a custom one, we call it **theme**. By default, uses `@verdaccio/ui-theme` that comes built-in, but, you can use something different installing your own plugin. ```bash -
$> npm install --global verdaccio-theme-dark + +$> npm install --global verdaccio-theme-dark ``` > The plugin name prefix must start with `verdaccio-theme`, otherwise the plugin won't load. + You can load only one theme at a time and pass through options if you need it. ```yaml @@ -132,4 +136,5 @@ theme: * [sinopia-ldap](https://www.npmjs.com/package/sinopia-ldap): LDAP auth plugin for sinopia. * [sinopia-github-oauth-env](https://www.npmjs.com/package/sinopia-github-oauth-env) Sinopia authentication plugin with github oauth web flow. -> All sinopia plugins should be compatible with all future verdaccio versions. Anyhow, we encourage contributors to migrate them to the modern verdaccio API and using the prefix as *verdaccio-xx-name*. \ No newline at end of file +> All sinopia plugins should be compatible with all future verdaccio versions. Anyhow, we encourage contributors to migrate them to the modern verdaccio API and using the prefix as *verdaccio-xx-name*. + diff --git a/website/translated_docs/de/protect-your-dependencies.md b/website/translated_docs/de/protect-your-dependencies.md index ad037c1501af..2540051fd0b4 100644 --- a/website/translated_docs/de/protect-your-dependencies.md +++ b/website/translated_docs/de/protect-your-dependencies.md @@ -31,7 +31,8 @@ I won't have access to such dependencies and they also won't be visible via the ```bash ➜ npm install my-company-core npm ERR! code E403 -npm ERR! 403 Forbidden: webpack-1@latest +npm ERR! code E403 +npm ERR! ``` or with `yarn`: @@ -40,6 +41,6 @@ or with `yarn`: ➜ yarn add my-company-core yarn add v0.24.6 info No lockfile found. -[1/4] +[1/4] 🔍 Resolving packages... error An unexpected error occurred: "http://localhost:5555/webpack-1: unregistered users are not allowed to access package my-company-core". -``` \ No newline at end of file +``` diff --git a/website/translated_docs/de/puppet.md b/website/translated_docs/de/puppet.md index a9cc94557481..390eef309750 100644 --- a/website/translated_docs/de/puppet.md +++ b/website/translated_docs/de/puppet.md @@ -16,6 +16,10 @@ In both variants you have to explicitely call "class nodejs {}" in your puppet s For further information: - +[https://github.com/verdaccio/puppet-verdaccio](https://github.com/verdaccio/puppet-verdaccio) + +> We are looking for active contributors for this integration, if you are interested [refers to this ticket](https://github.com/verdaccio/puppet-verdaccio/issues/11). + + + -> We are looking for active contributors for this integration, if you are interested [refers to this ticket](https://github.com/verdaccio/puppet-verdaccio/issues/11). \ No newline at end of file diff --git a/website/translated_docs/de/repositories.md b/website/translated_docs/de/repositories.md index 80f4a905f2fa..adb2b32e49ed 100644 --- a/website/translated_docs/de/repositories.md +++ b/website/translated_docs/de/repositories.md @@ -5,4 +5,5 @@ title: Quellcode `verdaccio` is composed or multiple repositories you might contribute. Look into the **issues** tab whether there is a ticket waiting for you 🤠. -To see the complete list of repositories, [click here](https://github.com/verdaccio/verdaccio/wiki/Repositories). \ No newline at end of file +To see the complete list of repositories, [click here](https://github.com/verdaccio/verdaccio/wiki/Repositories). + diff --git a/website/translated_docs/de/reverse-proxy.md b/website/translated_docs/de/reverse-proxy.md index 265852550adc..33d7d8525286 100644 --- a/website/translated_docs/de/reverse-proxy.md +++ b/website/translated_docs/de/reverse-proxy.md @@ -11,140 +11,145 @@ Apache and `mod_proxy` should **not decode/encode slashes** and leave them as th For installing at relative path, `/npm`, on the server - - AllowEncodedSlashes NoDecode - ProxyPass /npm http://127.0.0.1:4873 nocanon - ProxyPassReverse /npm http://127.0.0.1:4873 - - +```` + + AllowEncodedSlashes NoDecode + ProxyPass /npm http://127.0.0.1:4873 nocanon + ProxyPassReverse /npm http://127.0.0.1:4873 + +```` For installing at root path, `/`, on the server - - - ServerName your.domain.com - ServerAdmin hello@your.domain.com - ProxyPreserveHost On - AllowEncodedSlashes NoDecode - ProxyPass / http://127.0.0.1:4873/ nocanon - ProxyPassReverse / http://127.0.0.1:4873/ - - +```` + + ServerName your.domain.com + ServerAdmin hello@your.domain.com + ProxyPreserveHost On + AllowEncodedSlashes NoDecode + ProxyPass / http://127.0.0.1:4873/ nocanon + ProxyPassReverse / http://127.0.0.1:4873/ + +```` ### Configuration with SSL Apache virtual server configuration - apacheconfig - - - ServerName npm.your.domain.com - SSLEngine on - SSLCertificateFile /etc/letsencrypt/live/npm.your.domain.com/fullchain.pem - SSLCertificateKeyFile /etc/letsencrypt/live/npm.your.domain.com/privkey.pem - SSLProxyEngine On - ProxyRequests Off - ProxyPreserveHost On - AllowEncodedSlashes NoDecode - ProxyPass / http://127.0.0.1:4873/ nocanon - ProxyPassReverse / http://127.0.0.1:4873/ - RequestHeader set X-Forwarded-Proto "https" - - - +```` + apacheconfig + + + ServerName npm.your.domain.com + SSLEngine on + SSLCertificateFile /etc/letsencrypt/live/npm.your.domain.com/fullchain.pem + SSLCertificateKeyFile /etc/letsencrypt/live/npm.your.domain.com/privkey.pem + SSLProxyEngine On + ProxyRequests Off + ProxyPreserveHost On + AllowEncodedSlashes NoDecode + ProxyPass / http://127.0.0.1:4873/ nocanon + ProxyPassReverse / http://127.0.0.1:4873/ + RequestHeader set X-Forwarded-Proto "https" + + +```` # Nginx The following snippet is a full `docker` example can be tested in our [Docker examples repository](https://github.com/verdaccio/verdaccio/tree/5.x/docker-examples/reverse_proxy/nginx). - upstream verdaccio_v4 { - server verdaccio_relative_path_v4:4873; - keepalive 8; - } - - upstream verdaccio_v4_root { - server verdaccio_relative_path_v4_root:8000; - keepalive 8; +```` +upstream verdaccio_v4 { + server verdaccio_relative_path_v4:4873; + keepalive 8; +} + +upstream verdaccio_v4_root { + server verdaccio_relative_path_v4_root:8000; + keepalive 8; +} + +upstream verdaccio_v3 { + server verdaccio_relative_path_latest_v3:7771; + keepalive 8; +} + +server { + listen 80 default_server; + access_log /var/log/nginx/verdaccio.log; + charset utf-8; + + location / { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4_root; + proxy_redirect off; } - - upstream verdaccio_v3 { - server verdaccio_relative_path_latest_v3:7771; - keepalive 8; + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4/$1; + proxy_redirect off; } - - server { - listen 80 default_server; - access_log /var/log/nginx/verdaccio.log; - charset utf-8; - - location / { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4_root; - proxy_redirect off; - } - - location ~ ^/verdaccio/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4/$1; - proxy_redirect off; - } - - location ~ ^/verdacciov3/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - - proxy_pass http://verdaccio_v3/$1; - proxy_redirect off; - } + + location ~ ^/verdacciov3/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + + proxy_pass http://verdaccio_v3/$1; + proxy_redirect off; } - +} +```` ## SSL example - server { - listen 80; - return 302 https://$host$request_uri; +```` +server { + listen 80; + return 302 https://$host$request_uri; +} + +server { + listen 443 ssl http2; + server_name localhost; + + ssl_certificate /etc/nginx/cert.crt; + ssl_certificate_key /etc/nginx/cert.key; + + ssl on; + ssl_session_cache builtin:1000 shared:SSL:10m; + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; + ssl_prefer_server_ciphers on; + + location / { + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_pass http://verdaccio_v4_root; + proxy_read_timeout 600; + proxy_redirect off; } - - server { - listen 443 ssl http2; - server_name localhost; - - ssl_certificate /etc/nginx/cert.crt; - ssl_certificate_key /etc/nginx/cert.key; - - ssl_session_cache builtin:1000 shared:SSL:10m; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; - ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; - ssl_prefer_server_ciphers on; - - location / { - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_pass http://verdaccio_v4_root; - proxy_read_timeout 600; - proxy_redirect off; - } - - location ~ ^/verdaccio/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4_root/$1; - proxy_redirect off; - } + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4_root/$1; + proxy_redirect off; } - +} +```` ## Run behind reverse proxy with different domain and port @@ -170,10 +175,9 @@ location / { proxy_set_header X-Forwarded-Proto $scheme; } ``` - For this case, `url_prefix` should **NOT** set in Verdaccio config -* * * +--- or a sub-directory installation: @@ -185,7 +189,6 @@ location ~ ^/verdaccio/(.*)$ { proxy_set_header X-Forwarded-Proto $scheme; } ``` - For this case, `url_prefix` should set to `/verdaccio/` > Note: There is a slash after the install path (`https://your-domain:port/verdaccio/`)! diff --git a/website/translated_docs/de/server.md b/website/translated_docs/de/server.md index 1b981a1ce142..62c1c0d6df18 100644 --- a/website/translated_docs/de/server.md +++ b/website/translated_docs/de/server.md @@ -31,7 +31,6 @@ The `cd` command sends you to the home directory of the Verdaccio user. Make sur ## Listening on all addresses If you want to listen to every external address set the listen directive in the config to: - ```yaml # you can specify listen address (or simply a port) listen: 0.0.0.0:4873 @@ -71,8 +70,9 @@ $ crontab -e This might ask you to choose an editor. Pick your favorite and proceed. Add the following entry to the file: - @reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio - +``` +@reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio +``` The locations may vary depending on your server setup. If you want to know where your files are you can use the 'which' command: @@ -84,9 +84,7 @@ $ which verdaccio ## Using systemd Instead of `forever` you can use `systemd` for starting Verdaccio and keeping it running. Verdaccio installation has systemd unit, you only need to copy it: - ```bash $ sudo cp /usr/lib/node_modules/verdaccio/systemd/verdaccio.service /lib/systemd/system/ && sudo systemctl daemon-reload ``` - -This unit assumes you have configuration in `/etc/verdaccio/config.yaml` and store data in `/var/lib/verdaccio`, so either move your files to those locations or edit the unit. \ No newline at end of file +This unit assumes you have configuration in `/etc/verdaccio/config.yaml` and store data in `/var/lib/verdaccio`, so either move your files to those locations or edit the unit. diff --git a/website/translated_docs/de/windows.md b/website/translated_docs/de/windows.md index f6f30c214d83..bd81827e7418 100644 --- a/website/translated_docs/de/windows.md +++ b/website/translated_docs/de/windows.md @@ -5,10 +5,10 @@ title: "Als Windows-Dienst installieren" Loosely based upon the instructions found [here](http://asysadmin.tumblr.com/post/32941224574/running-nginx-on-windows-as-a-service). I crafted the following and it provided me with a fully working verdaccio service installation: -1. Create a directory for verdaccio +1. Create a directory for verdaccio * mkdir `c:\verdaccio` * cd `c:\verdaccio` -2. Install verdaccio locally (I ran into npm issues with global installs) +2. Install verdaccio locally (I ran into npm issues with global installs) * npm install verdaccio 3. Create your `config.yaml` file in this location `(c:\verdaccio\config.yaml)` 4. Windows Service Setup @@ -24,29 +24,29 @@ ALTERNATIVE METHOD: (WinSW package was missing when I tried to download it) * Open an administrative command * Run nssm install verdaccio At a minimum you must fill in the Application tab Path, Startup directory and Arguments fields. Assuming an install with node in the system path and a location of c:\verdaccio the below values will work: - * Path: `node` * Startup directory: `c:\verdaccio` * Arguments: `c:\verdaccio\node_modules\verdaccio\build\lib\cli.js -c c:\verdaccio\config.yaml` - + You can adjust other service settings under other tabs as desired. When you are done, click Install service button - - * Start the service sc start verdaccio + + * Start the service sc start verdaccio ## Using WinSW * As of 2015-10-27, WinSW is no longer available at the below location. Please follow the Using NSSM instructions above. -* Download [WinSW](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/) +* Download [WinSW](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/) * Place the executable (e.g. `winsw-1.9-bin.exe`) into this folder (`c:\verdaccio`) and rename it to `verdaccio-winsw.exe` * Create a configuration file in `c:\verdaccio`, named `verdaccio-winsw.xml` with the following configuration `xml verdaccio verdaccio verdaccio node c:\verdaccio\node_modules\verdaccio\src\lib\cli.js -c c:\verdaccio\config.yaml roll c:\verdaccio`. -* Install your service +* Install your service * `cd c:\verdaccio` * `verdaccio-winsw.exe install` -* Start your service +* Start your service * `verdaccio-winsw.exe start` Some of the above config is more verbose than I had expected, it appears as though 'workingdirectory' is ignored, but other than that, this works for me and allows my verdaccio instance to persist between restarts of the server, and also restart itself should there be any crashes of the verdaccio process. + ## Repositories -* [verdaccio-deamon-windows](https://github.com/davidenke/verdaccio-deamon-windows) \ No newline at end of file +* [verdaccio-deamon-windows](https://github.com/davidenke/verdaccio-deamon-windows) diff --git a/website/translated_docs/es-ES/caching.md b/website/translated_docs/es-ES/caching.md index 60b7f65879e2..f662d67dfa25 100644 --- a/website/translated_docs/es-ES/caching.md +++ b/website/translated_docs/es-ES/caching.md @@ -7,11 +7,12 @@ Verdaccio caches all packages by default into the `/storage` folder. But you can ## Caching scenarios -* Build a Node.js project on **Continous Integration** (Bamboo, GitLab, Jenkins, etc) servers is a task that might take several times at a day, thus, the server will download tons of tarballs from the registry every time takes place. As usual, the CI tools clear the cache after each build and the process start over and over again. That is a waste of bandwidth and reduces the external traffic. **You can use Verdaccio for caching tarballs and metadata in our internal network and give a boost in your build time.** +* Build a Node.js project on **Continous Integration** (Bamboo, GitLab, Jenkins, etc) servers is a task that might take several times at a day, thus, the server will download tons of tarballs from the registry every time takes place. As usual, the CI tools clear the cache after each build and the process start over and over again. That is a waste of bandwidth and reduces the external traffic. **You can use Verdaccio for caching tarballs and metadata in our internal network and give a boost in your build time.** * **Latency and Connectivity**, not all countries enjoy a high-speed connection. For such reason cache packages locally in your network is really handy. Either if you are traveling, or have a weak connection, roaming or countries with strong Firewalls that might affect the user experience (eg: corrupting tarballs). * **Offline Mode**, all Node Package Managers nowadays uses their own internal cache, but it common that different projects might use different tools, which implies lock files and so on. Those tools are unable to share cache, the unique solution is centralized and relies on a proxy registry, Verdaccio cache all metadata and tarballs are downloaded by demand being able to share them across all your project. * Avoid that any remote registry suddenly returns *HTTP 404* error for tarballs were previously available a.k.a ([left-pad issue](https://www.theregister.co.uk/2016/03/23/npm_left_pad_chaos/)). + # Strategies for faster builds > We are looking for more strategies, feel free to share your experience in this field @@ -20,15 +21,16 @@ Verdaccio caches all packages by default into the `/storage` folder. But you can If you have a limited storage space, you might need to avoid cache tarballs, enabling `cache` false in each uplink will cache only metadata files. - uplinks: - npmjs: - url: https://registry.npmjs.org/ - cache: false - +``` +uplinks: + npmjs: + url: https://registry.npmjs.org/ + cache: false +``` ## Extending Cache Expiration Time -Verdaccio by default waits 2 minutes to invalidate the cache metadata before fetching new information from the remote registry. + Verdaccio by default waits 2 minutes to invalidate the cache metadata before fetching new information from the remote registry. ```yaml uplinks: @@ -39,6 +41,7 @@ uplinks: Increasing the value of `maxage` in each `uplink` remotes will be asked less frequently. This might be a valid strategy if you don't update dependencies so often. + ## Using the memory instead the hardrive Sometimes caching packages is not a critical step, rather than route packages from different registries and achieving faster build times. There are two plugins that avoid write in a physical hard drive at all using the memory. @@ -62,4 +65,4 @@ store: limit: 1000 ``` -Remember, once the server is restarted the data is being lost, we recommend this setup in cases where you do not need to persist at all. \ No newline at end of file +Remember, once the server is restarted the data is being lost, we recommend this setup in cases where you do not need to persist at all. diff --git a/website/translated_docs/es-ES/install.md b/website/translated_docs/es-ES/install.md index ca7b30f01ded..0962549e91db 100644 --- a/website/translated_docs/es-ES/install.md +++ b/website/translated_docs/es-ES/install.md @@ -1,6 +1,6 @@ --- id: installation -title: "Installation" +title: "Instalación" --- Verdaccio es una aplicación multi plataforma. Para instalarlo, necesitas unos requerimientos básicos. @@ -13,7 +13,7 @@ Verdaccio es una aplicación multi plataforma. Para instalarlo, necesitas unos r > We highly recommend to use the latest versions of Node Package Manager clients `> npm@6.x | yarn@1.x | | yarn@2.x | pnpm@6.x`. Don't support `npm@5.x` or older. -1. A modern web browser to run the web interface. We actually support `Chrome, Firefox, Edge`. +3. A modern web browser to run the web interface. We actually support `Chrome, Firefox, Edge`. > Verdaccio soporta las ultimas versiones de Node.js de acuerdo a las recomendaciones del[Node.js Release Working Group](https://github.com/nodejs/Release). @@ -21,7 +21,7 @@ Are you still using **Verdaccio 4**?. Check the [migration guide](https://verdac ### Introducción rapida -Learn the basics before getting started, how to install, where is the location of the configuration file and more. +Learn the basics before getting started, how to install, where is the location of the configuration file and more. ## Instalando el CLI @@ -92,7 +92,7 @@ Or a `publishConfig` in your `package.json` ## Create Your Own Private NPM Package Tutorial -If you'd like a broader explanation, don't miss the tutorial created by [thedevlife](https://mybiolink.co/thedevlife) on how to Create Your Own Private NPM Package using Verdaccio. +If you'd like a broader explanation, don't miss the tutorial created by [thedevlife](https://mybiolink.co/thedevlife) on how to Create Your Own Private NPM Package using Verdaccio. ## Docker Image @@ -106,4 +106,4 @@ docker run -it --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio `Verdaccio` is also available as a 1-click install on [Cloudron](https://cloudron.io) -[![Instalación](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=org.eggertsson.verdaccio) \ No newline at end of file +[![Instalación](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=org.eggertsson.verdaccio) diff --git a/website/translated_docs/es-ES/kubernetes.md b/website/translated_docs/es-ES/kubernetes.md index 08a7cfb09e0e..e4f8eec24060 100644 --- a/website/translated_docs/es-ES/kubernetes.md +++ b/website/translated_docs/es-ES/kubernetes.md @@ -23,8 +23,9 @@ Deploy the Helm [verdaccio/verdaccio](https://github.com/verdaccio/charts) chart ### Add repository - helm repo add verdaccio https://charts.verdaccio.org - +``` +helm repo add verdaccio https://charts.verdaccio.org +``` In this example we use `npm` as release name: @@ -52,6 +53,7 @@ helm uninstall npm **Nota**: el comando borra todos los recursos, incluyendo los paquetes que tu podrías haber publicado anteriormente al registro. + ### Configuración personalizada de Verdaccio Puedes personalizar la configuracion de verdaccio usando un * configMap* de Kubernetes. @@ -92,7 +94,6 @@ helm install npm --set customConfigMap=verdaccio-config verdaccio/verdaccio #### NGINX proxy body-size limit The standard k8s NGINX ingress proxy allows for 1MB for body-size which can be increased by modifying the default deployment options according to the [documentation](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#custom-max-body-size): - ```yaml ... @@ -100,8 +101,7 @@ annotations: ... kubernetes.io/proxy-body-size: 20m -.... -... +.... ``` @@ -109,4 +109,4 @@ annotations: [Rancher](http://rancher.com/) is a complete container management platform that makes managing and using containers in production really easy. -* [verdaccio-rancher](https://github.com/lgaticaq/verdaccio-rancher) \ No newline at end of file +* [verdaccio-rancher](https://github.com/lgaticaq/verdaccio-rancher) diff --git a/website/translated_docs/es-ES/linking.md b/website/translated_docs/es-ES/linking.md index 20936fac8e9d..76f693de99c3 100644 --- a/website/translated_docs/es-ES/linking.md +++ b/website/translated_docs/es-ES/linking.md @@ -17,10 +17,11 @@ You can link multiple registries, the following document will drive you through The unique way to access multiple registries using the `.npmrc` is the scope feature as follows: - // .npmrc - registry=https://registry.npmjs.org - @mycompany:registry=http://localhost:4873 - +``` +// .npmrc +registry=https://registry.npmjs.org +@mycompany:registry=http://localhost:4873 +``` This approach is valid, but comes with several disadvantages: @@ -75,7 +76,8 @@ Verdaccio supports multiple registries on the `proxy` field. The request will be Having a full Offline Registry is completely possible. If you don't want any connectivity with external remotes you can do the following. ```yaml -
auth: + +auth: htpasswd: file: ./htpasswd uplinks: @@ -91,4 +93,4 @@ packages: publish: $authenticated ``` -Remove all `proxy` fields within each section of `packages`. The registry will become full offline. \ No newline at end of file +Remove all `proxy` fields within each section of `packages`. The registry will become full offline. diff --git a/website/translated_docs/es-ES/logger.md b/website/translated_docs/es-ES/logger.md index 2a8ba78b36ee..ae12a976d432 100644 --- a/website/translated_docs/es-ES/logger.md +++ b/website/translated_docs/es-ES/logger.md @@ -25,7 +25,7 @@ Use `SIGUSR2` to notify the application, the log-file was rotated and it needs t | Propiedad | Tipo | Requerido | Ejemplo | Soporte | Descripción | | --------- | ------ | --------- | ---------------------------------------------- | ------- | --------------------------------------------------------- | -| tipo | string | No | [stdout, file] | todos | define la salida | -| path | string | No | verdaccio.log | todos | si el tipo es archivo, define la ubicación de ese archivo | -| format | string | No | [pretty, pretty-timestamped] | todos | formato de salida | -| level | string | No | [fatal, error, warn, http, info, debug, trace] | todos | nivel verboso | \ No newline at end of file +| tipo | string | No | [stdout, file] | all | define la salida | +| path | string | No | verdaccio.log | all | si el tipo es archivo, define la ubicación de ese archivo | +| format | string | No | [pretty, pretty-timestamped] | all | formato de salida | +| level | string | No | [fatal, error, warn, http, info, debug, trace] | all | nivel verboso | diff --git a/website/translated_docs/es-ES/logo.md b/website/translated_docs/es-ES/logo.md index 78430e60ee63..e92f82116139 100644 --- a/website/translated_docs/es-ES/logo.md +++ b/website/translated_docs/es-ES/logo.md @@ -11,7 +11,7 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ## Simbolos -**Con texto** +__Con texto__ ![symbol tiny with text](assets/logo/symbol/png/logo-small-header-bottom.png) @@ -19,11 +19,11 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ![symbol big with text](assets/logo/symbol/png/logo-small-header-bottom@3x.png) -**SVG** +__SVG__ ![symbol svg](assets/logo/symbol/svg/logo-small-header-bottom.svg) -**Sin texto** +__Sin texto__ ![symbol tiny](assets/logo/symbol/png/verdaccio-tiny.png) @@ -31,10 +31,12 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ![symbol big](assets/logo/symbol/png/verdaccio-tiny@3x.png) -**SVG** +__SVG__ ![svg format symbol no text](assets/logo/symbol/svg/verdaccio-tiny.svg) + + ### Black&White ![symbol bw small](assets/logo/symbol/png/verdaccio-blackwhite.png) @@ -43,14 +45,17 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ![symbol bw big](assets/logo/symbol/png/verdaccio-blackwhite@3x.png) -**SVG** +__SVG__ ![symbol bw svg](assets/logo/symbol/svg/verdaccio-blackwhite.svg) + ## Pancarta ![banner small](assets/logo/banner/png/verdaccio-banner.png) ![banner medium](assets/logo/banner/png/verdaccio-banner@2x.png) -![banner big](assets/logo/banner/png/verdaccio-banner@3x.png) \ No newline at end of file +![banner big](assets/logo/banner/png/verdaccio-banner@3x.png) + + diff --git a/website/translated_docs/es-ES/node-api.md b/website/translated_docs/es-ES/node-api.md index 98b62638afef..b584d2073c31 100644 --- a/website/translated_docs/es-ES/node-api.md +++ b/website/translated_docs/es-ES/node-api.md @@ -39,4 +39,4 @@ verdaccioServer.serviceUninstall(); verdaccioServer.serviceStart(); verdaccioServer.serviceStop(); verdaccioServer.serviceRestart(); -``` \ No newline at end of file +``` diff --git a/website/translated_docs/es-ES/notifications.md b/website/translated_docs/es-ES/notifications.md index 8db726255959..2ef7f8d89d8c 100644 --- a/website/translated_docs/es-ES/notifications.md +++ b/website/translated_docs/es-ES/notifications.md @@ -48,12 +48,13 @@ Usamos [Handlebars](https://handlebarsjs.com/) como el motor del modelo principa ### Ejemplos de Formato - # iterate all versions - {{ name }}{{#each versions}} v{{version}}{{/each}} - - # publisher and `dist-tag` package published - {{ publisher.name }} has published {{ publishedPackage }} - +``` +# iterate all versions +{{ name }}{{#each versions}} v{{version}}{{/each}} + +# publisher and `dist-tag` package published +{{ publisher.name }} has published {{ publishedPackage }} +``` ### Propiedades @@ -67,54 +68,56 @@ Lista de las propiedades accesibles mediante el modelo Paquete de metadata a la que el modelo tiene acceso - { - "_id": "@test/pkg1", - "name": "@test/pkg1", - "description": "", - "dist-tags": { - "beta": "1.0.54" - }, - "versions": { - "1.0.54": { - "name": "@test/pkg1", - "version": "1.0.54", - "description": "some description", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": { - "name": "Author Name", - "email": "author@domain.com" - }, - "license": "MIT", - "dependencies": { - "webpack": "4.12.0" - }, - "readmeFilename": "README.md", - "_id": "@ test/pkg1@1.0.54", - "_npmVersion": "6.1.0", - "_nodeVersion": "9.9.0", - "_npmUser": {}, - "dist": { - "integrity": "sha512-JlXWpLtMUBAqvVZBvH7UVLhXkGE1ctmXbDjbH/l0zMuG7wVzQ7GshTYvD/b5C+G2vOL2oiIS1RtayA/kKkTwKw==", - "shasum": "29c55c52c1e76e966e706165e5b9f22e32aa9f22", - "tarball": "http://localhost:4873/@test/pkg1/-/@test/pkg1-1.0.54.tgz" - } - } - }, - "readme": "# test", - "_attachments": { - "@test/pkg1-1.0.54.tgz": { - "content_type": "application/octet-stream", - "data": "H4sIAAAAAAAAE+y9Z5PjyJIgOJ ...", - "length": 33112 +``` +{ + "_id": "@test/pkg1", + "name": "@test/pkg1", + "description": "", + "dist-tags": { + "beta": "1.0.54" + }, + "versions": { + "1.0.54": { + "name": "@test/pkg1", + "version": "1.0.54", + "description": "some description", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": { + "name": "Author Name", + "email": "author@domain.com" + }, + "license": "MIT", + "dependencies": { + "webpack": "4.12.0" + }, + "readmeFilename": "README.md", + "_id": "@ test/pkg1@1.0.54", + "_npmVersion": "6.1.0", + "_nodeVersion": "9.9.0", + "_npmUser": {}, + "dist": { + "integrity": "sha512-JlXWpLtMUBAqvVZBvH7UVLhXkGE1ctmXbDjbH/l0zMuG7wVzQ7GshTYvD/b5C+G2vOL2oiIS1RtayA/kKkTwKw==", + "shasum": "29c55c52c1e76e966e706165e5b9f22e32aa9f22", + "tarball": "http://localhost:4873/@test/pkg1/-/@test/pkg1-1.0.54.tgz" } - }, - "time": {} - } - + } + }, + "readme": "# test", + "_attachments": { + "@test/pkg1-1.0.54.tgz": { + "content_type": "application/octet-stream", + "data": "H4sIAAAAAAAAE+y9Z5PjyJIgOJ ...", + "length": 33112 + } + }, + "time": {} +} +``` + ### Publisher @@ -122,21 +125,23 @@ You can get access to the package publisher information in the `content` of a we Vea a continuación el tipo de objeto `publisher`: - { - name: string, - groups: string[], - real_groups: string[] - } - +``` +{ + name: string, + groups: string[], + real_groups: string[] +} +``` Un ejemplo: - notify: - method: POST - headers: [{'Content-Type': 'application/json'}] - endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken - content: '{"color":"green","message":"New package published: * {{ name }}*. Publisher name: * {{ publisher.name }} *.","notify":true,"message_format":"text"}' - +``` +notify: + method: POST + headers: [{'Content-Type': 'application/json'}] + endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken + content: '{"color":"green","message":"New package published: * {{ name }}*. Publisher name: * {{ publisher.name }} *.","notify":true,"message_format":"text"}' +``` **Nota:** no es posible obtener la información de publisher si el archivo `package.json` ya tiene la propiedad `publisher`. @@ -144,8 +149,9 @@ Un ejemplo: You can access to the package is being published with the keyword `{{publishedPackage}}` as follows. - {{ publisher.name }} has published {{ publishedPackage }} - +``` +{{ publisher.name }} has published {{ publishedPackage }} +``` ## Configuración @@ -154,6 +160,6 @@ You can access to the package is being published with the keyword `{{publishedPa | method | string | No | all | | HTTP verb | | packagePattern | string | No | all | | Solo ejecutar esta notificación si el nombre del paquete coincide con la expresión regular | | packagePatternFlags | string | No | all | | Cualquier bandera para ser usada con la expresión regular | -| headers | array/object | Yes | all | | Si el endpoint requiere encabezados específicos, defínelos aquí como un arreglo (key:value). | -| endpoint | string | Yes | all | | define el URL para el endpoint | -| content | string | Yes | all | | cualquier expresión [Handlebar](https://handlebarsjs.com/) | \ No newline at end of file +| headers | array/object | Si | all | | Si el endpoint requiere encabezados específicos, defínelos aquí como un arreglo (key:value). | +| endpoint | string | Si | all | | define el URL para el endpoint | +| content | string | Si | all | | cualquier expresión [Handlebar](https://handlebarsjs.com/) | diff --git a/website/translated_docs/es-ES/packages.md b/website/translated_docs/es-ES/packages.md index c54b674faef5..3bd38390486d 100644 --- a/website/translated_docs/es-ES/packages.md +++ b/website/translated_docs/es-ES/packages.md @@ -155,7 +155,7 @@ You may assign multiple uplinks for use as a proxy to use in the case of failove #### Unpublishing Packages -The property `publish` handle permissions for `npm publish` and `npm unpublish`. But, if you want to be more specific, you can use the property `unpublish` in your package access section, for instance: +The property `publish` handle permissions for `npm publish` and `npm unpublish`. But, if you want to be more specific, you can use the property `unpublish` in your package access section, for instance: ```yalm packages: @@ -183,6 +183,7 @@ In the previous example, the behaviour would be described: * only authenticated users can publish `my-company-*` packages, but **nobody would be allowed to unpublish them**. * If `unpublish` is commented out, the access will be granted or denied by the `publish` definition. + ### Configuración You can define mutiple `packages` and each of them must have an unique `Regex`. The syntax is based on [minimatch glob expressions](https://github.com/isaacs/minimatch). @@ -196,4 +197,4 @@ You can define mutiple `packages` and each of them must have an unique `Regex`. > Resaltamos que ya no recomendamos usar **allow_access**/**allow_publish** y **proxy_access**, estos son obsoletos y pronto serán removidos, por favor usar las versiones reducidas de estos (**access**/**publish**/**proxy**). -If you want more information about how to use the **storage** property, please refer to this [comment](https://github.com/verdaccio/verdaccio/issues/1383#issuecomment-509933674). \ No newline at end of file +If you want more information about how to use the **storage** property, please refer to this [comment](https://github.com/verdaccio/verdaccio/issues/1383#issuecomment-509933674). diff --git a/website/translated_docs/es-ES/plugins.md b/website/translated_docs/es-ES/plugins.md index 8a0e634dfb71..03d38b1a9782 100644 --- a/website/translated_docs/es-ES/plugins.md +++ b/website/translated_docs/es-ES/plugins.md @@ -24,8 +24,9 @@ $> npm install --global verdaccio-activedirectory `verdaccio` as a sinopia fork it has backward compability with plugins that are compatible with `sinopia@1.4.0`. In such case the installation is the same. - $> npm install --global sinopia-memory - +``` +$> npm install --global sinopia-memory +``` ### Configuración @@ -33,6 +34,7 @@ Abra el archivo `config.yaml` y actualice la sección `auth` como a continuació La configuración por defecto luce así, debido a que usamos un plugin `htpasswd` incorporado por defecto que puede desactivar con solo comentar las siguientes líneas. + ### Authentication Configuration ```yaml @@ -93,12 +95,14 @@ store: Verdaccio allows to replace the User Interface with a custom one, we call it **theme**. By default, uses `@verdaccio/ui-theme` that comes built-in, but, you can use something different installing your own plugin. ```bash -
$> npm install --global verdaccio-theme-dark + +$> npm install --global verdaccio-theme-dark ``` > The plugin name prefix must start with `verdaccio-theme`, otherwise the plugin won't load. + You can load only one theme at a time and pass through options if you need it. ```yaml @@ -132,4 +136,5 @@ theme: * [sinopia-ldap](https://www.npmjs.com/package/sinopia-ldap): plugin LDAP auth para sinopia. * [sinopia-github-oauth-env](https://www.npmjs.com/package/sinopia-github-oauth-env) plugin de autenticación de Sinopia con flujo web github oauth. -> All sinopia plugins should be compatible with all future verdaccio versions. Anyhow, we encourage contributors to migrate them to the modern verdaccio API and using the prefix as *verdaccio-xx-name*. \ No newline at end of file +> All sinopia plugins should be compatible with all future verdaccio versions. Anyhow, we encourage contributors to migrate them to the modern verdaccio API and using the prefix as *verdaccio-xx-name*. + diff --git a/website/translated_docs/es-ES/protect-your-dependencies.md b/website/translated_docs/es-ES/protect-your-dependencies.md index a908eddf4c41..21f5fd4507ab 100644 --- a/website/translated_docs/es-ES/protect-your-dependencies.md +++ b/website/translated_docs/es-ES/protect-your-dependencies.md @@ -31,6 +31,7 @@ I won't have access to such dependencies and they also won't be visible via the ```bash ➜ npm install my-company-core npm ERR! code E403 +npm ERR! 403 Forbidden: webpack-1@latest code E403 npm ERR! 403 Forbidden: webpack-1@latest ``` @@ -40,6 +41,6 @@ or with `yarn`: ➜ yarn add my-company-core yarn add v0.24.6 info No lockfile found. -[1/4] +[1/4] 🔍 Resolving packages... error Ocurrió un error inesperado: "http://localhost:5555/webpack-1: no se les permite acceder al paquete my-company-core a usuarios no registrados". -``` \ No newline at end of file +``` diff --git a/website/translated_docs/es-ES/puppet.md b/website/translated_docs/es-ES/puppet.md index b87500c32844..e90bd6c7e8f1 100644 --- a/website/translated_docs/es-ES/puppet.md +++ b/website/translated_docs/es-ES/puppet.md @@ -16,6 +16,10 @@ En ambas variantes tiene que llamar explícitamente a "class nodejs {}" en su sc Para más información: - +[https://github.com/verdaccio/puppet-verdaccio](https://github.com/verdaccio/puppet-verdaccio) + +> Estamos buscando colaboradores para esta integración, si está interesado [ refiérase a esta entrada](https://github.com/verdaccio/puppet-verdaccio/issues/11). + + + -> Estamos buscando colaboradores para esta integración, si está interesado [ refiérase a esta entrada](https://github.com/verdaccio/puppet-verdaccio/issues/11). \ No newline at end of file diff --git a/website/translated_docs/es-ES/repositories.md b/website/translated_docs/es-ES/repositories.md index 0a453d601fe7..b2a9e577e25b 100644 --- a/website/translated_docs/es-ES/repositories.md +++ b/website/translated_docs/es-ES/repositories.md @@ -5,4 +5,5 @@ title: Código Fuente `verdaccio` is composed or multiple repositories you might contribute. Look into the **issues** tab whether there is a ticket waiting for you 🤠. -Para ver la lista completa de repositorios, [haga clic aquí](https://github.com/verdaccio/verdaccio/wiki/Repositories). \ No newline at end of file +Para ver la lista completa de repositorios, [haga clic aquí](https://github.com/verdaccio/verdaccio/wiki/Repositories). + diff --git a/website/translated_docs/es-ES/reverse-proxy.md b/website/translated_docs/es-ES/reverse-proxy.md index 46011850a319..5d3b884f3b84 100644 --- a/website/translated_docs/es-ES/reverse-proxy.md +++ b/website/translated_docs/es-ES/reverse-proxy.md @@ -11,141 +11,145 @@ Apache and `mod_proxy` should **not decode/encode slashes** and leave them as th For installing at relative path, `/npm`, on the server - - AllowEncodedSlashes NoDecode - ProxyPass /npm http://127.0.0.1:4873 nocanon - ProxyPassReverse /npm http://127.0.0.1:4873 - - +```` + + AllowEncodedSlashes NoDecode + ProxyPass /npm http://127.0.0.1:4873 nocanon + ProxyPassReverse /npm http://127.0.0.1:4873 + +```` For installing at root path, `/`, on the server - - - ServerName your.domain.com - ServerAdmin hello@your.domain.com - ProxyPreserveHost On - AllowEncodedSlashes NoDecode - ProxyPass / http://127.0.0.1:4873/ nocanon - ProxyPassReverse / http://127.0.0.1:4873/ - - +```` + + ServerName your.domain.com + ServerAdmin hello@your.domain.com + ProxyPreserveHost On + AllowEncodedSlashes NoDecode + ProxyPass / http://127.0.0.1:4873/ nocanon + ProxyPassReverse / http://127.0.0.1:4873/ + +```` ### Configuración con SSL Configuración del servidor virtual de Apache - apacheconfig - - - ServerName npm.your.domain.com - SSLEngine on - SSLCertificateFile /etc/letsencrypt/live/npm.your.domain.com/fullchain.pem - SSLCertificateKeyFile /etc/letsencrypt/live/npm.your.domain.com/privkey.pem - SSLProxyEngine On - ProxyRequests Off - ProxyPreserveHost On - AllowEncodedSlashes NoDecode - ProxyPass / http://127.0.0.1:4873/ nocanon - ProxyPassReverse / http://127.0.0.1:4873/ - RequestHeader set X-Forwarded-Proto "https" - - - +```` + apacheconfig + + + ServerName npm.your.domain.com + SSLEngine on + SSLCertificateFile /etc/letsencrypt/live/npm.your.domain.com/fullchain.pem + SSLCertificateKeyFile /etc/letsencrypt/live/npm.your.domain.com/privkey.pem + SSLProxyEngine On + ProxyRequests Off + ProxyPreserveHost On + AllowEncodedSlashes NoDecode + ProxyPass / http://127.0.0.1:4873/ nocanon + ProxyPassReverse / http://127.0.0.1:4873/ + RequestHeader set X-Forwarded-Proto "https" + + +```` # Nginx The following snippet is a full `docker` example can be tested in our [Docker examples repository](https://github.com/verdaccio/verdaccio/tree/5.x/docker-examples/reverse_proxy/nginx). - upstream verdaccio_v4 { - server verdaccio_relative_path_v4:4873; - keepalive 8; - } - - upstream verdaccio_v4_root { - server verdaccio_relative_path_v4_root:8000; - keepalive 8; +```` +upstream verdaccio_v4 { + server verdaccio_relative_path_v4:4873; + keepalive 8; +} + +upstream verdaccio_v4_root { + server verdaccio_relative_path_v4_root:8000; + keepalive 8; +} + +upstream verdaccio_v3 { + server verdaccio_relative_path_latest_v3:7771; + keepalive 8; +} + +server { + listen 80 default_server; + access_log /var/log/nginx/verdaccio.log; + charset utf-8; + + location / { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4_root; + proxy_redirect off; } - - upstream verdaccio_v3 { - server verdaccio_relative_path_latest_v3:7771; - keepalive 8; + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4/$1; + proxy_redirect off; } - - server { - listen 80 default_server; - access_log /var/log/nginx/verdaccio.log; - charset utf-8; - - location / { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4_root; - proxy_redirect off; - } - - location ~ ^/verdaccio/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4/$1; - proxy_redirect off; - } - - location ~ ^/verdacciov3/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - - proxy_pass http://verdaccio_v3/$1; - proxy_redirect off; - } + + location ~ ^/verdacciov3/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + + proxy_pass http://verdaccio_v3/$1; + proxy_redirect off; } - +} +```` ## SSL example - server { - listen 80; - return 302 https://$host$request_uri; +```` +server { + listen 80; + return 302 https://$host$request_uri; +} + +server { + listen 443 ssl http2; + server_name localhost; + + ssl_certificate /etc/nginx/cert.crt; + ssl_certificate_key /etc/nginx/cert.key; + + ssl on; + ssl_session_cache builtin:1000 shared:SSL:10m; + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; + ssl_prefer_server_ciphers on; + + location / { + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_pass http://verdaccio_v4_root; + proxy_read_timeout 600; + proxy_redirect off; } - - server { - listen 443 ssl http2; - server_name localhost; - - ssl_certificate /etc/nginx/cert.crt; - ssl_certificate_key /etc/nginx/cert.key; - - ssl on; - ssl_session_cache builtin:1000 shared:SSL:10m; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; - ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; - ssl_prefer_server_ciphers on; - - location / { - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_pass http://verdaccio_v4_root; - proxy_read_timeout 600; - proxy_redirect off; - } - - location ~ ^/verdaccio/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4_root/$1; - proxy_redirect off; - } + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4_root/$1; + proxy_redirect off; } - +} +```` ## Ejecutar detrás del proxy inverso con un puerto y dominio diferente @@ -171,10 +175,9 @@ location / { proxy_set_header X-Forwarded-Proto $scheme; } ``` - For this case, `url_prefix` should **NOT** set in Verdaccio config -* * * +--- o a una instalación de sub-directorio: @@ -186,7 +189,6 @@ location ~ ^/verdaccio/(.*)$ { proxy_set_header X-Forwarded-Proto $scheme; } ``` - Para este caso, `url_prefix` debe establecerse a `/verdaccio/` -> Note: There is a slash after the install path (`https://your-domain:port/verdaccio/`)! \ No newline at end of file +> Note: There is a slash after the install path (`https://your-domain:port/verdaccio/`)! diff --git a/website/translated_docs/es-ES/server.md b/website/translated_docs/es-ES/server.md index e274c2708bd1..c1b390e546e1 100644 --- a/website/translated_docs/es-ES/server.md +++ b/website/translated_docs/es-ES/server.md @@ -31,7 +31,6 @@ The `cd` command sends you to the home directory of the Verdaccio user. Make sur ## Atender todas las direcciones If you want to listen to every external address set the listen directive in the config to: - ```yaml # you can specify listen address (or simply a port) listen: 0.0.0.0:4873 @@ -39,7 +38,7 @@ listen: 0.0.0.0:4873 If you are running Verdaccio in a Amazon EC2 Instance, [you will need set the listen in change your config file](https://github.com/verdaccio/verdaccio/issues/314#issuecomment-327852203) as is described above. -> Configure Apache or nginx? Please check out the [Reverse Proxy Setup](reverse-proxy.md) +> Configure Apache or nginx? Configure Apache or nginx? Please check out the [Reverse Proxy Setup](reverse-proxy.md) ## Keeping Verdaccio running forever @@ -71,8 +70,9 @@ $ crontab -e This might ask you to choose an editor. Pick your favorite and proceed. Add the following entry to the file: - @reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio - +``` +@reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio +``` The locations may vary depending on your server setup. If you want to know where your files are you can use the 'which' command: @@ -84,9 +84,7 @@ $ which verdaccio ## Using systemd Instead of `forever` you can use `systemd` for starting Verdaccio and keeping it running. Verdaccio installation has systemd unit, you only need to copy it: - ```bash $ sudo cp /usr/lib/node_modules/verdaccio/systemd/verdaccio.service /lib/systemd/system/ && sudo systemctl daemon-reload ``` - -This unit assumes you have configuration in `/etc/verdaccio/config.yaml` and store data in `/var/lib/verdaccio`, so either move your files to those locations or edit the unit. \ No newline at end of file +This unit assumes you have configuration in `/etc/verdaccio/config.yaml` and store data in `/var/lib/verdaccio`, so either move your files to those locations or edit the unit. diff --git a/website/translated_docs/es-ES/ssl.md b/website/translated_docs/es-ES/ssl.md index 2421d2aa5402..1d071d31e55f 100644 --- a/website/translated_docs/es-ES/ssl.md +++ b/website/translated_docs/es-ES/ssl.md @@ -5,31 +5,38 @@ title: "Configurar los Certificados SSL" Follow these instructions to configure an SSL certificate to serve an npm registry over HTTPS. + * Actualice la propiedad listen desde `~/.config/verdaccio/config.yaml`: - listen: 'https://your.domain.com/' - +```` +listen: 'https://your.domain.com/' +```` Once you've updated the listen property and try to run verdaccio again, it will ask for certificates. * Genere sus certificados - $ openssl genrsa -out /Users/user/.config/verdaccio/verdaccio-key.pem 2048 - $ openssl req -new -sha256 -key /Users/user/.config/verdaccio/verdaccio-key.pem -out /Users/user/.config/verdaccio/verdaccio-csr.pem - $ openssl x509 -req -in /Users/user/.config/verdaccio/verdaccio-csr.pem -signkey /Users/user/.config/verdaccio/verdaccio-key.pem -out /Users/user/.config/verdaccio/verdaccio-cert.pem - ```` - - * Edit your config file `/Users/user/.config/verdaccio/config.yaml` and add the following section: - - +```` + $ openssl genrsa -out /Users/user/.config/verdaccio/verdaccio-key.pem 2048 + $ openssl req -new -sha256 -key /Users/user/.config/verdaccio/verdaccio-key.pem -out /Users/user/.config/verdaccio/verdaccio-csr.pem + $ openssl x509 -req -in /Users/user/.config/verdaccio/verdaccio-csr.pem -signkey /Users/user/.config/verdaccio/verdaccio-key.pem -out /Users/user/.config/verdaccio/verdaccio-cert.pem + ```` + ```` -https: key: /Users/user/.config/verdaccio/verdaccio-key.pem cert: /Users/user/.config/verdaccio/verdaccio-cert.pem ca: /Users/user/.config/verdaccio/verdaccio-csr.pem +* Edit your config file `/Users/user/.config/verdaccio/config.yaml` and add the following section: -
Alternatively, if you have a certificate with the `server.pfx` format, you can add the following configuration section: (The passphrase is optional and only needed if your certificate is encrypted.) - - +```` +https: + key: /Users/user/.config/verdaccio/verdaccio-key.pem + cert: /Users/user/.config/verdaccio/verdaccio-cert.pem + ca: /Users/user/.config/verdaccio/verdaccio-csr.pem +```` +https: key: /Users/user/.config/verdaccio/verdaccio-key.pem cert: /Users/user/.config/verdaccio/verdaccio-cert.pem ca: /Users/user/.config/verdaccio/verdaccio-csr.pem + +```` https: pfx: /Users/user/.config/verdaccio/server.pfx passphrase: 'secret' ```` +```` You can find more info on the `key`, `cert`, `ca`, `pfx`, and `passphrase` arguments in the [Node documentation](https://nodejs.org/api/tls.html#tls_tls_createsecurecontext_options) @@ -40,7 +47,6 @@ You can find more info on the `key`, `cert`, `ca`, `pfx`, and `passphrase` argum These instructions are mostly valid under OSX and Linux; on Windows the paths will vary, but the steps are the same. ## Docker - If you are using the Docker image, you have to set the `VERDACCIO_PROTOCOL` environment variable to `https`, as the `listen` argument is provided in the [Dockerfile](https://github.com/verdaccio/verdaccio/blob/master/Dockerfile#L43) and thus ignored from your config file. -You can also set the `VERDACCIO_PORT` environment variable if you are using a port other than `4873`. \ No newline at end of file +You can also set the `VERDACCIO_PORT` environment variable if you are using a port other than `4873`. diff --git a/website/translated_docs/es-ES/windows.md b/website/translated_docs/es-ES/windows.md index c467f39837dd..1f92c7867cd3 100644 --- a/website/translated_docs/es-ES/windows.md +++ b/website/translated_docs/es-ES/windows.md @@ -5,10 +5,10 @@ title: "Instalación como un Servicio de Windows" Basándome ligeramente en las instrucciones encontradas [aquí](http://asysadmin.tumblr.com/post/32941224574/running-nginx-on-windows-as-a-service). Elaboré lo siguiente y me proporcionó un servicio de instalación de verdaccio totalmente funcional: -1. Crear un directorio para Verdaccio +1. Crear un directorio para Verdaccio * mkdir `c:\verdaccio` * cd `c:\verdaccio` -2. Instalar localmente verdaccio (me encontré con problemas npm con las instalaciones globales) +2. Instalar localmente verdaccio (me encontré con problemas npm con las instalaciones globales) * instalar verdaccio con npm 3. Crear su archivo `config.yaml` en esta ubicación `(c:\verdaccio\config.yaml)` 4. Configurar el Servicio de Windows @@ -24,29 +24,29 @@ MÉTODO ALTERNATIVO: (el paquete WinSW faltaba cuando intenté descargarlo) * Abrir un comando administrativo * Ejecutar la instalación nssm de verdaccio. Como mínimo debe completar en la Aplicación las pestañas de Ruta, el directorio de Inicio y los campos de Argumentos. Suponiendo una instalación con nodo en la ruta del sistema y una ubicación de c:\verdaccio los siguientes valores funcionarán: - * Ruta: `node` * Directorio de Inicio: `c:\verdaccio` * Argumentos: `c:\verdaccio\node_modules\verdaccio\build\lib\cli.js -c c:\verdaccio\config.yaml` - + Puede ajustar otras configuraciones de servicio en otras pestañas, según desee. Cuando termine, haga clic en el botón Servicio de Instalación - - * Iniciar el servicio sc iniciar verdaccio + + * Iniciar el servicio sc iniciar verdaccio ## Uso de WinSW * A partir del 27/10/2015, WinSW ya no está disponible en la siguiente ubicación. Por favor, siga las instrucciones anteriores de Uso de NSSM. -* Descargar [WinSW](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/) +* Descargar [WinSW](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/) * Colocar el archivo ejecutable (por ejemplo `winsw-1.9-bin.exe`) en esta carpeta (`c:\verdaccio`) y cambiarle el nombre a `verdaccio-winsw.exe` * Crear un archivo de configuración en `c:\verdaccio`, llamado `verdaccio-winsw.xml` con la siguiente configuración `xml verdaccio verdaccio verdaccio node c:\verdaccio\node_modules\verdaccio\src\lib\cli.js -c c:\verdaccio\config.yaml roll c:\verdaccio`. -* Instalar su servicio +* Instalar su servicio * `cd c:\verdaccio` * `verdaccio-winsw.exe install` -* Comenzar su servicio +* Comenzar su servicio * `verdaccio-winsw.exe start` Algunas de las configuraciones anteriores son más detalladas de lo que esperaba, parece como si 'workingdirectory' es ignorado, pero aparte de eso, esto funciona para mí y permite que mi instancia de verdaccio persista entre reinicios del servidor, y también que se reinicie a sí mismo de haber algún problema en el proceso de verdaccio. + ## Repositorios -* [verdaccio-deamon-windows](https://github.com/davidenke/verdaccio-deamon-windows) \ No newline at end of file +* [verdaccio-deamon-windows](https://github.com/davidenke/verdaccio-deamon-windows) diff --git a/website/translated_docs/fil-PH/caching.md b/website/translated_docs/fil-PH/caching.md index 60b7f65879e2..f662d67dfa25 100644 --- a/website/translated_docs/fil-PH/caching.md +++ b/website/translated_docs/fil-PH/caching.md @@ -7,11 +7,12 @@ Verdaccio caches all packages by default into the `/storage` folder. But you can ## Caching scenarios -* Build a Node.js project on **Continous Integration** (Bamboo, GitLab, Jenkins, etc) servers is a task that might take several times at a day, thus, the server will download tons of tarballs from the registry every time takes place. As usual, the CI tools clear the cache after each build and the process start over and over again. That is a waste of bandwidth and reduces the external traffic. **You can use Verdaccio for caching tarballs and metadata in our internal network and give a boost in your build time.** +* Build a Node.js project on **Continous Integration** (Bamboo, GitLab, Jenkins, etc) servers is a task that might take several times at a day, thus, the server will download tons of tarballs from the registry every time takes place. As usual, the CI tools clear the cache after each build and the process start over and over again. That is a waste of bandwidth and reduces the external traffic. **You can use Verdaccio for caching tarballs and metadata in our internal network and give a boost in your build time.** * **Latency and Connectivity**, not all countries enjoy a high-speed connection. For such reason cache packages locally in your network is really handy. Either if you are traveling, or have a weak connection, roaming or countries with strong Firewalls that might affect the user experience (eg: corrupting tarballs). * **Offline Mode**, all Node Package Managers nowadays uses their own internal cache, but it common that different projects might use different tools, which implies lock files and so on. Those tools are unable to share cache, the unique solution is centralized and relies on a proxy registry, Verdaccio cache all metadata and tarballs are downloaded by demand being able to share them across all your project. * Avoid that any remote registry suddenly returns *HTTP 404* error for tarballs were previously available a.k.a ([left-pad issue](https://www.theregister.co.uk/2016/03/23/npm_left_pad_chaos/)). + # Strategies for faster builds > We are looking for more strategies, feel free to share your experience in this field @@ -20,15 +21,16 @@ Verdaccio caches all packages by default into the `/storage` folder. But you can If you have a limited storage space, you might need to avoid cache tarballs, enabling `cache` false in each uplink will cache only metadata files. - uplinks: - npmjs: - url: https://registry.npmjs.org/ - cache: false - +``` +uplinks: + npmjs: + url: https://registry.npmjs.org/ + cache: false +``` ## Extending Cache Expiration Time -Verdaccio by default waits 2 minutes to invalidate the cache metadata before fetching new information from the remote registry. + Verdaccio by default waits 2 minutes to invalidate the cache metadata before fetching new information from the remote registry. ```yaml uplinks: @@ -39,6 +41,7 @@ uplinks: Increasing the value of `maxage` in each `uplink` remotes will be asked less frequently. This might be a valid strategy if you don't update dependencies so often. + ## Using the memory instead the hardrive Sometimes caching packages is not a critical step, rather than route packages from different registries and achieving faster build times. There are two plugins that avoid write in a physical hard drive at all using the memory. @@ -62,4 +65,4 @@ store: limit: 1000 ``` -Remember, once the server is restarted the data is being lost, we recommend this setup in cases where you do not need to persist at all. \ No newline at end of file +Remember, once the server is restarted the data is being lost, we recommend this setup in cases where you do not need to persist at all. diff --git a/website/translated_docs/fil-PH/install.md b/website/translated_docs/fil-PH/install.md index 46b35f61a3bc..3f897208d7f3 100644 --- a/website/translated_docs/fil-PH/install.md +++ b/website/translated_docs/fil-PH/install.md @@ -13,7 +13,7 @@ Verdaccio is a multiplatform web application. To install it, you need a few basi > We highly recommend to use the latest versions of Node Package Manager clients `> npm@6.x | yarn@1.x | | yarn@2.x | pnpm@6.x`. Don't support `npm@5.x` or older. -1. A modern web browser to run the web interface. We actually support `Chrome, Firefox, Edge`. +3. A modern web browser to run the web interface. We actually support `Chrome, Firefox, Edge`. > Verdaccio will support latest Node.js version according the [Node.js Release Working Group](https://github.com/nodejs/Release) recomendations. @@ -21,7 +21,7 @@ Are you still using **Verdaccio 4**?. Check the [migration guide](https://verdac ### Quick Introduction -Learn the basics before getting started, how to install, where is the location of the configuration file and more. +Learn the basics before getting started, how to install, where is the location of the configuration file and more. ## Installing the CLI @@ -92,7 +92,7 @@ Or a `publishConfig` in your `package.json` ## Create Your Own Private NPM Package Tutorial -If you'd like a broader explanation, don't miss the tutorial created by [thedevlife](https://mybiolink.co/thedevlife) on how to Create Your Own Private NPM Package using Verdaccio. +If you'd like a broader explanation, don't miss the tutorial created by [thedevlife](https://mybiolink.co/thedevlife) on how to Create Your Own Private NPM Package using Verdaccio. ## Docker Image @@ -106,4 +106,4 @@ docker run -it --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio `Verdaccio` is also available as a 1-click install on [Cloudron](https://cloudron.io) -[![Install](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=org.eggertsson.verdaccio) \ No newline at end of file +[![Install](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=org.eggertsson.verdaccio) diff --git a/website/translated_docs/fil-PH/kubernetes.md b/website/translated_docs/fil-PH/kubernetes.md index 4d41ab7fc2ab..5da1b2f18435 100644 --- a/website/translated_docs/fil-PH/kubernetes.md +++ b/website/translated_docs/fil-PH/kubernetes.md @@ -23,8 +23,9 @@ Deploy the Helm [verdaccio/verdaccio](https://github.com/verdaccio/charts) chart ### Add repository - helm repo add verdaccio https://charts.verdaccio.org - +``` +helm repo add verdaccio https://charts.verdaccio.org +``` In this example we use `npm` as release name: @@ -52,6 +53,7 @@ helm uninstall npm **Note:** this command delete all the resources, including packages that you may have previously published to the registry. + ### Custom Verdaccio configuration You can customize the Verdaccio configuration using a Kubernetes *configMap*. @@ -92,7 +94,6 @@ helm install npm --set customConfigMap=verdaccio-config verdaccio/verdaccio #### NGINX proxy body-size limit The standard k8s NGINX ingress proxy allows for 1MB for body-size which can be increased by modifying the default deployment options according to the [documentation](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#custom-max-body-size): - ```yaml ... @@ -109,4 +110,4 @@ annotations: [Rancher](http://rancher.com/) is a complete container management platform that makes managing and using containers in production really easy. -* [verdaccio-rancher](https://github.com/lgaticaq/verdaccio-rancher) \ No newline at end of file +* [verdaccio-rancher](https://github.com/lgaticaq/verdaccio-rancher) diff --git a/website/translated_docs/fil-PH/linking.md b/website/translated_docs/fil-PH/linking.md index 20936fac8e9d..76f693de99c3 100644 --- a/website/translated_docs/fil-PH/linking.md +++ b/website/translated_docs/fil-PH/linking.md @@ -17,10 +17,11 @@ You can link multiple registries, the following document will drive you through The unique way to access multiple registries using the `.npmrc` is the scope feature as follows: - // .npmrc - registry=https://registry.npmjs.org - @mycompany:registry=http://localhost:4873 - +``` +// .npmrc +registry=https://registry.npmjs.org +@mycompany:registry=http://localhost:4873 +``` This approach is valid, but comes with several disadvantages: @@ -75,7 +76,8 @@ Verdaccio supports multiple registries on the `proxy` field. The request will be Having a full Offline Registry is completely possible. If you don't want any connectivity with external remotes you can do the following. ```yaml -
auth: + +auth: htpasswd: file: ./htpasswd uplinks: @@ -91,4 +93,4 @@ packages: publish: $authenticated ``` -Remove all `proxy` fields within each section of `packages`. The registry will become full offline. \ No newline at end of file +Remove all `proxy` fields within each section of `packages`. The registry will become full offline. diff --git a/website/translated_docs/fil-PH/logger.md b/website/translated_docs/fil-PH/logger.md index 64401095fcdf..c25d522b25aa 100644 --- a/website/translated_docs/fil-PH/logger.md +++ b/website/translated_docs/fil-PH/logger.md @@ -28,4 +28,4 @@ Use `SIGUSR2` to notify the application, the log-file was rotated and it needs t | type | string | No | [stdout, file] | all | define the output | | path | string | No | verdaccio.log | all | if type is file, define the location of that file | | format | string | No | [pretty, pretty-timestamped] | all | output format | -| level | string | No | [fatal, error, warn, http, info, debug, trace] | all | verbose level | \ No newline at end of file +| level | string | No | [fatal, error, warn, http, info, debug, trace] | all | verbose level | diff --git a/website/translated_docs/fil-PH/logo.md b/website/translated_docs/fil-PH/logo.md index d93ae00a848c..b2e1d23c74eb 100644 --- a/website/translated_docs/fil-PH/logo.md +++ b/website/translated_docs/fil-PH/logo.md @@ -11,7 +11,7 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ## Symbols -**With text** +__With text__ ![symbol tiny with text](assets/logo/symbol/png/logo-small-header-bottom.png) @@ -19,11 +19,11 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ![symbol big with text](assets/logo/symbol/png/logo-small-header-bottom@3x.png) -**SVG** +__SVG__ ![symbol svg](assets/logo/symbol/svg/logo-small-header-bottom.svg) -**No text** +__No text__ ![symbol tiny](assets/logo/symbol/png/verdaccio-tiny.png) @@ -31,10 +31,12 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ![symbol big](assets/logo/symbol/png/verdaccio-tiny@3x.png) -**SVG** +__SVG__ ![svg format symbol no text](assets/logo/symbol/svg/verdaccio-tiny.svg) + + ### Black&White ![symbol bw small](assets/logo/symbol/png/verdaccio-blackwhite.png) @@ -43,14 +45,17 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ![symbol bw big](assets/logo/symbol/png/verdaccio-blackwhite@3x.png) -**SVG** +__SVG__ ![symbol bw svg](assets/logo/symbol/svg/verdaccio-blackwhite.svg) + ## Banner ![banner small](assets/logo/banner/png/verdaccio-banner.png) ![banner medium](assets/logo/banner/png/verdaccio-banner@2x.png) -![banner big](assets/logo/banner/png/verdaccio-banner@3x.png) \ No newline at end of file +![banner big](assets/logo/banner/png/verdaccio-banner@3x.png) + + diff --git a/website/translated_docs/fil-PH/node-api.md b/website/translated_docs/fil-PH/node-api.md index b1a27cbb0eed..f6840716b5e9 100644 --- a/website/translated_docs/fil-PH/node-api.md +++ b/website/translated_docs/fil-PH/node-api.md @@ -39,4 +39,4 @@ verdaccioServer.serviceUninstall(); verdaccioServer.serviceStart(); verdaccioServer.serviceStop(); verdaccioServer.serviceRestart(); -``` \ No newline at end of file +``` diff --git a/website/translated_docs/fil-PH/notifications.md b/website/translated_docs/fil-PH/notifications.md index 0b3bd0ac7449..3539a44afa14 100644 --- a/website/translated_docs/fil-PH/notifications.md +++ b/website/translated_docs/fil-PH/notifications.md @@ -48,12 +48,13 @@ We use [Handlebars](https://handlebarsjs.com/) as main template engine. ### Format Examples - # iterate all versions - {{ name }}{{#each versions}} v{{version}}{{/each}} - - # publisher and `dist-tag` package published - {{ publisher.name }} has published {{ publishedPackage }} - +``` +# iterate all versions +{{ name }}{{#each versions}} v{{version}}{{/each}} + +# publisher and `dist-tag` package published +{{ publisher.name }} has published {{ publishedPackage }} +``` ### Properties @@ -67,54 +68,56 @@ List of properties accesible via template Package metadata that the template has access - { - "_id": "@test/pkg1", - "name": "@test/pkg1", - "description": "", - "dist-tags": { - "beta": "1.0.54" - }, - "versions": { - "1.0.54": { - "name": "@test/pkg1", - "version": "1.0.54", - "description": "some description", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": { - "name": "Author Name", - "email": "author@domain.com" - }, - "license": "MIT", - "dependencies": { - "webpack": "4.12.0" - }, - "readmeFilename": "README.md", - "_id": "@ test/pkg1@1.0.54", - "_npmVersion": "6.1.0", - "_nodeVersion": "9.9.0", - "_npmUser": {}, - "dist": { - "integrity": "sha512-JlXWpLtMUBAqvVZBvH7UVLhXkGE1ctmXbDjbH/l0zMuG7wVzQ7GshTYvD/b5C+G2vOL2oiIS1RtayA/kKkTwKw==", - "shasum": "29c55c52c1e76e966e706165e5b9f22e32aa9f22", - "tarball": "http://localhost:4873/@test/pkg1/-/@test/pkg1-1.0.54.tgz" - } - } - }, - "readme": "# test", - "_attachments": { - "@test/pkg1-1.0.54.tgz": { - "content_type": "application/octet-stream", - "data": "H4sIAAAAAAAAE+y9Z5PjyJIgOJ ...", - "length": 33112 +``` +{ + "_id": "@test/pkg1", + "name": "@test/pkg1", + "description": "", + "dist-tags": { + "beta": "1.0.54" + }, + "versions": { + "1.0.54": { + "name": "@test/pkg1", + "version": "1.0.54", + "description": "some description", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": { + "name": "Author Name", + "email": "author@domain.com" + }, + "license": "MIT", + "dependencies": { + "webpack": "4.12.0" + }, + "readmeFilename": "README.md", + "_id": "@ test/pkg1@1.0.54", + "_npmVersion": "6.1.0", + "_nodeVersion": "9.9.0", + "_npmUser": {}, + "dist": { + "integrity": "sha512-JlXWpLtMUBAqvVZBvH7UVLhXkGE1ctmXbDjbH/l0zMuG7wVzQ7GshTYvD/b5C+G2vOL2oiIS1RtayA/kKkTwKw==", + "shasum": "29c55c52c1e76e966e706165e5b9f22e32aa9f22", + "tarball": "http://localhost:4873/@test/pkg1/-/@test/pkg1-1.0.54.tgz" } - }, - "time": {} - } - + } + }, + "readme": "# test", + "_attachments": { + "@test/pkg1-1.0.54.tgz": { + "content_type": "application/octet-stream", + "data": "H4sIAAAAAAAAE+y9Z5PjyJIgOJ ...", + "length": 33112 + } + }, + "time": {} +} +``` + ### Publisher @@ -122,21 +125,23 @@ You can get access to the package publisher information in the `content` of a we See below the `publisher` object type: - { - name: string, - groups: string[], - real_groups: string[] - } - +``` +{ + name: string, + groups: string[], + real_groups: string[] +} +``` An example: - notify: - method: POST - headers: [{'Content-Type': 'application/json'}] - endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken - content: '{"color":"green","message":"New package published: * {{ name }}*. Publisher name: * {{ publisher.name }} *.","notify":true,"message_format":"text"}' - +``` +notify: + method: POST + headers: [{'Content-Type': 'application/json'}] + endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken + content: '{"color":"green","message":"New package published: * {{ name }}*. Publisher name: * {{ publisher.name }} *.","notify":true,"message_format":"text"}' +``` **Note:** it's not possible to get the publisher information if the `package.json` file already has the `publisher` property. @@ -144,8 +149,9 @@ An example: You can access to the package is being published with the keyword `{{publishedPackage}}` as follows. - {{ publisher.name }} has published {{ publishedPackage }} - +``` +{{ publisher.name }} has published {{ publishedPackage }} +``` ## Configuration @@ -156,4 +162,4 @@ You can access to the package is being published with the keyword `{{publishedPa | packagePatternFlags | string | No | all | | Any flags to be used with the regular expression | | headers | array/object | Yes | all | | If this endpoint requires specific headers, set them here as an array of key: value objects. | | endpoint | string | Yes | all | | set the URL endpoint for this call | -| content | string | Yes | all | | any [Handlebar](https://handlebarsjs.com/) expressions | \ No newline at end of file +| content | string | Yes | all | | any [Handlebar](https://handlebarsjs.com/) expressions | diff --git a/website/translated_docs/fil-PH/packages.md b/website/translated_docs/fil-PH/packages.md index fcc2bc93d0d0..bd50e417b5c8 100644 --- a/website/translated_docs/fil-PH/packages.md +++ b/website/translated_docs/fil-PH/packages.md @@ -155,7 +155,7 @@ You may assign multiple uplinks for use as a proxy to use in the case of failove #### Unpublishing Packages -The property `publish` handle permissions for `npm publish` and `npm unpublish`. But, if you want to be more specific, you can use the property `unpublish` in your package access section, for instance: +The property `publish` handle permissions for `npm publish` and `npm unpublish`. But, if you want to be more specific, you can use the property `unpublish` in your package access section, for instance: ```yalm packages: @@ -183,6 +183,7 @@ In the previous example, the behaviour would be described: * only authenticated users can publish `my-company-*` packages, but **nobody would be allowed to unpublish them**. * If `unpublish` is commented out, the access will be granted or denied by the `publish` definition. + ### Configuration You can define mutiple `packages` and each of them must have an unique `Regex`. The syntax is based on [minimatch glob expressions](https://github.com/isaacs/minimatch). @@ -196,4 +197,4 @@ You can define mutiple `packages` and each of them must have an unique `Regex`. > We higlight that we recommend to not use **allow_access**/**allow_publish** and **proxy_access** anymore, those are deprecated and will soon be removed, please use the short version of each of those (**access**/**publish**/**proxy**). -If you want more information about how to use the **storage** property, please refer to this [comment](https://github.com/verdaccio/verdaccio/issues/1383#issuecomment-509933674). \ No newline at end of file +If you want more information about how to use the **storage** property, please refer to this [comment](https://github.com/verdaccio/verdaccio/issues/1383#issuecomment-509933674). diff --git a/website/translated_docs/fil-PH/plugins.md b/website/translated_docs/fil-PH/plugins.md index 42c87b8c8bef..06d4fe198de4 100644 --- a/website/translated_docs/fil-PH/plugins.md +++ b/website/translated_docs/fil-PH/plugins.md @@ -24,8 +24,9 @@ $> npm install --global verdaccio-activedirectory `verdaccio` as a sinopia fork it has backward compability with plugins that are compatible with `sinopia@1.4.0`. In such case the installation is the same. - $> npm install --global sinopia-memory - +``` +$> npm install --global sinopia-memory +``` ### Configuration @@ -33,6 +34,7 @@ Open the `config.yaml` file and update the `auth` section as follows: The default configuration looks like this, due we use a build-in `htpasswd` plugin by default that you can disable just commenting out the following lines. + ### Authentication Configuration ```yaml @@ -93,12 +95,14 @@ store: Verdaccio allows to replace the User Interface with a custom one, we call it **theme**. By default, uses `@verdaccio/ui-theme` that comes built-in, but, you can use something different installing your own plugin. ```bash -
$> npm install --global verdaccio-theme-dark + +$> npm install --global verdaccio-theme-dark ``` > The plugin name prefix must start with `verdaccio-theme`, otherwise the plugin won't load. + You can load only one theme at a time and pass through options if you need it. ```yaml @@ -132,4 +136,5 @@ theme: * [sinopia-ldap](https://www.npmjs.com/package/sinopia-ldap): LDAP auth plugin for sinopia. * [sinopia-github-oauth-env](https://www.npmjs.com/package/sinopia-github-oauth-env) Sinopia authentication plugin with github oauth web flow. -> All sinopia plugins should be compatible with all future verdaccio versions. Anyhow, we encourage contributors to migrate them to the modern verdaccio API and using the prefix as *verdaccio-xx-name*. \ No newline at end of file +> All sinopia plugins should be compatible with all future verdaccio versions. Anyhow, we encourage contributors to migrate them to the modern verdaccio API and using the prefix as *verdaccio-xx-name*. + diff --git a/website/translated_docs/fil-PH/protect-your-dependencies.md b/website/translated_docs/fil-PH/protect-your-dependencies.md index 25343e3a7ce1..9ceacfdc02b2 100644 --- a/website/translated_docs/fil-PH/protect-your-dependencies.md +++ b/website/translated_docs/fil-PH/protect-your-dependencies.md @@ -40,6 +40,6 @@ or with `yarn`: ➜ yarn add my-company-core yarn add v0.24.6 info No lockfile found. -[1/4] +[1/4] 🔍 Resolving packages... error An unexpected error occurred: "http://localhost:5555/webpack-1: unregistered users are not allowed to access package my-company-core". -``` \ No newline at end of file +``` diff --git a/website/translated_docs/fil-PH/puppet.md b/website/translated_docs/fil-PH/puppet.md index a9cc94557481..390eef309750 100644 --- a/website/translated_docs/fil-PH/puppet.md +++ b/website/translated_docs/fil-PH/puppet.md @@ -16,6 +16,10 @@ In both variants you have to explicitely call "class nodejs {}" in your puppet s For further information: - +[https://github.com/verdaccio/puppet-verdaccio](https://github.com/verdaccio/puppet-verdaccio) + +> We are looking for active contributors for this integration, if you are interested [refers to this ticket](https://github.com/verdaccio/puppet-verdaccio/issues/11). + + + -> We are looking for active contributors for this integration, if you are interested [refers to this ticket](https://github.com/verdaccio/puppet-verdaccio/issues/11). \ No newline at end of file diff --git a/website/translated_docs/fil-PH/repositories.md b/website/translated_docs/fil-PH/repositories.md index fac3fe942aaa..19433d9f03dc 100644 --- a/website/translated_docs/fil-PH/repositories.md +++ b/website/translated_docs/fil-PH/repositories.md @@ -5,4 +5,5 @@ title: Source Code `verdaccio` is composed or multiple repositories you might contribute. Look into the **issues** tab whether there is a ticket waiting for you 🤠. -To see the complete list of repositories, [click here](https://github.com/verdaccio/verdaccio/wiki/Repositories). \ No newline at end of file +To see the complete list of repositories, [click here](https://github.com/verdaccio/verdaccio/wiki/Repositories). + diff --git a/website/translated_docs/fil-PH/reverse-proxy.md b/website/translated_docs/fil-PH/reverse-proxy.md index 769d34e4eb64..f302852d1604 100644 --- a/website/translated_docs/fil-PH/reverse-proxy.md +++ b/website/translated_docs/fil-PH/reverse-proxy.md @@ -11,141 +11,145 @@ Apache and `mod_proxy` should **not decode/encode slashes** and leave them as th For installing at relative path, `/npm`, on the server - - AllowEncodedSlashes NoDecode - ProxyPass /npm http://127.0.0.1:4873 nocanon - ProxyPassReverse /npm http://127.0.0.1:4873 - - +```` + + AllowEncodedSlashes NoDecode + ProxyPass /npm http://127.0.0.1:4873 nocanon + ProxyPassReverse /npm http://127.0.0.1:4873 + +```` For installing at root path, `/`, on the server - - - ServerName your.domain.com - ServerAdmin hello@your.domain.com - ProxyPreserveHost On - AllowEncodedSlashes NoDecode - ProxyPass / http://127.0.0.1:4873/ nocanon - ProxyPassReverse / http://127.0.0.1:4873/ - - +```` + + ServerName your.domain.com + ServerAdmin hello@your.domain.com + ProxyPreserveHost On + AllowEncodedSlashes NoDecode + ProxyPass / http://127.0.0.1:4873/ nocanon + ProxyPassReverse / http://127.0.0.1:4873/ + +```` ### Configuration with SSL Apache virtual server configuration - apacheconfig - - - ServerName npm.your.domain.com - SSLEngine on - SSLCertificateFile /etc/letsencrypt/live/npm.your.domain.com/fullchain.pem - SSLCertificateKeyFile /etc/letsencrypt/live/npm.your.domain.com/privkey.pem - SSLProxyEngine On - ProxyRequests Off - ProxyPreserveHost On - AllowEncodedSlashes NoDecode - ProxyPass / http://127.0.0.1:4873/ nocanon - ProxyPassReverse / http://127.0.0.1:4873/ - RequestHeader set X-Forwarded-Proto "https" - - - +```` + apacheconfig + + + ServerName npm.your.domain.com + SSLEngine on + SSLCertificateFile /etc/letsencrypt/live/npm.your.domain.com/fullchain.pem + SSLCertificateKeyFile /etc/letsencrypt/live/npm.your.domain.com/privkey.pem + SSLProxyEngine On + ProxyRequests Off + ProxyPreserveHost On + AllowEncodedSlashes NoDecode + ProxyPass / http://127.0.0.1:4873/ nocanon + ProxyPassReverse / http://127.0.0.1:4873/ + RequestHeader set X-Forwarded-Proto "https" + + +```` # Nginx The following snippet is a full `docker` example can be tested in our [Docker examples repository](https://github.com/verdaccio/verdaccio/tree/5.x/docker-examples/reverse_proxy/nginx). - upstream verdaccio_v4 { - server verdaccio_relative_path_v4:4873; - keepalive 8; - } - - upstream verdaccio_v4_root { - server verdaccio_relative_path_v4_root:8000; - keepalive 8; +```` +upstream verdaccio_v4 { + server verdaccio_relative_path_v4:4873; + keepalive 8; +} + +upstream verdaccio_v4_root { + server verdaccio_relative_path_v4_root:8000; + keepalive 8; +} + +upstream verdaccio_v3 { + server verdaccio_relative_path_latest_v3:7771; + keepalive 8; +} + +server { + listen 80 default_server; + access_log /var/log/nginx/verdaccio.log; + charset utf-8; + + location / { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4_root; + proxy_redirect off; } - - upstream verdaccio_v3 { - server verdaccio_relative_path_latest_v3:7771; - keepalive 8; + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4/$1; + proxy_redirect off; } - - server { - listen 80 default_server; - access_log /var/log/nginx/verdaccio.log; - charset utf-8; - - location / { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4_root; - proxy_redirect off; - } - - location ~ ^/verdaccio/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4/$1; - proxy_redirect off; - } - - location ~ ^/verdacciov3/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - - proxy_pass http://verdaccio_v3/$1; - proxy_redirect off; - } + + location ~ ^/verdacciov3/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + + proxy_pass http://verdaccio_v3/$1; + proxy_redirect off; } - +} +```` ## SSL example - server { - listen 80; - return 302 https://$host$request_uri; +```` +server { + listen 80; + return 302 https://$host$request_uri; +} + +server { + listen 443 ssl http2; + server_name localhost; + + ssl_certificate /etc/nginx/cert.crt; + ssl_certificate_key /etc/nginx/cert.key; + + ssl on; + ssl_session_cache builtin:1000 shared:SSL:10m; + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; + ssl_prefer_server_ciphers on; + + location / { + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_pass http://verdaccio_v4_root; + proxy_read_timeout 600; + proxy_redirect off; } - - server { - listen 443 ssl http2; - server_name localhost; - - ssl_certificate /etc/nginx/cert.crt; - ssl_certificate_key /etc/nginx/cert.key; - - ssl on; - ssl_session_cache builtin:1000 shared:SSL:10m; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; - ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; - ssl_prefer_server_ciphers on; - - location / { - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_pass http://verdaccio_v4_root; - proxy_read_timeout 600; - proxy_redirect off; - } - - location ~ ^/verdaccio/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4_root/$1; - proxy_redirect off; - } + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4_root/$1; + proxy_redirect off; } - +} +```` ## Run behind reverse proxy with different domain and port @@ -171,10 +175,9 @@ location / { proxy_set_header X-Forwarded-Proto $scheme; } ``` - For this case, `url_prefix` should **NOT** set in Verdaccio config -* * * +--- or a sub-directory installation: @@ -186,7 +189,6 @@ location ~ ^/verdaccio/(.*)$ { proxy_set_header X-Forwarded-Proto $scheme; } ``` - For this case, `url_prefix` should set to `/verdaccio/` -> Note: There is a slash after the install path (`https://your-domain:port/verdaccio/`)! \ No newline at end of file +> Note: There is a slash after the install path (`https://your-domain:port/verdaccio/`)! diff --git a/website/translated_docs/fil-PH/server.md b/website/translated_docs/fil-PH/server.md index 7473ea12d00c..51498ca32c44 100644 --- a/website/translated_docs/fil-PH/server.md +++ b/website/translated_docs/fil-PH/server.md @@ -31,7 +31,6 @@ The `cd` command sends you to the home directory of the Verdaccio user. Make sur ## Listening on all addresses If you want to listen to every external address set the listen directive in the config to: - ```yaml # you can specify listen address (or simply a port) listen: 0.0.0.0:4873 @@ -71,8 +70,9 @@ $ crontab -e This might ask you to choose an editor. Pick your favorite and proceed. Add the following entry to the file: - @reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio - +``` +@reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio +``` The locations may vary depending on your server setup. If you want to know where your files are you can use the 'which' command: @@ -84,9 +84,7 @@ $ which verdaccio ## Using systemd Instead of `forever` you can use `systemd` for starting Verdaccio and keeping it running. Verdaccio installation has systemd unit, you only need to copy it: - ```bash $ sudo cp /usr/lib/node_modules/verdaccio/systemd/verdaccio.service /lib/systemd/system/ && sudo systemctl daemon-reload ``` - -This unit assumes you have configuration in `/etc/verdaccio/config.yaml` and store data in `/var/lib/verdaccio`, so either move your files to those locations or edit the unit. \ No newline at end of file +This unit assumes you have configuration in `/etc/verdaccio/config.yaml` and store data in `/var/lib/verdaccio`, so either move your files to those locations or edit the unit. diff --git a/website/translated_docs/fil-PH/who-is-using.md b/website/translated_docs/fil-PH/who-is-using.md index 778ca5bf2e0e..41c0f4cac3ee 100644 --- a/website/translated_docs/fil-PH/who-is-using.md +++ b/website/translated_docs/fil-PH/who-is-using.md @@ -10,6 +10,7 @@ title: "Who is using Verdaccio?" * [SheetJS](https://sheetjs.com/) * [Satispay](https://www.satispay.com/) + ### Open Source Projects > **Feel free to suggest other OSS are using Verdaccio.** @@ -29,4 +30,6 @@ title: "Who is using Verdaccio?" #### Readme Recommendations -* [react-native-cli](https://github.com/react-native-community/react-native-cli/blob/master/CONTRIBUTING.md) \ No newline at end of file +* [react-native-cli](https://github.com/react-native-community/react-native-cli/blob/master/CONTRIBUTING.md) + + diff --git a/website/translated_docs/fil-PH/windows.md b/website/translated_docs/fil-PH/windows.md index eeb0b4e96470..753bd9db917e 100644 --- a/website/translated_docs/fil-PH/windows.md +++ b/website/translated_docs/fil-PH/windows.md @@ -5,10 +5,10 @@ title: "Installing As a Windows Service" Loosely based upon the instructions found [here](http://asysadmin.tumblr.com/post/32941224574/running-nginx-on-windows-as-a-service). I crafted the following and it provided me with a fully working verdaccio service installation: -1. Create a directory for verdaccio +1. Create a directory for verdaccio * mkdir `c:\verdaccio` * cd `c:\verdaccio` -2. Install verdaccio locally (I ran into npm issues with global installs) +2. Install verdaccio locally (I ran into npm issues with global installs) * npm install verdaccio 3. Create your `config.yaml` file in this location `(c:\verdaccio\config.yaml)` 4. Windows Service Setup @@ -24,29 +24,29 @@ ALTERNATIVE METHOD: (WinSW package was missing when I tried to download it) * Open an administrative command * Run nssm install verdaccio At a minimum you must fill in the Application tab Path, Startup directory and Arguments fields. Assuming an install with node in the system path and a location of c:\verdaccio the below values will work: - * Path: `node` * Startup directory: `c:\verdaccio` * Arguments: `c:\verdaccio\node_modules\verdaccio\build\lib\cli.js -c c:\verdaccio\config.yaml` - + You can adjust other service settings under other tabs as desired. When you are done, click Install service button - - * Start the service sc start verdaccio + + * Start the service sc start verdaccio ## Using WinSW * As of 2015-10-27, WinSW is no longer available at the below location. Please follow the Using NSSM instructions above. -* Download [WinSW](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/) +* Download [WinSW](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/) * Place the executable (e.g. `winsw-1.9-bin.exe`) into this folder (`c:\verdaccio`) and rename it to `verdaccio-winsw.exe` * Create a configuration file in `c:\verdaccio`, named `verdaccio-winsw.xml` with the following configuration `xml verdaccio verdaccio verdaccio node c:\verdaccio\node_modules\verdaccio\src\lib\cli.js -c c:\verdaccio\config.yaml roll c:\verdaccio`. -* Install your service +* Install your service * `cd c:\verdaccio` * `verdaccio-winsw.exe install` -* Start your service +* Start your service * `verdaccio-winsw.exe start` Some of the above config is more verbose than I had expected, it appears as though 'workingdirectory' is ignored, but other than that, this works for me and allows my verdaccio instance to persist between restarts of the server, and also restart itself should there be any crashes of the verdaccio process. + ## Repositories -* [verdaccio-deamon-windows](https://github.com/davidenke/verdaccio-deamon-windows) \ No newline at end of file +* [verdaccio-deamon-windows](https://github.com/davidenke/verdaccio-deamon-windows) diff --git a/website/translated_docs/fr-FR/amazon.md b/website/translated_docs/fr-FR/amazon.md index 75793c72990c..2a11adb2efdf 100644 --- a/website/translated_docs/fr-FR/amazon.md +++ b/website/translated_docs/fr-FR/amazon.md @@ -11,25 +11,37 @@ Ce document décrit plusieurs approches pour le déploiement de Verdaccio dans l Architecture: - Clients - | - | (HTTPS) - v - Équilibreur de charge des demandes - | - | (HTTP) - v - EC2 Auto Scaling Group (Amazon Linux 2) - Docker image (Verdaccio) - | - | (NFS) - v - Système de fichiers élastiques - - -Architecture notes: * Deploy this stack into the region closest to your users for maximum performance. * We use an auto scaling group primarily for self-healing. The system requirements of Verdaccio are pretty low, so it's unlikely you'll need multiple instances to handle traffic load. * Because Amazon Linux 2 doesn't include Node, we run Verdaccio as a Docker image rather than natively on the instance. This is faster and more secure than relying on third party package sources for Node. * Elastic File System is cheap and stateful, and works across AZs. An alternative would be the [third-party S3 storage plugin](https://github.com/remitly/verdaccio-s3-storage). * For backup, use AWS Backup +``` +Clients + | + | (HTTPS) + v +Équilibreur de charge des demandes + | + | (HTTP) + v +EC2 Auto Scaling Group (Amazon Linux 2) +Docker image (Verdaccio) + | + | (NFS) + v +Système de fichiers élastiques +``` + +Architecture notes: +* Deploy this stack into the region closest to your users for maximum performance. +* * We use an auto scaling group primarily for self-healing. The system requirements of Verdaccio are pretty low, so it's unlikely you'll need multiple instances to handle traffic load. +* * Because Amazon Linux 2 doesn't include Node, we run Verdaccio as a Docker image rather than natively on the instance. This is faster and more secure than relying on third party package sources for Node. +* * Elastic File System is cheap and stateful, and works across AZs. An alternative would be the [third-party S3 storage plugin](https://github.com/remitly/verdaccio-s3-storage). + * * For backup, use AWS Backup Estimated monthly cost for a small installation (in us-east-1): * ALB (1 LCU average): $22.265/mo * EC2 (t3.nano): $3.796/mo * EBS (8gb): $0.80/mo * EFS (5gb): $1.5/mo * Data transfer: (10gb): $0.9/mo * **TOTAL:** Under $30/mo +* ALB (1 LCU average): $22.265/mo +* EC2 (t3.nano): $3.796/mo +* EBS (8gb): $0.80/mo +* EFS (5gb): $1.5/mo +* Data transfer: (10gb): $0.9/mo +* **TOTAL:** Under $30/mo ## ECS @@ -39,4 +51,4 @@ Note: Fargate doesn't support persistent volumes, so you have to use the S3 stor ## EKS -See the documentation pages on [Kubernetes](kubernetes) and [Docker](docker). \ No newline at end of file +See the documentation pages on [Kubernetes](kubernetes) and [Docker](docker). diff --git a/website/translated_docs/fr-FR/caching.md b/website/translated_docs/fr-FR/caching.md index 60b7f65879e2..f662d67dfa25 100644 --- a/website/translated_docs/fr-FR/caching.md +++ b/website/translated_docs/fr-FR/caching.md @@ -7,11 +7,12 @@ Verdaccio caches all packages by default into the `/storage` folder. But you can ## Caching scenarios -* Build a Node.js project on **Continous Integration** (Bamboo, GitLab, Jenkins, etc) servers is a task that might take several times at a day, thus, the server will download tons of tarballs from the registry every time takes place. As usual, the CI tools clear the cache after each build and the process start over and over again. That is a waste of bandwidth and reduces the external traffic. **You can use Verdaccio for caching tarballs and metadata in our internal network and give a boost in your build time.** +* Build a Node.js project on **Continous Integration** (Bamboo, GitLab, Jenkins, etc) servers is a task that might take several times at a day, thus, the server will download tons of tarballs from the registry every time takes place. As usual, the CI tools clear the cache after each build and the process start over and over again. That is a waste of bandwidth and reduces the external traffic. **You can use Verdaccio for caching tarballs and metadata in our internal network and give a boost in your build time.** * **Latency and Connectivity**, not all countries enjoy a high-speed connection. For such reason cache packages locally in your network is really handy. Either if you are traveling, or have a weak connection, roaming or countries with strong Firewalls that might affect the user experience (eg: corrupting tarballs). * **Offline Mode**, all Node Package Managers nowadays uses their own internal cache, but it common that different projects might use different tools, which implies lock files and so on. Those tools are unable to share cache, the unique solution is centralized and relies on a proxy registry, Verdaccio cache all metadata and tarballs are downloaded by demand being able to share them across all your project. * Avoid that any remote registry suddenly returns *HTTP 404* error for tarballs were previously available a.k.a ([left-pad issue](https://www.theregister.co.uk/2016/03/23/npm_left_pad_chaos/)). + # Strategies for faster builds > We are looking for more strategies, feel free to share your experience in this field @@ -20,15 +21,16 @@ Verdaccio caches all packages by default into the `/storage` folder. But you can If you have a limited storage space, you might need to avoid cache tarballs, enabling `cache` false in each uplink will cache only metadata files. - uplinks: - npmjs: - url: https://registry.npmjs.org/ - cache: false - +``` +uplinks: + npmjs: + url: https://registry.npmjs.org/ + cache: false +``` ## Extending Cache Expiration Time -Verdaccio by default waits 2 minutes to invalidate the cache metadata before fetching new information from the remote registry. + Verdaccio by default waits 2 minutes to invalidate the cache metadata before fetching new information from the remote registry. ```yaml uplinks: @@ -39,6 +41,7 @@ uplinks: Increasing the value of `maxage` in each `uplink` remotes will be asked less frequently. This might be a valid strategy if you don't update dependencies so often. + ## Using the memory instead the hardrive Sometimes caching packages is not a critical step, rather than route packages from different registries and achieving faster build times. There are two plugins that avoid write in a physical hard drive at all using the memory. @@ -62,4 +65,4 @@ store: limit: 1000 ``` -Remember, once the server is restarted the data is being lost, we recommend this setup in cases where you do not need to persist at all. \ No newline at end of file +Remember, once the server is restarted the data is being lost, we recommend this setup in cases where you do not need to persist at all. diff --git a/website/translated_docs/fr-FR/chef.md b/website/translated_docs/fr-FR/chef.md index 1588d192d858..bf409c972bed 100644 --- a/website/translated_docs/fr-FR/chef.md +++ b/website/translated_docs/fr-FR/chef.md @@ -5,11 +5,13 @@ title: "Chef Cookbook" Utilisation du Chef Cookbook pour Verdaccio -Pour plus d’informations: +Pour plus d'informations: -* -* +* [https://github.com/verdaccio/verdaccio-cookbook](https://github.com/verdaccio/verdaccio-cookbook) +* [https://supermarket.chef.io/cookbooks/verdaccio](https://supermarket.chef.io/cookbooks/verdaccio) > Nous sommes à la recherche de collaborateurs pour ce référentiel. Si vous êtes intéressés, veuillez en informer l'auteur par ticket. -Auteur: [Keli Grubb](https://github.com/kgrubb) && Barthelemy Vessemont. \ No newline at end of file +Auteur: [Keli Grubb](https://github.com/kgrubb) && Barthelemy Vessemont. + + diff --git a/website/translated_docs/fr-FR/install.md b/website/translated_docs/fr-FR/install.md index 151e37ae6229..a2f3df135e50 100644 --- a/website/translated_docs/fr-FR/install.md +++ b/website/translated_docs/fr-FR/install.md @@ -13,7 +13,7 @@ Verdaccio is a multiplatform web application. To install it, you need a few basi > We highly recommend to use the latest versions of Node Package Manager clients `> npm@6.x | yarn@1.x | | yarn@2.x | pnpm@6.x`. Don't support `npm@5.x` or older. -1. A modern web browser to run the web interface. We actually support `Chrome, Firefox, Edge`. +3. A modern web browser to run the web interface. We actually support `Chrome, Firefox, Edge`. > Verdaccio will support latest Node.js version according the [Node.js Release Working Group](https://github.com/nodejs/Release) recomendations. @@ -21,7 +21,7 @@ Are you still using **Verdaccio 4**?. Check the [migration guide](https://verdac ### Quick Introduction -Learn the basics before getting started, how to install, where is the location of the configuration file and more. +Learn the basics before getting started, how to install, where is the location of the configuration file and more. ## Installing the CLI @@ -92,7 +92,7 @@ Or a `publishConfig` in your `package.json` ## Create Your Own Private NPM Package Tutorial -If you'd like a broader explanation, don't miss the tutorial created by [thedevlife](https://mybiolink.co/thedevlife) on how to Create Your Own Private NPM Package using Verdaccio. +If you'd like a broader explanation, don't miss the tutorial created by [thedevlife](https://mybiolink.co/thedevlife) on how to Create Your Own Private NPM Package using Verdaccio. ## Docker Image @@ -106,4 +106,4 @@ docker run -it --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio `Verdaccio` is also available as a 1-click install on [Cloudron](https://cloudron.io) -[![Installer](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=org.eggertsson.verdaccio) \ No newline at end of file +[![Installer](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=org.eggertsson.verdaccio) diff --git a/website/translated_docs/fr-FR/kubernetes.md b/website/translated_docs/fr-FR/kubernetes.md index e8d1576693ac..28da41fd0abf 100644 --- a/website/translated_docs/fr-FR/kubernetes.md +++ b/website/translated_docs/fr-FR/kubernetes.md @@ -23,8 +23,9 @@ Deploy the Helm [verdaccio/verdaccio](https://github.com/verdaccio/charts) chart ### Add repository - helm repo add verdaccio https://charts.verdaccio.org - +``` +helm repo add verdaccio https://charts.verdaccio.org +``` In this example we use `npm` as release name: @@ -52,6 +53,7 @@ helm uninstall npm **Remarque:** cette commande supprime toutes les ressources, y compris les packages que vous avez peut-être déjà publiés dans le registre. + ### Configuration personnalisée de Verdaccio Vous pouvez personnaliser la configuration de Verdaccio en utilisant un Kubernetes *configMap*. @@ -92,7 +94,6 @@ helm install npm --set customConfigMap=verdaccio-config verdaccio/verdaccio #### NGINX proxy body-size limit The standard k8s NGINX ingress proxy allows for 1MB for body-size which can be increased by modifying the default deployment options according to the [documentation](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#custom-max-body-size): - ```yaml ... @@ -100,8 +101,7 @@ annotations: ... kubernetes.io/proxy-body-size: 20m -.... -... +.... ``` @@ -109,4 +109,4 @@ annotations: [Rancher](http://rancher.com/) is a complete container management platform that makes managing and using containers in production really easy. -* [verdaccio-rancher](https://github.com/lgaticaq/verdaccio-rancher) \ No newline at end of file +* [verdaccio-rancher](https://github.com/lgaticaq/verdaccio-rancher) diff --git a/website/translated_docs/fr-FR/linking.md b/website/translated_docs/fr-FR/linking.md index 20936fac8e9d..76f693de99c3 100644 --- a/website/translated_docs/fr-FR/linking.md +++ b/website/translated_docs/fr-FR/linking.md @@ -17,10 +17,11 @@ You can link multiple registries, the following document will drive you through The unique way to access multiple registries using the `.npmrc` is the scope feature as follows: - // .npmrc - registry=https://registry.npmjs.org - @mycompany:registry=http://localhost:4873 - +``` +// .npmrc +registry=https://registry.npmjs.org +@mycompany:registry=http://localhost:4873 +``` This approach is valid, but comes with several disadvantages: @@ -75,7 +76,8 @@ Verdaccio supports multiple registries on the `proxy` field. The request will be Having a full Offline Registry is completely possible. If you don't want any connectivity with external remotes you can do the following. ```yaml -
auth: + +auth: htpasswd: file: ./htpasswd uplinks: @@ -91,4 +93,4 @@ packages: publish: $authenticated ``` -Remove all `proxy` fields within each section of `packages`. The registry will become full offline. \ No newline at end of file +Remove all `proxy` fields within each section of `packages`. The registry will become full offline. diff --git a/website/translated_docs/fr-FR/logger.md b/website/translated_docs/fr-FR/logger.md index 11a786aab8ca..fe17d0f5d54c 100644 --- a/website/translated_docs/fr-FR/logger.md +++ b/website/translated_docs/fr-FR/logger.md @@ -23,9 +23,9 @@ Use `SIGUSR2` to notify the application, the log-file was rotated and it needs t ### Configuration -| Propriété | Type | Obligatoire | Exemple | Soutien | Description | -| ---------- | -------------------- | ----------- | ---------------------------------------------- | ------- | -------------------------------------------------------------- | -| type | chaîne de caractères | Non | [stdout, file] | tous | définir la sortie | -| itinéraire | chaîne de caractères | Non | verdaccio.log | tous | si le type est fichier, définissez l’emplacement de ce fichier | -| format | chaîne de caractères | Non | [pretty, pretty-timestamped] | tous | format de la sortie | -| niveau | chaîne de caractères | Non | [fatal, error, warn, http, info, debug, trace] | tous | niveau détaillé | \ No newline at end of file +| Propriété | Type | Obligatoire | Exemple | Soutien | Description | +| ---------- | ------ | ----------- | ---------------------------------------------- | ------- | -------------------------------------------------------------- | +| type | chaîne | Non | [stdout, file] | tous | définir la sortie | +| itinéraire | chaîne | Non | verdaccio.log | tous | si le type est fichier, définissez l’emplacement de ce fichier | +| format | chaîne | Non | [pretty, pretty-timestamped] | tous | format de la sortie | +| niveau | chaîne | Non | [fatal, error, warn, http, info, debug, trace] | tous | niveau détaillé | diff --git a/website/translated_docs/fr-FR/logo.md b/website/translated_docs/fr-FR/logo.md index 0f633f1eccb2..92ed98959255 100644 --- a/website/translated_docs/fr-FR/logo.md +++ b/website/translated_docs/fr-FR/logo.md @@ -11,7 +11,7 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ## Symboles -**Avec texte** +__Avec texte__ ![petit symbole avec texte](assets/logo/symbol/png/logo-small-header-bottom.png) @@ -19,11 +19,11 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ![grand symbole avec texte](assets/logo/symbol/png/logo-small-header-bottom@3x.png) -**SVG** +__SVG__ ![symbole svg](assets/logo/symbol/svg/logo-small-header-bottom.svg) -**Aucun texte** +__Aucun texte__ ![petit symbole](assets/logo/symbol/png/verdaccio-tiny.png) @@ -31,10 +31,12 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ![grand symbole](assets/logo/symbol/png/verdaccio-tiny@3x.png) -**SVG** +__SVG__ ![symbole de format svg sans texte](assets/logo/symbol/svg/verdaccio-tiny.svg) + + ### Noir &Blanc ![symbole noir et blanc petit](assets/logo/symbol/png/verdaccio-blackwhite.png) @@ -43,14 +45,17 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ![symbole noir et blanc grand](assets/logo/symbol/png/verdaccio-blackwhite@3x.png) -**SVG** +__SVG__ ![symbole noir et blanc svg](assets/logo/symbol/svg/verdaccio-blackwhite.svg) + ## Bannière ![petite bannière](assets/logo/banner/png/verdaccio-banner.png) ![bannière moyenne](assets/logo/banner/png/verdaccio-banner@2x.png) -![grande bannière](assets/logo/banner/png/verdaccio-banner@3x.png) \ No newline at end of file +![grande bannière](assets/logo/banner/png/verdaccio-banner@3x.png) + + diff --git a/website/translated_docs/fr-FR/node-api.md b/website/translated_docs/fr-FR/node-api.md index 88b8d25d26e8..561ee12e2e5d 100644 --- a/website/translated_docs/fr-FR/node-api.md +++ b/website/translated_docs/fr-FR/node-api.md @@ -39,4 +39,4 @@ verdaccioServer.serviceUninstall() ; verdaccioServer.serviceStart() ; verdaccioServer.serviceStop() ; verdaccioServer.serviceRestart() ; -``` \ No newline at end of file +``` diff --git a/website/translated_docs/fr-FR/notifications.md b/website/translated_docs/fr-FR/notifications.md index 301eb70db4dc..71550cfdf571 100644 --- a/website/translated_docs/fr-FR/notifications.md +++ b/website/translated_docs/fr-FR/notifications.md @@ -48,12 +48,13 @@ Nous utilisons [Handlebars](https://handlebarsjs.com/) comme moteur de gabarit p ### Exemples de format - # itérer toutes les versions - {{ name }}{{#each versions}} v{{version}}{{/each}} - - # Publication de l'éditeur et du paquet "Dist-tag" - {{ publisher.name }} a publié {{ publishedPackage }} - +``` +# itérer toutes les versions +{{ name }}{{#each versions}} v{{version}}{{/each}} + +# Publication de l'éditeur et du paquet "Dist-tag" +{{ publisher.name }} a publié {{ publishedPackage }} +``` ### Propriétés @@ -67,54 +68,56 @@ Liste des propriétés accessibles via un modèle Package de métadonnées auquel le modèle a accès - { - "_id": "@test/pkg1", - "name": "@test/pkg1", - "description": "", - "dist-tags": { - "beta": "1.0.54" - }, - "versions": { - "1.0.54": { - "name": "@test/pkg1", - "version": "1.0.54", - "description": "some description", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": { - "name": "Author Name", - "email": "author@domain.com" - }, - "license": "MIT", - "dependencies": { - "webpack": "4.12.0" - }, - "readmeFilename": "README.md", - "_id": "@ test/pkg1@1.0.54", - "_npmVersion": "6.1.0", - "_nodeVersion": "9.9.0", - "_npmUser": {}, - "dist": { - "integrity": "sha512-JlXWpLtMUBAqvVZBvH7UVLhXkGE1ctmXbDjbH/l0zMuG7wVzQ7GshTYvD/b5C+G2vOL2oiIS1RtayA/kKkTwKw==", - "shasum": "29c55c52c1e76e966e706165e5b9f22e32aa9f22", - "tarball": "http://localhost:4873/@test/pkg1/-/@test/pkg1-1.0.54.tgz" - } - } - }, - "readme": "# test", - "_attachments": { - "@test/pkg1-1.0.54.tgz": { - "content_type": "application/octet-stream", - "data": "H4sIAAAAAAAAE+y9Z5PjyJIgOJ ...", - "length": 33112 +``` +{ + "_id": "@test/pkg1", + "name": "@test/pkg1", + "description": "", + "dist-tags": { + "beta": "1.0.54" + }, + "versions": { + "1.0.54": { + "name": "@test/pkg1", + "version": "1.0.54", + "description": "some description", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": { + "name": "Author Name", + "email": "author@domain.com" + }, + "license": "MIT", + "dependencies": { + "webpack": "4.12.0" + }, + "readmeFilename": "README.md", + "_id": "@ test/pkg1@1.0.54", + "_npmVersion": "6.1.0", + "_nodeVersion": "9.9.0", + "_npmUser": {}, + "dist": { + "integrity": "sha512-JlXWpLtMUBAqvVZBvH7UVLhXkGE1ctmXbDjbH/l0zMuG7wVzQ7GshTYvD/b5C+G2vOL2oiIS1RtayA/kKkTwKw==", + "shasum": "29c55c52c1e76e966e706165e5b9f22e32aa9f22", + "tarball": "http://localhost:4873/@test/pkg1/-/@test/pkg1-1.0.54.tgz" } - }, - "time": {} - } - + } + }, + "readme": "# test", + "_attachments": { + "@test/pkg1-1.0.54.tgz": { + "content_type": "application/octet-stream", + "data": "H4sIAAAAAAAAE+y9Z5PjyJIgOJ ...", + "length": 33112 + } + }, + "time": {} +} +``` + ### Editeur @@ -122,21 +125,23 @@ You can get access to the package publisher information in the `content` of a we Voir le type d'objet `publisher` ci-dessous: - { - name: string, - groups: string[], - real_groups: string[] - } - +``` +{ + name: string, + groups: string[], + real_groups: string[] +} +``` Un exemple: - notify: - method: POST - headers: [{'Content-Type': 'application/json'}] - endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken - content: '{"color":"green","message":"New package published: * {{ name }}*. Publisher name: * {{ publisher.name }} *.","notify":true,"message_format":"text"}' - +``` +notify: + method: POST + headers: [{'Content-Type': 'application/json'}] + endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken + content: '{"color":"green","message":"New package published: * {{ name }}*. Publisher name: * {{ publisher.name }} *.","notify":true,"message_format":"text"}' +``` **Remarque:** Il est impossible d'obtenir des informations sur l'éditeur si le fichier `package.json` possède déjà la propriété `éditeur`. @@ -144,16 +149,17 @@ Un exemple: Vous pouvez accéder au paquet est publié avec le mot-clé `{{publishedPackage}}` comme suit. - {{ publisher.name }} a publié {{ publishedPackage }} - +``` +{{ publisher.name }} a publié {{ publishedPackage }} +``` ## Configuration -| Propriété | Type | Obligatoire | Soutien | Par défaut | Description | -| ------------------- | -------------------- | ----------- | ------- | ---------- | -------------------------------------------------------------------------------------------------------------------- | -| méthode | chaîne de caractères | Non | tous | | HTTP verb | -| packagePattern | chaîne de caractères | Non | tous | | N'effectuez cette notification que si le nom du package correspond à l'expression régulière | -| packagePatternFlags | chaîne de caractères | Non | tous | | Tous les drapeaux à utiliser avec l'expression régulière | -| en-têtes | tableau/objet | Oui | tous | | Si ce noeud final nécessite des en-têtes spécifiques, définissez-les ici comme un tableau de clé: valeur des objets. | -| endpoint | chaîne de caractères | Oui | tous | | définir l'URL de l'endpoint pour cet appel | -| content | chaîne de caractères | Oui | tous | | toute expression [Handlebar](https://handlebarsjs.com/) | \ No newline at end of file +| Propriété | Type | Obligatoire | Soutien | Par défaut | Description | +| ------------------- | ------------- | ----------- | ------- | ---------- | -------------------------------------------------------------------------------------------------------------------- | +| méthode | chaîne | Non | tous | | HTTP verb | +| packagePattern | chaîne | Non | tous | | N'effectuez cette notification que si le nom du package correspond à l'expression régulière | +| packagePatternFlags | chaîne | Non | tous | | Tous les drapeaux à utiliser avec l'expression régulière | +| en-têtes | tableau/objet | Oui | tous | | Si ce noeud final nécessite des en-têtes spécifiques, définissez-les ici comme un tableau de clé: valeur des objets. | +| endpoint | chaîne | Oui | tous | | définir l'URL de l'endpoint pour cet appel | +| content | chaîne | Oui | tous | | toute expression [Handlebar](https://handlebarsjs.com/) | diff --git a/website/translated_docs/fr-FR/packages.md b/website/translated_docs/fr-FR/packages.md index 548b7dcee259..e0ab4101d4a8 100644 --- a/website/translated_docs/fr-FR/packages.md +++ b/website/translated_docs/fr-FR/packages.md @@ -155,7 +155,7 @@ You may assign multiple uplinks for use as a proxy to use in the case of failove #### Unpublishing Packages -The property `publish` handle permissions for `npm publish` and `npm unpublish`. But, if you want to be more specific, you can use the property `unpublish` in your package access section, for instance: +The property `publish` handle permissions for `npm publish` and `npm unpublish`. But, if you want to be more specific, you can use the property `unpublish` in your package access section, for instance: ```yalm packages: @@ -183,17 +183,18 @@ In the previous example, the behaviour would be described: * only authenticated users can publish `my-company-*` packages, but **nobody would be allowed to unpublish them**. * If `unpublish` is commented out, the access will be granted or denied by the `publish` definition. + ### Configuration You can define mutiple `packages` and each of them must have an unique `Regex`. The syntax is based on [minimatch glob expressions](https://github.com/isaacs/minimatch). -| Propriété | Type | Obligatoire | Exemple | Soutien | Description | -| --------- | -------------------- | ----------- | -------------- | -------------- | ------------------------------------------------------------------------- | -| accès | chaîne de caractères | Non | $all | tous | définir des groupes autorisés à accéder au package | -| publier | chaîne | Non | $authenticated | tous | définir les groupes autorisés à publier | -| proxy | chaîne de caractères | Non | npmjs | tous | limite la recherche d'un uplink spécifique | -| stockage | chaîne | Non | chaîne | `/some-folder` | it creates a subfolder whithin the storage folder for each package access | +| Propriété | Type | Obligatoire | Exemple | Soutien | Description | +| --------- | ------ | ----------- | -------------- | -------------- | ------------------------------------------------------------------------- | +| accès | chaîne | Non | $all | tous | définir des groupes autorisés à accéder au package | +| publier | chaîne | Non | $authenticated | tous | définir les groupes autorisés à publier | +| proxy | chaîne | Non | npmjs | tous | limite la recherche d'un uplink spécifique | +| stockage | chaîne | Non | chaîne | `/some-folder` | it creates a subfolder whithin the storage folder for each package access | > Nous vous signalons qu'il est déconseillé d'utiliser les **allow_access **/**allow_publish** et les **proxy_access** qui sont obsolètes et qui seront bientôt supprimés. version courte de chacun de ces éléments (**acces**/ **publish**/**proxy**). -If you want more information about how to use the **storage** property, please refer to this [comment](https://github.com/verdaccio/verdaccio/issues/1383#issuecomment-509933674). \ No newline at end of file +If you want more information about how to use the **storage** property, please refer to this [comment](https://github.com/verdaccio/verdaccio/issues/1383#issuecomment-509933674). diff --git a/website/translated_docs/fr-FR/plugins.md b/website/translated_docs/fr-FR/plugins.md index cc822f533a58..adbba271b52e 100644 --- a/website/translated_docs/fr-FR/plugins.md +++ b/website/translated_docs/fr-FR/plugins.md @@ -24,8 +24,9 @@ $> npm install --global verdaccio-activedirectory `verdaccio` as a sinopia fork it has backward compability with plugins that are compatible with `sinopia@1.4.0`. In such case the installation is the same. - $> npm install --global sinopia-memory - +``` +$> npm install --global sinopia-memory +``` ### Configuration @@ -33,6 +34,7 @@ Ouvrez le fichier `>config.yaml` et mettez à jour la section `auth` comme suit La configuration par défaut ressemble à ceci, car nous utilisons un plugin intégré `htpasswd` qui peut être désactivé en commentant les lignes suivantes. + ### Authentication Configuration ```yaml @@ -93,12 +95,14 @@ store: Verdaccio allows to replace the User Interface with a custom one, we call it **theme**. By default, uses `@verdaccio/ui-theme` that comes built-in, but, you can use something different installing your own plugin. ```bash -
$> npm install --global verdaccio-theme-dark + +$> npm install --global verdaccio-theme-dark ``` > The plugin name prefix must start with `verdaccio-theme`, otherwise the plugin won't load. + You can load only one theme at a time and pass through options if you need it. ```yaml @@ -132,4 +136,5 @@ theme: * [sinopia-ldap](https://www.npmjs.com/package/sinopia-ldap): plugin d'authentification LDAP pour sinopia. * [sinopia-github-oauth-env](https://www.npmjs.com/package/sinopia-github-oauth-env) plugin d'authentification pour Sinopia avec une interface Web github oauth. -> Tous les plugins de Sinopia devraient être compatibles avec toutes les futures versions de Verdaccio. Cependant, nous encourageons les contributeurs à les transférer vers l’API moderne de verdaccio et à utiliser le préfixe * verdaccio-xx-name *. \ No newline at end of file +> Tous les plugins de Sinopia devraient être compatibles avec toutes les futures versions de Verdaccio. Cependant, nous encourageons les contributeurs à les transférer vers l’API moderne de verdaccio et à utiliser le préfixe * verdaccio-xx-name *. + diff --git a/website/translated_docs/fr-FR/protect-your-dependencies.md b/website/translated_docs/fr-FR/protect-your-dependencies.md index e611ff0ab6bf..d21c35a96059 100644 --- a/website/translated_docs/fr-FR/protect-your-dependencies.md +++ b/website/translated_docs/fr-FR/protect-your-dependencies.md @@ -31,7 +31,8 @@ I won't have access to such dependencies and they also won't be visible via the ```bash ➜ npm install my-company-core npm ERR! code E403 -npm ERR! 403 Forbidden: webpack-1@latest +npm ERR! code E403 +npm ERR! ``` or with `yarn`: @@ -40,6 +41,6 @@ or with `yarn`: ➜ yarn add my-company-core yarn add v0.24.6 info No lockfile found. -[1/4] +[1/4] 🔍 Resolving packages... error Une erreur inattendue s'est produite: "http: // localhost: 5555 / webpack-1: les utilisateurs non enregistrés ne sont pas autorisés à accéder au paquet my-company-core". -``` \ No newline at end of file +``` diff --git a/website/translated_docs/fr-FR/puppet.md b/website/translated_docs/fr-FR/puppet.md index 63c68dcd13f6..7389f5c431af 100644 --- a/website/translated_docs/fr-FR/puppet.md +++ b/website/translated_docs/fr-FR/puppet.md @@ -16,6 +16,10 @@ Dans les deux variantes, il est nécessaire d'appeler explicitement la "classe n Pour plus d'informations: - +[https://github.com/verdaccio/puppet-verdaccio](https://github.com/verdaccio/puppet-verdaccio) + +> Nous sommes à la recherche de collaborateurs actifs pour cette intégration. Si vous êtes intéressé, [référez-vous à ce ticket](https://github.com/verdaccio/puppet-verdaccio/issues/11). + + + -> Nous sommes à la recherche de collaborateurs actifs pour cette intégration. Si vous êtes intéressé, [référez-vous à ce ticket](https://github.com/verdaccio/puppet-verdaccio/issues/11). \ No newline at end of file diff --git a/website/translated_docs/fr-FR/repositories.md b/website/translated_docs/fr-FR/repositories.md index c22587a6d7d4..e8ee6917dc01 100644 --- a/website/translated_docs/fr-FR/repositories.md +++ b/website/translated_docs/fr-FR/repositories.md @@ -5,4 +5,5 @@ title: Code source `verdaccio` is composed or multiple repositories you might contribute. Look into the **issues** tab whether there is a ticket waiting for you 🤠. -Pour visualiser la liste complète des scripts, [cliquez ici](https://github.com/verdaccio/verdaccio/wiki/Repositories). \ No newline at end of file +Pour visualiser la liste complète des scripts, [cliquez ici](https://github.com/verdaccio/verdaccio/wiki/Repositories). + diff --git a/website/translated_docs/fr-FR/reverse-proxy.md b/website/translated_docs/fr-FR/reverse-proxy.md index 202db99c2fad..10fd3157148e 100644 --- a/website/translated_docs/fr-FR/reverse-proxy.md +++ b/website/translated_docs/fr-FR/reverse-proxy.md @@ -11,141 +11,145 @@ Apache and `mod_proxy` should **not decode/encode slashes** and leave them as th For installing at relative path, `/npm`, on the server - - AllowEncodedSlashes NoDecode - ProxyPass /npm http://127.0.0.1:4873 nocanon - ProxyPassReverse /npm http://127.0.0.1:4873 - - +```` + + AllowEncodedSlashes NoDecode + ProxyPass /npm http://127.0.0.1:4873 nocanon + ProxyPassReverse /npm http://127.0.0.1:4873 + +```` For installing at root path, `/`, on the server - - - ServerName your.domain.com - ServerAdmin hello@your.domain.com - ProxyPreserveHost On - AllowEncodedSlashes NoDecode - ProxyPass / http://127.0.0.1:4873/ nocanon - ProxyPassReverse / http://127.0.0.1:4873/ - - +```` + + ServerName your.domain.com + ServerAdmin hello@your.domain.com + ProxyPreserveHost On + AllowEncodedSlashes NoDecode + ProxyPass / http://127.0.0.1:4873/ nocanon + ProxyPassReverse / http://127.0.0.1:4873/ + +```` ### Configuration avec SSL Configuration du serveur virtuel Apache - apacheconfig - - - ServerName npm.your.domain.com - SSLEngine on - SSLCertificateFile /etc/letsencrypt/live/npm.your.domain.com/fullchain.pem - SSLCertificateKeyFile /etc/letsencrypt/live/npm.your.domain.com/privkey.pem - SSLProxyEngine On - ProxyRequests Off - ProxyPreserveHost On - AllowEncodedSlashes NoDecode - ProxyPass / http://127.0.0.1:4873/ nocanon - ProxyPassReverse / http://127.0.0.1:4873/ - RequestHeader set X-Forwarded-Proto "https" - - - +```` + apacheconfig + + + ServerName npm.your.domain.com + SSLEngine on + SSLCertificateFile /etc/letsencrypt/live/npm.your.domain.com/fullchain.pem + SSLCertificateKeyFile /etc/letsencrypt/live/npm.your.domain.com/privkey.pem + SSLProxyEngine On + ProxyRequests Off + ProxyPreserveHost On + AllowEncodedSlashes NoDecode + ProxyPass / http://127.0.0.1:4873/ nocanon + ProxyPassReverse / http://127.0.0.1:4873/ + RequestHeader set X-Forwarded-Proto "https" + + +```` # Nginx The following snippet is a full `docker` example can be tested in our [Docker examples repository](https://github.com/verdaccio/verdaccio/tree/5.x/docker-examples/reverse_proxy/nginx). - upstream verdaccio_v4 { - server verdaccio_relative_path_v4:4873; - keepalive 8; - } - - upstream verdaccio_v4_root { - server verdaccio_relative_path_v4_root:8000; - keepalive 8; +```` +upstream verdaccio_v4 { + server verdaccio_relative_path_v4:4873; + keepalive 8; +} + +upstream verdaccio_v4_root { + server verdaccio_relative_path_v4_root:8000; + keepalive 8; +} + +upstream verdaccio_v3 { + server verdaccio_relative_path_latest_v3:7771; + keepalive 8; +} + +server { + listen 80 default_server; + access_log /var/log/nginx/verdaccio.log; + charset utf-8; + + location / { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4_root; + proxy_redirect off; } - - upstream verdaccio_v3 { - server verdaccio_relative_path_latest_v3:7771; - keepalive 8; + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4/$1; + proxy_redirect off; } - - server { - listen 80 default_server; - access_log /var/log/nginx/verdaccio.log; - charset utf-8; - - location / { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4_root; - proxy_redirect off; - } - - location ~ ^/verdaccio/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4/$1; - proxy_redirect off; - } - - location ~ ^/verdacciov3/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - - proxy_pass http://verdaccio_v3/$1; - proxy_redirect off; - } + + location ~ ^/verdacciov3/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + + proxy_pass http://verdaccio_v3/$1; + proxy_redirect off; } - +} +```` ## SSL example - server { - listen 80; - return 302 https://$host$request_uri; +```` +server { + listen 80; + return 302 https://$host$request_uri; +} + +server { + listen 443 ssl http2; + server_name localhost; + + ssl_certificate /etc/nginx/cert.crt; + ssl_certificate_key /etc/nginx/cert.key; + + ssl on; + ssl_session_cache builtin:1000 shared:SSL:10m; + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; + ssl_prefer_server_ciphers on; + + location / { + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_pass http://verdaccio_v4_root; + proxy_read_timeout 600; + proxy_redirect off; } - - server { - listen 443 ssl http2; - server_name localhost; - - ssl_certificate /etc/nginx/cert.crt; - ssl_certificate_key /etc/nginx/cert.key; - - ssl on; - ssl_session_cache builtin:1000 shared:SSL:10m; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; - ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; - ssl_prefer_server_ciphers on; - - location / { - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_pass http://verdaccio_v4_root; - proxy_read_timeout 600; - proxy_redirect off; - } - - location ~ ^/verdaccio/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4_root/$1; - proxy_redirect off; - } + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4_root/$1; + proxy_redirect off; } - +} +```` ## Commencer derrière le proxy inverse avec un domaine et un port différents @@ -171,10 +175,9 @@ ocation / { proxy_set_header X-Forwarded-Proto $scheme; } ``` - For this case, `url_prefix` should **NOT** set in Verdaccio config -* * * +--- ou dans l'installation d'un sous-dossier: @@ -186,7 +189,6 @@ location ~ ^/verdaccio/(.*)$ { proxy_set_header X-Forwarded-Proto $scheme; } ``` - Dans ce cas, `url_prefix` doit être défini sur `/verdaccio/` -> Note: There is a slash after the install path (`https://your-domain:port/verdaccio/`)! \ No newline at end of file +> Note: There is a slash after the install path (`https://your-domain:port/verdaccio/`)! diff --git a/website/translated_docs/fr-FR/server.md b/website/translated_docs/fr-FR/server.md index 142bd3eb6196..30e35ba28ea4 100644 --- a/website/translated_docs/fr-FR/server.md +++ b/website/translated_docs/fr-FR/server.md @@ -31,7 +31,6 @@ The `cd` command sends you to the home directory of the Verdaccio user. Make sur ## À l'écoute de toutes les adresses If you want to listen to every external address set the listen directive in the config to: - ```yaml # you can specify listen address (or simply a port) listen: 0.0.0.0:4873 @@ -71,8 +70,9 @@ $ crontab -e This might ask you to choose an editor. Pick your favorite and proceed. Add the following entry to the file: - @reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio - +``` +@reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio +``` The locations may vary depending on your server setup. If you want to know where your files are you can use the 'which' command: @@ -84,9 +84,7 @@ $ which verdaccio ## Using systemd Instead of `forever` you can use `systemd` for starting Verdaccio and keeping it running. Verdaccio installation has systemd unit, you only need to copy it: - ```bash $ sudo cp /usr/lib/node_modules/verdaccio/systemd/verdaccio.service /lib/systemd/system/ && sudo systemctl daemon-reload ``` - -This unit assumes you have configuration in `/etc/verdaccio/config.yaml` and store data in `/var/lib/verdaccio`, so either move your files to those locations or edit the unit. \ No newline at end of file +This unit assumes you have configuration in `/etc/verdaccio/config.yaml` and store data in `/var/lib/verdaccio`, so either move your files to those locations or edit the unit. diff --git a/website/translated_docs/fr-FR/ssl.md b/website/translated_docs/fr-FR/ssl.md index 9c2cd9f58fba..73435a1b9f92 100644 --- a/website/translated_docs/fr-FR/ssl.md +++ b/website/translated_docs/fr-FR/ssl.md @@ -5,31 +5,38 @@ title: "Configurez les Certificats SSL" Follow these instructions to configure an SSL certificate to serve an npm registry over HTTPS. + * Mettez à jour la propriété listen dans `~/.config/verdaccio/config.yaml`: - listen: 'https://your.domain.com/' - +```` +listen: 'https://your.domain.com/' +```` Once you've updated the listen property and try to run verdaccio again, it will ask for certificates. * Générer votres certificats - $ openssl genrsa -out /Users/user/.config/verdaccio/verdaccio-key.pem 2048 - $ openssl req -new -sha256 -key /Users/user/.config/verdaccio/verdaccio-key.pem -out /Users/user/.config/verdaccio/verdaccio-csr.pem - $ openssl x509 -req -in /Users/user/.config/verdaccio/verdaccio-csr.pem -signkey /Users/user/.config/verdaccio/verdaccio-key.pem -out /Users/user/.config/verdaccio/verdaccio-cert.pem - ```` - - * Edit your config file `/Users/user/.config/verdaccio/config.yaml` and add the following section: - - +```` + $ openssl genrsa -out /Users/user/.config/verdaccio/verdaccio-key.pem 2048 + $ openssl req -new -sha256 -key /Users/user/.config/verdaccio/verdaccio-key.pem -out /Users/user/.config/verdaccio/verdaccio-csr.pem + $ openssl x509 -req -in /Users/user/.config/verdaccio/verdaccio-csr.pem -signkey /Users/user/.config/verdaccio/verdaccio-key.pem -out /Users/user/.config/verdaccio/verdaccio-cert.pem + ```` + ```` -https: key: /Users/user/.config/verdaccio/verdaccio-key.pem cert: /Users/user/.config/verdaccio/verdaccio-cert.pem ca: /Users/user/.config/verdaccio/verdaccio-csr.pem +* Edit your config file `/Users/user/.config/verdaccio/config.yaml` and add the following section: -
Alternatively, if you have a certificate with the `server.pfx` format, you can add the following configuration section: (The passphrase is optional and only needed if your certificate is encrypted.) - - +```` +https: + key: /Users/user/.config/verdaccio/verdaccio-key.pem + cert: /Users/user/.config/verdaccio/verdaccio-cert.pem + ca: /Users/user/.config/verdaccio/verdaccio-csr.pem +```` +https: key: /Users/user/.config/verdaccio/verdaccio-key.pem cert: /Users/user/.config/verdaccio/verdaccio-cert.pem ca: /Users/user/.config/verdaccio/verdaccio-csr.pem + +```` https: pfx: /Users/user/.config/verdaccio/server.pfx passphrase: 'secret' ```` +```` You can find more info on the `key`, `cert`, `ca`, `pfx`, and `passphrase` arguments in the [Node documentation](https://nodejs.org/api/tls.html#tls_tls_createsecurecontext_options) @@ -40,7 +47,6 @@ You can find more info on the `key`, `cert`, `ca`, `pfx`, and `passphrase` argum These instructions are mostly valid under OSX and Linux; on Windows the paths will vary, but the steps are the same. ## Docker - If you are using the Docker image, you have to set the `VERDACCIO_PROTOCOL` environment variable to `https`, as the `listen` argument is provided in the [Dockerfile](https://github.com/verdaccio/verdaccio/blob/master/Dockerfile#L43) and thus ignored from your config file. -You can also set the `VERDACCIO_PORT` environment variable if you are using a port other than `4873`. \ No newline at end of file +You can also set the `VERDACCIO_PORT` environment variable if you are using a port other than `4873`. diff --git a/website/translated_docs/fr-FR/windows.md b/website/translated_docs/fr-FR/windows.md index fa27601dfbd8..e484516326d6 100644 --- a/website/translated_docs/fr-FR/windows.md +++ b/website/translated_docs/fr-FR/windows.md @@ -5,10 +5,10 @@ title: "Installation en tant que service Windows" Librement basé sur les instructions trouvées [ici](http://asysadmin.tumblr.com/post/32941224574/running-nginx-on-windows-as-a-service). J'ai élaboré ce qui suit, ce qui m'a fourni un service d'installation de verdaccio entièrement fonctionnel: -1. Créer un répertoire pour verdaccio +1. Créer un répertoire pour verdaccio * mkdir `c:\verdaccio` * cd `c:\verdaccio` -2. Installer verdaccio localement (j'ai rencontré des problèmes avec npm avec des installations générales) +2. Installer verdaccio localement (j'ai rencontré des problèmes avec npm avec des installations générales) * npm install verdaccio 3. Créer votre fichier `confi.yaml` dans cet emplacement `(c:\verdaccio\config.yaml)` 4. Configurer le service Windows @@ -24,29 +24,29 @@ MÉTHODE ALTERNATIVE: (le paquet WinSW n'était pas présent lorsque j'ai essay * Ouvrez une commande administrative * Exécutez nssm install verdaccio. Vous devez au moins entrer le dossier de démarrage et les champs Arguments dans le chemin de l'onglet Application. En supposant une installation avec noeud dans le chemin système et un emplacement de c:\verdaccio, les valeurs ci-dessous fonctionneront: - * Path: `node` * Répertoire de démarrage: `c:\verdaccio` * Arguments: `c:\verdaccio\node_modules\verdaccio\build\lib\cli.js -c c:\verdaccio\config.yaml` - + Si vous le souhaitez, il est possible d'adapter d'autres configurations de service sous d'autres onglets. Une fois terminé, cliquez sur le bouton d'installation - - * Démarrer le service sc start verdaccio + + * Démarrer le service sc start verdaccio ## Utilisation de WinSW * À compter du 27/10/2015, WinSW n'est plus disponible à l'emplacement suivant. Veuillez suivre les instructions d'utilisation NSSM écrites ci-dessus. -* Téléchargez [WinSW](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/) +* Téléchargez [WinSW](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/) * Placez l'exécutable (par exemple `winsw-1.9-bin.exe`) dans ce dossier (`c:\verdaccio`) et renommez-le `verdaccio-winsw.exe` * Créez un fichier de configuration dans `c:\verdaccio`, nommé `verdaccio-winsw.xml` avec la configuration suivante`xml verdaccio verdaccio verdaccio node c:\verdaccio\node_modules\verdaccio\src\lib\cli.js -c c:\verdaccio\config.yaml roll c:\verdaccio`. -* Installez votre service +* Installez votre service * `cd c:\verdaccio` * `verdaccio-winsw.exe install` -* Démarrez votre service +* Démarrez votre service * `verdaccio-winsw.exe start` Certaines des configurations ci-dessus sont plus détaillées que prévu. Il semble cependant que le 'workingdirectory' soit ignoré, à part cela, ceci fonctionne et permet, dans mon cas, que Verdaccio continue de fonctionner entre les redémarrages du serveur, en plus il redémarre de manière autonome en cas d’échec du processus de verdaccio. + ## Référentiels -* [verdaccio-deamon-windows](https://github.com/davidenke/verdaccio-deamon-windows) \ No newline at end of file +* [verdaccio-deamon-windows](https://github.com/davidenke/verdaccio-deamon-windows) diff --git a/website/translated_docs/gl-ES/caching.md b/website/translated_docs/gl-ES/caching.md index 60b7f65879e2..f662d67dfa25 100644 --- a/website/translated_docs/gl-ES/caching.md +++ b/website/translated_docs/gl-ES/caching.md @@ -7,11 +7,12 @@ Verdaccio caches all packages by default into the `/storage` folder. But you can ## Caching scenarios -* Build a Node.js project on **Continous Integration** (Bamboo, GitLab, Jenkins, etc) servers is a task that might take several times at a day, thus, the server will download tons of tarballs from the registry every time takes place. As usual, the CI tools clear the cache after each build and the process start over and over again. That is a waste of bandwidth and reduces the external traffic. **You can use Verdaccio for caching tarballs and metadata in our internal network and give a boost in your build time.** +* Build a Node.js project on **Continous Integration** (Bamboo, GitLab, Jenkins, etc) servers is a task that might take several times at a day, thus, the server will download tons of tarballs from the registry every time takes place. As usual, the CI tools clear the cache after each build and the process start over and over again. That is a waste of bandwidth and reduces the external traffic. **You can use Verdaccio for caching tarballs and metadata in our internal network and give a boost in your build time.** * **Latency and Connectivity**, not all countries enjoy a high-speed connection. For such reason cache packages locally in your network is really handy. Either if you are traveling, or have a weak connection, roaming or countries with strong Firewalls that might affect the user experience (eg: corrupting tarballs). * **Offline Mode**, all Node Package Managers nowadays uses their own internal cache, but it common that different projects might use different tools, which implies lock files and so on. Those tools are unable to share cache, the unique solution is centralized and relies on a proxy registry, Verdaccio cache all metadata and tarballs are downloaded by demand being able to share them across all your project. * Avoid that any remote registry suddenly returns *HTTP 404* error for tarballs were previously available a.k.a ([left-pad issue](https://www.theregister.co.uk/2016/03/23/npm_left_pad_chaos/)). + # Strategies for faster builds > We are looking for more strategies, feel free to share your experience in this field @@ -20,15 +21,16 @@ Verdaccio caches all packages by default into the `/storage` folder. But you can If you have a limited storage space, you might need to avoid cache tarballs, enabling `cache` false in each uplink will cache only metadata files. - uplinks: - npmjs: - url: https://registry.npmjs.org/ - cache: false - +``` +uplinks: + npmjs: + url: https://registry.npmjs.org/ + cache: false +``` ## Extending Cache Expiration Time -Verdaccio by default waits 2 minutes to invalidate the cache metadata before fetching new information from the remote registry. + Verdaccio by default waits 2 minutes to invalidate the cache metadata before fetching new information from the remote registry. ```yaml uplinks: @@ -39,6 +41,7 @@ uplinks: Increasing the value of `maxage` in each `uplink` remotes will be asked less frequently. This might be a valid strategy if you don't update dependencies so often. + ## Using the memory instead the hardrive Sometimes caching packages is not a critical step, rather than route packages from different registries and achieving faster build times. There are two plugins that avoid write in a physical hard drive at all using the memory. @@ -62,4 +65,4 @@ store: limit: 1000 ``` -Remember, once the server is restarted the data is being lost, we recommend this setup in cases where you do not need to persist at all. \ No newline at end of file +Remember, once the server is restarted the data is being lost, we recommend this setup in cases where you do not need to persist at all. diff --git a/website/translated_docs/gl-ES/install.md b/website/translated_docs/gl-ES/install.md index 46b35f61a3bc..3f897208d7f3 100644 --- a/website/translated_docs/gl-ES/install.md +++ b/website/translated_docs/gl-ES/install.md @@ -13,7 +13,7 @@ Verdaccio is a multiplatform web application. To install it, you need a few basi > We highly recommend to use the latest versions of Node Package Manager clients `> npm@6.x | yarn@1.x | | yarn@2.x | pnpm@6.x`. Don't support `npm@5.x` or older. -1. A modern web browser to run the web interface. We actually support `Chrome, Firefox, Edge`. +3. A modern web browser to run the web interface. We actually support `Chrome, Firefox, Edge`. > Verdaccio will support latest Node.js version according the [Node.js Release Working Group](https://github.com/nodejs/Release) recomendations. @@ -21,7 +21,7 @@ Are you still using **Verdaccio 4**?. Check the [migration guide](https://verdac ### Quick Introduction -Learn the basics before getting started, how to install, where is the location of the configuration file and more. +Learn the basics before getting started, how to install, where is the location of the configuration file and more. ## Installing the CLI @@ -92,7 +92,7 @@ Or a `publishConfig` in your `package.json` ## Create Your Own Private NPM Package Tutorial -If you'd like a broader explanation, don't miss the tutorial created by [thedevlife](https://mybiolink.co/thedevlife) on how to Create Your Own Private NPM Package using Verdaccio. +If you'd like a broader explanation, don't miss the tutorial created by [thedevlife](https://mybiolink.co/thedevlife) on how to Create Your Own Private NPM Package using Verdaccio. ## Docker Image @@ -106,4 +106,4 @@ docker run -it --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio `Verdaccio` is also available as a 1-click install on [Cloudron](https://cloudron.io) -[![Install](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=org.eggertsson.verdaccio) \ No newline at end of file +[![Install](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=org.eggertsson.verdaccio) diff --git a/website/translated_docs/gl-ES/kubernetes.md b/website/translated_docs/gl-ES/kubernetes.md index 4d41ab7fc2ab..5da1b2f18435 100644 --- a/website/translated_docs/gl-ES/kubernetes.md +++ b/website/translated_docs/gl-ES/kubernetes.md @@ -23,8 +23,9 @@ Deploy the Helm [verdaccio/verdaccio](https://github.com/verdaccio/charts) chart ### Add repository - helm repo add verdaccio https://charts.verdaccio.org - +``` +helm repo add verdaccio https://charts.verdaccio.org +``` In this example we use `npm` as release name: @@ -52,6 +53,7 @@ helm uninstall npm **Note:** this command delete all the resources, including packages that you may have previously published to the registry. + ### Custom Verdaccio configuration You can customize the Verdaccio configuration using a Kubernetes *configMap*. @@ -92,7 +94,6 @@ helm install npm --set customConfigMap=verdaccio-config verdaccio/verdaccio #### NGINX proxy body-size limit The standard k8s NGINX ingress proxy allows for 1MB for body-size which can be increased by modifying the default deployment options according to the [documentation](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#custom-max-body-size): - ```yaml ... @@ -109,4 +110,4 @@ annotations: [Rancher](http://rancher.com/) is a complete container management platform that makes managing and using containers in production really easy. -* [verdaccio-rancher](https://github.com/lgaticaq/verdaccio-rancher) \ No newline at end of file +* [verdaccio-rancher](https://github.com/lgaticaq/verdaccio-rancher) diff --git a/website/translated_docs/gl-ES/linking.md b/website/translated_docs/gl-ES/linking.md index 20936fac8e9d..76f693de99c3 100644 --- a/website/translated_docs/gl-ES/linking.md +++ b/website/translated_docs/gl-ES/linking.md @@ -17,10 +17,11 @@ You can link multiple registries, the following document will drive you through The unique way to access multiple registries using the `.npmrc` is the scope feature as follows: - // .npmrc - registry=https://registry.npmjs.org - @mycompany:registry=http://localhost:4873 - +``` +// .npmrc +registry=https://registry.npmjs.org +@mycompany:registry=http://localhost:4873 +``` This approach is valid, but comes with several disadvantages: @@ -75,7 +76,8 @@ Verdaccio supports multiple registries on the `proxy` field. The request will be Having a full Offline Registry is completely possible. If you don't want any connectivity with external remotes you can do the following. ```yaml -
auth: + +auth: htpasswd: file: ./htpasswd uplinks: @@ -91,4 +93,4 @@ packages: publish: $authenticated ``` -Remove all `proxy` fields within each section of `packages`. The registry will become full offline. \ No newline at end of file +Remove all `proxy` fields within each section of `packages`. The registry will become full offline. diff --git a/website/translated_docs/gl-ES/logger.md b/website/translated_docs/gl-ES/logger.md index 64401095fcdf..c25d522b25aa 100644 --- a/website/translated_docs/gl-ES/logger.md +++ b/website/translated_docs/gl-ES/logger.md @@ -28,4 +28,4 @@ Use `SIGUSR2` to notify the application, the log-file was rotated and it needs t | type | string | No | [stdout, file] | all | define the output | | path | string | No | verdaccio.log | all | if type is file, define the location of that file | | format | string | No | [pretty, pretty-timestamped] | all | output format | -| level | string | No | [fatal, error, warn, http, info, debug, trace] | all | verbose level | \ No newline at end of file +| level | string | No | [fatal, error, warn, http, info, debug, trace] | all | verbose level | diff --git a/website/translated_docs/gl-ES/logo.md b/website/translated_docs/gl-ES/logo.md index d93ae00a848c..b2e1d23c74eb 100644 --- a/website/translated_docs/gl-ES/logo.md +++ b/website/translated_docs/gl-ES/logo.md @@ -11,7 +11,7 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ## Symbols -**With text** +__With text__ ![symbol tiny with text](assets/logo/symbol/png/logo-small-header-bottom.png) @@ -19,11 +19,11 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ![symbol big with text](assets/logo/symbol/png/logo-small-header-bottom@3x.png) -**SVG** +__SVG__ ![symbol svg](assets/logo/symbol/svg/logo-small-header-bottom.svg) -**No text** +__No text__ ![symbol tiny](assets/logo/symbol/png/verdaccio-tiny.png) @@ -31,10 +31,12 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ![symbol big](assets/logo/symbol/png/verdaccio-tiny@3x.png) -**SVG** +__SVG__ ![svg format symbol no text](assets/logo/symbol/svg/verdaccio-tiny.svg) + + ### Black&White ![symbol bw small](assets/logo/symbol/png/verdaccio-blackwhite.png) @@ -43,14 +45,17 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ![symbol bw big](assets/logo/symbol/png/verdaccio-blackwhite@3x.png) -**SVG** +__SVG__ ![symbol bw svg](assets/logo/symbol/svg/verdaccio-blackwhite.svg) + ## Banner ![banner small](assets/logo/banner/png/verdaccio-banner.png) ![banner medium](assets/logo/banner/png/verdaccio-banner@2x.png) -![banner big](assets/logo/banner/png/verdaccio-banner@3x.png) \ No newline at end of file +![banner big](assets/logo/banner/png/verdaccio-banner@3x.png) + + diff --git a/website/translated_docs/gl-ES/node-api.md b/website/translated_docs/gl-ES/node-api.md index b1a27cbb0eed..f6840716b5e9 100644 --- a/website/translated_docs/gl-ES/node-api.md +++ b/website/translated_docs/gl-ES/node-api.md @@ -39,4 +39,4 @@ verdaccioServer.serviceUninstall(); verdaccioServer.serviceStart(); verdaccioServer.serviceStop(); verdaccioServer.serviceRestart(); -``` \ No newline at end of file +``` diff --git a/website/translated_docs/gl-ES/notifications.md b/website/translated_docs/gl-ES/notifications.md index 0b3bd0ac7449..3539a44afa14 100644 --- a/website/translated_docs/gl-ES/notifications.md +++ b/website/translated_docs/gl-ES/notifications.md @@ -48,12 +48,13 @@ We use [Handlebars](https://handlebarsjs.com/) as main template engine. ### Format Examples - # iterate all versions - {{ name }}{{#each versions}} v{{version}}{{/each}} - - # publisher and `dist-tag` package published - {{ publisher.name }} has published {{ publishedPackage }} - +``` +# iterate all versions +{{ name }}{{#each versions}} v{{version}}{{/each}} + +# publisher and `dist-tag` package published +{{ publisher.name }} has published {{ publishedPackage }} +``` ### Properties @@ -67,54 +68,56 @@ List of properties accesible via template Package metadata that the template has access - { - "_id": "@test/pkg1", - "name": "@test/pkg1", - "description": "", - "dist-tags": { - "beta": "1.0.54" - }, - "versions": { - "1.0.54": { - "name": "@test/pkg1", - "version": "1.0.54", - "description": "some description", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": { - "name": "Author Name", - "email": "author@domain.com" - }, - "license": "MIT", - "dependencies": { - "webpack": "4.12.0" - }, - "readmeFilename": "README.md", - "_id": "@ test/pkg1@1.0.54", - "_npmVersion": "6.1.0", - "_nodeVersion": "9.9.0", - "_npmUser": {}, - "dist": { - "integrity": "sha512-JlXWpLtMUBAqvVZBvH7UVLhXkGE1ctmXbDjbH/l0zMuG7wVzQ7GshTYvD/b5C+G2vOL2oiIS1RtayA/kKkTwKw==", - "shasum": "29c55c52c1e76e966e706165e5b9f22e32aa9f22", - "tarball": "http://localhost:4873/@test/pkg1/-/@test/pkg1-1.0.54.tgz" - } - } - }, - "readme": "# test", - "_attachments": { - "@test/pkg1-1.0.54.tgz": { - "content_type": "application/octet-stream", - "data": "H4sIAAAAAAAAE+y9Z5PjyJIgOJ ...", - "length": 33112 +``` +{ + "_id": "@test/pkg1", + "name": "@test/pkg1", + "description": "", + "dist-tags": { + "beta": "1.0.54" + }, + "versions": { + "1.0.54": { + "name": "@test/pkg1", + "version": "1.0.54", + "description": "some description", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": { + "name": "Author Name", + "email": "author@domain.com" + }, + "license": "MIT", + "dependencies": { + "webpack": "4.12.0" + }, + "readmeFilename": "README.md", + "_id": "@ test/pkg1@1.0.54", + "_npmVersion": "6.1.0", + "_nodeVersion": "9.9.0", + "_npmUser": {}, + "dist": { + "integrity": "sha512-JlXWpLtMUBAqvVZBvH7UVLhXkGE1ctmXbDjbH/l0zMuG7wVzQ7GshTYvD/b5C+G2vOL2oiIS1RtayA/kKkTwKw==", + "shasum": "29c55c52c1e76e966e706165e5b9f22e32aa9f22", + "tarball": "http://localhost:4873/@test/pkg1/-/@test/pkg1-1.0.54.tgz" } - }, - "time": {} - } - + } + }, + "readme": "# test", + "_attachments": { + "@test/pkg1-1.0.54.tgz": { + "content_type": "application/octet-stream", + "data": "H4sIAAAAAAAAE+y9Z5PjyJIgOJ ...", + "length": 33112 + } + }, + "time": {} +} +``` + ### Publisher @@ -122,21 +125,23 @@ You can get access to the package publisher information in the `content` of a we See below the `publisher` object type: - { - name: string, - groups: string[], - real_groups: string[] - } - +``` +{ + name: string, + groups: string[], + real_groups: string[] +} +``` An example: - notify: - method: POST - headers: [{'Content-Type': 'application/json'}] - endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken - content: '{"color":"green","message":"New package published: * {{ name }}*. Publisher name: * {{ publisher.name }} *.","notify":true,"message_format":"text"}' - +``` +notify: + method: POST + headers: [{'Content-Type': 'application/json'}] + endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken + content: '{"color":"green","message":"New package published: * {{ name }}*. Publisher name: * {{ publisher.name }} *.","notify":true,"message_format":"text"}' +``` **Note:** it's not possible to get the publisher information if the `package.json` file already has the `publisher` property. @@ -144,8 +149,9 @@ An example: You can access to the package is being published with the keyword `{{publishedPackage}}` as follows. - {{ publisher.name }} has published {{ publishedPackage }} - +``` +{{ publisher.name }} has published {{ publishedPackage }} +``` ## Configuration @@ -156,4 +162,4 @@ You can access to the package is being published with the keyword `{{publishedPa | packagePatternFlags | string | No | all | | Any flags to be used with the regular expression | | headers | array/object | Yes | all | | If this endpoint requires specific headers, set them here as an array of key: value objects. | | endpoint | string | Yes | all | | set the URL endpoint for this call | -| content | string | Yes | all | | any [Handlebar](https://handlebarsjs.com/) expressions | \ No newline at end of file +| content | string | Yes | all | | any [Handlebar](https://handlebarsjs.com/) expressions | diff --git a/website/translated_docs/gl-ES/packages.md b/website/translated_docs/gl-ES/packages.md index fcc2bc93d0d0..bd50e417b5c8 100644 --- a/website/translated_docs/gl-ES/packages.md +++ b/website/translated_docs/gl-ES/packages.md @@ -155,7 +155,7 @@ You may assign multiple uplinks for use as a proxy to use in the case of failove #### Unpublishing Packages -The property `publish` handle permissions for `npm publish` and `npm unpublish`. But, if you want to be more specific, you can use the property `unpublish` in your package access section, for instance: +The property `publish` handle permissions for `npm publish` and `npm unpublish`. But, if you want to be more specific, you can use the property `unpublish` in your package access section, for instance: ```yalm packages: @@ -183,6 +183,7 @@ In the previous example, the behaviour would be described: * only authenticated users can publish `my-company-*` packages, but **nobody would be allowed to unpublish them**. * If `unpublish` is commented out, the access will be granted or denied by the `publish` definition. + ### Configuration You can define mutiple `packages` and each of them must have an unique `Regex`. The syntax is based on [minimatch glob expressions](https://github.com/isaacs/minimatch). @@ -196,4 +197,4 @@ You can define mutiple `packages` and each of them must have an unique `Regex`. > We higlight that we recommend to not use **allow_access**/**allow_publish** and **proxy_access** anymore, those are deprecated and will soon be removed, please use the short version of each of those (**access**/**publish**/**proxy**). -If you want more information about how to use the **storage** property, please refer to this [comment](https://github.com/verdaccio/verdaccio/issues/1383#issuecomment-509933674). \ No newline at end of file +If you want more information about how to use the **storage** property, please refer to this [comment](https://github.com/verdaccio/verdaccio/issues/1383#issuecomment-509933674). diff --git a/website/translated_docs/gl-ES/plugins.md b/website/translated_docs/gl-ES/plugins.md index 42c87b8c8bef..06d4fe198de4 100644 --- a/website/translated_docs/gl-ES/plugins.md +++ b/website/translated_docs/gl-ES/plugins.md @@ -24,8 +24,9 @@ $> npm install --global verdaccio-activedirectory `verdaccio` as a sinopia fork it has backward compability with plugins that are compatible with `sinopia@1.4.0`. In such case the installation is the same. - $> npm install --global sinopia-memory - +``` +$> npm install --global sinopia-memory +``` ### Configuration @@ -33,6 +34,7 @@ Open the `config.yaml` file and update the `auth` section as follows: The default configuration looks like this, due we use a build-in `htpasswd` plugin by default that you can disable just commenting out the following lines. + ### Authentication Configuration ```yaml @@ -93,12 +95,14 @@ store: Verdaccio allows to replace the User Interface with a custom one, we call it **theme**. By default, uses `@verdaccio/ui-theme` that comes built-in, but, you can use something different installing your own plugin. ```bash -
$> npm install --global verdaccio-theme-dark + +$> npm install --global verdaccio-theme-dark ``` > The plugin name prefix must start with `verdaccio-theme`, otherwise the plugin won't load. + You can load only one theme at a time and pass through options if you need it. ```yaml @@ -132,4 +136,5 @@ theme: * [sinopia-ldap](https://www.npmjs.com/package/sinopia-ldap): LDAP auth plugin for sinopia. * [sinopia-github-oauth-env](https://www.npmjs.com/package/sinopia-github-oauth-env) Sinopia authentication plugin with github oauth web flow. -> All sinopia plugins should be compatible with all future verdaccio versions. Anyhow, we encourage contributors to migrate them to the modern verdaccio API and using the prefix as *verdaccio-xx-name*. \ No newline at end of file +> All sinopia plugins should be compatible with all future verdaccio versions. Anyhow, we encourage contributors to migrate them to the modern verdaccio API and using the prefix as *verdaccio-xx-name*. + diff --git a/website/translated_docs/gl-ES/protect-your-dependencies.md b/website/translated_docs/gl-ES/protect-your-dependencies.md index 25343e3a7ce1..9ceacfdc02b2 100644 --- a/website/translated_docs/gl-ES/protect-your-dependencies.md +++ b/website/translated_docs/gl-ES/protect-your-dependencies.md @@ -40,6 +40,6 @@ or with `yarn`: ➜ yarn add my-company-core yarn add v0.24.6 info No lockfile found. -[1/4] +[1/4] 🔍 Resolving packages... error An unexpected error occurred: "http://localhost:5555/webpack-1: unregistered users are not allowed to access package my-company-core". -``` \ No newline at end of file +``` diff --git a/website/translated_docs/gl-ES/puppet.md b/website/translated_docs/gl-ES/puppet.md index a9cc94557481..390eef309750 100644 --- a/website/translated_docs/gl-ES/puppet.md +++ b/website/translated_docs/gl-ES/puppet.md @@ -16,6 +16,10 @@ In both variants you have to explicitely call "class nodejs {}" in your puppet s For further information: - +[https://github.com/verdaccio/puppet-verdaccio](https://github.com/verdaccio/puppet-verdaccio) + +> We are looking for active contributors for this integration, if you are interested [refers to this ticket](https://github.com/verdaccio/puppet-verdaccio/issues/11). + + + -> We are looking for active contributors for this integration, if you are interested [refers to this ticket](https://github.com/verdaccio/puppet-verdaccio/issues/11). \ No newline at end of file diff --git a/website/translated_docs/gl-ES/repositories.md b/website/translated_docs/gl-ES/repositories.md index fac3fe942aaa..19433d9f03dc 100644 --- a/website/translated_docs/gl-ES/repositories.md +++ b/website/translated_docs/gl-ES/repositories.md @@ -5,4 +5,5 @@ title: Source Code `verdaccio` is composed or multiple repositories you might contribute. Look into the **issues** tab whether there is a ticket waiting for you 🤠. -To see the complete list of repositories, [click here](https://github.com/verdaccio/verdaccio/wiki/Repositories). \ No newline at end of file +To see the complete list of repositories, [click here](https://github.com/verdaccio/verdaccio/wiki/Repositories). + diff --git a/website/translated_docs/gl-ES/reverse-proxy.md b/website/translated_docs/gl-ES/reverse-proxy.md index 769d34e4eb64..f302852d1604 100644 --- a/website/translated_docs/gl-ES/reverse-proxy.md +++ b/website/translated_docs/gl-ES/reverse-proxy.md @@ -11,141 +11,145 @@ Apache and `mod_proxy` should **not decode/encode slashes** and leave them as th For installing at relative path, `/npm`, on the server - - AllowEncodedSlashes NoDecode - ProxyPass /npm http://127.0.0.1:4873 nocanon - ProxyPassReverse /npm http://127.0.0.1:4873 - - +```` + + AllowEncodedSlashes NoDecode + ProxyPass /npm http://127.0.0.1:4873 nocanon + ProxyPassReverse /npm http://127.0.0.1:4873 + +```` For installing at root path, `/`, on the server - - - ServerName your.domain.com - ServerAdmin hello@your.domain.com - ProxyPreserveHost On - AllowEncodedSlashes NoDecode - ProxyPass / http://127.0.0.1:4873/ nocanon - ProxyPassReverse / http://127.0.0.1:4873/ - - +```` + + ServerName your.domain.com + ServerAdmin hello@your.domain.com + ProxyPreserveHost On + AllowEncodedSlashes NoDecode + ProxyPass / http://127.0.0.1:4873/ nocanon + ProxyPassReverse / http://127.0.0.1:4873/ + +```` ### Configuration with SSL Apache virtual server configuration - apacheconfig - - - ServerName npm.your.domain.com - SSLEngine on - SSLCertificateFile /etc/letsencrypt/live/npm.your.domain.com/fullchain.pem - SSLCertificateKeyFile /etc/letsencrypt/live/npm.your.domain.com/privkey.pem - SSLProxyEngine On - ProxyRequests Off - ProxyPreserveHost On - AllowEncodedSlashes NoDecode - ProxyPass / http://127.0.0.1:4873/ nocanon - ProxyPassReverse / http://127.0.0.1:4873/ - RequestHeader set X-Forwarded-Proto "https" - - - +```` + apacheconfig + + + ServerName npm.your.domain.com + SSLEngine on + SSLCertificateFile /etc/letsencrypt/live/npm.your.domain.com/fullchain.pem + SSLCertificateKeyFile /etc/letsencrypt/live/npm.your.domain.com/privkey.pem + SSLProxyEngine On + ProxyRequests Off + ProxyPreserveHost On + AllowEncodedSlashes NoDecode + ProxyPass / http://127.0.0.1:4873/ nocanon + ProxyPassReverse / http://127.0.0.1:4873/ + RequestHeader set X-Forwarded-Proto "https" + + +```` # Nginx The following snippet is a full `docker` example can be tested in our [Docker examples repository](https://github.com/verdaccio/verdaccio/tree/5.x/docker-examples/reverse_proxy/nginx). - upstream verdaccio_v4 { - server verdaccio_relative_path_v4:4873; - keepalive 8; - } - - upstream verdaccio_v4_root { - server verdaccio_relative_path_v4_root:8000; - keepalive 8; +```` +upstream verdaccio_v4 { + server verdaccio_relative_path_v4:4873; + keepalive 8; +} + +upstream verdaccio_v4_root { + server verdaccio_relative_path_v4_root:8000; + keepalive 8; +} + +upstream verdaccio_v3 { + server verdaccio_relative_path_latest_v3:7771; + keepalive 8; +} + +server { + listen 80 default_server; + access_log /var/log/nginx/verdaccio.log; + charset utf-8; + + location / { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4_root; + proxy_redirect off; } - - upstream verdaccio_v3 { - server verdaccio_relative_path_latest_v3:7771; - keepalive 8; + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4/$1; + proxy_redirect off; } - - server { - listen 80 default_server; - access_log /var/log/nginx/verdaccio.log; - charset utf-8; - - location / { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4_root; - proxy_redirect off; - } - - location ~ ^/verdaccio/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4/$1; - proxy_redirect off; - } - - location ~ ^/verdacciov3/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - - proxy_pass http://verdaccio_v3/$1; - proxy_redirect off; - } + + location ~ ^/verdacciov3/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + + proxy_pass http://verdaccio_v3/$1; + proxy_redirect off; } - +} +```` ## SSL example - server { - listen 80; - return 302 https://$host$request_uri; +```` +server { + listen 80; + return 302 https://$host$request_uri; +} + +server { + listen 443 ssl http2; + server_name localhost; + + ssl_certificate /etc/nginx/cert.crt; + ssl_certificate_key /etc/nginx/cert.key; + + ssl on; + ssl_session_cache builtin:1000 shared:SSL:10m; + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; + ssl_prefer_server_ciphers on; + + location / { + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_pass http://verdaccio_v4_root; + proxy_read_timeout 600; + proxy_redirect off; } - - server { - listen 443 ssl http2; - server_name localhost; - - ssl_certificate /etc/nginx/cert.crt; - ssl_certificate_key /etc/nginx/cert.key; - - ssl on; - ssl_session_cache builtin:1000 shared:SSL:10m; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; - ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; - ssl_prefer_server_ciphers on; - - location / { - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_pass http://verdaccio_v4_root; - proxy_read_timeout 600; - proxy_redirect off; - } - - location ~ ^/verdaccio/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4_root/$1; - proxy_redirect off; - } + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4_root/$1; + proxy_redirect off; } - +} +```` ## Run behind reverse proxy with different domain and port @@ -171,10 +175,9 @@ location / { proxy_set_header X-Forwarded-Proto $scheme; } ``` - For this case, `url_prefix` should **NOT** set in Verdaccio config -* * * +--- or a sub-directory installation: @@ -186,7 +189,6 @@ location ~ ^/verdaccio/(.*)$ { proxy_set_header X-Forwarded-Proto $scheme; } ``` - For this case, `url_prefix` should set to `/verdaccio/` -> Note: There is a slash after the install path (`https://your-domain:port/verdaccio/`)! \ No newline at end of file +> Note: There is a slash after the install path (`https://your-domain:port/verdaccio/`)! diff --git a/website/translated_docs/gl-ES/server.md b/website/translated_docs/gl-ES/server.md index 7473ea12d00c..51498ca32c44 100644 --- a/website/translated_docs/gl-ES/server.md +++ b/website/translated_docs/gl-ES/server.md @@ -31,7 +31,6 @@ The `cd` command sends you to the home directory of the Verdaccio user. Make sur ## Listening on all addresses If you want to listen to every external address set the listen directive in the config to: - ```yaml # you can specify listen address (or simply a port) listen: 0.0.0.0:4873 @@ -71,8 +70,9 @@ $ crontab -e This might ask you to choose an editor. Pick your favorite and proceed. Add the following entry to the file: - @reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio - +``` +@reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio +``` The locations may vary depending on your server setup. If you want to know where your files are you can use the 'which' command: @@ -84,9 +84,7 @@ $ which verdaccio ## Using systemd Instead of `forever` you can use `systemd` for starting Verdaccio and keeping it running. Verdaccio installation has systemd unit, you only need to copy it: - ```bash $ sudo cp /usr/lib/node_modules/verdaccio/systemd/verdaccio.service /lib/systemd/system/ && sudo systemctl daemon-reload ``` - -This unit assumes you have configuration in `/etc/verdaccio/config.yaml` and store data in `/var/lib/verdaccio`, so either move your files to those locations or edit the unit. \ No newline at end of file +This unit assumes you have configuration in `/etc/verdaccio/config.yaml` and store data in `/var/lib/verdaccio`, so either move your files to those locations or edit the unit. diff --git a/website/translated_docs/gl-ES/who-is-using.md b/website/translated_docs/gl-ES/who-is-using.md index 778ca5bf2e0e..41c0f4cac3ee 100644 --- a/website/translated_docs/gl-ES/who-is-using.md +++ b/website/translated_docs/gl-ES/who-is-using.md @@ -10,6 +10,7 @@ title: "Who is using Verdaccio?" * [SheetJS](https://sheetjs.com/) * [Satispay](https://www.satispay.com/) + ### Open Source Projects > **Feel free to suggest other OSS are using Verdaccio.** @@ -29,4 +30,6 @@ title: "Who is using Verdaccio?" #### Readme Recommendations -* [react-native-cli](https://github.com/react-native-community/react-native-cli/blob/master/CONTRIBUTING.md) \ No newline at end of file +* [react-native-cli](https://github.com/react-native-community/react-native-cli/blob/master/CONTRIBUTING.md) + + diff --git a/website/translated_docs/gl-ES/windows.md b/website/translated_docs/gl-ES/windows.md index eeb0b4e96470..753bd9db917e 100644 --- a/website/translated_docs/gl-ES/windows.md +++ b/website/translated_docs/gl-ES/windows.md @@ -5,10 +5,10 @@ title: "Installing As a Windows Service" Loosely based upon the instructions found [here](http://asysadmin.tumblr.com/post/32941224574/running-nginx-on-windows-as-a-service). I crafted the following and it provided me with a fully working verdaccio service installation: -1. Create a directory for verdaccio +1. Create a directory for verdaccio * mkdir `c:\verdaccio` * cd `c:\verdaccio` -2. Install verdaccio locally (I ran into npm issues with global installs) +2. Install verdaccio locally (I ran into npm issues with global installs) * npm install verdaccio 3. Create your `config.yaml` file in this location `(c:\verdaccio\config.yaml)` 4. Windows Service Setup @@ -24,29 +24,29 @@ ALTERNATIVE METHOD: (WinSW package was missing when I tried to download it) * Open an administrative command * Run nssm install verdaccio At a minimum you must fill in the Application tab Path, Startup directory and Arguments fields. Assuming an install with node in the system path and a location of c:\verdaccio the below values will work: - * Path: `node` * Startup directory: `c:\verdaccio` * Arguments: `c:\verdaccio\node_modules\verdaccio\build\lib\cli.js -c c:\verdaccio\config.yaml` - + You can adjust other service settings under other tabs as desired. When you are done, click Install service button - - * Start the service sc start verdaccio + + * Start the service sc start verdaccio ## Using WinSW * As of 2015-10-27, WinSW is no longer available at the below location. Please follow the Using NSSM instructions above. -* Download [WinSW](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/) +* Download [WinSW](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/) * Place the executable (e.g. `winsw-1.9-bin.exe`) into this folder (`c:\verdaccio`) and rename it to `verdaccio-winsw.exe` * Create a configuration file in `c:\verdaccio`, named `verdaccio-winsw.xml` with the following configuration `xml verdaccio verdaccio verdaccio node c:\verdaccio\node_modules\verdaccio\src\lib\cli.js -c c:\verdaccio\config.yaml roll c:\verdaccio`. -* Install your service +* Install your service * `cd c:\verdaccio` * `verdaccio-winsw.exe install` -* Start your service +* Start your service * `verdaccio-winsw.exe start` Some of the above config is more verbose than I had expected, it appears as though 'workingdirectory' is ignored, but other than that, this works for me and allows my verdaccio instance to persist between restarts of the server, and also restart itself should there be any crashes of the verdaccio process. + ## Repositories -* [verdaccio-deamon-windows](https://github.com/davidenke/verdaccio-deamon-windows) \ No newline at end of file +* [verdaccio-deamon-windows](https://github.com/davidenke/verdaccio-deamon-windows) diff --git a/website/translated_docs/hi-IN/caching.md b/website/translated_docs/hi-IN/caching.md index 60b7f65879e2..f662d67dfa25 100644 --- a/website/translated_docs/hi-IN/caching.md +++ b/website/translated_docs/hi-IN/caching.md @@ -7,11 +7,12 @@ Verdaccio caches all packages by default into the `/storage` folder. But you can ## Caching scenarios -* Build a Node.js project on **Continous Integration** (Bamboo, GitLab, Jenkins, etc) servers is a task that might take several times at a day, thus, the server will download tons of tarballs from the registry every time takes place. As usual, the CI tools clear the cache after each build and the process start over and over again. That is a waste of bandwidth and reduces the external traffic. **You can use Verdaccio for caching tarballs and metadata in our internal network and give a boost in your build time.** +* Build a Node.js project on **Continous Integration** (Bamboo, GitLab, Jenkins, etc) servers is a task that might take several times at a day, thus, the server will download tons of tarballs from the registry every time takes place. As usual, the CI tools clear the cache after each build and the process start over and over again. That is a waste of bandwidth and reduces the external traffic. **You can use Verdaccio for caching tarballs and metadata in our internal network and give a boost in your build time.** * **Latency and Connectivity**, not all countries enjoy a high-speed connection. For such reason cache packages locally in your network is really handy. Either if you are traveling, or have a weak connection, roaming or countries with strong Firewalls that might affect the user experience (eg: corrupting tarballs). * **Offline Mode**, all Node Package Managers nowadays uses their own internal cache, but it common that different projects might use different tools, which implies lock files and so on. Those tools are unable to share cache, the unique solution is centralized and relies on a proxy registry, Verdaccio cache all metadata and tarballs are downloaded by demand being able to share them across all your project. * Avoid that any remote registry suddenly returns *HTTP 404* error for tarballs were previously available a.k.a ([left-pad issue](https://www.theregister.co.uk/2016/03/23/npm_left_pad_chaos/)). + # Strategies for faster builds > We are looking for more strategies, feel free to share your experience in this field @@ -20,15 +21,16 @@ Verdaccio caches all packages by default into the `/storage` folder. But you can If you have a limited storage space, you might need to avoid cache tarballs, enabling `cache` false in each uplink will cache only metadata files. - uplinks: - npmjs: - url: https://registry.npmjs.org/ - cache: false - +``` +uplinks: + npmjs: + url: https://registry.npmjs.org/ + cache: false +``` ## Extending Cache Expiration Time -Verdaccio by default waits 2 minutes to invalidate the cache metadata before fetching new information from the remote registry. + Verdaccio by default waits 2 minutes to invalidate the cache metadata before fetching new information from the remote registry. ```yaml uplinks: @@ -39,6 +41,7 @@ uplinks: Increasing the value of `maxage` in each `uplink` remotes will be asked less frequently. This might be a valid strategy if you don't update dependencies so often. + ## Using the memory instead the hardrive Sometimes caching packages is not a critical step, rather than route packages from different registries and achieving faster build times. There are two plugins that avoid write in a physical hard drive at all using the memory. @@ -62,4 +65,4 @@ store: limit: 1000 ``` -Remember, once the server is restarted the data is being lost, we recommend this setup in cases where you do not need to persist at all. \ No newline at end of file +Remember, once the server is restarted the data is being lost, we recommend this setup in cases where you do not need to persist at all. diff --git a/website/translated_docs/hi-IN/install.md b/website/translated_docs/hi-IN/install.md index 46b35f61a3bc..3f897208d7f3 100644 --- a/website/translated_docs/hi-IN/install.md +++ b/website/translated_docs/hi-IN/install.md @@ -13,7 +13,7 @@ Verdaccio is a multiplatform web application. To install it, you need a few basi > We highly recommend to use the latest versions of Node Package Manager clients `> npm@6.x | yarn@1.x | | yarn@2.x | pnpm@6.x`. Don't support `npm@5.x` or older. -1. A modern web browser to run the web interface. We actually support `Chrome, Firefox, Edge`. +3. A modern web browser to run the web interface. We actually support `Chrome, Firefox, Edge`. > Verdaccio will support latest Node.js version according the [Node.js Release Working Group](https://github.com/nodejs/Release) recomendations. @@ -21,7 +21,7 @@ Are you still using **Verdaccio 4**?. Check the [migration guide](https://verdac ### Quick Introduction -Learn the basics before getting started, how to install, where is the location of the configuration file and more. +Learn the basics before getting started, how to install, where is the location of the configuration file and more. ## Installing the CLI @@ -92,7 +92,7 @@ Or a `publishConfig` in your `package.json` ## Create Your Own Private NPM Package Tutorial -If you'd like a broader explanation, don't miss the tutorial created by [thedevlife](https://mybiolink.co/thedevlife) on how to Create Your Own Private NPM Package using Verdaccio. +If you'd like a broader explanation, don't miss the tutorial created by [thedevlife](https://mybiolink.co/thedevlife) on how to Create Your Own Private NPM Package using Verdaccio. ## Docker Image @@ -106,4 +106,4 @@ docker run -it --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio `Verdaccio` is also available as a 1-click install on [Cloudron](https://cloudron.io) -[![Install](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=org.eggertsson.verdaccio) \ No newline at end of file +[![Install](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=org.eggertsson.verdaccio) diff --git a/website/translated_docs/hi-IN/kubernetes.md b/website/translated_docs/hi-IN/kubernetes.md index 4d41ab7fc2ab..5da1b2f18435 100644 --- a/website/translated_docs/hi-IN/kubernetes.md +++ b/website/translated_docs/hi-IN/kubernetes.md @@ -23,8 +23,9 @@ Deploy the Helm [verdaccio/verdaccio](https://github.com/verdaccio/charts) chart ### Add repository - helm repo add verdaccio https://charts.verdaccio.org - +``` +helm repo add verdaccio https://charts.verdaccio.org +``` In this example we use `npm` as release name: @@ -52,6 +53,7 @@ helm uninstall npm **Note:** this command delete all the resources, including packages that you may have previously published to the registry. + ### Custom Verdaccio configuration You can customize the Verdaccio configuration using a Kubernetes *configMap*. @@ -92,7 +94,6 @@ helm install npm --set customConfigMap=verdaccio-config verdaccio/verdaccio #### NGINX proxy body-size limit The standard k8s NGINX ingress proxy allows for 1MB for body-size which can be increased by modifying the default deployment options according to the [documentation](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#custom-max-body-size): - ```yaml ... @@ -109,4 +110,4 @@ annotations: [Rancher](http://rancher.com/) is a complete container management platform that makes managing and using containers in production really easy. -* [verdaccio-rancher](https://github.com/lgaticaq/verdaccio-rancher) \ No newline at end of file +* [verdaccio-rancher](https://github.com/lgaticaq/verdaccio-rancher) diff --git a/website/translated_docs/hi-IN/linking.md b/website/translated_docs/hi-IN/linking.md index 20936fac8e9d..76f693de99c3 100644 --- a/website/translated_docs/hi-IN/linking.md +++ b/website/translated_docs/hi-IN/linking.md @@ -17,10 +17,11 @@ You can link multiple registries, the following document will drive you through The unique way to access multiple registries using the `.npmrc` is the scope feature as follows: - // .npmrc - registry=https://registry.npmjs.org - @mycompany:registry=http://localhost:4873 - +``` +// .npmrc +registry=https://registry.npmjs.org +@mycompany:registry=http://localhost:4873 +``` This approach is valid, but comes with several disadvantages: @@ -75,7 +76,8 @@ Verdaccio supports multiple registries on the `proxy` field. The request will be Having a full Offline Registry is completely possible. If you don't want any connectivity with external remotes you can do the following. ```yaml -
auth: + +auth: htpasswd: file: ./htpasswd uplinks: @@ -91,4 +93,4 @@ packages: publish: $authenticated ``` -Remove all `proxy` fields within each section of `packages`. The registry will become full offline. \ No newline at end of file +Remove all `proxy` fields within each section of `packages`. The registry will become full offline. diff --git a/website/translated_docs/hi-IN/logger.md b/website/translated_docs/hi-IN/logger.md index 64401095fcdf..c25d522b25aa 100644 --- a/website/translated_docs/hi-IN/logger.md +++ b/website/translated_docs/hi-IN/logger.md @@ -28,4 +28,4 @@ Use `SIGUSR2` to notify the application, the log-file was rotated and it needs t | type | string | No | [stdout, file] | all | define the output | | path | string | No | verdaccio.log | all | if type is file, define the location of that file | | format | string | No | [pretty, pretty-timestamped] | all | output format | -| level | string | No | [fatal, error, warn, http, info, debug, trace] | all | verbose level | \ No newline at end of file +| level | string | No | [fatal, error, warn, http, info, debug, trace] | all | verbose level | diff --git a/website/translated_docs/hi-IN/logo.md b/website/translated_docs/hi-IN/logo.md index d93ae00a848c..b2e1d23c74eb 100644 --- a/website/translated_docs/hi-IN/logo.md +++ b/website/translated_docs/hi-IN/logo.md @@ -11,7 +11,7 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ## Symbols -**With text** +__With text__ ![symbol tiny with text](assets/logo/symbol/png/logo-small-header-bottom.png) @@ -19,11 +19,11 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ![symbol big with text](assets/logo/symbol/png/logo-small-header-bottom@3x.png) -**SVG** +__SVG__ ![symbol svg](assets/logo/symbol/svg/logo-small-header-bottom.svg) -**No text** +__No text__ ![symbol tiny](assets/logo/symbol/png/verdaccio-tiny.png) @@ -31,10 +31,12 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ![symbol big](assets/logo/symbol/png/verdaccio-tiny@3x.png) -**SVG** +__SVG__ ![svg format symbol no text](assets/logo/symbol/svg/verdaccio-tiny.svg) + + ### Black&White ![symbol bw small](assets/logo/symbol/png/verdaccio-blackwhite.png) @@ -43,14 +45,17 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ![symbol bw big](assets/logo/symbol/png/verdaccio-blackwhite@3x.png) -**SVG** +__SVG__ ![symbol bw svg](assets/logo/symbol/svg/verdaccio-blackwhite.svg) + ## Banner ![banner small](assets/logo/banner/png/verdaccio-banner.png) ![banner medium](assets/logo/banner/png/verdaccio-banner@2x.png) -![banner big](assets/logo/banner/png/verdaccio-banner@3x.png) \ No newline at end of file +![banner big](assets/logo/banner/png/verdaccio-banner@3x.png) + + diff --git a/website/translated_docs/hi-IN/node-api.md b/website/translated_docs/hi-IN/node-api.md index b1a27cbb0eed..f6840716b5e9 100644 --- a/website/translated_docs/hi-IN/node-api.md +++ b/website/translated_docs/hi-IN/node-api.md @@ -39,4 +39,4 @@ verdaccioServer.serviceUninstall(); verdaccioServer.serviceStart(); verdaccioServer.serviceStop(); verdaccioServer.serviceRestart(); -``` \ No newline at end of file +``` diff --git a/website/translated_docs/hi-IN/notifications.md b/website/translated_docs/hi-IN/notifications.md index 0b3bd0ac7449..3539a44afa14 100644 --- a/website/translated_docs/hi-IN/notifications.md +++ b/website/translated_docs/hi-IN/notifications.md @@ -48,12 +48,13 @@ We use [Handlebars](https://handlebarsjs.com/) as main template engine. ### Format Examples - # iterate all versions - {{ name }}{{#each versions}} v{{version}}{{/each}} - - # publisher and `dist-tag` package published - {{ publisher.name }} has published {{ publishedPackage }} - +``` +# iterate all versions +{{ name }}{{#each versions}} v{{version}}{{/each}} + +# publisher and `dist-tag` package published +{{ publisher.name }} has published {{ publishedPackage }} +``` ### Properties @@ -67,54 +68,56 @@ List of properties accesible via template Package metadata that the template has access - { - "_id": "@test/pkg1", - "name": "@test/pkg1", - "description": "", - "dist-tags": { - "beta": "1.0.54" - }, - "versions": { - "1.0.54": { - "name": "@test/pkg1", - "version": "1.0.54", - "description": "some description", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": { - "name": "Author Name", - "email": "author@domain.com" - }, - "license": "MIT", - "dependencies": { - "webpack": "4.12.0" - }, - "readmeFilename": "README.md", - "_id": "@ test/pkg1@1.0.54", - "_npmVersion": "6.1.0", - "_nodeVersion": "9.9.0", - "_npmUser": {}, - "dist": { - "integrity": "sha512-JlXWpLtMUBAqvVZBvH7UVLhXkGE1ctmXbDjbH/l0zMuG7wVzQ7GshTYvD/b5C+G2vOL2oiIS1RtayA/kKkTwKw==", - "shasum": "29c55c52c1e76e966e706165e5b9f22e32aa9f22", - "tarball": "http://localhost:4873/@test/pkg1/-/@test/pkg1-1.0.54.tgz" - } - } - }, - "readme": "# test", - "_attachments": { - "@test/pkg1-1.0.54.tgz": { - "content_type": "application/octet-stream", - "data": "H4sIAAAAAAAAE+y9Z5PjyJIgOJ ...", - "length": 33112 +``` +{ + "_id": "@test/pkg1", + "name": "@test/pkg1", + "description": "", + "dist-tags": { + "beta": "1.0.54" + }, + "versions": { + "1.0.54": { + "name": "@test/pkg1", + "version": "1.0.54", + "description": "some description", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": { + "name": "Author Name", + "email": "author@domain.com" + }, + "license": "MIT", + "dependencies": { + "webpack": "4.12.0" + }, + "readmeFilename": "README.md", + "_id": "@ test/pkg1@1.0.54", + "_npmVersion": "6.1.0", + "_nodeVersion": "9.9.0", + "_npmUser": {}, + "dist": { + "integrity": "sha512-JlXWpLtMUBAqvVZBvH7UVLhXkGE1ctmXbDjbH/l0zMuG7wVzQ7GshTYvD/b5C+G2vOL2oiIS1RtayA/kKkTwKw==", + "shasum": "29c55c52c1e76e966e706165e5b9f22e32aa9f22", + "tarball": "http://localhost:4873/@test/pkg1/-/@test/pkg1-1.0.54.tgz" } - }, - "time": {} - } - + } + }, + "readme": "# test", + "_attachments": { + "@test/pkg1-1.0.54.tgz": { + "content_type": "application/octet-stream", + "data": "H4sIAAAAAAAAE+y9Z5PjyJIgOJ ...", + "length": 33112 + } + }, + "time": {} +} +``` + ### Publisher @@ -122,21 +125,23 @@ You can get access to the package publisher information in the `content` of a we See below the `publisher` object type: - { - name: string, - groups: string[], - real_groups: string[] - } - +``` +{ + name: string, + groups: string[], + real_groups: string[] +} +``` An example: - notify: - method: POST - headers: [{'Content-Type': 'application/json'}] - endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken - content: '{"color":"green","message":"New package published: * {{ name }}*. Publisher name: * {{ publisher.name }} *.","notify":true,"message_format":"text"}' - +``` +notify: + method: POST + headers: [{'Content-Type': 'application/json'}] + endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken + content: '{"color":"green","message":"New package published: * {{ name }}*. Publisher name: * {{ publisher.name }} *.","notify":true,"message_format":"text"}' +``` **Note:** it's not possible to get the publisher information if the `package.json` file already has the `publisher` property. @@ -144,8 +149,9 @@ An example: You can access to the package is being published with the keyword `{{publishedPackage}}` as follows. - {{ publisher.name }} has published {{ publishedPackage }} - +``` +{{ publisher.name }} has published {{ publishedPackage }} +``` ## Configuration @@ -156,4 +162,4 @@ You can access to the package is being published with the keyword `{{publishedPa | packagePatternFlags | string | No | all | | Any flags to be used with the regular expression | | headers | array/object | Yes | all | | If this endpoint requires specific headers, set them here as an array of key: value objects. | | endpoint | string | Yes | all | | set the URL endpoint for this call | -| content | string | Yes | all | | any [Handlebar](https://handlebarsjs.com/) expressions | \ No newline at end of file +| content | string | Yes | all | | any [Handlebar](https://handlebarsjs.com/) expressions | diff --git a/website/translated_docs/hi-IN/packages.md b/website/translated_docs/hi-IN/packages.md index fcc2bc93d0d0..bd50e417b5c8 100644 --- a/website/translated_docs/hi-IN/packages.md +++ b/website/translated_docs/hi-IN/packages.md @@ -155,7 +155,7 @@ You may assign multiple uplinks for use as a proxy to use in the case of failove #### Unpublishing Packages -The property `publish` handle permissions for `npm publish` and `npm unpublish`. But, if you want to be more specific, you can use the property `unpublish` in your package access section, for instance: +The property `publish` handle permissions for `npm publish` and `npm unpublish`. But, if you want to be more specific, you can use the property `unpublish` in your package access section, for instance: ```yalm packages: @@ -183,6 +183,7 @@ In the previous example, the behaviour would be described: * only authenticated users can publish `my-company-*` packages, but **nobody would be allowed to unpublish them**. * If `unpublish` is commented out, the access will be granted or denied by the `publish` definition. + ### Configuration You can define mutiple `packages` and each of them must have an unique `Regex`. The syntax is based on [minimatch glob expressions](https://github.com/isaacs/minimatch). @@ -196,4 +197,4 @@ You can define mutiple `packages` and each of them must have an unique `Regex`. > We higlight that we recommend to not use **allow_access**/**allow_publish** and **proxy_access** anymore, those are deprecated and will soon be removed, please use the short version of each of those (**access**/**publish**/**proxy**). -If you want more information about how to use the **storage** property, please refer to this [comment](https://github.com/verdaccio/verdaccio/issues/1383#issuecomment-509933674). \ No newline at end of file +If you want more information about how to use the **storage** property, please refer to this [comment](https://github.com/verdaccio/verdaccio/issues/1383#issuecomment-509933674). diff --git a/website/translated_docs/hi-IN/plugins.md b/website/translated_docs/hi-IN/plugins.md index 42c87b8c8bef..06d4fe198de4 100644 --- a/website/translated_docs/hi-IN/plugins.md +++ b/website/translated_docs/hi-IN/plugins.md @@ -24,8 +24,9 @@ $> npm install --global verdaccio-activedirectory `verdaccio` as a sinopia fork it has backward compability with plugins that are compatible with `sinopia@1.4.0`. In such case the installation is the same. - $> npm install --global sinopia-memory - +``` +$> npm install --global sinopia-memory +``` ### Configuration @@ -33,6 +34,7 @@ Open the `config.yaml` file and update the `auth` section as follows: The default configuration looks like this, due we use a build-in `htpasswd` plugin by default that you can disable just commenting out the following lines. + ### Authentication Configuration ```yaml @@ -93,12 +95,14 @@ store: Verdaccio allows to replace the User Interface with a custom one, we call it **theme**. By default, uses `@verdaccio/ui-theme` that comes built-in, but, you can use something different installing your own plugin. ```bash -
$> npm install --global verdaccio-theme-dark + +$> npm install --global verdaccio-theme-dark ``` > The plugin name prefix must start with `verdaccio-theme`, otherwise the plugin won't load. + You can load only one theme at a time and pass through options if you need it. ```yaml @@ -132,4 +136,5 @@ theme: * [sinopia-ldap](https://www.npmjs.com/package/sinopia-ldap): LDAP auth plugin for sinopia. * [sinopia-github-oauth-env](https://www.npmjs.com/package/sinopia-github-oauth-env) Sinopia authentication plugin with github oauth web flow. -> All sinopia plugins should be compatible with all future verdaccio versions. Anyhow, we encourage contributors to migrate them to the modern verdaccio API and using the prefix as *verdaccio-xx-name*. \ No newline at end of file +> All sinopia plugins should be compatible with all future verdaccio versions. Anyhow, we encourage contributors to migrate them to the modern verdaccio API and using the prefix as *verdaccio-xx-name*. + diff --git a/website/translated_docs/hi-IN/protect-your-dependencies.md b/website/translated_docs/hi-IN/protect-your-dependencies.md index 25343e3a7ce1..9ceacfdc02b2 100644 --- a/website/translated_docs/hi-IN/protect-your-dependencies.md +++ b/website/translated_docs/hi-IN/protect-your-dependencies.md @@ -40,6 +40,6 @@ or with `yarn`: ➜ yarn add my-company-core yarn add v0.24.6 info No lockfile found. -[1/4] +[1/4] 🔍 Resolving packages... error An unexpected error occurred: "http://localhost:5555/webpack-1: unregistered users are not allowed to access package my-company-core". -``` \ No newline at end of file +``` diff --git a/website/translated_docs/hi-IN/puppet.md b/website/translated_docs/hi-IN/puppet.md index a9cc94557481..390eef309750 100644 --- a/website/translated_docs/hi-IN/puppet.md +++ b/website/translated_docs/hi-IN/puppet.md @@ -16,6 +16,10 @@ In both variants you have to explicitely call "class nodejs {}" in your puppet s For further information: - +[https://github.com/verdaccio/puppet-verdaccio](https://github.com/verdaccio/puppet-verdaccio) + +> We are looking for active contributors for this integration, if you are interested [refers to this ticket](https://github.com/verdaccio/puppet-verdaccio/issues/11). + + + -> We are looking for active contributors for this integration, if you are interested [refers to this ticket](https://github.com/verdaccio/puppet-verdaccio/issues/11). \ No newline at end of file diff --git a/website/translated_docs/hi-IN/repositories.md b/website/translated_docs/hi-IN/repositories.md index fac3fe942aaa..19433d9f03dc 100644 --- a/website/translated_docs/hi-IN/repositories.md +++ b/website/translated_docs/hi-IN/repositories.md @@ -5,4 +5,5 @@ title: Source Code `verdaccio` is composed or multiple repositories you might contribute. Look into the **issues** tab whether there is a ticket waiting for you 🤠. -To see the complete list of repositories, [click here](https://github.com/verdaccio/verdaccio/wiki/Repositories). \ No newline at end of file +To see the complete list of repositories, [click here](https://github.com/verdaccio/verdaccio/wiki/Repositories). + diff --git a/website/translated_docs/hi-IN/reverse-proxy.md b/website/translated_docs/hi-IN/reverse-proxy.md index 769d34e4eb64..f302852d1604 100644 --- a/website/translated_docs/hi-IN/reverse-proxy.md +++ b/website/translated_docs/hi-IN/reverse-proxy.md @@ -11,141 +11,145 @@ Apache and `mod_proxy` should **not decode/encode slashes** and leave them as th For installing at relative path, `/npm`, on the server - - AllowEncodedSlashes NoDecode - ProxyPass /npm http://127.0.0.1:4873 nocanon - ProxyPassReverse /npm http://127.0.0.1:4873 - - +```` + + AllowEncodedSlashes NoDecode + ProxyPass /npm http://127.0.0.1:4873 nocanon + ProxyPassReverse /npm http://127.0.0.1:4873 + +```` For installing at root path, `/`, on the server - - - ServerName your.domain.com - ServerAdmin hello@your.domain.com - ProxyPreserveHost On - AllowEncodedSlashes NoDecode - ProxyPass / http://127.0.0.1:4873/ nocanon - ProxyPassReverse / http://127.0.0.1:4873/ - - +```` + + ServerName your.domain.com + ServerAdmin hello@your.domain.com + ProxyPreserveHost On + AllowEncodedSlashes NoDecode + ProxyPass / http://127.0.0.1:4873/ nocanon + ProxyPassReverse / http://127.0.0.1:4873/ + +```` ### Configuration with SSL Apache virtual server configuration - apacheconfig - - - ServerName npm.your.domain.com - SSLEngine on - SSLCertificateFile /etc/letsencrypt/live/npm.your.domain.com/fullchain.pem - SSLCertificateKeyFile /etc/letsencrypt/live/npm.your.domain.com/privkey.pem - SSLProxyEngine On - ProxyRequests Off - ProxyPreserveHost On - AllowEncodedSlashes NoDecode - ProxyPass / http://127.0.0.1:4873/ nocanon - ProxyPassReverse / http://127.0.0.1:4873/ - RequestHeader set X-Forwarded-Proto "https" - - - +```` + apacheconfig + + + ServerName npm.your.domain.com + SSLEngine on + SSLCertificateFile /etc/letsencrypt/live/npm.your.domain.com/fullchain.pem + SSLCertificateKeyFile /etc/letsencrypt/live/npm.your.domain.com/privkey.pem + SSLProxyEngine On + ProxyRequests Off + ProxyPreserveHost On + AllowEncodedSlashes NoDecode + ProxyPass / http://127.0.0.1:4873/ nocanon + ProxyPassReverse / http://127.0.0.1:4873/ + RequestHeader set X-Forwarded-Proto "https" + + +```` # Nginx The following snippet is a full `docker` example can be tested in our [Docker examples repository](https://github.com/verdaccio/verdaccio/tree/5.x/docker-examples/reverse_proxy/nginx). - upstream verdaccio_v4 { - server verdaccio_relative_path_v4:4873; - keepalive 8; - } - - upstream verdaccio_v4_root { - server verdaccio_relative_path_v4_root:8000; - keepalive 8; +```` +upstream verdaccio_v4 { + server verdaccio_relative_path_v4:4873; + keepalive 8; +} + +upstream verdaccio_v4_root { + server verdaccio_relative_path_v4_root:8000; + keepalive 8; +} + +upstream verdaccio_v3 { + server verdaccio_relative_path_latest_v3:7771; + keepalive 8; +} + +server { + listen 80 default_server; + access_log /var/log/nginx/verdaccio.log; + charset utf-8; + + location / { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4_root; + proxy_redirect off; } - - upstream verdaccio_v3 { - server verdaccio_relative_path_latest_v3:7771; - keepalive 8; + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4/$1; + proxy_redirect off; } - - server { - listen 80 default_server; - access_log /var/log/nginx/verdaccio.log; - charset utf-8; - - location / { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4_root; - proxy_redirect off; - } - - location ~ ^/verdaccio/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4/$1; - proxy_redirect off; - } - - location ~ ^/verdacciov3/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - - proxy_pass http://verdaccio_v3/$1; - proxy_redirect off; - } + + location ~ ^/verdacciov3/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + + proxy_pass http://verdaccio_v3/$1; + proxy_redirect off; } - +} +```` ## SSL example - server { - listen 80; - return 302 https://$host$request_uri; +```` +server { + listen 80; + return 302 https://$host$request_uri; +} + +server { + listen 443 ssl http2; + server_name localhost; + + ssl_certificate /etc/nginx/cert.crt; + ssl_certificate_key /etc/nginx/cert.key; + + ssl on; + ssl_session_cache builtin:1000 shared:SSL:10m; + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; + ssl_prefer_server_ciphers on; + + location / { + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_pass http://verdaccio_v4_root; + proxy_read_timeout 600; + proxy_redirect off; } - - server { - listen 443 ssl http2; - server_name localhost; - - ssl_certificate /etc/nginx/cert.crt; - ssl_certificate_key /etc/nginx/cert.key; - - ssl on; - ssl_session_cache builtin:1000 shared:SSL:10m; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; - ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; - ssl_prefer_server_ciphers on; - - location / { - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_pass http://verdaccio_v4_root; - proxy_read_timeout 600; - proxy_redirect off; - } - - location ~ ^/verdaccio/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4_root/$1; - proxy_redirect off; - } + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4_root/$1; + proxy_redirect off; } - +} +```` ## Run behind reverse proxy with different domain and port @@ -171,10 +175,9 @@ location / { proxy_set_header X-Forwarded-Proto $scheme; } ``` - For this case, `url_prefix` should **NOT** set in Verdaccio config -* * * +--- or a sub-directory installation: @@ -186,7 +189,6 @@ location ~ ^/verdaccio/(.*)$ { proxy_set_header X-Forwarded-Proto $scheme; } ``` - For this case, `url_prefix` should set to `/verdaccio/` -> Note: There is a slash after the install path (`https://your-domain:port/verdaccio/`)! \ No newline at end of file +> Note: There is a slash after the install path (`https://your-domain:port/verdaccio/`)! diff --git a/website/translated_docs/hi-IN/server.md b/website/translated_docs/hi-IN/server.md index 7473ea12d00c..51498ca32c44 100644 --- a/website/translated_docs/hi-IN/server.md +++ b/website/translated_docs/hi-IN/server.md @@ -31,7 +31,6 @@ The `cd` command sends you to the home directory of the Verdaccio user. Make sur ## Listening on all addresses If you want to listen to every external address set the listen directive in the config to: - ```yaml # you can specify listen address (or simply a port) listen: 0.0.0.0:4873 @@ -71,8 +70,9 @@ $ crontab -e This might ask you to choose an editor. Pick your favorite and proceed. Add the following entry to the file: - @reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio - +``` +@reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio +``` The locations may vary depending on your server setup. If you want to know where your files are you can use the 'which' command: @@ -84,9 +84,7 @@ $ which verdaccio ## Using systemd Instead of `forever` you can use `systemd` for starting Verdaccio and keeping it running. Verdaccio installation has systemd unit, you only need to copy it: - ```bash $ sudo cp /usr/lib/node_modules/verdaccio/systemd/verdaccio.service /lib/systemd/system/ && sudo systemctl daemon-reload ``` - -This unit assumes you have configuration in `/etc/verdaccio/config.yaml` and store data in `/var/lib/verdaccio`, so either move your files to those locations or edit the unit. \ No newline at end of file +This unit assumes you have configuration in `/etc/verdaccio/config.yaml` and store data in `/var/lib/verdaccio`, so either move your files to those locations or edit the unit. diff --git a/website/translated_docs/hi-IN/who-is-using.md b/website/translated_docs/hi-IN/who-is-using.md index 778ca5bf2e0e..41c0f4cac3ee 100644 --- a/website/translated_docs/hi-IN/who-is-using.md +++ b/website/translated_docs/hi-IN/who-is-using.md @@ -10,6 +10,7 @@ title: "Who is using Verdaccio?" * [SheetJS](https://sheetjs.com/) * [Satispay](https://www.satispay.com/) + ### Open Source Projects > **Feel free to suggest other OSS are using Verdaccio.** @@ -29,4 +30,6 @@ title: "Who is using Verdaccio?" #### Readme Recommendations -* [react-native-cli](https://github.com/react-native-community/react-native-cli/blob/master/CONTRIBUTING.md) \ No newline at end of file +* [react-native-cli](https://github.com/react-native-community/react-native-cli/blob/master/CONTRIBUTING.md) + + diff --git a/website/translated_docs/hi-IN/windows.md b/website/translated_docs/hi-IN/windows.md index eeb0b4e96470..753bd9db917e 100644 --- a/website/translated_docs/hi-IN/windows.md +++ b/website/translated_docs/hi-IN/windows.md @@ -5,10 +5,10 @@ title: "Installing As a Windows Service" Loosely based upon the instructions found [here](http://asysadmin.tumblr.com/post/32941224574/running-nginx-on-windows-as-a-service). I crafted the following and it provided me with a fully working verdaccio service installation: -1. Create a directory for verdaccio +1. Create a directory for verdaccio * mkdir `c:\verdaccio` * cd `c:\verdaccio` -2. Install verdaccio locally (I ran into npm issues with global installs) +2. Install verdaccio locally (I ran into npm issues with global installs) * npm install verdaccio 3. Create your `config.yaml` file in this location `(c:\verdaccio\config.yaml)` 4. Windows Service Setup @@ -24,29 +24,29 @@ ALTERNATIVE METHOD: (WinSW package was missing when I tried to download it) * Open an administrative command * Run nssm install verdaccio At a minimum you must fill in the Application tab Path, Startup directory and Arguments fields. Assuming an install with node in the system path and a location of c:\verdaccio the below values will work: - * Path: `node` * Startup directory: `c:\verdaccio` * Arguments: `c:\verdaccio\node_modules\verdaccio\build\lib\cli.js -c c:\verdaccio\config.yaml` - + You can adjust other service settings under other tabs as desired. When you are done, click Install service button - - * Start the service sc start verdaccio + + * Start the service sc start verdaccio ## Using WinSW * As of 2015-10-27, WinSW is no longer available at the below location. Please follow the Using NSSM instructions above. -* Download [WinSW](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/) +* Download [WinSW](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/) * Place the executable (e.g. `winsw-1.9-bin.exe`) into this folder (`c:\verdaccio`) and rename it to `verdaccio-winsw.exe` * Create a configuration file in `c:\verdaccio`, named `verdaccio-winsw.xml` with the following configuration `xml verdaccio verdaccio verdaccio node c:\verdaccio\node_modules\verdaccio\src\lib\cli.js -c c:\verdaccio\config.yaml roll c:\verdaccio`. -* Install your service +* Install your service * `cd c:\verdaccio` * `verdaccio-winsw.exe install` -* Start your service +* Start your service * `verdaccio-winsw.exe start` Some of the above config is more verbose than I had expected, it appears as though 'workingdirectory' is ignored, but other than that, this works for me and allows my verdaccio instance to persist between restarts of the server, and also restart itself should there be any crashes of the verdaccio process. + ## Repositories -* [verdaccio-deamon-windows](https://github.com/davidenke/verdaccio-deamon-windows) \ No newline at end of file +* [verdaccio-deamon-windows](https://github.com/davidenke/verdaccio-deamon-windows) diff --git a/website/translated_docs/it-IT/caching.md b/website/translated_docs/it-IT/caching.md index 7313e34d7641..bd069569149b 100644 --- a/website/translated_docs/it-IT/caching.md +++ b/website/translated_docs/it-IT/caching.md @@ -7,11 +7,12 @@ Verdaccio di default memorizza nella cache tutti i pacchetti nella cartella `/st ## Scenari di caching -* Costruire un progetto Node.js su server di **Continous Integration** (Bamboo, GitLab, Jenkins, ecc.) è un'attività che può essere eseguita diverse volte al giorno, perciò il server effettuerà il download dal registro di un gran numero di tarball ogni volta che questo avviene. Come al solito, i tool di CI puliscono la cache dopo ogni build e il processo ricomincia nuovamente ogni volta. Ciò è uno spreco di banda e riduce il traffico esterno. **È possibile utilizzare Verdaccio per memorizzare nella cache tarball e metadati nella nostra rete interna e per dare un impulso in fase di build.** +* Costruire un progetto Node.js su server di **Continous Integration** (Bamboo, GitLab, Jenkins, ecc.) è un'attività che può essere eseguita diverse volte al giorno, perciò il server effettuerà il download dal registro di un gran numero di tarball ogni volta che questo avviene. Come al solito, i tool di CI puliscono la cache dopo ogni build e il processo ricomincia nuovamente ogni volta. Ciò è uno spreco di banda e riduce il traffico esterno. **È possibile utilizzare Verdaccio per memorizzare nella cache tarball e metadati nella nostra rete interna e per dare un impulso in fase di build.** * **Latenza e Connettività**, non tutti i Paesi godono di una connessione ad alta velocità. Per questo motivo memorizzare i pacchetti nella cache localmente nella propria rete è decisamente comodo. Se si sta viaggiando o si ha una connessione debole, roaming o in paesi con Firewall resistenti che potrebbero incidere sull'esperienza dell'utente (es: corruzione di tarball). * **Modalità Offline**, tutti i Node Package Manager oggigiorno utilizzano la loro cache interna, ma è comune che progetti differenti possano usare tool differenti, che comprendono file di lock e così via. Quei tool non sono in grado di condividere la cache, l'unica soluzione è centralizzata e si basa su un registro proxy, Verdaccio memorizza nella cache tutti i metadati e i tarball vengono scaricati su richiesta riuscendo a condividerli in tutto il progetto. * Evitare che qualsiasi registro remoto restituisca improvvisamente l'errore *HTTP 404* per i tarball che erano disponibili in precedenza (conosciuto anche come [left-pad issue](https://www.theregister.co.uk/2016/03/23/npm_left_pad_chaos/)). + # Strategie per build più veloci > Siamo alla ricerca di ulteriori strategie, condividi la tua esperienza in questo campo @@ -20,15 +21,16 @@ Verdaccio di default memorizza nella cache tutti i pacchetti nella cartella `/st Se si ha a disposizione uno spazio di archiviazione limitato, si dovrebbe evitare di memorizzare nella cache tarball; abilitando false su `cache` in ciascun uplink si memorizzeranno nella cache esclusivamente file di metadati. - uplinks: - npmjs: - url: https://registry.npmjs.org/ - cache: false - +``` +uplinks: + npmjs: + url: https://registry.npmjs.org/ + cache: false +``` ## Estensione della Data di Scadenza della Cache -Verdaccio di default attende 2 minuti per invalidare i metadati della cache prima di recuperare nuove informazioni dal registro remoto. + Verdaccio di default attende 2 minuti per invalidare i metadati della cache prima di recuperare nuove informazioni dal registro remoto. ```yaml uplinks: @@ -39,6 +41,7 @@ uplinks: Incrementando il valore di `maxage` in ciascun `uplink`, i remoti verranno interrogati con minore frequenza. Questa potrebbe essere una strategia valida in caso non si aggiornino le dipendenze così spesso. + ## Utilizzare la memoria invece dell'hardrive A volte non è un passaggio fondamentale memorizzare nella cache pacchetti, quanto memorizzare pacchetti di route da registri differenti e accelerare le fasi di build. Sono disponibili due plugin per evitare del tutto di scrivere su un hard drive fisico utilizzando la memoria. @@ -62,4 +65,4 @@ store: limit: 1000 ``` -Ricorda, una volta che il server viene riavviato i dati vengono persi, raccomandiamo questa configurazione in casi in cui non sia necessario che continui a funzionare. \ No newline at end of file +Ricorda, una volta che il server viene riavviato i dati vengono persi, raccomandiamo questa configurazione in casi in cui non sia necessario che continui a funzionare. diff --git a/website/translated_docs/it-IT/install.md b/website/translated_docs/it-IT/install.md index 90f4adf6e9bd..1a9040c24a42 100644 --- a/website/translated_docs/it-IT/install.md +++ b/website/translated_docs/it-IT/install.md @@ -13,7 +13,7 @@ Verdaccio is a multiplatform web application. To install it, you need a few basi > We highly recommend to use the latest versions of Node Package Manager clients `> npm@6.x | yarn@1.x | | yarn@2.x | pnpm@6.x`. Don't support `npm@5.x` or older. -1. A modern web browser to run the web interface. We actually support `Chrome, Firefox, Edge`. +3. A modern web browser to run the web interface. We actually support `Chrome, Firefox, Edge`. > Verdaccio supporterà l'ultima versione di Node.js secondo le raccomandazioni del [Node.js Release Working Group](https://github.com/nodejs/Release). @@ -21,7 +21,7 @@ Are you still using **Verdaccio 4**?. Check the [migration guide](https://verdac ### Quick Introduction -Learn the basics before getting started, how to install, where is the location of the configuration file and more. +Learn the basics before getting started, how to install, where is the location of the configuration file and more. ## Installing the CLI @@ -92,7 +92,7 @@ Or a `publishConfig` in your `package.json` ## Create Your Own Private NPM Package Tutorial -If you'd like a broader explanation, don't miss the tutorial created by [thedevlife](https://mybiolink.co/thedevlife) on how to Create Your Own Private NPM Package using Verdaccio. +If you'd like a broader explanation, don't miss the tutorial created by [thedevlife](https://mybiolink.co/thedevlife) on how to Create Your Own Private NPM Package using Verdaccio. ## Docker Image @@ -106,4 +106,4 @@ docker run -it --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio `Verdaccio` is also available as a 1-click install on [Cloudron](https://cloudron.io) -[![Installazione](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=org.eggertsson.verdaccio) \ No newline at end of file +[![Installazione](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=org.eggertsson.verdaccio) diff --git a/website/translated_docs/it-IT/kubernetes.md b/website/translated_docs/it-IT/kubernetes.md index f434a5f8d703..3996a72d6c0a 100644 --- a/website/translated_docs/it-IT/kubernetes.md +++ b/website/translated_docs/it-IT/kubernetes.md @@ -23,8 +23,9 @@ Deploy the Helm [verdaccio/verdaccio](https://github.com/verdaccio/charts) chart ### Add repository - helm repo add verdaccio https://charts.verdaccio.org - +``` +helm repo add verdaccio https://charts.verdaccio.org +``` In questo esempio usiamo `npm` come nome della release: @@ -52,6 +53,7 @@ helm uninstall npm **Nota:** questo comando cancella tutte le risorse, inclusi i pacchetti che potresti aver pubblicato precedentemente sul registro. + ### Configurazione personalizzata di Verdaccio È possibile personalizzare la configurazione di Verdaccio utilizzando un Kubernetes *configMap*. @@ -92,7 +94,6 @@ helm install npm --set customConfigMap=verdaccio-config verdaccio/verdaccio #### NGINX proxy body-size limit The standard k8s NGINX ingress proxy allows for 1MB for body-size which can be increased by modifying the default deployment options according to the [documentation](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#custom-max-body-size): - ```yaml ... @@ -100,8 +101,7 @@ annotations: ... kubernetes.io/proxy-body-size: 20m -.... -... +.... ``` @@ -109,4 +109,4 @@ annotations: [Rancher](http://rancher.com/) is a complete container management platform that makes managing and using containers in production really easy. -* [verdaccio-rancher](https://github.com/lgaticaq/verdaccio-rancher) \ No newline at end of file +* [verdaccio-rancher](https://github.com/lgaticaq/verdaccio-rancher) diff --git a/website/translated_docs/it-IT/linking.md b/website/translated_docs/it-IT/linking.md index f5442885d41c..8d758bceec5d 100644 --- a/website/translated_docs/it-IT/linking.md +++ b/website/translated_docs/it-IT/linking.md @@ -17,14 +17,15 @@ uplinks: L'unica maniera per accedere a registri multipli utilizzando il `.npmrc` è la funzione scope come segue: - // .npmrc - registry=https://registry.npmjs.org - @mycompany:registry=http://localhost:4873 - +``` +// .npmrc +registry=https://registry.npmjs.org +@mycompany:registry=http://localhost:4873 +``` Questo approccio è valido, tuttavia presenta diversi svantaggi: -* **Funziona esclusivamente con scope** +* It **only works with scopes** * Lo scope deve coincidere, **non sono permesse Espressioni Regolari** * Uno scope **non può raccogliere da registri multipli** * Token e password **devono essere definiti all'interno di** `.npmrc` e registrati nel repository. @@ -75,7 +76,8 @@ Verdaccio supporta registri multipli nel campo `proxy`. La richiesta sarà risol È del tutto possibile avere un intero Registro Offline. Se non si desidera alcuna connettività con remoti esterni, è possibile eseguire ciò che segue. ```yaml -
auth: + +auth: htpasswd: file: ./htpasswd uplinks: @@ -91,4 +93,4 @@ packages: publish: $authenticated ``` -Eliminare tutti i campi `proxy` all'interno di ogni sezione di `packages`. Il registro diventerà completamente offline. \ No newline at end of file +Eliminare tutti i campi `proxy` all'interno di ogni sezione di `packages`. Il registro diventerà completamente offline. diff --git a/website/translated_docs/it-IT/logger.md b/website/translated_docs/it-IT/logger.md index ed772f373961..5f79ba47b770 100644 --- a/website/translated_docs/it-IT/logger.md +++ b/website/translated_docs/it-IT/logger.md @@ -28,4 +28,4 @@ Use `SIGUSR2` to notify the application, the log-file was rotated and it needs t | tipo | stringa | No | [stdout, file] | tutti | definire l'output | | percorso | stringa | No | verdaccio.log | tutti | se il tipo è file, definire la posizione di quel file | | formato | stringa | No | [pretty, pretty-timestamped] | tutti | formato dell'output | -| livello | stringa | No | [fatal, error, warn, http, info, debug, trace] | tutti | livello dettagliato | \ No newline at end of file +| livello | stringa | No | [fatal, error, warn, http, info, debug, trace] | tutti | livello dettagliato | diff --git a/website/translated_docs/it-IT/logo.md b/website/translated_docs/it-IT/logo.md index e227c54e978e..1eb98d0d4082 100644 --- a/website/translated_docs/it-IT/logo.md +++ b/website/translated_docs/it-IT/logo.md @@ -11,7 +11,7 @@ Uno speciale ringraziamento a *[@Lisapressmar](https://github.com/Lisapressmar)* ## Simboli -**Con testo** +__Con testo__ ![simbolo piccolo con testo](assets/logo/symbol/png/logo-small-header-bottom.png) @@ -19,11 +19,11 @@ Uno speciale ringraziamento a *[@Lisapressmar](https://github.com/Lisapressmar)* ![simbolo grande con testo](assets/logo/symbol/png/logo-small-header-bottom@3x.png) -**SVG** +__SVG__ ![simbolo svg](assets/logo/symbol/svg/logo-small-header-bottom.svg) -**Senza testo** +__Senza testo__ ![simbolo piccolo](assets/logo/symbol/png/verdaccio-tiny.png) @@ -31,10 +31,12 @@ Uno speciale ringraziamento a *[@Lisapressmar](https://github.com/Lisapressmar)* ![simbolo grande](assets/logo/symbol/png/verdaccio-tiny@3x.png) -**SVG** +__SVG__ ![formato svg simbolo senza testo](assets/logo/symbol/svg/verdaccio-tiny.svg) + + ### Nero&Bianco ![simbolo bianco e nero piccolo](assets/logo/symbol/png/verdaccio-blackwhite.png) @@ -43,14 +45,17 @@ Uno speciale ringraziamento a *[@Lisapressmar](https://github.com/Lisapressmar)* ![simbolo bianco e nero grande](assets/logo/symbol/png/verdaccio-blackwhite@3x.png) -**SVG** +__SVG__ ![simbolo bianco e nero svg](assets/logo/symbol/svg/verdaccio-blackwhite.svg) + ## Banner ![banner piccolo](assets/logo/banner/png/verdaccio-banner.png) ![banner medio](assets/logo/banner/png/verdaccio-banner@2x.png) -![banner grande](assets/logo/banner/png/verdaccio-banner@3x.png) \ No newline at end of file +![banner grande](assets/logo/banner/png/verdaccio-banner@3x.png) + + diff --git a/website/translated_docs/it-IT/node-api.md b/website/translated_docs/it-IT/node-api.md index dd90dff8a007..51c3408823c0 100644 --- a/website/translated_docs/it-IT/node-api.md +++ b/website/translated_docs/it-IT/node-api.md @@ -39,4 +39,4 @@ verdaccioServer.serviceUninstall(); verdaccioServer.serviceStart(); verdaccioServer.serviceStop(); verdaccioServer.serviceRestart(); -``` \ No newline at end of file +``` diff --git a/website/translated_docs/it-IT/notifications.md b/website/translated_docs/it-IT/notifications.md index b121824befde..2294963b29a5 100644 --- a/website/translated_docs/it-IT/notifications.md +++ b/website/translated_docs/it-IT/notifications.md @@ -48,12 +48,13 @@ Usiamo [Handlebars](https://handlebarsjs.com/) come template engine principale. ### Esempi di formato - # itera tutte le versioni - {{ name }}{{#each versions}} v{{version}}{{/each}} - - # pacchetto publisher e `dist-tag` pubblicati - {{ publisher.name }} has published {{ publishedPackage }} - +``` +# itera tutte le versioni +{{ name }}{{#each versions}} v{{version}}{{/each}} + +# pacchetto publisher e `dist-tag` pubblicati +{{ publisher.name }} has published {{ publishedPackage }} +``` ### Proprietà @@ -67,54 +68,56 @@ Elenco delle proprietà accessibili tramite template Pacchetto metadata al quale il template ha accesso - { - "_id": "@test/pkg1", - "name": "@test/pkg1", - "description": "", - "dist-tags": { - "beta": "1.0.54" - }, - "versions": { - "1.0.54": { - "name": "@test/pkg1", - "version": "1.0.54", - "description": "some description", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": { - "name": "Author Name", - "email": "author@domain.com" - }, - "license": "MIT", - "dependencies": { - "webpack": "4.12.0" - }, - "readmeFilename": "README.md", - "_id": "@ test/pkg1@1.0.54", - "_npmVersion": "6.1.0", - "_nodeVersion": "9.9.0", - "_npmUser": {}, - "dist": { - "integrity": "sha512-JlXWpLtMUBAqvVZBvH7UVLhXkGE1ctmXbDjbH/l0zMuG7wVzQ7GshTYvD/b5C+G2vOL2oiIS1RtayA/kKkTwKw==", - "shasum": "29c55c52c1e76e966e706165e5b9f22e32aa9f22", - "tarball": "http://localhost:4873/@test/pkg1/-/@test/pkg1-1.0.54.tgz" - } - } - }, - "readme": "# test", - "_attachments": { - "@test/pkg1-1.0.54.tgz": { - "content_type": "application/octet-stream", - "data": "H4sIAAAAAAAAE+y9Z5PjyJIgOJ ...", - "length": 33112 +``` +{ + "_id": "@test/pkg1", + "name": "@test/pkg1", + "description": "", + "dist-tags": { + "beta": "1.0.54" + }, + "versions": { + "1.0.54": { + "name": "@test/pkg1", + "version": "1.0.54", + "description": "some description", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": { + "name": "Author Name", + "email": "author@domain.com" + }, + "license": "MIT", + "dependencies": { + "webpack": "4.12.0" + }, + "readmeFilename": "README.md", + "_id": "@ test/pkg1@1.0.54", + "_npmVersion": "6.1.0", + "_nodeVersion": "9.9.0", + "_npmUser": {}, + "dist": { + "integrity": "sha512-JlXWpLtMUBAqvVZBvH7UVLhXkGE1ctmXbDjbH/l0zMuG7wVzQ7GshTYvD/b5C+G2vOL2oiIS1RtayA/kKkTwKw==", + "shasum": "29c55c52c1e76e966e706165e5b9f22e32aa9f22", + "tarball": "http://localhost:4873/@test/pkg1/-/@test/pkg1-1.0.54.tgz" } - }, - "time": {} - } - + } + }, + "readme": "# test", + "_attachments": { + "@test/pkg1-1.0.54.tgz": { + "content_type": "application/octet-stream", + "data": "H4sIAAAAAAAAE+y9Z5PjyJIgOJ ...", + "length": 33112 + } + }, + "time": {} +} +``` + ### Publisher @@ -122,21 +125,23 @@ You can get access to the package publisher information in the `content` of a we Vedi sotto il tipo di oggetto `publisher`: - { - name: string, - groups: string[], - real_groups: string[] - } - +``` +{ + name: string, + groups: string[], + real_groups: string[] +} +``` Un esempio: - notify: - method: POST - headers: [{'Content-Type': 'application/json'}] - endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken - content: '{"color":"green","message":"New package published: * {{ name }}*. Publisher name: * {{ publisher.name }} *.","notify":true,"message_format":"text"}' - +``` +notify: + method: POST + headers: [{'Content-Type': 'application/json'}] + endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken + content: '{"color":"green","message":"New package published: * {{ name }}*. Publisher name: * {{ publisher.name }} *.","notify":true,"message_format":"text"}' +``` **Nota:** non è possibile ottenere le informazioni del publisher se il file `package.json` ha già la proprietà `publisher`. @@ -144,8 +149,9 @@ Un esempio: Si può accedere al pacchetto che è stato pubblicato con la keyword `{{publishedPackage}}` come segue. - {{ publisher.name }} has published {{ publishedPackage }} - +``` +{{ publisher.name }} has published {{ publishedPackage }} +``` ## Configurazione @@ -156,4 +162,4 @@ Si può accedere al pacchetto che è stato pubblicato con la keyword `{{publishe | packagePatternFlags | stringa | No | tutti | | Qualsiasi flag da utilizzare con l'espressione regolare | | intestazioni | array/oggetto | Sì | tutti | | Se questo endpoint richiede intestazioni specifiche, definirle qui come un array della key: oggetti di valore. | | endpoint | stringa | Sì | tutti | | definire l'URL dell'endpoint per questa chiamata | -| content | stringa | Sì | tutti | | qualsiasi espressione [Handlebar](https://handlebarsjs.com/) | \ No newline at end of file +| content | stringa | Sì | tutti | | qualsiasi espressione [Handlebar](https://handlebarsjs.com/) | diff --git a/website/translated_docs/it-IT/packages.md b/website/translated_docs/it-IT/packages.md index 67ed026bfbfa..49e41a9e0411 100644 --- a/website/translated_docs/it-IT/packages.md +++ b/website/translated_docs/it-IT/packages.md @@ -155,7 +155,7 @@ You may assign multiple uplinks for use as a proxy to use in the case of failove #### Rimozione di Pacchetti Pubblicati -The property `publish` handle permissions for `npm publish` and `npm unpublish`. But, if you want to be more specific, you can use the property `unpublish` in your package access section, for instance: +The property `publish` handle permissions for `npm publish` and `npm unpublish`. But, if you want to be more specific, you can use the property `unpublish` in your package access section, for instance: ```yalm packages: @@ -183,6 +183,7 @@ In the previous example, the behaviour would be described: * solo gli utenti autenticati possono pubblicare i pacchetti `my-company-*`, tuttavia **nessuno sarebbe autorizzato ad annullare la loro pubblicazione**. * Se `unpublish` è commentato, l'accesso verrà garantito o negato dalla definizione di `publish`. + ### Configurazione You can define mutiple `packages` and each of them must have an unique `Regex`. The syntax is based on [minimatch glob expressions](https://github.com/isaacs/minimatch). @@ -196,4 +197,4 @@ You can define mutiple `packages` and each of them must have an unique `Regex`. > Vogliamo rimarcare che non raccomandiamo più l'utilizzo di **allow_access**/**allow_publish** e **proxy_access** che sono superati e saranno presto rimossi, si prega di utilizzare invece la versione breve di ognuna di queste (**access**/**publish**/**proxy**). -If you want more information about how to use the **storage** property, please refer to this [comment](https://github.com/verdaccio/verdaccio/issues/1383#issuecomment-509933674). \ No newline at end of file +If you want more information about how to use the **storage** property, please refer to this [comment](https://github.com/verdaccio/verdaccio/issues/1383#issuecomment-509933674). diff --git a/website/translated_docs/it-IT/plugins.md b/website/translated_docs/it-IT/plugins.md index e5d347794251..2a6bc47c030e 100644 --- a/website/translated_docs/it-IT/plugins.md +++ b/website/translated_docs/it-IT/plugins.md @@ -24,8 +24,9 @@ $> npm install --global verdaccio-activedirectory `verdaccio` essendo un fork di sinopia ha retrocompatibilità con plugin che sono compatibili con `sinopia@1.4.0`. In tal caso l'installazione è la stessa. - $> npm install --global sinopia-memory - +``` +$> npm install --global sinopia-memory +``` ### Configurazione @@ -33,6 +34,7 @@ Aprire il file `config.yaml` e aggiornare la sezione `auth` come segue: La configurazione predefinita appare così, poiché usiamo un plugin `htpasswd` incorporato di default che si può disabilitare commentando le seguenti linee. + ### Configurazione dell'Autenticazione ```yaml @@ -93,12 +95,14 @@ store: Verdaccio consente di sostituire l'Interfaccia Utente con una personalizzata, che noi chiamiamo **tema**. Di default, utilizza `@verdaccio/ui-theme` che è integrato, tuttavia è possibile usare qualcosa di diverso installando il proprio plugin. ```bash -
$> npm install --global verdaccio-theme-dark + +$> npm install --global verdaccio-theme-dark ``` > Il prefisso del nome del plugin deve cominciare con `verdaccio-theme`, altrimenti il plugin non caricherà. + You can load only one theme at a time and pass through options if you need it. ```yaml @@ -132,4 +136,5 @@ theme: * [sinopia-ldap](https://www.npmjs.com/package/sinopia-ldap): plugin auth LDAP per sinopia. * [sinopia-github-oauth-env](https://www.npmjs.com/package/sinopia-github-oauth-env) plugin di autenticazione di Sinopia con flusso web github oauth. -> Tutti i plugin di sinopia dovrebbero essere compatibili con tutte le versioni future di verdaccio. Tuttavia, incoraggiamo i contributori a spostarli sull'API attuale di verdaccio e ad utilizzare il prefisso così *verdaccio-xx-name*. \ No newline at end of file +> Tutti i plugin di sinopia dovrebbero essere compatibili con tutte le versioni future di verdaccio. Tuttavia, incoraggiamo i contributori a spostarli sull'API attuale di verdaccio e ad utilizzare il prefisso così *verdaccio-xx-name*. + diff --git a/website/translated_docs/it-IT/protect-your-dependencies.md b/website/translated_docs/it-IT/protect-your-dependencies.md index cb0cf62c5dbd..3801b92f51e3 100644 --- a/website/translated_docs/it-IT/protect-your-dependencies.md +++ b/website/translated_docs/it-IT/protect-your-dependencies.md @@ -31,7 +31,8 @@ I won't have access to such dependencies and they also won't be visible via the ```bash ➜ npm install my-company-core npm ERR! code E403 -npm ERR! 403 Forbidden: webpack-1@latest +npm ERR! code E403 +npm ERR! ``` or with `yarn`: @@ -40,6 +41,6 @@ or with `yarn`: ➜ yarn add my-company-core yarn add v0.24.6 info No lockfile found. -[1/4] +[1/4] 🔍 Resolving packages... errore Si è verificato un errore imprevisto: "http://localhost:5555/webpack-1: gli utenti non registrati non sono autorizzati ad accedere al pacchetto my-company-core". -``` \ No newline at end of file +``` diff --git a/website/translated_docs/it-IT/puppet.md b/website/translated_docs/it-IT/puppet.md index 5d1240ec11ab..6e3658e3cc4c 100644 --- a/website/translated_docs/it-IT/puppet.md +++ b/website/translated_docs/it-IT/puppet.md @@ -16,6 +16,10 @@ In entrambe le varianti è necessario chiamare esplicitamente i "class nodejs {} Per ulteriori informazioni: - +[https://github.com/verdaccio/puppet-verdaccio](https://github.com/verdaccio/puppet-verdaccio) + +> Stiamo cercando collaboratori attivi per questa integrazione, se sei interessato [ fai riferimento a questo ticket](https://github.com/verdaccio/puppet-verdaccio/issues/11). + + + -> Stiamo cercando collaboratori attivi per questa integrazione, se sei interessato [ fai riferimento a questo ticket](https://github.com/verdaccio/puppet-verdaccio/issues/11). \ No newline at end of file diff --git a/website/translated_docs/it-IT/repositories.md b/website/translated_docs/it-IT/repositories.md index a90507e1b61b..4a6174823b8b 100644 --- a/website/translated_docs/it-IT/repositories.md +++ b/website/translated_docs/it-IT/repositories.md @@ -5,4 +5,5 @@ title: Codice Sorgente `verdaccio` è composto da più repository a cui puoi contribuire. Guarda nella scheda **issues** se ci fosse un ticket che ti aspetta 🤠. -Per vedere la lista completa dei repository, [clicca qui](https://github.com/verdaccio/verdaccio/wiki/Repositories). \ No newline at end of file +Per vedere la lista completa dei repository, [clicca qui](https://github.com/verdaccio/verdaccio/wiki/Repositories). + diff --git a/website/translated_docs/it-IT/reverse-proxy.md b/website/translated_docs/it-IT/reverse-proxy.md index 6d24f65611a4..07de3ef8d709 100644 --- a/website/translated_docs/it-IT/reverse-proxy.md +++ b/website/translated_docs/it-IT/reverse-proxy.md @@ -11,141 +11,145 @@ Apache e `mod_proxy` **non dovrebbero decodificare/codificare gli slash** e dovr For installing at relative path, `/npm`, on the server - - AllowEncodedSlashes NoDecode - ProxyPass /npm http://127.0.0.1:4873 nocanon - ProxyPassReverse /npm http://127.0.0.1:4873 - - +```` + + AllowEncodedSlashes NoDecode + ProxyPass /npm http://127.0.0.1:4873 nocanon + ProxyPassReverse /npm http://127.0.0.1:4873 + +```` For installing at root path, `/`, on the server - - - ServerName your.domain.com - ServerAdmin hello@your.domain.com - ProxyPreserveHost On - AllowEncodedSlashes NoDecode - ProxyPass / http://127.0.0.1:4873/ nocanon - ProxyPassReverse / http://127.0.0.1:4873/ - - +```` + + ServerName your.domain.com + ServerAdmin hello@your.domain.com + ProxyPreserveHost On + AllowEncodedSlashes NoDecode + ProxyPass / http://127.0.0.1:4873/ nocanon + ProxyPassReverse / http://127.0.0.1:4873/ + +```` ### Configurazione con SSL Configurazione del server virtuale Apache - apacheconfig - - - ServerName npm.your.domain.com - SSLEngine on - SSLCertificateFile /etc/letsencrypt/live/npm.your.domain.com/fullchain.pem - SSLCertificateKeyFile /etc/letsencrypt/live/npm.your.domain.com/privkey.pem - SSLProxyEngine On - ProxyRequests Off - ProxyPreserveHost On - AllowEncodedSlashes NoDecode - ProxyPass / http://127.0.0.1:4873/ nocanon - ProxyPassReverse / http://127.0.0.1:4873/ - RequestHeader set X-Forwarded-Proto "https" - - - +```` + apacheconfig + + + ServerName npm.your.domain.com + SSLEngine on + SSLCertificateFile /etc/letsencrypt/live/npm.your.domain.com/fullchain.pem + SSLCertificateKeyFile /etc/letsencrypt/live/npm.your.domain.com/privkey.pem + SSLProxyEngine On + ProxyRequests Off + ProxyPreserveHost On + AllowEncodedSlashes NoDecode + ProxyPass / http://127.0.0.1:4873/ nocanon + ProxyPassReverse / http://127.0.0.1:4873/ + RequestHeader set X-Forwarded-Proto "https" + + +```` # Nginx The following snippet is a full `docker` example can be tested in our [Docker examples repository](https://github.com/verdaccio/verdaccio/tree/5.x/docker-examples/reverse_proxy/nginx). - upstream verdaccio_v4 { - server verdaccio_relative_path_v4:4873; - keepalive 8; - } - - upstream verdaccio_v4_root { - server verdaccio_relative_path_v4_root:8000; - keepalive 8; +```` +upstream verdaccio_v4 { + server verdaccio_relative_path_v4:4873; + keepalive 8; +} + +upstream verdaccio_v4_root { + server verdaccio_relative_path_v4_root:8000; + keepalive 8; +} + +upstream verdaccio_v3 { + server verdaccio_relative_path_latest_v3:7771; + keepalive 8; +} + +server { + listen 80 default_server; + access_log /var/log/nginx/verdaccio.log; + charset utf-8; + + location / { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4_root; + proxy_redirect off; } - - upstream verdaccio_v3 { - server verdaccio_relative_path_latest_v3:7771; - keepalive 8; + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4/$1; + proxy_redirect off; } - - server { - listen 80 default_server; - access_log /var/log/nginx/verdaccio.log; - charset utf-8; - - location / { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4_root; - proxy_redirect off; - } - - location ~ ^/verdaccio/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4/$1; - proxy_redirect off; - } - - location ~ ^/verdacciov3/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - - proxy_pass http://verdaccio_v3/$1; - proxy_redirect off; - } + + location ~ ^/verdacciov3/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + + proxy_pass http://verdaccio_v3/$1; + proxy_redirect off; } - +} +```` ## Esempio di SSL - server { - listen 80; - return 302 https://$host$request_uri; +```` +server { + listen 80; + return 302 https://$host$request_uri; +} + +server { + listen 443 ssl http2; + server_name localhost; + + ssl_certificate /etc/nginx/cert.crt; + ssl_certificate_key /etc/nginx/cert.key; + + ssl on; + ssl_session_cache builtin:1000 shared:SSL:10m; + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; + ssl_prefer_server_ciphers on; + + location / { + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_pass http://verdaccio_v4_root; + proxy_read_timeout 600; + proxy_redirect off; } - - server { - listen 443 ssl http2; - server_name localhost; - - ssl_certificate /etc/nginx/cert.crt; - ssl_certificate_key /etc/nginx/cert.key; - - ssl on; - ssl_session_cache builtin:1000 shared:SSL:10m; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; - ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; - ssl_prefer_server_ciphers on; - - location / { - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_pass http://verdaccio_v4_root; - proxy_read_timeout 600; - proxy_redirect off; - } - - location ~ ^/verdaccio/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4_root/$1; - proxy_redirect off; - } + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4_root/$1; + proxy_redirect off; } - +} +```` ## Avvio dietro al proxy inverso con dominio e porta differenti @@ -171,10 +175,9 @@ location / { proxy_set_header X-Forwarded-Proto $scheme; } ``` - For this case, `url_prefix` should **NOT** set in Verdaccio config -* * * +--- o nell'installazione di una sotto cartella: @@ -186,7 +189,6 @@ location ~ ^/verdaccio/(.*)$ { proxy_set_header X-Forwarded-Proto $scheme; } ``` - In questo caso invece, `url_prefix` dovrebbe essere impostato su `/verdaccio/` -> Note: There is a slash after the install path (`https://your-domain:port/verdaccio/`)! \ No newline at end of file +> Note: There is a slash after the install path (`https://your-domain:port/verdaccio/`)! diff --git a/website/translated_docs/it-IT/server.md b/website/translated_docs/it-IT/server.md index 880cbe18cdb2..c7843607f2e9 100644 --- a/website/translated_docs/it-IT/server.md +++ b/website/translated_docs/it-IT/server.md @@ -31,7 +31,6 @@ The `cd` command sends you to the home directory of the Verdaccio user. Make sur ## Ascolto di tutti gli indirizzi Se si desidera ascoltare ogni indirizzo esterno, impostare la direttiva listen nella configurazione su: - ```yaml # è possibile specificare l'indirizzo di listen (o semplicemente una porta) listen: 0.0.0.0:4873 @@ -71,8 +70,9 @@ $ crontab -e This might ask you to choose an editor. Pick your favorite and proceed. Add the following entry to the file: - @reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio - +``` +@reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio +``` The locations may vary depending on your server setup. If you want to know where your files are you can use the 'which' command: @@ -84,9 +84,7 @@ $ which verdaccio ## Utilizzo di systemd Instead of `forever` you can use `systemd` for starting Verdaccio and keeping it running. Verdaccio installation has systemd unit, you only need to copy it: - ```bash $ sudo cp /usr/lib/node_modules/verdaccio/systemd/verdaccio.service /lib/systemd/system/ && sudo systemctl daemon-reload ``` - -This unit assumes you have configuration in `/etc/verdaccio/config.yaml` and store data in `/var/lib/verdaccio`, so either move your files to those locations or edit the unit. \ No newline at end of file +This unit assumes you have configuration in `/etc/verdaccio/config.yaml` and store data in `/var/lib/verdaccio`, so either move your files to those locations or edit the unit. diff --git a/website/translated_docs/it-IT/windows.md b/website/translated_docs/it-IT/windows.md index 17f7c632d03e..22b2d9b1d0e6 100644 --- a/website/translated_docs/it-IT/windows.md +++ b/website/translated_docs/it-IT/windows.md @@ -5,10 +5,10 @@ title: "Installazione come servizio di Windows" Basato approssimativamente sulle istruzioni che trovi [qui](http://asysadmin.tumblr.com/post/32941224574/running-nginx-on-windows-as-a-service). Ho elaborato ciò che segue e mi ha fornito un servizio di installazione per verdaccio completamente funzionante: -1. Creare una directory per verdaccio +1. Creare una directory per verdaccio * mkdir `c:\verdaccio` * cd `c:\verdaccio` -2. Installare verdaccio localmente (ho incontrato problemi con npm con le installazioni generali) +2. Installare verdaccio localmente (ho incontrato problemi con npm con le installazioni generali) * npm install verdaccio 3. Creare il file `config.yaml` in questa posizione `(c:\verdaccio\config.yaml)` 4. Configurare Windows Service @@ -24,29 +24,29 @@ METODO ALTERNATIVO: (il pacchetto WinSW non era presente quando ho provato a sca * Aprire un comando amministrativo * Eseguire nssm install verdaccio. È necessario inserire nel Percorso della Application tab, la cartella Startup e i campi Argomenti. Supponendo un'installazione con node nel percorso di sistema ed una posizione di c:\verdaccio, i valori qui sotto funzioneranno: - * Percorso: `node` * Cartella di avvio: `c:\verdaccio` * Argomenti: `c:\verdaccio\node_modules\verdaccio\build\lib\cli.js -c c:\verdaccio\config.yaml` - + Se si desidera, è possibile adattare configurazioni di servizio alternative sotto altre tab. Una volta terminato, cliccare sul bottone di installazione - - * Avviare il servizio sc start verdaccio + + * Avviare il servizio sc start verdaccio ## Utilizzo di WinSW * A partire dal 27/10/2015, WinSW non è più disponibile nella posizione seguente. Si prega di seguire le istruzioni di utilizzo NSSM scritte sopra. -* Scaricare [WinSW](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/) +* Scaricare [WinSW](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/) * Collocare l'eseguibile (e.g. `winsw-1.9-bin.exe`) in questa cartella (`c:\verdaccio`) e rinominarlo `verdaccio-winsw.exe` * Creare un file di configurazione in `c:\verdaccio`, denominato `verdaccio-winsw.xml` con la seguente configurazione `xml verdaccio verdaccio verdaccio node c:\verdaccio\node_modules\verdaccio\src\lib\cli.js -c c:\verdaccio\config.yaml roll c:\verdaccio`. -* Installare il servizio +* Installare il servizio * `cd c:\verdaccio` * `verdaccio-winsw.exe install` -* Avviare il servizio +* Avviare il servizio * `verdaccio-winsw.exe start` Alcune delle configurazioni sopra citate sono più dettagliate di quanto mi aspettassi, sembra comunque che 'workingdirectory' venga ignorato, ma a parte questo, per me funziona e permette, nel mio caso, che verdaccio continui a funzionare tra i riavvi del server, ed inoltre che si riavvii da solo qualora dovessero esserci crash del processo di verdaccio. + ## Repositori -* [verdaccio-deamon-windows](https://github.com/davidenke/verdaccio-deamon-windows) \ No newline at end of file +* [verdaccio-deamon-windows](https://github.com/davidenke/verdaccio-deamon-windows) diff --git a/website/translated_docs/ja/caching.md b/website/translated_docs/ja/caching.md index 60b7f65879e2..f662d67dfa25 100644 --- a/website/translated_docs/ja/caching.md +++ b/website/translated_docs/ja/caching.md @@ -7,11 +7,12 @@ Verdaccio caches all packages by default into the `/storage` folder. But you can ## Caching scenarios -* Build a Node.js project on **Continous Integration** (Bamboo, GitLab, Jenkins, etc) servers is a task that might take several times at a day, thus, the server will download tons of tarballs from the registry every time takes place. As usual, the CI tools clear the cache after each build and the process start over and over again. That is a waste of bandwidth and reduces the external traffic. **You can use Verdaccio for caching tarballs and metadata in our internal network and give a boost in your build time.** +* Build a Node.js project on **Continous Integration** (Bamboo, GitLab, Jenkins, etc) servers is a task that might take several times at a day, thus, the server will download tons of tarballs from the registry every time takes place. As usual, the CI tools clear the cache after each build and the process start over and over again. That is a waste of bandwidth and reduces the external traffic. **You can use Verdaccio for caching tarballs and metadata in our internal network and give a boost in your build time.** * **Latency and Connectivity**, not all countries enjoy a high-speed connection. For such reason cache packages locally in your network is really handy. Either if you are traveling, or have a weak connection, roaming or countries with strong Firewalls that might affect the user experience (eg: corrupting tarballs). * **Offline Mode**, all Node Package Managers nowadays uses their own internal cache, but it common that different projects might use different tools, which implies lock files and so on. Those tools are unable to share cache, the unique solution is centralized and relies on a proxy registry, Verdaccio cache all metadata and tarballs are downloaded by demand being able to share them across all your project. * Avoid that any remote registry suddenly returns *HTTP 404* error for tarballs were previously available a.k.a ([left-pad issue](https://www.theregister.co.uk/2016/03/23/npm_left_pad_chaos/)). + # Strategies for faster builds > We are looking for more strategies, feel free to share your experience in this field @@ -20,15 +21,16 @@ Verdaccio caches all packages by default into the `/storage` folder. But you can If you have a limited storage space, you might need to avoid cache tarballs, enabling `cache` false in each uplink will cache only metadata files. - uplinks: - npmjs: - url: https://registry.npmjs.org/ - cache: false - +``` +uplinks: + npmjs: + url: https://registry.npmjs.org/ + cache: false +``` ## Extending Cache Expiration Time -Verdaccio by default waits 2 minutes to invalidate the cache metadata before fetching new information from the remote registry. + Verdaccio by default waits 2 minutes to invalidate the cache metadata before fetching new information from the remote registry. ```yaml uplinks: @@ -39,6 +41,7 @@ uplinks: Increasing the value of `maxage` in each `uplink` remotes will be asked less frequently. This might be a valid strategy if you don't update dependencies so often. + ## Using the memory instead the hardrive Sometimes caching packages is not a critical step, rather than route packages from different registries and achieving faster build times. There are two plugins that avoid write in a physical hard drive at all using the memory. @@ -62,4 +65,4 @@ store: limit: 1000 ``` -Remember, once the server is restarted the data is being lost, we recommend this setup in cases where you do not need to persist at all. \ No newline at end of file +Remember, once the server is restarted the data is being lost, we recommend this setup in cases where you do not need to persist at all. diff --git a/website/translated_docs/ja/install.md b/website/translated_docs/ja/install.md index 46b35f61a3bc..3f897208d7f3 100644 --- a/website/translated_docs/ja/install.md +++ b/website/translated_docs/ja/install.md @@ -13,7 +13,7 @@ Verdaccio is a multiplatform web application. To install it, you need a few basi > We highly recommend to use the latest versions of Node Package Manager clients `> npm@6.x | yarn@1.x | | yarn@2.x | pnpm@6.x`. Don't support `npm@5.x` or older. -1. A modern web browser to run the web interface. We actually support `Chrome, Firefox, Edge`. +3. A modern web browser to run the web interface. We actually support `Chrome, Firefox, Edge`. > Verdaccio will support latest Node.js version according the [Node.js Release Working Group](https://github.com/nodejs/Release) recomendations. @@ -21,7 +21,7 @@ Are you still using **Verdaccio 4**?. Check the [migration guide](https://verdac ### Quick Introduction -Learn the basics before getting started, how to install, where is the location of the configuration file and more. +Learn the basics before getting started, how to install, where is the location of the configuration file and more. ## Installing the CLI @@ -92,7 +92,7 @@ Or a `publishConfig` in your `package.json` ## Create Your Own Private NPM Package Tutorial -If you'd like a broader explanation, don't miss the tutorial created by [thedevlife](https://mybiolink.co/thedevlife) on how to Create Your Own Private NPM Package using Verdaccio. +If you'd like a broader explanation, don't miss the tutorial created by [thedevlife](https://mybiolink.co/thedevlife) on how to Create Your Own Private NPM Package using Verdaccio. ## Docker Image @@ -106,4 +106,4 @@ docker run -it --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio `Verdaccio` is also available as a 1-click install on [Cloudron](https://cloudron.io) -[![Install](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=org.eggertsson.verdaccio) \ No newline at end of file +[![Install](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=org.eggertsson.verdaccio) diff --git a/website/translated_docs/ja/kubernetes.md b/website/translated_docs/ja/kubernetes.md index 4d41ab7fc2ab..23827d330596 100644 --- a/website/translated_docs/ja/kubernetes.md +++ b/website/translated_docs/ja/kubernetes.md @@ -23,8 +23,9 @@ Deploy the Helm [verdaccio/verdaccio](https://github.com/verdaccio/charts) chart ### Add repository - helm repo add verdaccio https://charts.verdaccio.org - +``` +helm repo add verdaccio https://charts.verdaccio.org +``` In this example we use `npm` as release name: @@ -52,6 +53,7 @@ helm uninstall npm **Note:** this command delete all the resources, including packages that you may have previously published to the registry. + ### Custom Verdaccio configuration You can customize the Verdaccio configuration using a Kubernetes *configMap*. @@ -92,7 +94,6 @@ helm install npm --set customConfigMap=verdaccio-config verdaccio/verdaccio #### NGINX proxy body-size limit The standard k8s NGINX ingress proxy allows for 1MB for body-size which can be increased by modifying the default deployment options according to the [documentation](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#custom-max-body-size): - ```yaml ... @@ -100,8 +101,7 @@ annotations: ... kubernetes.io/proxy-body-size: 20m -.... -... +.... ``` @@ -109,4 +109,4 @@ annotations: [Rancher](http://rancher.com/) is a complete container management platform that makes managing and using containers in production really easy. -* [verdaccio-rancher](https://github.com/lgaticaq/verdaccio-rancher) \ No newline at end of file +* [verdaccio-rancher](https://github.com/lgaticaq/verdaccio-rancher) diff --git a/website/translated_docs/ja/linking.md b/website/translated_docs/ja/linking.md index 20936fac8e9d..76f693de99c3 100644 --- a/website/translated_docs/ja/linking.md +++ b/website/translated_docs/ja/linking.md @@ -17,10 +17,11 @@ You can link multiple registries, the following document will drive you through The unique way to access multiple registries using the `.npmrc` is the scope feature as follows: - // .npmrc - registry=https://registry.npmjs.org - @mycompany:registry=http://localhost:4873 - +``` +// .npmrc +registry=https://registry.npmjs.org +@mycompany:registry=http://localhost:4873 +``` This approach is valid, but comes with several disadvantages: @@ -75,7 +76,8 @@ Verdaccio supports multiple registries on the `proxy` field. The request will be Having a full Offline Registry is completely possible. If you don't want any connectivity with external remotes you can do the following. ```yaml -
auth: + +auth: htpasswd: file: ./htpasswd uplinks: @@ -91,4 +93,4 @@ packages: publish: $authenticated ``` -Remove all `proxy` fields within each section of `packages`. The registry will become full offline. \ No newline at end of file +Remove all `proxy` fields within each section of `packages`. The registry will become full offline. diff --git a/website/translated_docs/ja/logger.md b/website/translated_docs/ja/logger.md index 64401095fcdf..c25d522b25aa 100644 --- a/website/translated_docs/ja/logger.md +++ b/website/translated_docs/ja/logger.md @@ -28,4 +28,4 @@ Use `SIGUSR2` to notify the application, the log-file was rotated and it needs t | type | string | No | [stdout, file] | all | define the output | | path | string | No | verdaccio.log | all | if type is file, define the location of that file | | format | string | No | [pretty, pretty-timestamped] | all | output format | -| level | string | No | [fatal, error, warn, http, info, debug, trace] | all | verbose level | \ No newline at end of file +| level | string | No | [fatal, error, warn, http, info, debug, trace] | all | verbose level | diff --git a/website/translated_docs/ja/logo.md b/website/translated_docs/ja/logo.md index d93ae00a848c..b2e1d23c74eb 100644 --- a/website/translated_docs/ja/logo.md +++ b/website/translated_docs/ja/logo.md @@ -11,7 +11,7 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ## Symbols -**With text** +__With text__ ![symbol tiny with text](assets/logo/symbol/png/logo-small-header-bottom.png) @@ -19,11 +19,11 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ![symbol big with text](assets/logo/symbol/png/logo-small-header-bottom@3x.png) -**SVG** +__SVG__ ![symbol svg](assets/logo/symbol/svg/logo-small-header-bottom.svg) -**No text** +__No text__ ![symbol tiny](assets/logo/symbol/png/verdaccio-tiny.png) @@ -31,10 +31,12 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ![symbol big](assets/logo/symbol/png/verdaccio-tiny@3x.png) -**SVG** +__SVG__ ![svg format symbol no text](assets/logo/symbol/svg/verdaccio-tiny.svg) + + ### Black&White ![symbol bw small](assets/logo/symbol/png/verdaccio-blackwhite.png) @@ -43,14 +45,17 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ![symbol bw big](assets/logo/symbol/png/verdaccio-blackwhite@3x.png) -**SVG** +__SVG__ ![symbol bw svg](assets/logo/symbol/svg/verdaccio-blackwhite.svg) + ## Banner ![banner small](assets/logo/banner/png/verdaccio-banner.png) ![banner medium](assets/logo/banner/png/verdaccio-banner@2x.png) -![banner big](assets/logo/banner/png/verdaccio-banner@3x.png) \ No newline at end of file +![banner big](assets/logo/banner/png/verdaccio-banner@3x.png) + + diff --git a/website/translated_docs/ja/node-api.md b/website/translated_docs/ja/node-api.md index b1a27cbb0eed..f6840716b5e9 100644 --- a/website/translated_docs/ja/node-api.md +++ b/website/translated_docs/ja/node-api.md @@ -39,4 +39,4 @@ verdaccioServer.serviceUninstall(); verdaccioServer.serviceStart(); verdaccioServer.serviceStop(); verdaccioServer.serviceRestart(); -``` \ No newline at end of file +``` diff --git a/website/translated_docs/ja/notifications.md b/website/translated_docs/ja/notifications.md index 0b3bd0ac7449..3539a44afa14 100644 --- a/website/translated_docs/ja/notifications.md +++ b/website/translated_docs/ja/notifications.md @@ -48,12 +48,13 @@ We use [Handlebars](https://handlebarsjs.com/) as main template engine. ### Format Examples - # iterate all versions - {{ name }}{{#each versions}} v{{version}}{{/each}} - - # publisher and `dist-tag` package published - {{ publisher.name }} has published {{ publishedPackage }} - +``` +# iterate all versions +{{ name }}{{#each versions}} v{{version}}{{/each}} + +# publisher and `dist-tag` package published +{{ publisher.name }} has published {{ publishedPackage }} +``` ### Properties @@ -67,54 +68,56 @@ List of properties accesible via template Package metadata that the template has access - { - "_id": "@test/pkg1", - "name": "@test/pkg1", - "description": "", - "dist-tags": { - "beta": "1.0.54" - }, - "versions": { - "1.0.54": { - "name": "@test/pkg1", - "version": "1.0.54", - "description": "some description", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": { - "name": "Author Name", - "email": "author@domain.com" - }, - "license": "MIT", - "dependencies": { - "webpack": "4.12.0" - }, - "readmeFilename": "README.md", - "_id": "@ test/pkg1@1.0.54", - "_npmVersion": "6.1.0", - "_nodeVersion": "9.9.0", - "_npmUser": {}, - "dist": { - "integrity": "sha512-JlXWpLtMUBAqvVZBvH7UVLhXkGE1ctmXbDjbH/l0zMuG7wVzQ7GshTYvD/b5C+G2vOL2oiIS1RtayA/kKkTwKw==", - "shasum": "29c55c52c1e76e966e706165e5b9f22e32aa9f22", - "tarball": "http://localhost:4873/@test/pkg1/-/@test/pkg1-1.0.54.tgz" - } - } - }, - "readme": "# test", - "_attachments": { - "@test/pkg1-1.0.54.tgz": { - "content_type": "application/octet-stream", - "data": "H4sIAAAAAAAAE+y9Z5PjyJIgOJ ...", - "length": 33112 +``` +{ + "_id": "@test/pkg1", + "name": "@test/pkg1", + "description": "", + "dist-tags": { + "beta": "1.0.54" + }, + "versions": { + "1.0.54": { + "name": "@test/pkg1", + "version": "1.0.54", + "description": "some description", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": { + "name": "Author Name", + "email": "author@domain.com" + }, + "license": "MIT", + "dependencies": { + "webpack": "4.12.0" + }, + "readmeFilename": "README.md", + "_id": "@ test/pkg1@1.0.54", + "_npmVersion": "6.1.0", + "_nodeVersion": "9.9.0", + "_npmUser": {}, + "dist": { + "integrity": "sha512-JlXWpLtMUBAqvVZBvH7UVLhXkGE1ctmXbDjbH/l0zMuG7wVzQ7GshTYvD/b5C+G2vOL2oiIS1RtayA/kKkTwKw==", + "shasum": "29c55c52c1e76e966e706165e5b9f22e32aa9f22", + "tarball": "http://localhost:4873/@test/pkg1/-/@test/pkg1-1.0.54.tgz" } - }, - "time": {} - } - + } + }, + "readme": "# test", + "_attachments": { + "@test/pkg1-1.0.54.tgz": { + "content_type": "application/octet-stream", + "data": "H4sIAAAAAAAAE+y9Z5PjyJIgOJ ...", + "length": 33112 + } + }, + "time": {} +} +``` + ### Publisher @@ -122,21 +125,23 @@ You can get access to the package publisher information in the `content` of a we See below the `publisher` object type: - { - name: string, - groups: string[], - real_groups: string[] - } - +``` +{ + name: string, + groups: string[], + real_groups: string[] +} +``` An example: - notify: - method: POST - headers: [{'Content-Type': 'application/json'}] - endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken - content: '{"color":"green","message":"New package published: * {{ name }}*. Publisher name: * {{ publisher.name }} *.","notify":true,"message_format":"text"}' - +``` +notify: + method: POST + headers: [{'Content-Type': 'application/json'}] + endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken + content: '{"color":"green","message":"New package published: * {{ name }}*. Publisher name: * {{ publisher.name }} *.","notify":true,"message_format":"text"}' +``` **Note:** it's not possible to get the publisher information if the `package.json` file already has the `publisher` property. @@ -144,8 +149,9 @@ An example: You can access to the package is being published with the keyword `{{publishedPackage}}` as follows. - {{ publisher.name }} has published {{ publishedPackage }} - +``` +{{ publisher.name }} has published {{ publishedPackage }} +``` ## Configuration @@ -156,4 +162,4 @@ You can access to the package is being published with the keyword `{{publishedPa | packagePatternFlags | string | No | all | | Any flags to be used with the regular expression | | headers | array/object | Yes | all | | If this endpoint requires specific headers, set them here as an array of key: value objects. | | endpoint | string | Yes | all | | set the URL endpoint for this call | -| content | string | Yes | all | | any [Handlebar](https://handlebarsjs.com/) expressions | \ No newline at end of file +| content | string | Yes | all | | any [Handlebar](https://handlebarsjs.com/) expressions | diff --git a/website/translated_docs/ja/packages.md b/website/translated_docs/ja/packages.md index fcc2bc93d0d0..bd50e417b5c8 100644 --- a/website/translated_docs/ja/packages.md +++ b/website/translated_docs/ja/packages.md @@ -155,7 +155,7 @@ You may assign multiple uplinks for use as a proxy to use in the case of failove #### Unpublishing Packages -The property `publish` handle permissions for `npm publish` and `npm unpublish`. But, if you want to be more specific, you can use the property `unpublish` in your package access section, for instance: +The property `publish` handle permissions for `npm publish` and `npm unpublish`. But, if you want to be more specific, you can use the property `unpublish` in your package access section, for instance: ```yalm packages: @@ -183,6 +183,7 @@ In the previous example, the behaviour would be described: * only authenticated users can publish `my-company-*` packages, but **nobody would be allowed to unpublish them**. * If `unpublish` is commented out, the access will be granted or denied by the `publish` definition. + ### Configuration You can define mutiple `packages` and each of them must have an unique `Regex`. The syntax is based on [minimatch glob expressions](https://github.com/isaacs/minimatch). @@ -196,4 +197,4 @@ You can define mutiple `packages` and each of them must have an unique `Regex`. > We higlight that we recommend to not use **allow_access**/**allow_publish** and **proxy_access** anymore, those are deprecated and will soon be removed, please use the short version of each of those (**access**/**publish**/**proxy**). -If you want more information about how to use the **storage** property, please refer to this [comment](https://github.com/verdaccio/verdaccio/issues/1383#issuecomment-509933674). \ No newline at end of file +If you want more information about how to use the **storage** property, please refer to this [comment](https://github.com/verdaccio/verdaccio/issues/1383#issuecomment-509933674). diff --git a/website/translated_docs/ja/plugins.md b/website/translated_docs/ja/plugins.md index 42c87b8c8bef..06d4fe198de4 100644 --- a/website/translated_docs/ja/plugins.md +++ b/website/translated_docs/ja/plugins.md @@ -24,8 +24,9 @@ $> npm install --global verdaccio-activedirectory `verdaccio` as a sinopia fork it has backward compability with plugins that are compatible with `sinopia@1.4.0`. In such case the installation is the same. - $> npm install --global sinopia-memory - +``` +$> npm install --global sinopia-memory +``` ### Configuration @@ -33,6 +34,7 @@ Open the `config.yaml` file and update the `auth` section as follows: The default configuration looks like this, due we use a build-in `htpasswd` plugin by default that you can disable just commenting out the following lines. + ### Authentication Configuration ```yaml @@ -93,12 +95,14 @@ store: Verdaccio allows to replace the User Interface with a custom one, we call it **theme**. By default, uses `@verdaccio/ui-theme` that comes built-in, but, you can use something different installing your own plugin. ```bash -
$> npm install --global verdaccio-theme-dark + +$> npm install --global verdaccio-theme-dark ``` > The plugin name prefix must start with `verdaccio-theme`, otherwise the plugin won't load. + You can load only one theme at a time and pass through options if you need it. ```yaml @@ -132,4 +136,5 @@ theme: * [sinopia-ldap](https://www.npmjs.com/package/sinopia-ldap): LDAP auth plugin for sinopia. * [sinopia-github-oauth-env](https://www.npmjs.com/package/sinopia-github-oauth-env) Sinopia authentication plugin with github oauth web flow. -> All sinopia plugins should be compatible with all future verdaccio versions. Anyhow, we encourage contributors to migrate them to the modern verdaccio API and using the prefix as *verdaccio-xx-name*. \ No newline at end of file +> All sinopia plugins should be compatible with all future verdaccio versions. Anyhow, we encourage contributors to migrate them to the modern verdaccio API and using the prefix as *verdaccio-xx-name*. + diff --git a/website/translated_docs/ja/protect-your-dependencies.md b/website/translated_docs/ja/protect-your-dependencies.md index 25343e3a7ce1..ca4ceb1e8478 100644 --- a/website/translated_docs/ja/protect-your-dependencies.md +++ b/website/translated_docs/ja/protect-your-dependencies.md @@ -31,7 +31,8 @@ I won't have access to such dependencies and they also won't be visible via the ```bash ➜ npm install my-company-core npm ERR! code E403 -npm ERR! 403 Forbidden: webpack-1@latest +npm ERR! code E403 +npm ERR! ``` or with `yarn`: @@ -40,6 +41,6 @@ or with `yarn`: ➜ yarn add my-company-core yarn add v0.24.6 info No lockfile found. -[1/4] +[1/4] 🔍 Resolving packages... error An unexpected error occurred: "http://localhost:5555/webpack-1: unregistered users are not allowed to access package my-company-core". -``` \ No newline at end of file +``` diff --git a/website/translated_docs/ja/puppet.md b/website/translated_docs/ja/puppet.md index a9cc94557481..390eef309750 100644 --- a/website/translated_docs/ja/puppet.md +++ b/website/translated_docs/ja/puppet.md @@ -16,6 +16,10 @@ In both variants you have to explicitely call "class nodejs {}" in your puppet s For further information: - +[https://github.com/verdaccio/puppet-verdaccio](https://github.com/verdaccio/puppet-verdaccio) + +> We are looking for active contributors for this integration, if you are interested [refers to this ticket](https://github.com/verdaccio/puppet-verdaccio/issues/11). + + + -> We are looking for active contributors for this integration, if you are interested [refers to this ticket](https://github.com/verdaccio/puppet-verdaccio/issues/11). \ No newline at end of file diff --git a/website/translated_docs/ja/repositories.md b/website/translated_docs/ja/repositories.md index fac3fe942aaa..19433d9f03dc 100644 --- a/website/translated_docs/ja/repositories.md +++ b/website/translated_docs/ja/repositories.md @@ -5,4 +5,5 @@ title: Source Code `verdaccio` is composed or multiple repositories you might contribute. Look into the **issues** tab whether there is a ticket waiting for you 🤠. -To see the complete list of repositories, [click here](https://github.com/verdaccio/verdaccio/wiki/Repositories). \ No newline at end of file +To see the complete list of repositories, [click here](https://github.com/verdaccio/verdaccio/wiki/Repositories). + diff --git a/website/translated_docs/ja/reverse-proxy.md b/website/translated_docs/ja/reverse-proxy.md index 769d34e4eb64..f302852d1604 100644 --- a/website/translated_docs/ja/reverse-proxy.md +++ b/website/translated_docs/ja/reverse-proxy.md @@ -11,141 +11,145 @@ Apache and `mod_proxy` should **not decode/encode slashes** and leave them as th For installing at relative path, `/npm`, on the server - - AllowEncodedSlashes NoDecode - ProxyPass /npm http://127.0.0.1:4873 nocanon - ProxyPassReverse /npm http://127.0.0.1:4873 - - +```` + + AllowEncodedSlashes NoDecode + ProxyPass /npm http://127.0.0.1:4873 nocanon + ProxyPassReverse /npm http://127.0.0.1:4873 + +```` For installing at root path, `/`, on the server - - - ServerName your.domain.com - ServerAdmin hello@your.domain.com - ProxyPreserveHost On - AllowEncodedSlashes NoDecode - ProxyPass / http://127.0.0.1:4873/ nocanon - ProxyPassReverse / http://127.0.0.1:4873/ - - +```` + + ServerName your.domain.com + ServerAdmin hello@your.domain.com + ProxyPreserveHost On + AllowEncodedSlashes NoDecode + ProxyPass / http://127.0.0.1:4873/ nocanon + ProxyPassReverse / http://127.0.0.1:4873/ + +```` ### Configuration with SSL Apache virtual server configuration - apacheconfig - - - ServerName npm.your.domain.com - SSLEngine on - SSLCertificateFile /etc/letsencrypt/live/npm.your.domain.com/fullchain.pem - SSLCertificateKeyFile /etc/letsencrypt/live/npm.your.domain.com/privkey.pem - SSLProxyEngine On - ProxyRequests Off - ProxyPreserveHost On - AllowEncodedSlashes NoDecode - ProxyPass / http://127.0.0.1:4873/ nocanon - ProxyPassReverse / http://127.0.0.1:4873/ - RequestHeader set X-Forwarded-Proto "https" - - - +```` + apacheconfig + + + ServerName npm.your.domain.com + SSLEngine on + SSLCertificateFile /etc/letsencrypt/live/npm.your.domain.com/fullchain.pem + SSLCertificateKeyFile /etc/letsencrypt/live/npm.your.domain.com/privkey.pem + SSLProxyEngine On + ProxyRequests Off + ProxyPreserveHost On + AllowEncodedSlashes NoDecode + ProxyPass / http://127.0.0.1:4873/ nocanon + ProxyPassReverse / http://127.0.0.1:4873/ + RequestHeader set X-Forwarded-Proto "https" + + +```` # Nginx The following snippet is a full `docker` example can be tested in our [Docker examples repository](https://github.com/verdaccio/verdaccio/tree/5.x/docker-examples/reverse_proxy/nginx). - upstream verdaccio_v4 { - server verdaccio_relative_path_v4:4873; - keepalive 8; - } - - upstream verdaccio_v4_root { - server verdaccio_relative_path_v4_root:8000; - keepalive 8; +```` +upstream verdaccio_v4 { + server verdaccio_relative_path_v4:4873; + keepalive 8; +} + +upstream verdaccio_v4_root { + server verdaccio_relative_path_v4_root:8000; + keepalive 8; +} + +upstream verdaccio_v3 { + server verdaccio_relative_path_latest_v3:7771; + keepalive 8; +} + +server { + listen 80 default_server; + access_log /var/log/nginx/verdaccio.log; + charset utf-8; + + location / { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4_root; + proxy_redirect off; } - - upstream verdaccio_v3 { - server verdaccio_relative_path_latest_v3:7771; - keepalive 8; + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4/$1; + proxy_redirect off; } - - server { - listen 80 default_server; - access_log /var/log/nginx/verdaccio.log; - charset utf-8; - - location / { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4_root; - proxy_redirect off; - } - - location ~ ^/verdaccio/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4/$1; - proxy_redirect off; - } - - location ~ ^/verdacciov3/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - - proxy_pass http://verdaccio_v3/$1; - proxy_redirect off; - } + + location ~ ^/verdacciov3/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + + proxy_pass http://verdaccio_v3/$1; + proxy_redirect off; } - +} +```` ## SSL example - server { - listen 80; - return 302 https://$host$request_uri; +```` +server { + listen 80; + return 302 https://$host$request_uri; +} + +server { + listen 443 ssl http2; + server_name localhost; + + ssl_certificate /etc/nginx/cert.crt; + ssl_certificate_key /etc/nginx/cert.key; + + ssl on; + ssl_session_cache builtin:1000 shared:SSL:10m; + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; + ssl_prefer_server_ciphers on; + + location / { + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_pass http://verdaccio_v4_root; + proxy_read_timeout 600; + proxy_redirect off; } - - server { - listen 443 ssl http2; - server_name localhost; - - ssl_certificate /etc/nginx/cert.crt; - ssl_certificate_key /etc/nginx/cert.key; - - ssl on; - ssl_session_cache builtin:1000 shared:SSL:10m; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; - ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; - ssl_prefer_server_ciphers on; - - location / { - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_pass http://verdaccio_v4_root; - proxy_read_timeout 600; - proxy_redirect off; - } - - location ~ ^/verdaccio/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4_root/$1; - proxy_redirect off; - } + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4_root/$1; + proxy_redirect off; } - +} +```` ## Run behind reverse proxy with different domain and port @@ -171,10 +175,9 @@ location / { proxy_set_header X-Forwarded-Proto $scheme; } ``` - For this case, `url_prefix` should **NOT** set in Verdaccio config -* * * +--- or a sub-directory installation: @@ -186,7 +189,6 @@ location ~ ^/verdaccio/(.*)$ { proxy_set_header X-Forwarded-Proto $scheme; } ``` - For this case, `url_prefix` should set to `/verdaccio/` -> Note: There is a slash after the install path (`https://your-domain:port/verdaccio/`)! \ No newline at end of file +> Note: There is a slash after the install path (`https://your-domain:port/verdaccio/`)! diff --git a/website/translated_docs/ja/server.md b/website/translated_docs/ja/server.md index 7473ea12d00c..51498ca32c44 100644 --- a/website/translated_docs/ja/server.md +++ b/website/translated_docs/ja/server.md @@ -31,7 +31,6 @@ The `cd` command sends you to the home directory of the Verdaccio user. Make sur ## Listening on all addresses If you want to listen to every external address set the listen directive in the config to: - ```yaml # you can specify listen address (or simply a port) listen: 0.0.0.0:4873 @@ -71,8 +70,9 @@ $ crontab -e This might ask you to choose an editor. Pick your favorite and proceed. Add the following entry to the file: - @reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio - +``` +@reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio +``` The locations may vary depending on your server setup. If you want to know where your files are you can use the 'which' command: @@ -84,9 +84,7 @@ $ which verdaccio ## Using systemd Instead of `forever` you can use `systemd` for starting Verdaccio and keeping it running. Verdaccio installation has systemd unit, you only need to copy it: - ```bash $ sudo cp /usr/lib/node_modules/verdaccio/systemd/verdaccio.service /lib/systemd/system/ && sudo systemctl daemon-reload ``` - -This unit assumes you have configuration in `/etc/verdaccio/config.yaml` and store data in `/var/lib/verdaccio`, so either move your files to those locations or edit the unit. \ No newline at end of file +This unit assumes you have configuration in `/etc/verdaccio/config.yaml` and store data in `/var/lib/verdaccio`, so either move your files to those locations or edit the unit. diff --git a/website/translated_docs/ja/windows.md b/website/translated_docs/ja/windows.md index eeb0b4e96470..753bd9db917e 100644 --- a/website/translated_docs/ja/windows.md +++ b/website/translated_docs/ja/windows.md @@ -5,10 +5,10 @@ title: "Installing As a Windows Service" Loosely based upon the instructions found [here](http://asysadmin.tumblr.com/post/32941224574/running-nginx-on-windows-as-a-service). I crafted the following and it provided me with a fully working verdaccio service installation: -1. Create a directory for verdaccio +1. Create a directory for verdaccio * mkdir `c:\verdaccio` * cd `c:\verdaccio` -2. Install verdaccio locally (I ran into npm issues with global installs) +2. Install verdaccio locally (I ran into npm issues with global installs) * npm install verdaccio 3. Create your `config.yaml` file in this location `(c:\verdaccio\config.yaml)` 4. Windows Service Setup @@ -24,29 +24,29 @@ ALTERNATIVE METHOD: (WinSW package was missing when I tried to download it) * Open an administrative command * Run nssm install verdaccio At a minimum you must fill in the Application tab Path, Startup directory and Arguments fields. Assuming an install with node in the system path and a location of c:\verdaccio the below values will work: - * Path: `node` * Startup directory: `c:\verdaccio` * Arguments: `c:\verdaccio\node_modules\verdaccio\build\lib\cli.js -c c:\verdaccio\config.yaml` - + You can adjust other service settings under other tabs as desired. When you are done, click Install service button - - * Start the service sc start verdaccio + + * Start the service sc start verdaccio ## Using WinSW * As of 2015-10-27, WinSW is no longer available at the below location. Please follow the Using NSSM instructions above. -* Download [WinSW](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/) +* Download [WinSW](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/) * Place the executable (e.g. `winsw-1.9-bin.exe`) into this folder (`c:\verdaccio`) and rename it to `verdaccio-winsw.exe` * Create a configuration file in `c:\verdaccio`, named `verdaccio-winsw.xml` with the following configuration `xml verdaccio verdaccio verdaccio node c:\verdaccio\node_modules\verdaccio\src\lib\cli.js -c c:\verdaccio\config.yaml roll c:\verdaccio`. -* Install your service +* Install your service * `cd c:\verdaccio` * `verdaccio-winsw.exe install` -* Start your service +* Start your service * `verdaccio-winsw.exe start` Some of the above config is more verbose than I had expected, it appears as though 'workingdirectory' is ignored, but other than that, this works for me and allows my verdaccio instance to persist between restarts of the server, and also restart itself should there be any crashes of the verdaccio process. + ## Repositories -* [verdaccio-deamon-windows](https://github.com/davidenke/verdaccio-deamon-windows) \ No newline at end of file +* [verdaccio-deamon-windows](https://github.com/davidenke/verdaccio-deamon-windows) diff --git a/website/translated_docs/ko/best-practices.md b/website/translated_docs/ko/best-practices.md index 3105367c820d..b6913de67c2d 100644 --- a/website/translated_docs/ko/best-practices.md +++ b/website/translated_docs/ko/best-practices.md @@ -46,34 +46,34 @@ If you want to use a modified version of some public package `foo`, you can just There's two options here: 1. You want to create a separate **fork** and stop synchronizing with public version. - - If you want to do that, you should modify your configuration file so Verdaccio won't make requests regarding this package to npmjs anymore. Add a separate entry for this package to `config.yaml` and remove `npmjs` from `proxy` list and restart the server. - - ```yaml - packages: + + If you want to do that, you should modify your configuration file so Verdaccio won't make requests regarding this package to npmjs anymore. Add a separate entry for this package to `config.yaml` and remove `npmjs` from `proxy` list and restart the server. + + ```yaml + packages: "@my-company/*": access: $all publish: $authenticated # comment it out or leave it empty # proxy: - ``` - - When you publish your package locally, **you should probably start with a version string higher than the existing package** so it won't conflict with that package in the cache. + ``` + + When you publish your package locally, **you should probably start with a version string higher than the existing package** so it won't conflict with that package in the cache. 2. You want to temporarily use your version, but return to the public one as soon as it's updated. - - In order to avoid version conflicts, **you should use a custom pre-release suffix of the next patch version**. For example, if a public package has version 0.1.2, you can upload `0.1.3-my-temp-fix`. - - ```bash + + In order to avoid version conflicts, **you should use a custom pre-release suffix of the next patch version**. For example, if a public package has version 0.1.2, you can upload `0.1.3-my-temp-fix`. + + ```bash npm version 0.1.3-my-temp-fix npm publish --tag fix --registry http://localhost:4873 - ``` - - This way your package will be used until its original maintainer updates his public package to `0.1.3`. + ``` + + This way your package will be used until its original maintainer updates his public package to `0.1.3`. ## Security -> Security starts in your environment. +> Security starts in your environment. Additonal reading: @@ -163,4 +163,4 @@ security: Using JWT also improves the performance with authentication plugins. The old system will perform an unpackage and validate the credentials on every request, while JWT will rely on the token signature instead, avoiding the overhead for the plugin. -As a side note, be aware at **npmjs** and the **legacy** verdaccio token never expires** unless you invalidate manually. \ No newline at end of file +As a side note, be aware at **npmjs** and the **legacy** verdaccio token never expires** unless you invalidate manually. diff --git a/website/translated_docs/ko/caching.md b/website/translated_docs/ko/caching.md index 60b7f65879e2..f662d67dfa25 100644 --- a/website/translated_docs/ko/caching.md +++ b/website/translated_docs/ko/caching.md @@ -7,11 +7,12 @@ Verdaccio caches all packages by default into the `/storage` folder. But you can ## Caching scenarios -* Build a Node.js project on **Continous Integration** (Bamboo, GitLab, Jenkins, etc) servers is a task that might take several times at a day, thus, the server will download tons of tarballs from the registry every time takes place. As usual, the CI tools clear the cache after each build and the process start over and over again. That is a waste of bandwidth and reduces the external traffic. **You can use Verdaccio for caching tarballs and metadata in our internal network and give a boost in your build time.** +* Build a Node.js project on **Continous Integration** (Bamboo, GitLab, Jenkins, etc) servers is a task that might take several times at a day, thus, the server will download tons of tarballs from the registry every time takes place. As usual, the CI tools clear the cache after each build and the process start over and over again. That is a waste of bandwidth and reduces the external traffic. **You can use Verdaccio for caching tarballs and metadata in our internal network and give a boost in your build time.** * **Latency and Connectivity**, not all countries enjoy a high-speed connection. For such reason cache packages locally in your network is really handy. Either if you are traveling, or have a weak connection, roaming or countries with strong Firewalls that might affect the user experience (eg: corrupting tarballs). * **Offline Mode**, all Node Package Managers nowadays uses their own internal cache, but it common that different projects might use different tools, which implies lock files and so on. Those tools are unable to share cache, the unique solution is centralized and relies on a proxy registry, Verdaccio cache all metadata and tarballs are downloaded by demand being able to share them across all your project. * Avoid that any remote registry suddenly returns *HTTP 404* error for tarballs were previously available a.k.a ([left-pad issue](https://www.theregister.co.uk/2016/03/23/npm_left_pad_chaos/)). + # Strategies for faster builds > We are looking for more strategies, feel free to share your experience in this field @@ -20,15 +21,16 @@ Verdaccio caches all packages by default into the `/storage` folder. But you can If you have a limited storage space, you might need to avoid cache tarballs, enabling `cache` false in each uplink will cache only metadata files. - uplinks: - npmjs: - url: https://registry.npmjs.org/ - cache: false - +``` +uplinks: + npmjs: + url: https://registry.npmjs.org/ + cache: false +``` ## Extending Cache Expiration Time -Verdaccio by default waits 2 minutes to invalidate the cache metadata before fetching new information from the remote registry. + Verdaccio by default waits 2 minutes to invalidate the cache metadata before fetching new information from the remote registry. ```yaml uplinks: @@ -39,6 +41,7 @@ uplinks: Increasing the value of `maxage` in each `uplink` remotes will be asked less frequently. This might be a valid strategy if you don't update dependencies so often. + ## Using the memory instead the hardrive Sometimes caching packages is not a critical step, rather than route packages from different registries and achieving faster build times. There are two plugins that avoid write in a physical hard drive at all using the memory. @@ -62,4 +65,4 @@ store: limit: 1000 ``` -Remember, once the server is restarted the data is being lost, we recommend this setup in cases where you do not need to persist at all. \ No newline at end of file +Remember, once the server is restarted the data is being lost, we recommend this setup in cases where you do not need to persist at all. diff --git a/website/translated_docs/ko/install.md b/website/translated_docs/ko/install.md index 46b35f61a3bc..3f897208d7f3 100644 --- a/website/translated_docs/ko/install.md +++ b/website/translated_docs/ko/install.md @@ -13,7 +13,7 @@ Verdaccio is a multiplatform web application. To install it, you need a few basi > We highly recommend to use the latest versions of Node Package Manager clients `> npm@6.x | yarn@1.x | | yarn@2.x | pnpm@6.x`. Don't support `npm@5.x` or older. -1. A modern web browser to run the web interface. We actually support `Chrome, Firefox, Edge`. +3. A modern web browser to run the web interface. We actually support `Chrome, Firefox, Edge`. > Verdaccio will support latest Node.js version according the [Node.js Release Working Group](https://github.com/nodejs/Release) recomendations. @@ -21,7 +21,7 @@ Are you still using **Verdaccio 4**?. Check the [migration guide](https://verdac ### Quick Introduction -Learn the basics before getting started, how to install, where is the location of the configuration file and more. +Learn the basics before getting started, how to install, where is the location of the configuration file and more. ## Installing the CLI @@ -92,7 +92,7 @@ Or a `publishConfig` in your `package.json` ## Create Your Own Private NPM Package Tutorial -If you'd like a broader explanation, don't miss the tutorial created by [thedevlife](https://mybiolink.co/thedevlife) on how to Create Your Own Private NPM Package using Verdaccio. +If you'd like a broader explanation, don't miss the tutorial created by [thedevlife](https://mybiolink.co/thedevlife) on how to Create Your Own Private NPM Package using Verdaccio. ## Docker Image @@ -106,4 +106,4 @@ docker run -it --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio `Verdaccio` is also available as a 1-click install on [Cloudron](https://cloudron.io) -[![Install](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=org.eggertsson.verdaccio) \ No newline at end of file +[![Install](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=org.eggertsson.verdaccio) diff --git a/website/translated_docs/ko/kubernetes.md b/website/translated_docs/ko/kubernetes.md index 4d41ab7fc2ab..23827d330596 100644 --- a/website/translated_docs/ko/kubernetes.md +++ b/website/translated_docs/ko/kubernetes.md @@ -23,8 +23,9 @@ Deploy the Helm [verdaccio/verdaccio](https://github.com/verdaccio/charts) chart ### Add repository - helm repo add verdaccio https://charts.verdaccio.org - +``` +helm repo add verdaccio https://charts.verdaccio.org +``` In this example we use `npm` as release name: @@ -52,6 +53,7 @@ helm uninstall npm **Note:** this command delete all the resources, including packages that you may have previously published to the registry. + ### Custom Verdaccio configuration You can customize the Verdaccio configuration using a Kubernetes *configMap*. @@ -92,7 +94,6 @@ helm install npm --set customConfigMap=verdaccio-config verdaccio/verdaccio #### NGINX proxy body-size limit The standard k8s NGINX ingress proxy allows for 1MB for body-size which can be increased by modifying the default deployment options according to the [documentation](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#custom-max-body-size): - ```yaml ... @@ -100,8 +101,7 @@ annotations: ... kubernetes.io/proxy-body-size: 20m -.... -... +.... ``` @@ -109,4 +109,4 @@ annotations: [Rancher](http://rancher.com/) is a complete container management platform that makes managing and using containers in production really easy. -* [verdaccio-rancher](https://github.com/lgaticaq/verdaccio-rancher) \ No newline at end of file +* [verdaccio-rancher](https://github.com/lgaticaq/verdaccio-rancher) diff --git a/website/translated_docs/ko/linking.md b/website/translated_docs/ko/linking.md index 20936fac8e9d..76f693de99c3 100644 --- a/website/translated_docs/ko/linking.md +++ b/website/translated_docs/ko/linking.md @@ -17,10 +17,11 @@ You can link multiple registries, the following document will drive you through The unique way to access multiple registries using the `.npmrc` is the scope feature as follows: - // .npmrc - registry=https://registry.npmjs.org - @mycompany:registry=http://localhost:4873 - +``` +// .npmrc +registry=https://registry.npmjs.org +@mycompany:registry=http://localhost:4873 +``` This approach is valid, but comes with several disadvantages: @@ -75,7 +76,8 @@ Verdaccio supports multiple registries on the `proxy` field. The request will be Having a full Offline Registry is completely possible. If you don't want any connectivity with external remotes you can do the following. ```yaml -
auth: + +auth: htpasswd: file: ./htpasswd uplinks: @@ -91,4 +93,4 @@ packages: publish: $authenticated ``` -Remove all `proxy` fields within each section of `packages`. The registry will become full offline. \ No newline at end of file +Remove all `proxy` fields within each section of `packages`. The registry will become full offline. diff --git a/website/translated_docs/ko/logger.md b/website/translated_docs/ko/logger.md index 3c340f60097c..95cb263fbc16 100644 --- a/website/translated_docs/ko/logger.md +++ b/website/translated_docs/ko/logger.md @@ -28,4 +28,4 @@ Use `SIGUSR2` to notify the application, the log-file was rotated and it needs t | type | string | No | [stdout, file] | all | define the output | | path | string | No | verdaccio.log | all | if type is file, define the location of that file | | format | string | No | [pretty, pretty-timestamped] | all | output format | -| level | string | No | [fatal, error, warn, http, info, debug, trace] | all | verbose level | \ No newline at end of file +| level | string | No | [fatal, error, warn, http, info, debug, trace] | all | verbose level | diff --git a/website/translated_docs/ko/logo.md b/website/translated_docs/ko/logo.md index d93ae00a848c..b2e1d23c74eb 100644 --- a/website/translated_docs/ko/logo.md +++ b/website/translated_docs/ko/logo.md @@ -11,7 +11,7 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ## Symbols -**With text** +__With text__ ![symbol tiny with text](assets/logo/symbol/png/logo-small-header-bottom.png) @@ -19,11 +19,11 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ![symbol big with text](assets/logo/symbol/png/logo-small-header-bottom@3x.png) -**SVG** +__SVG__ ![symbol svg](assets/logo/symbol/svg/logo-small-header-bottom.svg) -**No text** +__No text__ ![symbol tiny](assets/logo/symbol/png/verdaccio-tiny.png) @@ -31,10 +31,12 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ![symbol big](assets/logo/symbol/png/verdaccio-tiny@3x.png) -**SVG** +__SVG__ ![svg format symbol no text](assets/logo/symbol/svg/verdaccio-tiny.svg) + + ### Black&White ![symbol bw small](assets/logo/symbol/png/verdaccio-blackwhite.png) @@ -43,14 +45,17 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ![symbol bw big](assets/logo/symbol/png/verdaccio-blackwhite@3x.png) -**SVG** +__SVG__ ![symbol bw svg](assets/logo/symbol/svg/verdaccio-blackwhite.svg) + ## Banner ![banner small](assets/logo/banner/png/verdaccio-banner.png) ![banner medium](assets/logo/banner/png/verdaccio-banner@2x.png) -![banner big](assets/logo/banner/png/verdaccio-banner@3x.png) \ No newline at end of file +![banner big](assets/logo/banner/png/verdaccio-banner@3x.png) + + diff --git a/website/translated_docs/ko/node-api.md b/website/translated_docs/ko/node-api.md index b1a27cbb0eed..f6840716b5e9 100644 --- a/website/translated_docs/ko/node-api.md +++ b/website/translated_docs/ko/node-api.md @@ -39,4 +39,4 @@ verdaccioServer.serviceUninstall(); verdaccioServer.serviceStart(); verdaccioServer.serviceStop(); verdaccioServer.serviceRestart(); -``` \ No newline at end of file +``` diff --git a/website/translated_docs/ko/notifications.md b/website/translated_docs/ko/notifications.md index 20570a4ed070..fee83f69722e 100644 --- a/website/translated_docs/ko/notifications.md +++ b/website/translated_docs/ko/notifications.md @@ -48,12 +48,13 @@ We use [Handlebars](https://handlebarsjs.com/) as main template engine. ### Format Examples - # iterate all versions - {{ name }}{{#each versions}} v{{version}}{{/each}} - - # publisher and `dist-tag` package published - {{ publisher.name }} has published {{ publishedPackage }} - +``` +# iterate all versions +{{ name }}{{#each versions}} v{{version}}{{/each}} + +# publisher and `dist-tag` package published +{{ publisher.name }} has published {{ publishedPackage }} +``` ### Properties @@ -67,54 +68,56 @@ List of properties accesible via template Package metadata that the template has access - { - "_id": "@test/pkg1", - "name": "@test/pkg1", - "description": "", - "dist-tags": { - "beta": "1.0.54" - }, - "versions": { - "1.0.54": { - "name": "@test/pkg1", - "version": "1.0.54", - "description": "some description", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": { - "name": "Author Name", - "email": "author@domain.com" - }, - "license": "MIT", - "dependencies": { - "webpack": "4.12.0" - }, - "readmeFilename": "README.md", - "_id": "@ test/pkg1@1.0.54", - "_npmVersion": "6.1.0", - "_nodeVersion": "9.9.0", - "_npmUser": {}, - "dist": { - "integrity": "sha512-JlXWpLtMUBAqvVZBvH7UVLhXkGE1ctmXbDjbH/l0zMuG7wVzQ7GshTYvD/b5C+G2vOL2oiIS1RtayA/kKkTwKw==", - "shasum": "29c55c52c1e76e966e706165e5b9f22e32aa9f22", - "tarball": "http://localhost:4873/@test/pkg1/-/@test/pkg1-1.0.54.tgz" - } - } - }, - "readme": "# test", - "_attachments": { - "@test/pkg1-1.0.54.tgz": { - "content_type": "application/octet-stream", - "data": "H4sIAAAAAAAAE+y9Z5PjyJIgOJ ...", - "length": 33112 +``` +{ + "_id": "@test/pkg1", + "name": "@test/pkg1", + "description": "", + "dist-tags": { + "beta": "1.0.54" + }, + "versions": { + "1.0.54": { + "name": "@test/pkg1", + "version": "1.0.54", + "description": "some description", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": { + "name": "Author Name", + "email": "author@domain.com" + }, + "license": "MIT", + "dependencies": { + "webpack": "4.12.0" + }, + "readmeFilename": "README.md", + "_id": "@ test/pkg1@1.0.54", + "_npmVersion": "6.1.0", + "_nodeVersion": "9.9.0", + "_npmUser": {}, + "dist": { + "integrity": "sha512-JlXWpLtMUBAqvVZBvH7UVLhXkGE1ctmXbDjbH/l0zMuG7wVzQ7GshTYvD/b5C+G2vOL2oiIS1RtayA/kKkTwKw==", + "shasum": "29c55c52c1e76e966e706165e5b9f22e32aa9f22", + "tarball": "http://localhost:4873/@test/pkg1/-/@test/pkg1-1.0.54.tgz" } - }, - "time": {} - } - + } + }, + "readme": "# test", + "_attachments": { + "@test/pkg1-1.0.54.tgz": { + "content_type": "application/octet-stream", + "data": "H4sIAAAAAAAAE+y9Z5PjyJIgOJ ...", + "length": 33112 + } + }, + "time": {} +} +``` + ### Publisher @@ -122,21 +125,23 @@ You can get access to the package publisher information in the `content` of a we See below the `publisher` object type: - { - name: string, - groups: string[], - real_groups: string[] - } - +``` +{ + name: string, + groups: string[], + real_groups: string[] +} +``` An example: - notify: - method: POST - headers: [{'Content-Type': 'application/json'}] - endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken - content: '{"color":"green","message":"New package published: * {{ name }}*. Publisher name: * {{ publisher.name }} *.","notify":true,"message_format":"text"}' - +``` +notify: + method: POST + headers: [{'Content-Type': 'application/json'}] + endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken + content: '{"color":"green","message":"New package published: * {{ name }}*. Publisher name: * {{ publisher.name }} *.","notify":true,"message_format":"text"}' +``` **Note:** it's not possible to get the publisher information if the `package.json` file already has the `publisher` property. @@ -144,8 +149,9 @@ An example: You can access to the package is being published with the keyword `{{publishedPackage}}` as follows. - {{ publisher.name }} has published {{ publishedPackage }} - +``` +{{ publisher.name }} has published {{ publishedPackage }} +``` ## Configuration @@ -156,4 +162,4 @@ You can access to the package is being published with the keyword `{{publishedPa | packagePatternFlags | string | No | all | | Any flags to be used with the regular expression | | headers | array/object | Yes | all | | If this endpoint requires specific headers, set them here as an array of key: value objects. | | endpoint | string | Yes | all | | set the URL endpoint for this call | -| content | string | Yes | all | | any [Handlebar](https://handlebarsjs.com/) expressions | \ No newline at end of file +| content | string | Yes | all | | any [Handlebar](https://handlebarsjs.com/) expressions | diff --git a/website/translated_docs/ko/packages.md b/website/translated_docs/ko/packages.md index 36ae824dfbed..4dbc59b19d1a 100644 --- a/website/translated_docs/ko/packages.md +++ b/website/translated_docs/ko/packages.md @@ -155,7 +155,7 @@ You may assign multiple uplinks for use as a proxy to use in the case of failove #### Unpublishing Packages -The property `publish` handle permissions for `npm publish` and `npm unpublish`. But, if you want to be more specific, you can use the property `unpublish` in your package access section, for instance: +The property `publish` handle permissions for `npm publish` and `npm unpublish`. But, if you want to be more specific, you can use the property `unpublish` in your package access section, for instance: ```yalm packages: @@ -183,6 +183,7 @@ In the previous example, the behaviour would be described: * only authenticated users can publish `my-company-*` packages, but **nobody would be allowed to unpublish them**. * If `unpublish` is commented out, the access will be granted or denied by the `publish` definition. + ### Configuration You can define mutiple `packages` and each of them must have an unique `Regex`. The syntax is based on [minimatch glob expressions](https://github.com/isaacs/minimatch). @@ -196,4 +197,4 @@ You can define mutiple `packages` and each of them must have an unique `Regex`. > We higlight that we recommend to not use **allow_access**/**allow_publish** and **proxy_access** anymore, those are deprecated and will soon be removed, please use the short version of each of those (**access**/**publish**/**proxy**). -If you want more information about how to use the **storage** property, please refer to this [comment](https://github.com/verdaccio/verdaccio/issues/1383#issuecomment-509933674). \ No newline at end of file +If you want more information about how to use the **storage** property, please refer to this [comment](https://github.com/verdaccio/verdaccio/issues/1383#issuecomment-509933674). diff --git a/website/translated_docs/ko/plugins.md b/website/translated_docs/ko/plugins.md index bafd210ab885..4353f4cf98af 100644 --- a/website/translated_docs/ko/plugins.md +++ b/website/translated_docs/ko/plugins.md @@ -24,8 +24,9 @@ $> npm install --global verdaccio-activedirectory `verdaccio` as a sinopia fork it has backward compability with plugins that are compatible with `sinopia@1.4.0`. In such case the installation is the same. - $> npm install --global sinopia-memory - +``` +$> npm install --global sinopia-memory +``` ### Configuration @@ -33,6 +34,7 @@ Open the `config.yaml` file and update the `auth` section as follows: The default configuration looks like this, due we use a build-in `htpasswd` plugin by default that you can disable just commenting out the following lines. + ### Authentication Configuration ```yaml @@ -93,12 +95,14 @@ store: Verdaccio allows to replace the User Interface with a custom one, we call it **theme**. By default, uses `@verdaccio/ui-theme` that comes built-in, but, you can use something different installing your own plugin. ```bash -
$> npm install --global verdaccio-theme-dark + +$> npm install --global verdaccio-theme-dark ``` > The plugin name prefix must start with `verdaccio-theme`, otherwise the plugin won't load. + You can load only one theme at a time and pass through options if you need it. ```yaml @@ -132,4 +136,5 @@ theme: * [sinopia-ldap](https://www.npmjs.com/package/sinopia-ldap): LDAP auth plugin for sinopia. * [sinopia-github-oauth-env](https://www.npmjs.com/package/sinopia-github-oauth-env) Sinopia authentication plugin with github oauth web flow. -> All sinopia plugins should be compatible with all future verdaccio versions. Anyhow, we encourage contributors to migrate them to the modern verdaccio API and using the prefix as *verdaccio-xx-name*. \ No newline at end of file +> All sinopia plugins should be compatible with all future verdaccio versions. Anyhow, we encourage contributors to migrate them to the modern verdaccio API and using the prefix as *verdaccio-xx-name*. + diff --git a/website/translated_docs/ko/protect-your-dependencies.md b/website/translated_docs/ko/protect-your-dependencies.md index 6e54fa2bbde3..9986efe2fe59 100644 --- a/website/translated_docs/ko/protect-your-dependencies.md +++ b/website/translated_docs/ko/protect-your-dependencies.md @@ -31,7 +31,8 @@ I won't have access to such dependencies and they also won't be visible via the ```bash ➜ npm install my-company-core npm ERR! code E403 -npm ERR! 403 Forbidden: webpack-1@latest +npm ERR! code E403 +npm ERR! ``` or with `yarn`: @@ -40,6 +41,6 @@ or with `yarn`: ➜ yarn add my-company-core yarn add v0.24.6 info No lockfile found. -[1/4] +[1/4] 🔍 Resolving packages... error An unexpected error occurred: "http://localhost:5555/webpack-1: unregistered users are not allowed to access package my-company-core". -``` \ No newline at end of file +``` diff --git a/website/translated_docs/ko/puppet.md b/website/translated_docs/ko/puppet.md index a9cc94557481..390eef309750 100644 --- a/website/translated_docs/ko/puppet.md +++ b/website/translated_docs/ko/puppet.md @@ -16,6 +16,10 @@ In both variants you have to explicitely call "class nodejs {}" in your puppet s For further information: - +[https://github.com/verdaccio/puppet-verdaccio](https://github.com/verdaccio/puppet-verdaccio) + +> We are looking for active contributors for this integration, if you are interested [refers to this ticket](https://github.com/verdaccio/puppet-verdaccio/issues/11). + + + -> We are looking for active contributors for this integration, if you are interested [refers to this ticket](https://github.com/verdaccio/puppet-verdaccio/issues/11). \ No newline at end of file diff --git a/website/translated_docs/ko/repositories.md b/website/translated_docs/ko/repositories.md index 4ba7a912a758..4f577d328fcb 100644 --- a/website/translated_docs/ko/repositories.md +++ b/website/translated_docs/ko/repositories.md @@ -5,4 +5,5 @@ title: 소스코드 `verdaccio` is composed or multiple repositories you might contribute. Look into the **issues** tab whether there is a ticket waiting for you 🤠. -To see the complete list of repositories, [click here](https://github.com/verdaccio/verdaccio/wiki/Repositories). \ No newline at end of file +To see the complete list of repositories, [click here](https://github.com/verdaccio/verdaccio/wiki/Repositories). + diff --git a/website/translated_docs/ko/reverse-proxy.md b/website/translated_docs/ko/reverse-proxy.md index 275775e3d5ab..7ec5a3cb5169 100644 --- a/website/translated_docs/ko/reverse-proxy.md +++ b/website/translated_docs/ko/reverse-proxy.md @@ -11,141 +11,145 @@ Apache and `mod_proxy` should **not decode/encode slashes** and leave them as th For installing at relative path, `/npm`, on the server - - AllowEncodedSlashes NoDecode - ProxyPass /npm http://127.0.0.1:4873 nocanon - ProxyPassReverse /npm http://127.0.0.1:4873 - - +```` + + AllowEncodedSlashes NoDecode + ProxyPass /npm http://127.0.0.1:4873 nocanon + ProxyPassReverse /npm http://127.0.0.1:4873 + +```` For installing at root path, `/`, on the server - - - ServerName your.domain.com - ServerAdmin hello@your.domain.com - ProxyPreserveHost On - AllowEncodedSlashes NoDecode - ProxyPass / http://127.0.0.1:4873/ nocanon - ProxyPassReverse / http://127.0.0.1:4873/ - - +```` + + ServerName your.domain.com + ServerAdmin hello@your.domain.com + ProxyPreserveHost On + AllowEncodedSlashes NoDecode + ProxyPass / http://127.0.0.1:4873/ nocanon + ProxyPassReverse / http://127.0.0.1:4873/ + +```` ### Configuration with SSL Apache virtual server configuration - apacheconfig - - - ServerName npm.your.domain.com - SSLEngine on - SSLCertificateFile /etc/letsencrypt/live/npm.your.domain.com/fullchain.pem - SSLCertificateKeyFile /etc/letsencrypt/live/npm.your.domain.com/privkey.pem - SSLProxyEngine On - ProxyRequests Off - ProxyPreserveHost On - AllowEncodedSlashes NoDecode - ProxyPass / http://127.0.0.1:4873/ nocanon - ProxyPassReverse / http://127.0.0.1:4873/ - RequestHeader set X-Forwarded-Proto "https" - - - +```` + apacheconfig + + + ServerName npm.your.domain.com + SSLEngine on + SSLCertificateFile /etc/letsencrypt/live/npm.your.domain.com/fullchain.pem + SSLCertificateKeyFile /etc/letsencrypt/live/npm.your.domain.com/privkey.pem + SSLProxyEngine On + ProxyRequests Off + ProxyPreserveHost On + AllowEncodedSlashes NoDecode + ProxyPass / http://127.0.0.1:4873/ nocanon + ProxyPassReverse / http://127.0.0.1:4873/ + RequestHeader set X-Forwarded-Proto "https" + + +```` # Nginx The following snippet is a full `docker` example can be tested in our [Docker examples repository](https://github.com/verdaccio/verdaccio/tree/5.x/docker-examples/reverse_proxy/nginx). - upstream verdaccio_v4 { - server verdaccio_relative_path_v4:4873; - keepalive 8; - } - - upstream verdaccio_v4_root { - server verdaccio_relative_path_v4_root:8000; - keepalive 8; +```` +upstream verdaccio_v4 { + server verdaccio_relative_path_v4:4873; + keepalive 8; +} + +upstream verdaccio_v4_root { + server verdaccio_relative_path_v4_root:8000; + keepalive 8; +} + +upstream verdaccio_v3 { + server verdaccio_relative_path_latest_v3:7771; + keepalive 8; +} + +server { + listen 80 default_server; + access_log /var/log/nginx/verdaccio.log; + charset utf-8; + + location / { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4_root; + proxy_redirect off; } - - upstream verdaccio_v3 { - server verdaccio_relative_path_latest_v3:7771; - keepalive 8; + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4/$1; + proxy_redirect off; } - - server { - listen 80 default_server; - access_log /var/log/nginx/verdaccio.log; - charset utf-8; - - location / { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4_root; - proxy_redirect off; - } - - location ~ ^/verdaccio/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4/$1; - proxy_redirect off; - } - - location ~ ^/verdacciov3/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - - proxy_pass http://verdaccio_v3/$1; - proxy_redirect off; - } + + location ~ ^/verdacciov3/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + + proxy_pass http://verdaccio_v3/$1; + proxy_redirect off; } - +} +```` ## SSL example - server { - listen 80; - return 302 https://$host$request_uri; +```` +server { + listen 80; + return 302 https://$host$request_uri; +} + +server { + listen 443 ssl http2; + server_name localhost; + + ssl_certificate /etc/nginx/cert.crt; + ssl_certificate_key /etc/nginx/cert.key; + + ssl on; + ssl_session_cache builtin:1000 shared:SSL:10m; + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; + ssl_prefer_server_ciphers on; + + location / { + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_pass http://verdaccio_v4_root; + proxy_read_timeout 600; + proxy_redirect off; } - - server { - listen 443 ssl http2; - server_name localhost; - - ssl_certificate /etc/nginx/cert.crt; - ssl_certificate_key /etc/nginx/cert.key; - - ssl on; - ssl_session_cache builtin:1000 shared:SSL:10m; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; - ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; - ssl_prefer_server_ciphers on; - - location / { - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_pass http://verdaccio_v4_root; - proxy_read_timeout 600; - proxy_redirect off; - } - - location ~ ^/verdaccio/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4_root/$1; - proxy_redirect off; - } + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4_root/$1; + proxy_redirect off; } - +} +```` ## Run behind reverse proxy with different domain and port @@ -171,10 +175,9 @@ location / { proxy_set_header X-Forwarded-Proto $scheme; } ``` - For this case, `url_prefix` should **NOT** set in Verdaccio config -* * * +--- or a sub-directory installation: @@ -186,7 +189,6 @@ location ~ ^/verdaccio/(.*)$ { proxy_set_header X-Forwarded-Proto $scheme; } ``` - For this case, `url_prefix` should set to `/verdaccio/` -> Note: There is a slash after the install path (`https://your-domain:port/verdaccio/`)! \ No newline at end of file +> Note: There is a slash after the install path (`https://your-domain:port/verdaccio/`)! diff --git a/website/translated_docs/ko/server.md b/website/translated_docs/ko/server.md index 30fe2aec5654..43683bdeed7e 100644 --- a/website/translated_docs/ko/server.md +++ b/website/translated_docs/ko/server.md @@ -31,7 +31,6 @@ The `cd` command sends you to the home directory of the Verdaccio user. Make sur ## Listening on all addresses If you want to listen to every external address set the listen directive in the config to: - ```yaml # you can specify listen address (or simply a port) listen: 0.0.0.0:4873 @@ -71,8 +70,9 @@ $ crontab -e This might ask you to choose an editor. Pick your favorite and proceed. Add the following entry to the file: - @reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio - +``` +@reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio +``` The locations may vary depending on your server setup. If you want to know where your files are you can use the 'which' command: @@ -84,9 +84,7 @@ $ which verdaccio ## Using systemd Instead of `forever` you can use `systemd` for starting Verdaccio and keeping it running. Verdaccio installation has systemd unit, you only need to copy it: - ```bash $ sudo cp /usr/lib/node_modules/verdaccio/systemd/verdaccio.service /lib/systemd/system/ && sudo systemctl daemon-reload ``` - -This unit assumes you have configuration in `/etc/verdaccio/config.yaml` and store data in `/var/lib/verdaccio`, so either move your files to those locations or edit the unit. \ No newline at end of file +This unit assumes you have configuration in `/etc/verdaccio/config.yaml` and store data in `/var/lib/verdaccio`, so either move your files to those locations or edit the unit. diff --git a/website/translated_docs/ko/windows.md b/website/translated_docs/ko/windows.md index 2ccdf27b368a..ff3d5e54669e 100644 --- a/website/translated_docs/ko/windows.md +++ b/website/translated_docs/ko/windows.md @@ -5,10 +5,10 @@ title: "윈도우에서 설치" Loosely based upon the instructions found [here](http://asysadmin.tumblr.com/post/32941224574/running-nginx-on-windows-as-a-service). I crafted the following and it provided me with a fully working verdaccio service installation: -1. Create a directory for verdaccio +1. Create a directory for verdaccio * mkdir `c:\verdaccio` * cd `c:\verdaccio` -2. Install verdaccio locally (I ran into npm issues with global installs) +2. Install verdaccio locally (I ran into npm issues with global installs) * npm install verdaccio 3. Create your `config.yaml` file in this location `(c:\verdaccio\config.yaml)` 4. Windows Service Setup @@ -24,29 +24,29 @@ ALTERNATIVE METHOD: (WinSW package was missing when I tried to download it) * Open an administrative command * Run nssm install verdaccio At a minimum you must fill in the Application tab Path, Startup directory and Arguments fields. Assuming an install with node in the system path and a location of c:\verdaccio the below values will work: - * Path: `node` * Startup directory: `c:\verdaccio` * Arguments: `c:\verdaccio\node_modules\verdaccio\build\lib\cli.js -c c:\verdaccio\config.yaml` - + You can adjust other service settings under other tabs as desired. When you are done, click Install service button - - * Start the service sc start verdaccio + + * Start the service sc start verdaccio ## Using WinSW * As of 2015-10-27, WinSW is no longer available at the below location. Please follow the Using NSSM instructions above. -* Download [WinSW](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/) +* Download [WinSW](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/) * Place the executable (e.g. `winsw-1.9-bin.exe`) into this folder (`c:\verdaccio`) and rename it to `verdaccio-winsw.exe` * Create a configuration file in `c:\verdaccio`, named `verdaccio-winsw.xml` with the following configuration `xml verdaccio verdaccio verdaccio node c:\verdaccio\node_modules\verdaccio\src\lib\cli.js -c c:\verdaccio\config.yaml roll c:\verdaccio`. -* Install your service +* Install your service * `cd c:\verdaccio` * `verdaccio-winsw.exe install` -* Start your service +* Start your service * `verdaccio-winsw.exe start` Some of the above config is more verbose than I had expected, it appears as though 'workingdirectory' is ignored, but other than that, this works for me and allows my verdaccio instance to persist between restarts of the server, and also restart itself should there be any crashes of the verdaccio process. + ## Repositories -* [verdaccio-deamon-windows](https://github.com/davidenke/verdaccio-deamon-windows) \ No newline at end of file +* [verdaccio-deamon-windows](https://github.com/davidenke/verdaccio-deamon-windows) diff --git a/website/translated_docs/pl-PL/caching.md b/website/translated_docs/pl-PL/caching.md index 60b7f65879e2..f662d67dfa25 100644 --- a/website/translated_docs/pl-PL/caching.md +++ b/website/translated_docs/pl-PL/caching.md @@ -7,11 +7,12 @@ Verdaccio caches all packages by default into the `/storage` folder. But you can ## Caching scenarios -* Build a Node.js project on **Continous Integration** (Bamboo, GitLab, Jenkins, etc) servers is a task that might take several times at a day, thus, the server will download tons of tarballs from the registry every time takes place. As usual, the CI tools clear the cache after each build and the process start over and over again. That is a waste of bandwidth and reduces the external traffic. **You can use Verdaccio for caching tarballs and metadata in our internal network and give a boost in your build time.** +* Build a Node.js project on **Continous Integration** (Bamboo, GitLab, Jenkins, etc) servers is a task that might take several times at a day, thus, the server will download tons of tarballs from the registry every time takes place. As usual, the CI tools clear the cache after each build and the process start over and over again. That is a waste of bandwidth and reduces the external traffic. **You can use Verdaccio for caching tarballs and metadata in our internal network and give a boost in your build time.** * **Latency and Connectivity**, not all countries enjoy a high-speed connection. For such reason cache packages locally in your network is really handy. Either if you are traveling, or have a weak connection, roaming or countries with strong Firewalls that might affect the user experience (eg: corrupting tarballs). * **Offline Mode**, all Node Package Managers nowadays uses their own internal cache, but it common that different projects might use different tools, which implies lock files and so on. Those tools are unable to share cache, the unique solution is centralized and relies on a proxy registry, Verdaccio cache all metadata and tarballs are downloaded by demand being able to share them across all your project. * Avoid that any remote registry suddenly returns *HTTP 404* error for tarballs were previously available a.k.a ([left-pad issue](https://www.theregister.co.uk/2016/03/23/npm_left_pad_chaos/)). + # Strategies for faster builds > We are looking for more strategies, feel free to share your experience in this field @@ -20,15 +21,16 @@ Verdaccio caches all packages by default into the `/storage` folder. But you can If you have a limited storage space, you might need to avoid cache tarballs, enabling `cache` false in each uplink will cache only metadata files. - uplinks: - npmjs: - url: https://registry.npmjs.org/ - cache: false - +``` +uplinks: + npmjs: + url: https://registry.npmjs.org/ + cache: false +``` ## Extending Cache Expiration Time -Verdaccio by default waits 2 minutes to invalidate the cache metadata before fetching new information from the remote registry. + Verdaccio by default waits 2 minutes to invalidate the cache metadata before fetching new information from the remote registry. ```yaml uplinks: @@ -39,6 +41,7 @@ uplinks: Increasing the value of `maxage` in each `uplink` remotes will be asked less frequently. This might be a valid strategy if you don't update dependencies so often. + ## Using the memory instead the hardrive Sometimes caching packages is not a critical step, rather than route packages from different registries and achieving faster build times. There are two plugins that avoid write in a physical hard drive at all using the memory. @@ -62,4 +65,4 @@ store: limit: 1000 ``` -Remember, once the server is restarted the data is being lost, we recommend this setup in cases where you do not need to persist at all. \ No newline at end of file +Remember, once the server is restarted the data is being lost, we recommend this setup in cases where you do not need to persist at all. diff --git a/website/translated_docs/pl-PL/install.md b/website/translated_docs/pl-PL/install.md index 57d9477f5706..3284acc21cee 100644 --- a/website/translated_docs/pl-PL/install.md +++ b/website/translated_docs/pl-PL/install.md @@ -13,7 +13,7 @@ Verdaccio is a multiplatform web application. To install it, you need a few basi > We highly recommend to use the latest versions of Node Package Manager clients `> npm@6.x | yarn@1.x | | yarn@2.x | pnpm@6.x`. Don't support `npm@5.x` or older. -1. A modern web browser to run the web interface. We actually support `Chrome, Firefox, Edge`. +3. A modern web browser to run the web interface. We actually support `Chrome, Firefox, Edge`. > Verdaccio will support latest Node.js version according the [Node.js Release Working Group](https://github.com/nodejs/Release) recomendations. @@ -21,7 +21,7 @@ Are you still using **Verdaccio 4**?. Check the [migration guide](https://verdac ### Quick Introduction -Learn the basics before getting started, how to install, where is the location of the configuration file and more. +Learn the basics before getting started, how to install, where is the location of the configuration file and more. ## Installing the CLI @@ -92,7 +92,7 @@ Or a `publishConfig` in your `package.json` ## Create Your Own Private NPM Package Tutorial -If you'd like a broader explanation, don't miss the tutorial created by [thedevlife](https://mybiolink.co/thedevlife) on how to Create Your Own Private NPM Package using Verdaccio. +If you'd like a broader explanation, don't miss the tutorial created by [thedevlife](https://mybiolink.co/thedevlife) on how to Create Your Own Private NPM Package using Verdaccio. ## Docker Image @@ -106,4 +106,4 @@ docker run -it --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio `Verdaccio` is also available as a 1-click install on [Cloudron](https://cloudron.io) -[![Install](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=org.eggertsson.verdaccio) \ No newline at end of file +[![Install](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=org.eggertsson.verdaccio) diff --git a/website/translated_docs/pl-PL/kubernetes.md b/website/translated_docs/pl-PL/kubernetes.md index cb6cd39a8cdd..76820c42ca21 100644 --- a/website/translated_docs/pl-PL/kubernetes.md +++ b/website/translated_docs/pl-PL/kubernetes.md @@ -23,8 +23,9 @@ Deploy the Helm [verdaccio/verdaccio](https://github.com/verdaccio/charts) chart ### Add repository - helm repo add verdaccio https://charts.verdaccio.org - +``` +helm repo add verdaccio https://charts.verdaccio.org +``` In this example we use `npm` as release name: @@ -52,6 +53,7 @@ helm uninstall npm **Note:** te polecenie usuwa wszystkie zasoby, w tym pakiety, które mógłbyś wcześniej opublikować w rejestrze. + ### Niestandardowa konfiguracja Verdaccio Możesz dostosować konfigurację Verdaccio za pomocą Kubernetes *configMap*. @@ -92,7 +94,6 @@ helm install npm --set customConfigMap=verdaccio-config verdaccio/verdaccio #### NGINX proxy body-size limit The standard k8s NGINX ingress proxy allows for 1MB for body-size which can be increased by modifying the default deployment options according to the [documentation](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#custom-max-body-size): - ```yaml ... @@ -100,8 +101,7 @@ annotations: ... kubernetes.io/proxy-body-size: 20m -.... -... +.... ``` @@ -109,4 +109,4 @@ annotations: [Rancher](http://rancher.com/) is a complete container management platform that makes managing and using containers in production really easy. -* [verdaccio-rancher](https://github.com/lgaticaq/verdaccio-rancher) \ No newline at end of file +* [verdaccio-rancher](https://github.com/lgaticaq/verdaccio-rancher) diff --git a/website/translated_docs/pl-PL/linking.md b/website/translated_docs/pl-PL/linking.md index 20936fac8e9d..76f693de99c3 100644 --- a/website/translated_docs/pl-PL/linking.md +++ b/website/translated_docs/pl-PL/linking.md @@ -17,10 +17,11 @@ You can link multiple registries, the following document will drive you through The unique way to access multiple registries using the `.npmrc` is the scope feature as follows: - // .npmrc - registry=https://registry.npmjs.org - @mycompany:registry=http://localhost:4873 - +``` +// .npmrc +registry=https://registry.npmjs.org +@mycompany:registry=http://localhost:4873 +``` This approach is valid, but comes with several disadvantages: @@ -75,7 +76,8 @@ Verdaccio supports multiple registries on the `proxy` field. The request will be Having a full Offline Registry is completely possible. If you don't want any connectivity with external remotes you can do the following. ```yaml -
auth: + +auth: htpasswd: file: ./htpasswd uplinks: @@ -91,4 +93,4 @@ packages: publish: $authenticated ``` -Remove all `proxy` fields within each section of `packages`. The registry will become full offline. \ No newline at end of file +Remove all `proxy` fields within each section of `packages`. The registry will become full offline. diff --git a/website/translated_docs/pl-PL/logger.md b/website/translated_docs/pl-PL/logger.md index 716e43a288fc..03c96c99964a 100644 --- a/website/translated_docs/pl-PL/logger.md +++ b/website/translated_docs/pl-PL/logger.md @@ -26,6 +26,6 @@ Use `SIGUSR2` to notify the application, the log-file was rotated and it needs t | Właściwość | Typ | Wymagane | Przykład | Wsparcie | Opis | | ---------- | ----------- | -------- | ---------------------------------------------- | --------- | ------------------------------------------------------- | | typ | ciąg znaków | Nie | [stdout, plik] | wszystkie | zdefiniuj wyjście | -| ścieżka | ciąg znaków | Nie | verdaccio.log | wszystko | jeśli typem jest plik, zdefiniuj lokalizację tego pliku | -| format | ciąg znaków | Nie | [pretty, pretty-timestamped] | wszystko | format wyjścia | -| poziom | ciąg znaków | Nie | [fatal, error, warn, http, info, debug, trace] | wszystko | verbose level | \ No newline at end of file +| ścieżka | ciąg znaków | Nie | verdaccio.log | wszystkie | jeśli typem jest plik, zdefiniuj lokalizację tego pliku | +| format | ciąg znaków | Nie | [pretty, pretty-timestamped] | wszystkie | format wyjścia | +| poziom | ciąg znaków | Nie | [fatal, error, warn, http, info, debug, trace] | wszystkie | verbose level | diff --git a/website/translated_docs/pl-PL/logo.md b/website/translated_docs/pl-PL/logo.md index d93ae00a848c..b2e1d23c74eb 100644 --- a/website/translated_docs/pl-PL/logo.md +++ b/website/translated_docs/pl-PL/logo.md @@ -11,7 +11,7 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ## Symbols -**With text** +__With text__ ![symbol tiny with text](assets/logo/symbol/png/logo-small-header-bottom.png) @@ -19,11 +19,11 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ![symbol big with text](assets/logo/symbol/png/logo-small-header-bottom@3x.png) -**SVG** +__SVG__ ![symbol svg](assets/logo/symbol/svg/logo-small-header-bottom.svg) -**No text** +__No text__ ![symbol tiny](assets/logo/symbol/png/verdaccio-tiny.png) @@ -31,10 +31,12 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ![symbol big](assets/logo/symbol/png/verdaccio-tiny@3x.png) -**SVG** +__SVG__ ![svg format symbol no text](assets/logo/symbol/svg/verdaccio-tiny.svg) + + ### Black&White ![symbol bw small](assets/logo/symbol/png/verdaccio-blackwhite.png) @@ -43,14 +45,17 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ![symbol bw big](assets/logo/symbol/png/verdaccio-blackwhite@3x.png) -**SVG** +__SVG__ ![symbol bw svg](assets/logo/symbol/svg/verdaccio-blackwhite.svg) + ## Banner ![banner small](assets/logo/banner/png/verdaccio-banner.png) ![banner medium](assets/logo/banner/png/verdaccio-banner@2x.png) -![banner big](assets/logo/banner/png/verdaccio-banner@3x.png) \ No newline at end of file +![banner big](assets/logo/banner/png/verdaccio-banner@3x.png) + + diff --git a/website/translated_docs/pl-PL/node-api.md b/website/translated_docs/pl-PL/node-api.md index 5b3dced0896c..e317d8d3e451 100644 --- a/website/translated_docs/pl-PL/node-api.md +++ b/website/translated_docs/pl-PL/node-api.md @@ -39,4 +39,4 @@ verdaccioServer.serviceUninstall(); verdaccioServer.serviceStart(); verdaccioServer.serviceStop(); verdaccioServer.serviceRestart(); -``` \ No newline at end of file +``` diff --git a/website/translated_docs/pl-PL/notifications.md b/website/translated_docs/pl-PL/notifications.md index aa82dd93fde1..37605c8441da 100644 --- a/website/translated_docs/pl-PL/notifications.md +++ b/website/translated_docs/pl-PL/notifications.md @@ -48,12 +48,13 @@ We use [Handlebars](https://handlebarsjs.com/) as main template engine. ### Format Examples - # iterate all versions - {{ name }}{{#each versions}} v{{version}}{{/each}} - - # publisher and `dist-tag` package published - {{ publisher.name }} has published {{ publishedPackage }} - +``` +# iterate all versions +{{ name }}{{#each versions}} v{{version}}{{/each}} + +# publisher and `dist-tag` package published +{{ publisher.name }} has published {{ publishedPackage }} +``` ### Właściwości @@ -67,54 +68,56 @@ Lista właściwości dostępnych poprzez szablon Package metadata that the template has access - { - "_id": "@test/pkg1", - "name": "@test/pkg1", - "description": "", - "dist-tags": { - "beta": "1.0.54" - }, - "versions": { - "1.0.54": { - "name": "@test/pkg1", - "version": "1.0.54", - "description": "some description", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": { - "name": "Author Name", - "email": "author@domain.com" - }, - "license": "MIT", - "dependencies": { - "webpack": "4.12.0" - }, - "readmeFilename": "README.md", - "_id": "@ test/pkg1@1.0.54", - "_npmVersion": "6.1.0", - "_nodeVersion": "9.9.0", - "_npmUser": {}, - "dist": { - "integrity": "sha512-JlXWpLtMUBAqvVZBvH7UVLhXkGE1ctmXbDjbH/l0zMuG7wVzQ7GshTYvD/b5C+G2vOL2oiIS1RtayA/kKkTwKw==", - "shasum": "29c55c52c1e76e966e706165e5b9f22e32aa9f22", - "tarball": "http://localhost:4873/@test/pkg1/-/@test/pkg1-1.0.54.tgz" - } - } - }, - "readme": "# test", - "_attachments": { - "@test/pkg1-1.0.54.tgz": { - "content_type": "application/octet-stream", - "data": "H4sIAAAAAAAAE+y9Z5PjyJIgOJ ...", - "length": 33112 +``` +{ + "_id": "@test/pkg1", + "name": "@test/pkg1", + "description": "", + "dist-tags": { + "beta": "1.0.54" + }, + "versions": { + "1.0.54": { + "name": "@test/pkg1", + "version": "1.0.54", + "description": "some description", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": { + "name": "Author Name", + "email": "author@domain.com" + }, + "license": "MIT", + "dependencies": { + "webpack": "4.12.0" + }, + "readmeFilename": "README.md", + "_id": "@ test/pkg1@1.0.54", + "_npmVersion": "6.1.0", + "_nodeVersion": "9.9.0", + "_npmUser": {}, + "dist": { + "integrity": "sha512-JlXWpLtMUBAqvVZBvH7UVLhXkGE1ctmXbDjbH/l0zMuG7wVzQ7GshTYvD/b5C+G2vOL2oiIS1RtayA/kKkTwKw==", + "shasum": "29c55c52c1e76e966e706165e5b9f22e32aa9f22", + "tarball": "http://localhost:4873/@test/pkg1/-/@test/pkg1-1.0.54.tgz" } - }, - "time": {} - } - + } + }, + "readme": "# test", + "_attachments": { + "@test/pkg1-1.0.54.tgz": { + "content_type": "application/octet-stream", + "data": "H4sIAAAAAAAAE+y9Z5PjyJIgOJ ...", + "length": 33112 + } + }, + "time": {} +} +``` + ### Publisher @@ -122,21 +125,23 @@ You can get access to the package publisher information in the `content` of a we Zobacz poniżej `publisher` typ obiektu: - { - name: string, - groups: string[], - real_groups: string[] - } - +``` +{ + name: string, + groups: string[], + real_groups: string[] +} +``` Przykład: - notify: - method: POST - headers: [{'Content-Type': 'application/json'}] - endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken - content: '{"color":"green","message":"New package published: * {{ name }}*. Publisher name: * {{ publisher.name }} *.","notify":true,"message_format":"text"}' - +``` +notify: + method: POST + headers: [{'Content-Type': 'application/json'}] + endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken + content: '{"color":"green","message":"New package published: * {{ name }}*. Publisher name: * {{ publisher.name }} *.","notify":true,"message_format":"text"}' +``` **Note:** nie można uzyskać informacji o wydawcy, jeśli plik `package.json` ma już właściwość `publisher`. @@ -144,16 +149,17 @@ Przykład: You can access to the package is being published with the keyword `{{publishedPackage}}` as follows. - {{ publisher.name }} has published {{ publishedPackage }} - +``` +{{ publisher.name }} has published {{ publishedPackage }} +``` ## Konfiguracja -| Właściwość | Typ | Wymagane | Wsparcie | Domyślne | Opis | -| ---------------------- | -------------- | -------- | -------- | -------- | -------------------------------------------------------------------------------------------------------------- | -| metoda | ciąg znaków | Nie | wszystko | | HTTP verb | -| packagePattern | ciąg znaków | Nie | wszystko | | Uruchom to powiadomienie jedynie, jeśli nazwa pakietu pasuje do zwrotu regularnego | -| flagi Wzorcowe pakietu | ciąg znaków | Nie | wszystko | | Wszelkie flagi używane z regularnym zwrotem | -| nagłówki | tablica/obiekt | Tak | wszystko | | Jeśli ten punkt końcowy wymaga określonych nagłówków, ustaw je tutaj według szyku klucza: obiekty wartościowe. | -| punkt końcowy | ciąg znaków | Tak | wszystko | | ustaw punkt końcowy adresu URL dla tego połączenia | -| zawartość | ciąg znaków | Tak | wszystko | | dowolne zwroty [Handlebar](https://handlebarsjs.com/) | \ No newline at end of file +| Właściwość | Typ | Wymagane | Wsparcie | Domyślne | Opis | +| ---------------------- | -------------- | -------- | --------- | -------- | -------------------------------------------------------------------------------------------------------------- | +| metoda | ciąg znaków | Nie | wszystkie | | HTTP verb | +| packagePattern | ciąg znaków | Nie | wszystkie | | Uruchom to powiadomienie jedynie, jeśli nazwa pakietu pasuje do zwrotu regularnego | +| flagi Wzorcowe pakietu | ciąg znaków | Nie | wszystkie | | Wszelkie flagi używane z regularnym zwrotem | +| nagłówki | tablica/obiekt | Tak | wszystkie | | Jeśli ten punkt końcowy wymaga określonych nagłówków, ustaw je tutaj według szyku klucza: obiekty wartościowe. | +| punkt końcowy | ciąg znaków | Tak | wszystkie | | ustaw punkt końcowy adresu URL dla tego połączenia | +| zawartość | ciąg znaków | Tak | wszystkie | | dowolne zwroty [Handlebar](https://handlebarsjs.com/) | diff --git a/website/translated_docs/pl-PL/packages.md b/website/translated_docs/pl-PL/packages.md index 2433262f3823..07b6cbed56f1 100644 --- a/website/translated_docs/pl-PL/packages.md +++ b/website/translated_docs/pl-PL/packages.md @@ -154,7 +154,7 @@ You may assign multiple uplinks for use as a proxy to use in the case of failove #### Unpublishing Packages -The property `publish` handle permissions for `npm publish` and `npm unpublish`. But, if you want to be more specific, you can use the property `unpublish` in your package access section, for instance: +The property `publish` handle permissions for `npm publish` and `npm unpublish`. But, if you want to be more specific, you can use the property `unpublish` in your package access section, for instance: ```yalm packages: @@ -182,6 +182,7 @@ In the previous example, the behaviour would be described: * only authenticated users can publish `my-company-*` packages, but **nobody would be allowed to unpublish them**. * If `unpublish` is commented out, the access will be granted or denied by the `publish` definition. + ### Konfiguracja You can define mutiple `packages` and each of them must have an unique `Regex`. The syntax is based on [minimatch glob expressions](https://github.com/isaacs/minimatch). @@ -190,9 +191,9 @@ You can define mutiple `packages` and each of them must have an unique `Regex`. | ---------- | ----------- | -------- | -------------- | -------------- | ------------------------------------------------------------------------- | | access | ciąg znaków | Nie | $all | wszystkie | define groups allowed to access the package | | publish | ciąg znaków | Nie | $authenticated | wszystkie | define groups allowed to publish | -| proxy | ciąg znaków | Nie | npmjs | wszystko | limit look ups for specific uplink | +| proxy | ciąg znaków | Nie | npmjs | wszystkie | limit look ups for specific uplink | | magazyn | ciąg znaków | Nie | ciąg znaków | `/some-folder` | it creates a subfolder whithin the storage folder for each package access | > Podkreślamy, że zalecamy niekorzystanie dłużej z **allow_access**/**allow_publish**i** proxy_access**, są one nieaktualne i wkrótce zostaną usunięte. Użyj skróconej wersji każdego z tych (**access**/**publish**/**proxy**). -If you want more information about how to use the **storage** property, please refer to this [comment](https://github.com/verdaccio/verdaccio/issues/1383#issuecomment-509933674). \ No newline at end of file +If you want more information about how to use the **storage** property, please refer to this [comment](https://github.com/verdaccio/verdaccio/issues/1383#issuecomment-509933674). diff --git a/website/translated_docs/pl-PL/plugins.md b/website/translated_docs/pl-PL/plugins.md index 9cb982e9fdcf..60e16b0a0463 100644 --- a/website/translated_docs/pl-PL/plugins.md +++ b/website/translated_docs/pl-PL/plugins.md @@ -24,8 +24,9 @@ $> npm install --global verdaccio-activedirectory `verdaccio` as a sinopia fork it has backward compability with plugins that are compatible with `sinopia@1.4.0`. In such case the installation is the same. - $> npm install --global sinopia-memory - +``` +$> npm install --global sinopia-memory +``` ### Konfiguracja @@ -33,6 +34,7 @@ Otwórz plik `config.yaml` i zaktualizuj sekcję `auth` następująco: Domyślna konfiguracja wygląda tak, ponieważ domyślnie używamy wbudowanej wtyczki `htpasswd`, którą można wyłączyć jedynie poprzez komentowanie następujących wierszy. + ### Authentication Configuration ```yaml @@ -93,12 +95,14 @@ store: Verdaccio allows to replace the User Interface with a custom one, we call it **theme**. By default, uses `@verdaccio/ui-theme` that comes built-in, but, you can use something different installing your own plugin. ```bash -
$> npm install --global verdaccio-theme-dark + +$> npm install --global verdaccio-theme-dark ``` > The plugin name prefix must start with `verdaccio-theme`, otherwise the plugin won't load. + You can load only one theme at a time and pass through options if you need it. ```yaml @@ -132,4 +136,5 @@ theme: * [sinopia-ldap](https://www.npmjs.com/package/sinopia-ldap): wtyczka uwierzytelniająca LDAP dla sinopii. * [sinopia-github-oauth-env](https://www.npmjs.com/package/sinopia-github-oauth-env) Sinopia authentication plugin with github oauth web flow. -> All sinopia plugins should be compatible with all future verdaccio versions. Anyhow, we encourage contributors to migrate them to the modern verdaccio API and using the prefix as *verdaccio-xx-name*. \ No newline at end of file +> All sinopia plugins should be compatible with all future verdaccio versions. Anyhow, we encourage contributors to migrate them to the modern verdaccio API and using the prefix as *verdaccio-xx-name*. + diff --git a/website/translated_docs/pl-PL/protect-your-dependencies.md b/website/translated_docs/pl-PL/protect-your-dependencies.md index b51d07779ce7..e588fd495f27 100644 --- a/website/translated_docs/pl-PL/protect-your-dependencies.md +++ b/website/translated_docs/pl-PL/protect-your-dependencies.md @@ -31,7 +31,8 @@ I won't have access to such dependencies and they also won't be visible via the ```bash ➜ npm install my-company-core npm ERR! code E403 -npm ERR! 403 Forbidden: webpack-1@latest +npm ERR! code E403 +npm ERR! ``` or with `yarn`: @@ -40,6 +41,6 @@ or with `yarn`: ➜ yarn add my-company-core yarn add v0.24.6 info No lockfile found. -[1/4] +[1/4] 🔍 Resolving packages... bąd Wystąpił nieoczekiwany błąd: "http://localhost:5555/webpack-1: niezarejestrowani użytkownicy nie mają dostępu do pakietu my-company-core". -``` \ No newline at end of file +``` diff --git a/website/translated_docs/pl-PL/puppet.md b/website/translated_docs/pl-PL/puppet.md index e3b4c552cfe1..4adbea9e1b61 100644 --- a/website/translated_docs/pl-PL/puppet.md +++ b/website/translated_docs/pl-PL/puppet.md @@ -16,6 +16,10 @@ In both variants you have to explicitely call "class nodejs {}" in your puppet s Więcej informacji znajdziesz: - +[https://github.com/verdaccio/puppet-verdaccio](https://github.com/verdaccio/puppet-verdaccio) + +> We are looking for active contributors for this integration, if you are interested [refers to this ticket](https://github.com/verdaccio/puppet-verdaccio/issues/11). + + + -> We are looking for active contributors for this integration, if you are interested [refers to this ticket](https://github.com/verdaccio/puppet-verdaccio/issues/11). \ No newline at end of file diff --git a/website/translated_docs/pl-PL/repositories.md b/website/translated_docs/pl-PL/repositories.md index a535b86be23e..23f63d86ce78 100644 --- a/website/translated_docs/pl-PL/repositories.md +++ b/website/translated_docs/pl-PL/repositories.md @@ -5,4 +5,5 @@ title: Kod źródłowy `verdaccio` is composed or multiple repositories you might contribute. Look into the **issues** tab whether there is a ticket waiting for you 🤠. -Aby zobaczyć pełną listę repozytoriów, [kliknij tutaj](https://github.com/verdaccio/verdaccio/wiki/Repositories). \ No newline at end of file +Aby zobaczyć pełną listę repozytoriów, [kliknij tutaj](https://github.com/verdaccio/verdaccio/wiki/Repositories). + diff --git a/website/translated_docs/pl-PL/reverse-proxy.md b/website/translated_docs/pl-PL/reverse-proxy.md index 73de76407c24..575df9b925f7 100644 --- a/website/translated_docs/pl-PL/reverse-proxy.md +++ b/website/translated_docs/pl-PL/reverse-proxy.md @@ -11,141 +11,145 @@ Apache and `mod_proxy` should **not decode/encode slashes** and leave them as th For installing at relative path, `/npm`, on the server - - AllowEncodedSlashes NoDecode - ProxyPass /npm http://127.0.0.1:4873 nocanon - ProxyPassReverse /npm http://127.0.0.1:4873 - - +```` + + AllowEncodedSlashes NoDecode + ProxyPass /npm http://127.0.0.1:4873 nocanon + ProxyPassReverse /npm http://127.0.0.1:4873 + +```` For installing at root path, `/`, on the server - - - ServerName your.domain.com - ServerAdmin hello@your.domain.com - ProxyPreserveHost On - AllowEncodedSlashes NoDecode - ProxyPass / http://127.0.0.1:4873/ nocanon - ProxyPassReverse / http://127.0.0.1:4873/ - - +```` + + ServerName your.domain.com + ServerAdmin hello@your.domain.com + ProxyPreserveHost On + AllowEncodedSlashes NoDecode + ProxyPass / http://127.0.0.1:4873/ nocanon + ProxyPassReverse / http://127.0.0.1:4873/ + +```` ### Konfiguracja z SSL Konfiguracja wirtualnego serwera Apache - apacheconfig - - - ServerName npm.your.domain.com - SSLEngine on - SSLCertificateFile /etc/letsencrypt/live/npm.your.domain.com/fullchain.pem - SSLCertificateKeyFile /etc/letsencrypt/live/npm.your.domain.com/privkey.pem - SSLProxyEngine On - ProxyRequests Off - ProxyPreserveHost On - AllowEncodedSlashes NoDecode - ProxyPass / http://127.0.0.1:4873/ nocanon - ProxyPassReverse / http://127.0.0.1:4873/ - RequestHeader set X-Forwarded-Proto "https" - - - +```` + apacheconfig + + + ServerName npm.your.domain.com + SSLEngine on + SSLCertificateFile /etc/letsencrypt/live/npm.your.domain.com/fullchain.pem + SSLCertificateKeyFile /etc/letsencrypt/live/npm.your.domain.com/privkey.pem + SSLProxyEngine On + ProxyRequests Off + ProxyPreserveHost On + AllowEncodedSlashes NoDecode + ProxyPass / http://127.0.0.1:4873/ nocanon + ProxyPassReverse / http://127.0.0.1:4873/ + RequestHeader set X-Forwarded-Proto "https" + + +```` # Nginx The following snippet is a full `docker` example can be tested in our [Docker examples repository](https://github.com/verdaccio/verdaccio/tree/5.x/docker-examples/reverse_proxy/nginx). - upstream verdaccio_v4 { - server verdaccio_relative_path_v4:4873; - keepalive 8; - } - - upstream verdaccio_v4_root { - server verdaccio_relative_path_v4_root:8000; - keepalive 8; +```` +upstream verdaccio_v4 { + server verdaccio_relative_path_v4:4873; + keepalive 8; +} + +upstream verdaccio_v4_root { + server verdaccio_relative_path_v4_root:8000; + keepalive 8; +} + +upstream verdaccio_v3 { + server verdaccio_relative_path_latest_v3:7771; + keepalive 8; +} + +server { + listen 80 default_server; + access_log /var/log/nginx/verdaccio.log; + charset utf-8; + + location / { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4_root; + proxy_redirect off; } - - upstream verdaccio_v3 { - server verdaccio_relative_path_latest_v3:7771; - keepalive 8; + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4/$1; + proxy_redirect off; } - - server { - listen 80 default_server; - access_log /var/log/nginx/verdaccio.log; - charset utf-8; - - location / { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4_root; - proxy_redirect off; - } - - location ~ ^/verdaccio/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4/$1; - proxy_redirect off; - } - - location ~ ^/verdacciov3/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - - proxy_pass http://verdaccio_v3/$1; - proxy_redirect off; - } + + location ~ ^/verdacciov3/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + + proxy_pass http://verdaccio_v3/$1; + proxy_redirect off; } - +} +```` ## SSL example - server { - listen 80; - return 302 https://$host$request_uri; +```` +server { + listen 80; + return 302 https://$host$request_uri; +} + +server { + listen 443 ssl http2; + server_name localhost; + + ssl_certificate /etc/nginx/cert.crt; + ssl_certificate_key /etc/nginx/cert.key; + + ssl on; + ssl_session_cache builtin:1000 shared:SSL:10m; + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; + ssl_prefer_server_ciphers on; + + location / { + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_pass http://verdaccio_v4_root; + proxy_read_timeout 600; + proxy_redirect off; } - - server { - listen 443 ssl http2; - server_name localhost; - - ssl_certificate /etc/nginx/cert.crt; - ssl_certificate_key /etc/nginx/cert.key; - - ssl on; - ssl_session_cache builtin:1000 shared:SSL:10m; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; - ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; - ssl_prefer_server_ciphers on; - - location / { - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_pass http://verdaccio_v4_root; - proxy_read_timeout 600; - proxy_redirect off; - } - - location ~ ^/verdaccio/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4_root/$1; - proxy_redirect off; - } + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4_root/$1; + proxy_redirect off; } - +} +```` ## Uruchom za odwrotnym proxy z inną domeną i portem @@ -171,10 +175,9 @@ location / { proxy_set_header X-Forwarded-Proto $scheme; } ``` - For this case, `url_prefix` should **NOT** set in Verdaccio config -* * * +--- or a sub-directory installation: @@ -186,7 +189,6 @@ location ~ ^/verdaccio/(.*)$ { proxy_set_header X-Forwarded-Proto $scheme; } ``` - For this case, `url_prefix` should set to `/verdaccio/` -> Note: There is a slash after the install path (`https://your-domain:port/verdaccio/`)! \ No newline at end of file +> Note: There is a slash after the install path (`https://your-domain:port/verdaccio/`)! diff --git a/website/translated_docs/pl-PL/server.md b/website/translated_docs/pl-PL/server.md index 3d79d2f56d82..d26ba5c5b004 100644 --- a/website/translated_docs/pl-PL/server.md +++ b/website/translated_docs/pl-PL/server.md @@ -31,7 +31,6 @@ The `cd` command sends you to the home directory of the Verdaccio user. Make sur ## Listening on all addresses If you want to listen to every external address set the listen directive in the config to: - ```yaml # you can specify listen address (or simply a port) listen: 0.0.0.0:4873 @@ -71,8 +70,9 @@ $ crontab -e This might ask you to choose an editor. Pick your favorite and proceed. Add the following entry to the file: - @reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio - +``` +@reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio +``` The locations may vary depending on your server setup. If you want to know where your files are you can use the 'which' command: @@ -84,9 +84,7 @@ $ which verdaccio ## Using systemd Instead of `forever` you can use `systemd` for starting Verdaccio and keeping it running. Verdaccio installation has systemd unit, you only need to copy it: - ```bash $ sudo cp /usr/lib/node_modules/verdaccio/systemd/verdaccio.service /lib/systemd/system/ && sudo systemctl daemon-reload ``` - -This unit assumes you have configuration in `/etc/verdaccio/config.yaml` and store data in `/var/lib/verdaccio`, so either move your files to those locations or edit the unit. \ No newline at end of file +This unit assumes you have configuration in `/etc/verdaccio/config.yaml` and store data in `/var/lib/verdaccio`, so either move your files to those locations or edit the unit. diff --git a/website/translated_docs/pl-PL/windows.md b/website/translated_docs/pl-PL/windows.md index 4d00c751ee1d..31369fc4ca7f 100644 --- a/website/translated_docs/pl-PL/windows.md +++ b/website/translated_docs/pl-PL/windows.md @@ -5,10 +5,10 @@ title: "Instalacja jako Usługa systemu Windows" Ogólnie, bazując na instrukcji podanej [tutaj](http://asysadmin.tumblr.com/post/32941224574/running-nginx-on-windows-as-a-service). I crafted the following and it provided me with a fully working verdaccio service installation: -1. Stwórz folder dla verdaccio +1. Stwórz folder dla verdaccio * mkdir `c:\verdaccio` * cd `c:\verdaccio` -2. Install verdaccio locally (I ran into npm issues with global installs) +2. Install verdaccio locally (I ran into npm issues with global installs) * npm install verdaccio 3. Stwórz swój plik `config.yaml` w następującej lokalizacji `(c:\verdaccio\config.yaml)` 4. Instalacja usługi systemu Windows @@ -24,29 +24,29 @@ ALTERNATIVE METHOD: (WinSW package was missing when I tried to download it) * Otwórz wiersz polecenia z uprawnieniami administratora * Run nssm install verdaccio At a minimum you must fill in the Application tab Path, Startup directory and Arguments fields. Assuming an install with node in the system path and a location of c:\verdaccio the below values will work: - * Path: `node` * Startup directory: `c:\verdaccio` * Arguments: `c:\verdaccio\node_modules\verdaccio\build\lib\cli.js -c c:\verdaccio\config.yaml` - + You can adjust other service settings under other tabs as desired. When you are done, click Install service button - - * Start the service sc start verdaccio + + * Start the service sc start verdaccio ## Using WinSW * As of 2015-10-27, WinSW is no longer available at the below location. Please follow the Using NSSM instructions above. -* Download [WinSW](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/) +* Download [WinSW](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/) * Place the executable (e.g. `winsw-1.9-bin.exe`) into this folder (`c:\verdaccio`) and rename it to `verdaccio-winsw.exe` * Create a configuration file in `c:\verdaccio`, named `verdaccio-winsw.xml` with the following configuration `xml verdaccio verdaccio verdaccio node c:\verdaccio\node_modules\verdaccio\src\lib\cli.js -c c:\verdaccio\config.yaml roll c:\verdaccio`. -* Install your service +* Install your service * `cd c:\verdaccio` * `verdaccio-winsw.exe install` -* Start your service +* Start your service * `verdaccio-winsw.exe start` Some of the above config is more verbose than I had expected, it appears as though 'workingdirectory' is ignored, but other than that, this works for me and allows my verdaccio instance to persist between restarts of the server, and also restart itself should there be any crashes of the verdaccio process. + ## Repozytoria -* [verdaccio-deamon-windows](https://github.com/davidenke/verdaccio-deamon-windows) \ No newline at end of file +* [verdaccio-deamon-windows](https://github.com/davidenke/verdaccio-deamon-windows) diff --git a/website/translated_docs/pt-BR/caching.md b/website/translated_docs/pt-BR/caching.md index 73c7ea2f6282..2b16e4aba925 100644 --- a/website/translated_docs/pt-BR/caching.md +++ b/website/translated_docs/pt-BR/caching.md @@ -7,11 +7,12 @@ Verdaccio armazena todos os pacotes por padrão na pasta `/storage`. Mas você p ## Possibilidades de Cache -* A criação de um projeto Node.js em servidores de **Integração Contínua** (Bamboo, GitLab, Jenkins, etc.) é uma atividade que pode ser executada várias vezes ao dia, portanto, o servidor fará o download do registro de um grande número de tarballs sempre que isso ocorrer. Como de costume, as ferramentas de IC limpam o cache após cada compilação e o processo é iniciado repetidamente. Isto é um desperdício de bandwidth e reduz o tráfego externo. **Você pode usar o Verdaccio para fazer cache de tarballs e metadados em nossa rede interna e dar um impulso em seu tempo de compilação.** +* A criação de um projeto Node.js em servidores de **Integração Contínua** (Bamboo, GitLab, Jenkins, etc.) é uma atividade que pode ser executada várias vezes ao dia, portanto, o servidor fará o download do registro de um grande número de tarballs sempre que isso ocorrer. Como de costume, as ferramentas de IC limpam o cache após cada compilação e o processo é iniciado repetidamente. Isto é um desperdício de bandwidth e reduz o tráfego externo. **Você pode usar o Verdaccio para fazer cache de tarballs e metadados em nossa rede interna e dar um impulso em seu tempo de compilação.** * **Latência e Conectividade**, nem todos os países desfrutam de uma conexão de alta velocidade. Neste caso, armazenar pacotes localmente em sua rede é muito útil. Mesmo se você estiver viajando, ou tiver uma conexão fraca, estiver em roaming ou enfrentando países com firewalls fortes que possam afetar a experiência do usuário (por exemplo: corrompendo tarballs). * **Modo Offline**, todos os Node Package Managers hoje em dia usam seu próprio cache interno, mas é comum que projetos diferentes usem ferramentas diferentes, o que implica arquivos de bloqueio e assim por diante. Essas ferramentas não podem compartilhar o cache, a única solução é centralizada e depende de um registro de proxy. Verdaccio armazena em cache todos os metadados e tarballs são baixadas por demanda, sendo capaz de compartilhá-los em todo o seu projeto. * Evita que qualquer registro remoto retorne repentinamente erros de *HTTP 404* para tarballs que estavam previamente disponíveis, também conhecido como ([left-pad issue](https://www.theregister.co.uk/2016/03/23/npm_left_pad_chaos/)). + # Estratégias para construções mais rápidas > Estamos à procura de mais estratégias, sinta-se à vontade para compartilhar sua experiência neste campo @@ -20,15 +21,16 @@ Verdaccio armazena todos os pacotes por padrão na pasta `/storage`. Mas você p Se você tiver um espaço de armazenamento limitado, pode ser necessário evitar tarballs de cache, ativar o `cache` false em cada uplink armazenará apenas os arquivos de metadados. - uplinks: - npmjs: - url: https://registry.npmjs.org/ - cache: false - +``` +uplinks: + npmjs: + url: https://registry.npmjs.org/ + cache: false +``` ## Estendendo o Tempo de Expiração do Cache -O Verdaccio, por padrão, aguarda 2 minutos para invalidar os metadados do cache antes de buscar novas informações do registro remoto. + O Verdaccio, por padrão, aguarda 2 minutos para invalidar os metadados do cache antes de buscar novas informações do registro remoto. ```yaml uplinks: @@ -39,6 +41,7 @@ uplinks: Ao aumentar o valor de `maxage` em cada `uplink`, o controle remoto será consultado com menos frequência. Esta pode ser uma estratégia válida se você não atualiza as dependências com tanta frequência. + ## Usando a memória em vez do disco rígido Às vezes, o armazenamento em cache de pacotes não é uma etapa crítica, em vez de rotear pacotes de diferentes registros e alcançar tempos de construção mais rápidos. Existem dois plugins que evitam a gravação em uma unidade física usando a memória. @@ -62,4 +65,4 @@ store: limit: 1000 ``` -Lembre-se, uma vez que o servidor é reiniciado, os dados são perdidos, recomendamos esta configuração nos casos em que você não precisa persistir com a função. \ No newline at end of file +Lembre-se, uma vez que o servidor é reiniciado, os dados são perdidos, recomendamos esta configuração nos casos em que você não precisa persistir com a função. diff --git a/website/translated_docs/pt-BR/install.md b/website/translated_docs/pt-BR/install.md index 883009ad91ce..ed3552f001f3 100644 --- a/website/translated_docs/pt-BR/install.md +++ b/website/translated_docs/pt-BR/install.md @@ -13,7 +13,7 @@ Verdaccio is a multiplatform web application. To install it, you need a few basi > We highly recommend to use the latest versions of Node Package Manager clients `> npm@6.x | yarn@1.x | | yarn@2.x | pnpm@6.x`. Don't support `npm@5.x` or older. -1. A modern web browser to run the web interface. We actually support `Chrome, Firefox, Edge`. +3. A modern web browser to run the web interface. We actually support `Chrome, Firefox, Edge`. > Verdaccio suportará a versão mais recente do Node.js de acordo com as recomendações do [Node.js Release Working Group](https://github.com/nodejs/Release). @@ -21,7 +21,7 @@ Are you still using **Verdaccio 4**?. Check the [migration guide](https://verdac ### Quick Introduction -Learn the basics before getting started, how to install, where is the location of the configuration file and more. +Learn the basics before getting started, how to install, where is the location of the configuration file and more. ## Installing the CLI @@ -92,7 +92,7 @@ Or a `publishConfig` in your `package.json` ## Create Your Own Private NPM Package Tutorial -If you'd like a broader explanation, don't miss the tutorial created by [thedevlife](https://mybiolink.co/thedevlife) on how to Create Your Own Private NPM Package using Verdaccio. +If you'd like a broader explanation, don't miss the tutorial created by [thedevlife](https://mybiolink.co/thedevlife) on how to Create Your Own Private NPM Package using Verdaccio. ## Docker Image @@ -106,4 +106,4 @@ docker run -it --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio `Verdaccio` is also available as a 1-click install on [Cloudron](https://cloudron.io) -[![Instalação](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=org.eggertsson.verdaccio) \ No newline at end of file +[![Instalação](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=org.eggertsson.verdaccio) diff --git a/website/translated_docs/pt-BR/kubernetes.md b/website/translated_docs/pt-BR/kubernetes.md index 82fa0c1644e1..63a900efaa09 100644 --- a/website/translated_docs/pt-BR/kubernetes.md +++ b/website/translated_docs/pt-BR/kubernetes.md @@ -23,8 +23,9 @@ Deploy the Helm [verdaccio/verdaccio](https://github.com/verdaccio/charts) chart ### Add repository - helm repo add verdaccio https://charts.verdaccio.org - +``` +helm repo add verdaccio https://charts.verdaccio.org +``` In this example we use `npm` as release name: @@ -52,6 +53,7 @@ helm uninstall npm **Nota:** este comando apaga todos os recursos, incluindo pacotes que você pode ter publicado anteriormente no registro. + ### Configuração personalizada do Verdaccio Você pode personalizar a configuração do Verdaccio usando um Kubernetes *configMap*. @@ -92,7 +94,6 @@ helm install npm --set customConfigMap=verdaccio-config verdaccio/verdaccio #### NGINX proxy body-size limit The standard k8s NGINX ingress proxy allows for 1MB for body-size which can be increased by modifying the default deployment options according to the [documentation](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#custom-max-body-size): - ```yaml ... @@ -100,8 +101,7 @@ annotations: ... kubernetes.io/proxy-body-size: 20m -.... -... +.... ``` @@ -109,4 +109,4 @@ annotations: [Rancher](http://rancher.com/) is a complete container management platform that makes managing and using containers in production really easy. -* [verdaccio-rancher](https://github.com/lgaticaq/verdaccio-rancher) \ No newline at end of file +* [verdaccio-rancher](https://github.com/lgaticaq/verdaccio-rancher) diff --git a/website/translated_docs/pt-BR/linking.md b/website/translated_docs/pt-BR/linking.md index e6718750ee1f..ead899c23e84 100644 --- a/website/translated_docs/pt-BR/linking.md +++ b/website/translated_docs/pt-BR/linking.md @@ -17,10 +17,11 @@ Você pode conectar vários registros, o documento a seguir guiará você por al A única maneira de acessar vários registros usando o `.npmrc` é com a função de escopo, da seguinte forma: - // .npmrc - registry=https://registry.npmjs.org - @mycompany:registry=http://localhost:4873 - +``` +// .npmrc +registry=https://registry.npmjs.org +@mycompany:registry=http://localhost:4873 +``` Essa abordagem é válida, mas apresenta várias desvantagens: @@ -75,7 +76,8 @@ Verdaccio suporta múltiplos registros no campo `proxy`. A solicitação será r Ter um Registro Offline completo é absolutamente possível. Se você não quiser nenhuma conectividade com controles remotos externos você pode fazer o seguinte. ```yaml -
auth: + +auth: htpasswd: file: ./htpasswd uplinks: @@ -91,4 +93,4 @@ packages: publish: $authenticated ``` -Remove todos os campos `proxy` de cada seção dos `pacotes`. O registro ficará totalmente offline. \ No newline at end of file +Remove todos os campos `proxy` de cada seção dos `pacotes`. O registro ficará totalmente offline. diff --git a/website/translated_docs/pt-BR/logger.md b/website/translated_docs/pt-BR/logger.md index 6cd01333ed85..47264ec807de 100644 --- a/website/translated_docs/pt-BR/logger.md +++ b/website/translated_docs/pt-BR/logger.md @@ -28,4 +28,4 @@ Use `SIGUSR2` to notify the application, the log-file was rotated and it needs t | tipo | string | Não | [stdout, file] | completo | define a saída | | caminho | string | Não | verdaccio.log | completo | se o tipo é arquivo, define a localização daquele arquivo | | formato | string | Não | [pretty, pretty-timestamped] | completo | formato da saída | -| nível | string | Não | [fatal, erro, aviso, http, info, debug, trace] | completo | level detalhado | \ No newline at end of file +| nível | string | Não | [fatal, erro, aviso, http, info, debug, trace] | completo | level detalhado | diff --git a/website/translated_docs/pt-BR/logo.md b/website/translated_docs/pt-BR/logo.md index 2ca40a4385a6..607acdd0d939 100644 --- a/website/translated_docs/pt-BR/logo.md +++ b/website/translated_docs/pt-BR/logo.md @@ -11,7 +11,7 @@ Agradecimentos especiais a *[@Lisapressmar](https://github.com/Lisapressmar)* po ## Símbolos -**Com texto** +__Com texto__ ![símbolo minúsculo com texto](assets/logo/symbol/png/logo-small-header-bottom.png) @@ -19,11 +19,11 @@ Agradecimentos especiais a *[@Lisapressmar](https://github.com/Lisapressmar)* po ![símbolo grande com texto](assets/logo/symbol/png/logo-small-header-bottom@3x.png) -**SVG** +__SVG__ ![símbolo svg](assets/logo/symbol/svg/logo-small-header-bottom.svg) -**Sem texto** +__Sem texto__ ![símbolo minúsculo](assets/logo/symbol/png/verdaccio-tiny.png) @@ -31,10 +31,12 @@ Agradecimentos especiais a *[@Lisapressmar](https://github.com/Lisapressmar)* po ![símbolo grande](assets/logo/symbol/png/verdaccio-tiny@3x.png) -**SVG** +__SVG__ ![svg format symbol no text](assets/logo/symbol/svg/verdaccio-tiny.svg) + + ### Preto&Branco ![símbolo bw pequeno](assets/logo/symbol/png/verdaccio-blackwhite.png) @@ -43,14 +45,17 @@ Agradecimentos especiais a *[@Lisapressmar](https://github.com/Lisapressmar)* po ![símbolo bw grande](assets/logo/symbol/png/verdaccio-blackwhite@3x.png) -**SVG** +__SVG__ ![símbolo bw svg](assets/logo/symbol/svg/verdaccio-blackwhite.svg) + ## Banner ![banner pequeno](assets/logo/banner/png/verdaccio-banner.png) ![banner médio](assets/logo/banner/png/verdaccio-banner@2x.png) -![banner grande](assets/logo/banner/png/verdaccio-banner@3x.png) \ No newline at end of file +![banner grande](assets/logo/banner/png/verdaccio-banner@3x.png) + + diff --git a/website/translated_docs/pt-BR/node-api.md b/website/translated_docs/pt-BR/node-api.md index a57027495bff..7c3b56a92793 100644 --- a/website/translated_docs/pt-BR/node-api.md +++ b/website/translated_docs/pt-BR/node-api.md @@ -39,4 +39,4 @@ verdaccioServer.serviceUninstall(); verdaccioServer.serviceStart(); verdaccioServer.serviceStop(); verdaccioServer.serviceRestart(); -``` \ No newline at end of file +``` diff --git a/website/translated_docs/pt-BR/notifications.md b/website/translated_docs/pt-BR/notifications.md index 395620f9f52e..47f99568d87b 100644 --- a/website/translated_docs/pt-BR/notifications.md +++ b/website/translated_docs/pt-BR/notifications.md @@ -48,12 +48,13 @@ Nós usamos [Handlebars](https://handlebarsjs.com/) como mecanismo de modelo pri ### Exemplos de Formato - # iterar todas as versões - {{ name }}{{#each versions}} v{{version}}{{/each}} - - # editor e pacote `dist-tag` publicado - {{ publisher.name }} has published {{ publishedPackage }} - +``` +# iterar todas as versões +{{ name }}{{#each versions}} v{{version}}{{/each}} + +# editor e pacote `dist-tag` publicado +{{ publisher.name }} has published {{ publishedPackage }} +``` ### Propriedades @@ -67,54 +68,56 @@ Lista de propriedades acessáveis via modelo Pacote de metadata que o modelo tem acesso - { - "_id": "@test/pkg1", - "name": "@test/pkg1", - "description": "", - "dist-tags": { - "beta": "1.0.54" - }, - "versions": { - "1.0.54": { - "name": "@test/pkg1", - "version": "1.0.54", - "description": "some description", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": { - "name": "Author Name", - "email": "author@domain.com" - }, - "license": "MIT", - "dependencies": { - "webpack": "4.12.0" - }, - "readmeFilename": "README.md", - "_id": "@ test/pkg1@1.0.54", - "_npmVersion": "6.1.0", - "_nodeVersion": "9.9.0", - "_npmUser": {}, - "dist": { - "integrity": "sha512-JlXWpLtMUBAqvVZBvH7UVLhXkGE1ctmXbDjbH/l0zMuG7wVzQ7GshTYvD/b5C+G2vOL2oiIS1RtayA/kKkTwKw==", - "shasum": "29c55c52c1e76e966e706165e5b9f22e32aa9f22", - "tarball": "http://localhost:4873/@test/pkg1/-/@test/pkg1-1.0.54.tgz" - } - } - }, - "readme": "# test", - "_attachments": { - "@test/pkg1-1.0.54.tgz": { - "content_type": "application/octet-stream", - "data": "H4sIAAAAAAAAE+y9Z5PjyJIgOJ ...", - "length": 33112 +``` +{ + "_id": "@test/pkg1", + "name": "@test/pkg1", + "description": "", + "dist-tags": { + "beta": "1.0.54" + }, + "versions": { + "1.0.54": { + "name": "@test/pkg1", + "version": "1.0.54", + "description": "some description", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": { + "name": "Author Name", + "email": "author@domain.com" + }, + "license": "MIT", + "dependencies": { + "webpack": "4.12.0" + }, + "readmeFilename": "README.md", + "_id": "@ test/pkg1@1.0.54", + "_npmVersion": "6.1.0", + "_nodeVersion": "9.9.0", + "_npmUser": {}, + "dist": { + "integrity": "sha512-JlXWpLtMUBAqvVZBvH7UVLhXkGE1ctmXbDjbH/l0zMuG7wVzQ7GshTYvD/b5C+G2vOL2oiIS1RtayA/kKkTwKw==", + "shasum": "29c55c52c1e76e966e706165e5b9f22e32aa9f22", + "tarball": "http://localhost:4873/@test/pkg1/-/@test/pkg1-1.0.54.tgz" } - }, - "time": {} - } - + } + }, + "readme": "# test", + "_attachments": { + "@test/pkg1-1.0.54.tgz": { + "content_type": "application/octet-stream", + "data": "H4sIAAAAAAAAE+y9Z5PjyJIgOJ ...", + "length": 33112 + } + }, + "time": {} +} +``` + ### Editor @@ -122,21 +125,23 @@ You can get access to the package publisher information in the `content` of a we Veja abaixo o tipo de objeto `publisher`: - { - name: string, - groups: string[], - real_groups: string[] - } - +``` +{ + name: string, + groups: string[], + real_groups: string[] +} +``` Um exemplo: - notify: - method: POST - headers: [{'Content-Type': 'application/json'}] - endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken - content: '{"color":"green","message":"New package published: * {{ name }}*. Publisher name: * {{ publisher.name }} *.","notify":true,"message_format":"text"}' - +``` +notify: + method: POST + headers: [{'Content-Type': 'application/json'}] + endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken + content: '{"color":"green","message":"New package published: * {{ name }}*. Publisher name: * {{ publisher.name }} *.","notify":true,"message_format":"text"}' +``` **Nota:** Não é possível obter as informações do editor se o arquivo `package.json` já possui a propriedade `publisher`. @@ -144,8 +149,9 @@ Um exemplo: Você pode acessar o pacote que está sendo publicado com a palavra-chave `{{publishedPackage}}` do seguinte modo. - {{ publisher.name }} has published {{ publishedPackage }} - +``` +{{ publisher.name }} has published {{ publishedPackage }} +``` ## Configuração @@ -156,4 +162,4 @@ Você pode acessar o pacote que está sendo publicado com a palavra-chave `{{pub | packagePatternFlags | string | Não | completo | | Qualquer sinalizador a ser usado com a expressão regular | | headers | array/object | Sim | completo | | Se esse terminal exigir headers específicos, configure-os aqui como uma matriz de objetos da key: value objects. | | endpoint | string | Sim | completo | | define o endpoint da URL para esta chamada | -| content | string | Sim | completo | | qualquer expressão [Handlebar](https://handlebarsjs.com/) | \ No newline at end of file +| content | string | Sim | completo | | qualquer expressão [Handlebar](https://handlebarsjs.com/) | diff --git a/website/translated_docs/pt-BR/packages.md b/website/translated_docs/pt-BR/packages.md index a239da0a1098..337ed83b59f1 100644 --- a/website/translated_docs/pt-BR/packages.md +++ b/website/translated_docs/pt-BR/packages.md @@ -154,7 +154,7 @@ You may assign multiple uplinks for use as a proxy to use in the case of failove #### Cancelando a Publicação de Pacotes -The property `publish` handle permissions for `npm publish` and `npm unpublish`. But, if you want to be more specific, you can use the property `unpublish` in your package access section, for instance: +The property `publish` handle permissions for `npm publish` and `npm unpublish`. But, if you want to be more specific, you can use the property `unpublish` in your package access section, for instance: ```yalm packages: @@ -182,6 +182,7 @@ In the previous example, the behaviour would be described: * somente usuários autenticados podem publicar pacotes `my-company-*`, mas **ninguém poderá cancelar a publicação deles**. * Se `unpublish` estiver comentado, o acesso será concedido ou negado pela definição `publish`. + ### Configuração You can define mutiple `packages` and each of them must have an unique `Regex`. The syntax is based on [minimatch glob expressions](https://github.com/isaacs/minimatch). @@ -195,4 +196,4 @@ You can define mutiple `packages` and each of them must have an unique `Regex`. > Salientamos a recomendação de não usar mais **allow_access**/**allow_publish** e **proxy_access**, eles estão obsoletos e serão removidos em breve. Use a versão curta de cada um deles (**access**/**publish**/**proxy**). -If you want more information about how to use the **storage** property, please refer to this [comment](https://github.com/verdaccio/verdaccio/issues/1383#issuecomment-509933674). \ No newline at end of file +If you want more information about how to use the **storage** property, please refer to this [comment](https://github.com/verdaccio/verdaccio/issues/1383#issuecomment-509933674). diff --git a/website/translated_docs/pt-BR/plugins.md b/website/translated_docs/pt-BR/plugins.md index 5573991ba35c..e42925c6c8ce 100644 --- a/website/translated_docs/pt-BR/plugins.md +++ b/website/translated_docs/pt-BR/plugins.md @@ -24,8 +24,9 @@ $> npm install --global verdaccio-activedirectory `verdaccio`, como um fork de sinopia, tem compatibilidade com plugins que são compatíveis com `sinopia@1.4.0`. Neste caso, a instalação é a mesma. - $> npm install --global sinopia-memory - +``` +$> npm install --global sinopia-memory +``` ### Configuração @@ -33,6 +34,7 @@ Open the `config.yaml` file and update the `auth` section as follows: The default configuration looks like this, due we use a build-in `htpasswd` plugin by default that you can disable just commenting out the following lines. + ### Configuração de Autenticação ```yaml @@ -93,12 +95,14 @@ store: O Verdaccio permite substituir a interface do usuário por uma personalizada, chamamos de **tema** (theme). Por padrão, usa-se o tema integrado `@verdaccio/ui-theme`, mas você pode usar algo diferente instalando seu próprio plugin. ```bash -
$> npm install --global verdaccio-theme-dark + +$> npm install --global verdaccio-theme-dark ``` > O prefixo do nome do plugin deve começar com `verdaccio-theme`, caso contrário o plugin não carregará. + You can load only one theme at a time and pass through options if you need it. ```yaml @@ -132,4 +136,5 @@ theme: * [sinopia-ldap](https://www.npmjs.com/package/sinopia-ldap): LDAP auth plugin for sinopia. * [sinopia-github-oauth-env](https://www.npmjs.com/package/sinopia-github-oauth-env) Sinopia authentication plugin with github oauth web flow. -> All sinopia plugins should be compatible with all future verdaccio versions. Anyhow, we encourage contributors to migrate them to the modern verdaccio API and using the prefix as *verdaccio-xx-name*. \ No newline at end of file +> All sinopia plugins should be compatible with all future verdaccio versions. Anyhow, we encourage contributors to migrate them to the modern verdaccio API and using the prefix as *verdaccio-xx-name*. + diff --git a/website/translated_docs/pt-BR/protect-your-dependencies.md b/website/translated_docs/pt-BR/protect-your-dependencies.md index 478a60e7c6c2..20104722f01c 100644 --- a/website/translated_docs/pt-BR/protect-your-dependencies.md +++ b/website/translated_docs/pt-BR/protect-your-dependencies.md @@ -31,7 +31,8 @@ I won't have access to such dependencies and they also won't be visible via the ```bash ➜ npm install my-company-core npm ERR! code E403 -npm ERR! 403 Forbidden: webpack-1@latest +npm ERR! code E403 +npm ERR! ``` or with `yarn`: @@ -40,6 +41,6 @@ or with `yarn`: ➜ yarn add my-company-core yarn add v0.24.6 info No lockfile found. -[1/4] +[1/4] 🔍 Resolving packages... error An unexpected error occurred: "http://localhost:5555/webpack-1: usuários não registrados não têm permissão para acessar o pacote my-company-core". -``` \ No newline at end of file +``` diff --git a/website/translated_docs/pt-BR/puppet.md b/website/translated_docs/pt-BR/puppet.md index eacb482da622..5b9f443a214e 100644 --- a/website/translated_docs/pt-BR/puppet.md +++ b/website/translated_docs/pt-BR/puppet.md @@ -16,6 +16,10 @@ Em ambas as variantes você tem que chamar explicitamente a "classe nodejs {}" n Para mais informações: - +[https://github.com/verdaccio/puppet-verdaccio](https://github.com/verdaccio/puppet-verdaccio) + +> Estamos à procura de colaboradores ativos para esta integração, se você estiver interessado [consulte este ticket](https://github.com/verdaccio/puppet-verdaccio/issues/11). + + + -> Estamos à procura de colaboradores ativos para esta integração, se você estiver interessado [consulte este ticket](https://github.com/verdaccio/puppet-verdaccio/issues/11). \ No newline at end of file diff --git a/website/translated_docs/pt-BR/repositories.md b/website/translated_docs/pt-BR/repositories.md index dfe3b5533e4a..5065f5b020f5 100644 --- a/website/translated_docs/pt-BR/repositories.md +++ b/website/translated_docs/pt-BR/repositories.md @@ -5,4 +5,5 @@ title: Código Fonte `verdaccio` is composed or multiple repositories you might contribute. Look into the **issues** tab whether there is a ticket waiting for you 🤠. -To see the complete list of repositories, [click here](https://github.com/verdaccio/verdaccio/wiki/Repositories). \ No newline at end of file +To see the complete list of repositories, [click here](https://github.com/verdaccio/verdaccio/wiki/Repositories). + diff --git a/website/translated_docs/pt-BR/reverse-proxy.md b/website/translated_docs/pt-BR/reverse-proxy.md index 1bf12080a49f..a31eea3e58b5 100644 --- a/website/translated_docs/pt-BR/reverse-proxy.md +++ b/website/translated_docs/pt-BR/reverse-proxy.md @@ -11,141 +11,145 @@ Apache e `mod_proxy` **não devem decodificar/codificar barras** e deixa-las com For installing at relative path, `/npm`, on the server - - AllowEncodedSlashes NoDecode - ProxyPass /npm http://127.0.0.1:4873 nocanon - ProxyPassReverse /npm http://127.0.0.1:4873 - - +```` + + AllowEncodedSlashes NoDecode + ProxyPass /npm http://127.0.0.1:4873 nocanon + ProxyPassReverse /npm http://127.0.0.1:4873 + +```` For installing at root path, `/`, on the server - - - ServerName your.domain.com - ServerAdmin hello@your.domain.com - ProxyPreserveHost On - AllowEncodedSlashes NoDecode - ProxyPass / http://127.0.0.1:4873/ nocanon - ProxyPassReverse / http://127.0.0.1:4873/ - - +```` + + ServerName your.domain.com + ServerAdmin hello@your.domain.com + ProxyPreserveHost On + AllowEncodedSlashes NoDecode + ProxyPass / http://127.0.0.1:4873/ nocanon + ProxyPassReverse / http://127.0.0.1:4873/ + +```` ### Configuração com SSL Configuração do servidor virtual Apache - apacheconfig - - - ServerName npm.your.domain.com - SSLEngine on - SSLCertificateFile /etc/letsencrypt/live/npm.your.domain.com/fullchain.pem - SSLCertificateKeyFile /etc/letsencrypt/live/npm.your.domain.com/privkey.pem - SSLProxyEngine On - ProxyRequests Off - ProxyPreserveHost On - AllowEncodedSlashes NoDecode - ProxyPass / http://127.0.0.1:4873/ nocanon - ProxyPassReverse / http://127.0.0.1:4873/ - RequestHeader set X-Forwarded-Proto "https" - - - +```` + apacheconfig + + + ServerName npm.your.domain.com + SSLEngine on + SSLCertificateFile /etc/letsencrypt/live/npm.your.domain.com/fullchain.pem + SSLCertificateKeyFile /etc/letsencrypt/live/npm.your.domain.com/privkey.pem + SSLProxyEngine On + ProxyRequests Off + ProxyPreserveHost On + AllowEncodedSlashes NoDecode + ProxyPass / http://127.0.0.1:4873/ nocanon + ProxyPassReverse / http://127.0.0.1:4873/ + RequestHeader set X-Forwarded-Proto "https" + + +```` # Nginx The following snippet is a full `docker` example can be tested in our [Docker examples repository](https://github.com/verdaccio/verdaccio/tree/5.x/docker-examples/reverse_proxy/nginx). - upstream verdaccio_v4 { - server verdaccio_relative_path_v4:4873; - keepalive 8; - } - - upstream verdaccio_v4_root { - server verdaccio_relative_path_v4_root:8000; - keepalive 8; +```` +upstream verdaccio_v4 { + server verdaccio_relative_path_v4:4873; + keepalive 8; +} + +upstream verdaccio_v4_root { + server verdaccio_relative_path_v4_root:8000; + keepalive 8; +} + +upstream verdaccio_v3 { + server verdaccio_relative_path_latest_v3:7771; + keepalive 8; +} + +server { + listen 80 default_server; + access_log /var/log/nginx/verdaccio.log; + charset utf-8; + + location / { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4_root; + proxy_redirect off; } - - upstream verdaccio_v3 { - server verdaccio_relative_path_latest_v3:7771; - keepalive 8; + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4/$1; + proxy_redirect off; } - - server { - listen 80 default_server; - access_log /var/log/nginx/verdaccio.log; - charset utf-8; - - location / { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4_root; - proxy_redirect off; - } - - location ~ ^/verdaccio/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4/$1; - proxy_redirect off; - } - - location ~ ^/verdacciov3/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - - proxy_pass http://verdaccio_v3/$1; - proxy_redirect off; - } + + location ~ ^/verdacciov3/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + + proxy_pass http://verdaccio_v3/$1; + proxy_redirect off; } - +} +```` ## Exemplo de SSL - server { - listen 80; - return 302 https://$host$request_uri; +```` +server { + listen 80; + return 302 https://$host$request_uri; +} + +server { + listen 443 ssl http2; + server_name localhost; + + ssl_certificate /etc/nginx/cert.crt; + ssl_certificate_key /etc/nginx/cert.key; + + ssl on; + ssl_session_cache builtin:1000 shared:SSL:10m; + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; + ssl_prefer_server_ciphers on; + + location / { + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_pass http://verdaccio_v4_root; + proxy_read_timeout 600; + proxy_redirect off; } - - server { - listen 443 ssl http2; - server_name localhost; - - ssl_certificate /etc/nginx/cert.crt; - ssl_certificate_key /etc/nginx/cert.key; - - ssl on; - ssl_session_cache builtin:1000 shared:SSL:10m; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; - ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; - ssl_prefer_server_ciphers on; - - location / { - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_pass http://verdaccio_v4_root; - proxy_read_timeout 600; - proxy_redirect off; - } - - location ~ ^/verdaccio/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4_root/$1; - proxy_redirect off; - } + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4_root/$1; + proxy_redirect off; } - +} +```` ## Run behind reverse proxy with different domain and port @@ -171,10 +175,9 @@ location / { proxy_set_header X-Forwarded-Proto $scheme; } ``` - For this case, `url_prefix` should **NOT** set in Verdaccio config -* * * +--- or a sub-directory installation: @@ -186,7 +189,6 @@ location ~ ^/verdaccio/(.*)$ { proxy_set_header X-Forwarded-Proto $scheme; } ``` - For this case, `url_prefix` should set to `/verdaccio/` -> Note: There is a slash after the install path (`https://your-domain:port/verdaccio/`)! \ No newline at end of file +> Note: There is a slash after the install path (`https://your-domain:port/verdaccio/`)! diff --git a/website/translated_docs/pt-BR/server.md b/website/translated_docs/pt-BR/server.md index 4f4d910e92f2..4c803a8eb64c 100644 --- a/website/translated_docs/pt-BR/server.md +++ b/website/translated_docs/pt-BR/server.md @@ -31,7 +31,6 @@ The `cd` command sends you to the home directory of the Verdaccio user. Make sur ## Ouvir a todos os endereços Se você quiser ouvir cada endereço externo, defina a diretiva de escuta (listening) na configuração para: - ```yaml # you can specify listen address (or simply a port) listen: 0.0.0.0:4873 @@ -71,8 +70,9 @@ $ crontab -e This might ask you to choose an editor. Pick your favorite and proceed. Add the following entry to the file: - @reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio - +``` +@reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio +``` The locations may vary depending on your server setup. If you want to know where your files are you can use the 'which' command: @@ -84,9 +84,7 @@ $ which verdaccio ## Utilizar o systemd Instead of `forever` you can use `systemd` for starting Verdaccio and keeping it running. Verdaccio installation has systemd unit, you only need to copy it: - ```bash $ sudo cp /usr/lib/node_modules/verdaccio/systemd/verdaccio.service /lib/systemd/system/ && sudo systemctl daemon-reload ``` - -This unit assumes you have configuration in `/etc/verdaccio/config.yaml` and store data in `/var/lib/verdaccio`, so either move your files to those locations or edit the unit. \ No newline at end of file +This unit assumes you have configuration in `/etc/verdaccio/config.yaml` and store data in `/var/lib/verdaccio`, so either move your files to those locations or edit the unit. diff --git a/website/translated_docs/pt-BR/who-is-using.md b/website/translated_docs/pt-BR/who-is-using.md index 092e83a45092..881d95302c3c 100644 --- a/website/translated_docs/pt-BR/who-is-using.md +++ b/website/translated_docs/pt-BR/who-is-using.md @@ -10,6 +10,7 @@ title: "Quem está usando o Verdaccio?" * [SheetJS](https://sheetjs.com/) * [Satispay](https://www.satispay.com/) + ### Projetos de Código Aberto > **Sinta-se à vontade para sugerir outros sistemas operacionais que estejam usando o Verdaccio.** @@ -29,4 +30,6 @@ title: "Quem está usando o Verdaccio?" #### Readme Recommendations -* [react-native-cli](https://github.com/react-native-community/react-native-cli/blob/master/CONTRIBUTING.md) \ No newline at end of file +* [react-native-cli](https://github.com/react-native-community/react-native-cli/blob/master/CONTRIBUTING.md) + + diff --git a/website/translated_docs/pt-BR/windows.md b/website/translated_docs/pt-BR/windows.md index 6784821c9b8f..aa839965f89b 100644 --- a/website/translated_docs/pt-BR/windows.md +++ b/website/translated_docs/pt-BR/windows.md @@ -5,10 +5,10 @@ title: "Instalando como um Serviço no Windows" Loosely based upon the instructions found [here](http://asysadmin.tumblr.com/post/32941224574/running-nginx-on-windows-as-a-service). I crafted the following and it provided me with a fully working verdaccio service installation: -1. Create a directory for verdaccio +1. Create a directory for verdaccio * mkdir `c:\verdaccio` * cd `c:\verdaccio` -2. Install verdaccio locally (I ran into npm issues with global installs) +2. Install verdaccio locally (I ran into npm issues with global installs) * npm install verdaccio 3. Create your `config.yaml` file in this location `(c:\verdaccio\config.yaml)` 4. Windows Service Setup @@ -24,29 +24,29 @@ ALTERNATIVE METHOD: (WinSW package was missing when I tried to download it) * Open an administrative command * Run nssm install verdaccio At a minimum you must fill in the Application tab Path, Startup directory and Arguments fields. Assuming an install with node in the system path and a location of c:\verdaccio the below values will work: - * Path: `node` * Startup directory: `c:\verdaccio` * Arguments: `c:\verdaccio\node_modules\verdaccio\build\lib\cli.js -c c:\verdaccio\config.yaml` - + You can adjust other service settings under other tabs as desired. When you are done, click Install service button - - * Start the service sc start verdaccio + + * Start the service sc start verdaccio ## Using WinSW * As of 2015-10-27, WinSW is no longer available at the below location. Please follow the Using NSSM instructions above. -* Download [WinSW](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/) +* Download [WinSW](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/) * Place the executable (e.g. `winsw-1.9-bin.exe`) into this folder (`c:\verdaccio`) and rename it to `verdaccio-winsw.exe` * Create a configuration file in `c:\verdaccio`, named `verdaccio-winsw.xml` with the following configuration `xml verdaccio verdaccio verdaccio node c:\verdaccio\node_modules\verdaccio\src\lib\cli.js -c c:\verdaccio\config.yaml roll c:\verdaccio`. -* Install your service +* Install your service * `cd c:\verdaccio` * `verdaccio-winsw.exe install` -* Start your service +* Start your service * `verdaccio-winsw.exe start` Some of the above config is more verbose than I had expected, it appears as though 'workingdirectory' is ignored, but other than that, this works for me and allows my verdaccio instance to persist between restarts of the server, and also restart itself should there be any crashes of the verdaccio process. + ## Repositories -* [verdaccio-deamon-windows](https://github.com/davidenke/verdaccio-deamon-windows) \ No newline at end of file +* [verdaccio-deamon-windows](https://github.com/davidenke/verdaccio-deamon-windows) diff --git a/website/translated_docs/pt-PT/caching.md b/website/translated_docs/pt-PT/caching.md index 60b7f65879e2..f662d67dfa25 100644 --- a/website/translated_docs/pt-PT/caching.md +++ b/website/translated_docs/pt-PT/caching.md @@ -7,11 +7,12 @@ Verdaccio caches all packages by default into the `/storage` folder. But you can ## Caching scenarios -* Build a Node.js project on **Continous Integration** (Bamboo, GitLab, Jenkins, etc) servers is a task that might take several times at a day, thus, the server will download tons of tarballs from the registry every time takes place. As usual, the CI tools clear the cache after each build and the process start over and over again. That is a waste of bandwidth and reduces the external traffic. **You can use Verdaccio for caching tarballs and metadata in our internal network and give a boost in your build time.** +* Build a Node.js project on **Continous Integration** (Bamboo, GitLab, Jenkins, etc) servers is a task that might take several times at a day, thus, the server will download tons of tarballs from the registry every time takes place. As usual, the CI tools clear the cache after each build and the process start over and over again. That is a waste of bandwidth and reduces the external traffic. **You can use Verdaccio for caching tarballs and metadata in our internal network and give a boost in your build time.** * **Latency and Connectivity**, not all countries enjoy a high-speed connection. For such reason cache packages locally in your network is really handy. Either if you are traveling, or have a weak connection, roaming or countries with strong Firewalls that might affect the user experience (eg: corrupting tarballs). * **Offline Mode**, all Node Package Managers nowadays uses their own internal cache, but it common that different projects might use different tools, which implies lock files and so on. Those tools are unable to share cache, the unique solution is centralized and relies on a proxy registry, Verdaccio cache all metadata and tarballs are downloaded by demand being able to share them across all your project. * Avoid that any remote registry suddenly returns *HTTP 404* error for tarballs were previously available a.k.a ([left-pad issue](https://www.theregister.co.uk/2016/03/23/npm_left_pad_chaos/)). + # Strategies for faster builds > We are looking for more strategies, feel free to share your experience in this field @@ -20,15 +21,16 @@ Verdaccio caches all packages by default into the `/storage` folder. But you can If you have a limited storage space, you might need to avoid cache tarballs, enabling `cache` false in each uplink will cache only metadata files. - uplinks: - npmjs: - url: https://registry.npmjs.org/ - cache: false - +``` +uplinks: + npmjs: + url: https://registry.npmjs.org/ + cache: false +``` ## Extending Cache Expiration Time -Verdaccio by default waits 2 minutes to invalidate the cache metadata before fetching new information from the remote registry. + Verdaccio by default waits 2 minutes to invalidate the cache metadata before fetching new information from the remote registry. ```yaml uplinks: @@ -39,6 +41,7 @@ uplinks: Increasing the value of `maxage` in each `uplink` remotes will be asked less frequently. This might be a valid strategy if you don't update dependencies so often. + ## Using the memory instead the hardrive Sometimes caching packages is not a critical step, rather than route packages from different registries and achieving faster build times. There are two plugins that avoid write in a physical hard drive at all using the memory. @@ -62,4 +65,4 @@ store: limit: 1000 ``` -Remember, once the server is restarted the data is being lost, we recommend this setup in cases where you do not need to persist at all. \ No newline at end of file +Remember, once the server is restarted the data is being lost, we recommend this setup in cases where you do not need to persist at all. diff --git a/website/translated_docs/pt-PT/install.md b/website/translated_docs/pt-PT/install.md index 46b35f61a3bc..3f897208d7f3 100644 --- a/website/translated_docs/pt-PT/install.md +++ b/website/translated_docs/pt-PT/install.md @@ -13,7 +13,7 @@ Verdaccio is a multiplatform web application. To install it, you need a few basi > We highly recommend to use the latest versions of Node Package Manager clients `> npm@6.x | yarn@1.x | | yarn@2.x | pnpm@6.x`. Don't support `npm@5.x` or older. -1. A modern web browser to run the web interface. We actually support `Chrome, Firefox, Edge`. +3. A modern web browser to run the web interface. We actually support `Chrome, Firefox, Edge`. > Verdaccio will support latest Node.js version according the [Node.js Release Working Group](https://github.com/nodejs/Release) recomendations. @@ -21,7 +21,7 @@ Are you still using **Verdaccio 4**?. Check the [migration guide](https://verdac ### Quick Introduction -Learn the basics before getting started, how to install, where is the location of the configuration file and more. +Learn the basics before getting started, how to install, where is the location of the configuration file and more. ## Installing the CLI @@ -92,7 +92,7 @@ Or a `publishConfig` in your `package.json` ## Create Your Own Private NPM Package Tutorial -If you'd like a broader explanation, don't miss the tutorial created by [thedevlife](https://mybiolink.co/thedevlife) on how to Create Your Own Private NPM Package using Verdaccio. +If you'd like a broader explanation, don't miss the tutorial created by [thedevlife](https://mybiolink.co/thedevlife) on how to Create Your Own Private NPM Package using Verdaccio. ## Docker Image @@ -106,4 +106,4 @@ docker run -it --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio `Verdaccio` is also available as a 1-click install on [Cloudron](https://cloudron.io) -[![Install](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=org.eggertsson.verdaccio) \ No newline at end of file +[![Install](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=org.eggertsson.verdaccio) diff --git a/website/translated_docs/pt-PT/kubernetes.md b/website/translated_docs/pt-PT/kubernetes.md index 4d41ab7fc2ab..23827d330596 100644 --- a/website/translated_docs/pt-PT/kubernetes.md +++ b/website/translated_docs/pt-PT/kubernetes.md @@ -23,8 +23,9 @@ Deploy the Helm [verdaccio/verdaccio](https://github.com/verdaccio/charts) chart ### Add repository - helm repo add verdaccio https://charts.verdaccio.org - +``` +helm repo add verdaccio https://charts.verdaccio.org +``` In this example we use `npm` as release name: @@ -52,6 +53,7 @@ helm uninstall npm **Note:** this command delete all the resources, including packages that you may have previously published to the registry. + ### Custom Verdaccio configuration You can customize the Verdaccio configuration using a Kubernetes *configMap*. @@ -92,7 +94,6 @@ helm install npm --set customConfigMap=verdaccio-config verdaccio/verdaccio #### NGINX proxy body-size limit The standard k8s NGINX ingress proxy allows for 1MB for body-size which can be increased by modifying the default deployment options according to the [documentation](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#custom-max-body-size): - ```yaml ... @@ -100,8 +101,7 @@ annotations: ... kubernetes.io/proxy-body-size: 20m -.... -... +.... ``` @@ -109,4 +109,4 @@ annotations: [Rancher](http://rancher.com/) is a complete container management platform that makes managing and using containers in production really easy. -* [verdaccio-rancher](https://github.com/lgaticaq/verdaccio-rancher) \ No newline at end of file +* [verdaccio-rancher](https://github.com/lgaticaq/verdaccio-rancher) diff --git a/website/translated_docs/pt-PT/linking.md b/website/translated_docs/pt-PT/linking.md index 20936fac8e9d..76f693de99c3 100644 --- a/website/translated_docs/pt-PT/linking.md +++ b/website/translated_docs/pt-PT/linking.md @@ -17,10 +17,11 @@ You can link multiple registries, the following document will drive you through The unique way to access multiple registries using the `.npmrc` is the scope feature as follows: - // .npmrc - registry=https://registry.npmjs.org - @mycompany:registry=http://localhost:4873 - +``` +// .npmrc +registry=https://registry.npmjs.org +@mycompany:registry=http://localhost:4873 +``` This approach is valid, but comes with several disadvantages: @@ -75,7 +76,8 @@ Verdaccio supports multiple registries on the `proxy` field. The request will be Having a full Offline Registry is completely possible. If you don't want any connectivity with external remotes you can do the following. ```yaml -
auth: + +auth: htpasswd: file: ./htpasswd uplinks: @@ -91,4 +93,4 @@ packages: publish: $authenticated ``` -Remove all `proxy` fields within each section of `packages`. The registry will become full offline. \ No newline at end of file +Remove all `proxy` fields within each section of `packages`. The registry will become full offline. diff --git a/website/translated_docs/pt-PT/logger.md b/website/translated_docs/pt-PT/logger.md index 64401095fcdf..c25d522b25aa 100644 --- a/website/translated_docs/pt-PT/logger.md +++ b/website/translated_docs/pt-PT/logger.md @@ -28,4 +28,4 @@ Use `SIGUSR2` to notify the application, the log-file was rotated and it needs t | type | string | No | [stdout, file] | all | define the output | | path | string | No | verdaccio.log | all | if type is file, define the location of that file | | format | string | No | [pretty, pretty-timestamped] | all | output format | -| level | string | No | [fatal, error, warn, http, info, debug, trace] | all | verbose level | \ No newline at end of file +| level | string | No | [fatal, error, warn, http, info, debug, trace] | all | verbose level | diff --git a/website/translated_docs/pt-PT/logo.md b/website/translated_docs/pt-PT/logo.md index d93ae00a848c..b2e1d23c74eb 100644 --- a/website/translated_docs/pt-PT/logo.md +++ b/website/translated_docs/pt-PT/logo.md @@ -11,7 +11,7 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ## Symbols -**With text** +__With text__ ![symbol tiny with text](assets/logo/symbol/png/logo-small-header-bottom.png) @@ -19,11 +19,11 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ![symbol big with text](assets/logo/symbol/png/logo-small-header-bottom@3x.png) -**SVG** +__SVG__ ![symbol svg](assets/logo/symbol/svg/logo-small-header-bottom.svg) -**No text** +__No text__ ![symbol tiny](assets/logo/symbol/png/verdaccio-tiny.png) @@ -31,10 +31,12 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ![symbol big](assets/logo/symbol/png/verdaccio-tiny@3x.png) -**SVG** +__SVG__ ![svg format symbol no text](assets/logo/symbol/svg/verdaccio-tiny.svg) + + ### Black&White ![symbol bw small](assets/logo/symbol/png/verdaccio-blackwhite.png) @@ -43,14 +45,17 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ![symbol bw big](assets/logo/symbol/png/verdaccio-blackwhite@3x.png) -**SVG** +__SVG__ ![symbol bw svg](assets/logo/symbol/svg/verdaccio-blackwhite.svg) + ## Banner ![banner small](assets/logo/banner/png/verdaccio-banner.png) ![banner medium](assets/logo/banner/png/verdaccio-banner@2x.png) -![banner big](assets/logo/banner/png/verdaccio-banner@3x.png) \ No newline at end of file +![banner big](assets/logo/banner/png/verdaccio-banner@3x.png) + + diff --git a/website/translated_docs/pt-PT/node-api.md b/website/translated_docs/pt-PT/node-api.md index b1a27cbb0eed..f6840716b5e9 100644 --- a/website/translated_docs/pt-PT/node-api.md +++ b/website/translated_docs/pt-PT/node-api.md @@ -39,4 +39,4 @@ verdaccioServer.serviceUninstall(); verdaccioServer.serviceStart(); verdaccioServer.serviceStop(); verdaccioServer.serviceRestart(); -``` \ No newline at end of file +``` diff --git a/website/translated_docs/pt-PT/notifications.md b/website/translated_docs/pt-PT/notifications.md index 0b3bd0ac7449..3539a44afa14 100644 --- a/website/translated_docs/pt-PT/notifications.md +++ b/website/translated_docs/pt-PT/notifications.md @@ -48,12 +48,13 @@ We use [Handlebars](https://handlebarsjs.com/) as main template engine. ### Format Examples - # iterate all versions - {{ name }}{{#each versions}} v{{version}}{{/each}} - - # publisher and `dist-tag` package published - {{ publisher.name }} has published {{ publishedPackage }} - +``` +# iterate all versions +{{ name }}{{#each versions}} v{{version}}{{/each}} + +# publisher and `dist-tag` package published +{{ publisher.name }} has published {{ publishedPackage }} +``` ### Properties @@ -67,54 +68,56 @@ List of properties accesible via template Package metadata that the template has access - { - "_id": "@test/pkg1", - "name": "@test/pkg1", - "description": "", - "dist-tags": { - "beta": "1.0.54" - }, - "versions": { - "1.0.54": { - "name": "@test/pkg1", - "version": "1.0.54", - "description": "some description", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": { - "name": "Author Name", - "email": "author@domain.com" - }, - "license": "MIT", - "dependencies": { - "webpack": "4.12.0" - }, - "readmeFilename": "README.md", - "_id": "@ test/pkg1@1.0.54", - "_npmVersion": "6.1.0", - "_nodeVersion": "9.9.0", - "_npmUser": {}, - "dist": { - "integrity": "sha512-JlXWpLtMUBAqvVZBvH7UVLhXkGE1ctmXbDjbH/l0zMuG7wVzQ7GshTYvD/b5C+G2vOL2oiIS1RtayA/kKkTwKw==", - "shasum": "29c55c52c1e76e966e706165e5b9f22e32aa9f22", - "tarball": "http://localhost:4873/@test/pkg1/-/@test/pkg1-1.0.54.tgz" - } - } - }, - "readme": "# test", - "_attachments": { - "@test/pkg1-1.0.54.tgz": { - "content_type": "application/octet-stream", - "data": "H4sIAAAAAAAAE+y9Z5PjyJIgOJ ...", - "length": 33112 +``` +{ + "_id": "@test/pkg1", + "name": "@test/pkg1", + "description": "", + "dist-tags": { + "beta": "1.0.54" + }, + "versions": { + "1.0.54": { + "name": "@test/pkg1", + "version": "1.0.54", + "description": "some description", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": { + "name": "Author Name", + "email": "author@domain.com" + }, + "license": "MIT", + "dependencies": { + "webpack": "4.12.0" + }, + "readmeFilename": "README.md", + "_id": "@ test/pkg1@1.0.54", + "_npmVersion": "6.1.0", + "_nodeVersion": "9.9.0", + "_npmUser": {}, + "dist": { + "integrity": "sha512-JlXWpLtMUBAqvVZBvH7UVLhXkGE1ctmXbDjbH/l0zMuG7wVzQ7GshTYvD/b5C+G2vOL2oiIS1RtayA/kKkTwKw==", + "shasum": "29c55c52c1e76e966e706165e5b9f22e32aa9f22", + "tarball": "http://localhost:4873/@test/pkg1/-/@test/pkg1-1.0.54.tgz" } - }, - "time": {} - } - + } + }, + "readme": "# test", + "_attachments": { + "@test/pkg1-1.0.54.tgz": { + "content_type": "application/octet-stream", + "data": "H4sIAAAAAAAAE+y9Z5PjyJIgOJ ...", + "length": 33112 + } + }, + "time": {} +} +``` + ### Publisher @@ -122,21 +125,23 @@ You can get access to the package publisher information in the `content` of a we See below the `publisher` object type: - { - name: string, - groups: string[], - real_groups: string[] - } - +``` +{ + name: string, + groups: string[], + real_groups: string[] +} +``` An example: - notify: - method: POST - headers: [{'Content-Type': 'application/json'}] - endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken - content: '{"color":"green","message":"New package published: * {{ name }}*. Publisher name: * {{ publisher.name }} *.","notify":true,"message_format":"text"}' - +``` +notify: + method: POST + headers: [{'Content-Type': 'application/json'}] + endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken + content: '{"color":"green","message":"New package published: * {{ name }}*. Publisher name: * {{ publisher.name }} *.","notify":true,"message_format":"text"}' +``` **Note:** it's not possible to get the publisher information if the `package.json` file already has the `publisher` property. @@ -144,8 +149,9 @@ An example: You can access to the package is being published with the keyword `{{publishedPackage}}` as follows. - {{ publisher.name }} has published {{ publishedPackage }} - +``` +{{ publisher.name }} has published {{ publishedPackage }} +``` ## Configuration @@ -156,4 +162,4 @@ You can access to the package is being published with the keyword `{{publishedPa | packagePatternFlags | string | No | all | | Any flags to be used with the regular expression | | headers | array/object | Yes | all | | If this endpoint requires specific headers, set them here as an array of key: value objects. | | endpoint | string | Yes | all | | set the URL endpoint for this call | -| content | string | Yes | all | | any [Handlebar](https://handlebarsjs.com/) expressions | \ No newline at end of file +| content | string | Yes | all | | any [Handlebar](https://handlebarsjs.com/) expressions | diff --git a/website/translated_docs/pt-PT/packages.md b/website/translated_docs/pt-PT/packages.md index fcc2bc93d0d0..bd50e417b5c8 100644 --- a/website/translated_docs/pt-PT/packages.md +++ b/website/translated_docs/pt-PT/packages.md @@ -155,7 +155,7 @@ You may assign multiple uplinks for use as a proxy to use in the case of failove #### Unpublishing Packages -The property `publish` handle permissions for `npm publish` and `npm unpublish`. But, if you want to be more specific, you can use the property `unpublish` in your package access section, for instance: +The property `publish` handle permissions for `npm publish` and `npm unpublish`. But, if you want to be more specific, you can use the property `unpublish` in your package access section, for instance: ```yalm packages: @@ -183,6 +183,7 @@ In the previous example, the behaviour would be described: * only authenticated users can publish `my-company-*` packages, but **nobody would be allowed to unpublish them**. * If `unpublish` is commented out, the access will be granted or denied by the `publish` definition. + ### Configuration You can define mutiple `packages` and each of them must have an unique `Regex`. The syntax is based on [minimatch glob expressions](https://github.com/isaacs/minimatch). @@ -196,4 +197,4 @@ You can define mutiple `packages` and each of them must have an unique `Regex`. > We higlight that we recommend to not use **allow_access**/**allow_publish** and **proxy_access** anymore, those are deprecated and will soon be removed, please use the short version of each of those (**access**/**publish**/**proxy**). -If you want more information about how to use the **storage** property, please refer to this [comment](https://github.com/verdaccio/verdaccio/issues/1383#issuecomment-509933674). \ No newline at end of file +If you want more information about how to use the **storage** property, please refer to this [comment](https://github.com/verdaccio/verdaccio/issues/1383#issuecomment-509933674). diff --git a/website/translated_docs/pt-PT/plugins.md b/website/translated_docs/pt-PT/plugins.md index 42c87b8c8bef..06d4fe198de4 100644 --- a/website/translated_docs/pt-PT/plugins.md +++ b/website/translated_docs/pt-PT/plugins.md @@ -24,8 +24,9 @@ $> npm install --global verdaccio-activedirectory `verdaccio` as a sinopia fork it has backward compability with plugins that are compatible with `sinopia@1.4.0`. In such case the installation is the same. - $> npm install --global sinopia-memory - +``` +$> npm install --global sinopia-memory +``` ### Configuration @@ -33,6 +34,7 @@ Open the `config.yaml` file and update the `auth` section as follows: The default configuration looks like this, due we use a build-in `htpasswd` plugin by default that you can disable just commenting out the following lines. + ### Authentication Configuration ```yaml @@ -93,12 +95,14 @@ store: Verdaccio allows to replace the User Interface with a custom one, we call it **theme**. By default, uses `@verdaccio/ui-theme` that comes built-in, but, you can use something different installing your own plugin. ```bash -
$> npm install --global verdaccio-theme-dark + +$> npm install --global verdaccio-theme-dark ``` > The plugin name prefix must start with `verdaccio-theme`, otherwise the plugin won't load. + You can load only one theme at a time and pass through options if you need it. ```yaml @@ -132,4 +136,5 @@ theme: * [sinopia-ldap](https://www.npmjs.com/package/sinopia-ldap): LDAP auth plugin for sinopia. * [sinopia-github-oauth-env](https://www.npmjs.com/package/sinopia-github-oauth-env) Sinopia authentication plugin with github oauth web flow. -> All sinopia plugins should be compatible with all future verdaccio versions. Anyhow, we encourage contributors to migrate them to the modern verdaccio API and using the prefix as *verdaccio-xx-name*. \ No newline at end of file +> All sinopia plugins should be compatible with all future verdaccio versions. Anyhow, we encourage contributors to migrate them to the modern verdaccio API and using the prefix as *verdaccio-xx-name*. + diff --git a/website/translated_docs/pt-PT/protect-your-dependencies.md b/website/translated_docs/pt-PT/protect-your-dependencies.md index 25343e3a7ce1..ca4ceb1e8478 100644 --- a/website/translated_docs/pt-PT/protect-your-dependencies.md +++ b/website/translated_docs/pt-PT/protect-your-dependencies.md @@ -31,7 +31,8 @@ I won't have access to such dependencies and they also won't be visible via the ```bash ➜ npm install my-company-core npm ERR! code E403 -npm ERR! 403 Forbidden: webpack-1@latest +npm ERR! code E403 +npm ERR! ``` or with `yarn`: @@ -40,6 +41,6 @@ or with `yarn`: ➜ yarn add my-company-core yarn add v0.24.6 info No lockfile found. -[1/4] +[1/4] 🔍 Resolving packages... error An unexpected error occurred: "http://localhost:5555/webpack-1: unregistered users are not allowed to access package my-company-core". -``` \ No newline at end of file +``` diff --git a/website/translated_docs/pt-PT/puppet.md b/website/translated_docs/pt-PT/puppet.md index a9cc94557481..390eef309750 100644 --- a/website/translated_docs/pt-PT/puppet.md +++ b/website/translated_docs/pt-PT/puppet.md @@ -16,6 +16,10 @@ In both variants you have to explicitely call "class nodejs {}" in your puppet s For further information: - +[https://github.com/verdaccio/puppet-verdaccio](https://github.com/verdaccio/puppet-verdaccio) + +> We are looking for active contributors for this integration, if you are interested [refers to this ticket](https://github.com/verdaccio/puppet-verdaccio/issues/11). + + + -> We are looking for active contributors for this integration, if you are interested [refers to this ticket](https://github.com/verdaccio/puppet-verdaccio/issues/11). \ No newline at end of file diff --git a/website/translated_docs/pt-PT/repositories.md b/website/translated_docs/pt-PT/repositories.md index fac3fe942aaa..19433d9f03dc 100644 --- a/website/translated_docs/pt-PT/repositories.md +++ b/website/translated_docs/pt-PT/repositories.md @@ -5,4 +5,5 @@ title: Source Code `verdaccio` is composed or multiple repositories you might contribute. Look into the **issues** tab whether there is a ticket waiting for you 🤠. -To see the complete list of repositories, [click here](https://github.com/verdaccio/verdaccio/wiki/Repositories). \ No newline at end of file +To see the complete list of repositories, [click here](https://github.com/verdaccio/verdaccio/wiki/Repositories). + diff --git a/website/translated_docs/pt-PT/reverse-proxy.md b/website/translated_docs/pt-PT/reverse-proxy.md index 769d34e4eb64..f302852d1604 100644 --- a/website/translated_docs/pt-PT/reverse-proxy.md +++ b/website/translated_docs/pt-PT/reverse-proxy.md @@ -11,141 +11,145 @@ Apache and `mod_proxy` should **not decode/encode slashes** and leave them as th For installing at relative path, `/npm`, on the server - - AllowEncodedSlashes NoDecode - ProxyPass /npm http://127.0.0.1:4873 nocanon - ProxyPassReverse /npm http://127.0.0.1:4873 - - +```` + + AllowEncodedSlashes NoDecode + ProxyPass /npm http://127.0.0.1:4873 nocanon + ProxyPassReverse /npm http://127.0.0.1:4873 + +```` For installing at root path, `/`, on the server - - - ServerName your.domain.com - ServerAdmin hello@your.domain.com - ProxyPreserveHost On - AllowEncodedSlashes NoDecode - ProxyPass / http://127.0.0.1:4873/ nocanon - ProxyPassReverse / http://127.0.0.1:4873/ - - +```` + + ServerName your.domain.com + ServerAdmin hello@your.domain.com + ProxyPreserveHost On + AllowEncodedSlashes NoDecode + ProxyPass / http://127.0.0.1:4873/ nocanon + ProxyPassReverse / http://127.0.0.1:4873/ + +```` ### Configuration with SSL Apache virtual server configuration - apacheconfig - - - ServerName npm.your.domain.com - SSLEngine on - SSLCertificateFile /etc/letsencrypt/live/npm.your.domain.com/fullchain.pem - SSLCertificateKeyFile /etc/letsencrypt/live/npm.your.domain.com/privkey.pem - SSLProxyEngine On - ProxyRequests Off - ProxyPreserveHost On - AllowEncodedSlashes NoDecode - ProxyPass / http://127.0.0.1:4873/ nocanon - ProxyPassReverse / http://127.0.0.1:4873/ - RequestHeader set X-Forwarded-Proto "https" - - - +```` + apacheconfig + + + ServerName npm.your.domain.com + SSLEngine on + SSLCertificateFile /etc/letsencrypt/live/npm.your.domain.com/fullchain.pem + SSLCertificateKeyFile /etc/letsencrypt/live/npm.your.domain.com/privkey.pem + SSLProxyEngine On + ProxyRequests Off + ProxyPreserveHost On + AllowEncodedSlashes NoDecode + ProxyPass / http://127.0.0.1:4873/ nocanon + ProxyPassReverse / http://127.0.0.1:4873/ + RequestHeader set X-Forwarded-Proto "https" + + +```` # Nginx The following snippet is a full `docker` example can be tested in our [Docker examples repository](https://github.com/verdaccio/verdaccio/tree/5.x/docker-examples/reverse_proxy/nginx). - upstream verdaccio_v4 { - server verdaccio_relative_path_v4:4873; - keepalive 8; - } - - upstream verdaccio_v4_root { - server verdaccio_relative_path_v4_root:8000; - keepalive 8; +```` +upstream verdaccio_v4 { + server verdaccio_relative_path_v4:4873; + keepalive 8; +} + +upstream verdaccio_v4_root { + server verdaccio_relative_path_v4_root:8000; + keepalive 8; +} + +upstream verdaccio_v3 { + server verdaccio_relative_path_latest_v3:7771; + keepalive 8; +} + +server { + listen 80 default_server; + access_log /var/log/nginx/verdaccio.log; + charset utf-8; + + location / { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4_root; + proxy_redirect off; } - - upstream verdaccio_v3 { - server verdaccio_relative_path_latest_v3:7771; - keepalive 8; + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4/$1; + proxy_redirect off; } - - server { - listen 80 default_server; - access_log /var/log/nginx/verdaccio.log; - charset utf-8; - - location / { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4_root; - proxy_redirect off; - } - - location ~ ^/verdaccio/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4/$1; - proxy_redirect off; - } - - location ~ ^/verdacciov3/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - - proxy_pass http://verdaccio_v3/$1; - proxy_redirect off; - } + + location ~ ^/verdacciov3/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + + proxy_pass http://verdaccio_v3/$1; + proxy_redirect off; } - +} +```` ## SSL example - server { - listen 80; - return 302 https://$host$request_uri; +```` +server { + listen 80; + return 302 https://$host$request_uri; +} + +server { + listen 443 ssl http2; + server_name localhost; + + ssl_certificate /etc/nginx/cert.crt; + ssl_certificate_key /etc/nginx/cert.key; + + ssl on; + ssl_session_cache builtin:1000 shared:SSL:10m; + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; + ssl_prefer_server_ciphers on; + + location / { + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_pass http://verdaccio_v4_root; + proxy_read_timeout 600; + proxy_redirect off; } - - server { - listen 443 ssl http2; - server_name localhost; - - ssl_certificate /etc/nginx/cert.crt; - ssl_certificate_key /etc/nginx/cert.key; - - ssl on; - ssl_session_cache builtin:1000 shared:SSL:10m; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; - ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; - ssl_prefer_server_ciphers on; - - location / { - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_pass http://verdaccio_v4_root; - proxy_read_timeout 600; - proxy_redirect off; - } - - location ~ ^/verdaccio/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4_root/$1; - proxy_redirect off; - } + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4_root/$1; + proxy_redirect off; } - +} +```` ## Run behind reverse proxy with different domain and port @@ -171,10 +175,9 @@ location / { proxy_set_header X-Forwarded-Proto $scheme; } ``` - For this case, `url_prefix` should **NOT** set in Verdaccio config -* * * +--- or a sub-directory installation: @@ -186,7 +189,6 @@ location ~ ^/verdaccio/(.*)$ { proxy_set_header X-Forwarded-Proto $scheme; } ``` - For this case, `url_prefix` should set to `/verdaccio/` -> Note: There is a slash after the install path (`https://your-domain:port/verdaccio/`)! \ No newline at end of file +> Note: There is a slash after the install path (`https://your-domain:port/verdaccio/`)! diff --git a/website/translated_docs/pt-PT/server.md b/website/translated_docs/pt-PT/server.md index 7473ea12d00c..51498ca32c44 100644 --- a/website/translated_docs/pt-PT/server.md +++ b/website/translated_docs/pt-PT/server.md @@ -31,7 +31,6 @@ The `cd` command sends you to the home directory of the Verdaccio user. Make sur ## Listening on all addresses If you want to listen to every external address set the listen directive in the config to: - ```yaml # you can specify listen address (or simply a port) listen: 0.0.0.0:4873 @@ -71,8 +70,9 @@ $ crontab -e This might ask you to choose an editor. Pick your favorite and proceed. Add the following entry to the file: - @reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio - +``` +@reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio +``` The locations may vary depending on your server setup. If you want to know where your files are you can use the 'which' command: @@ -84,9 +84,7 @@ $ which verdaccio ## Using systemd Instead of `forever` you can use `systemd` for starting Verdaccio and keeping it running. Verdaccio installation has systemd unit, you only need to copy it: - ```bash $ sudo cp /usr/lib/node_modules/verdaccio/systemd/verdaccio.service /lib/systemd/system/ && sudo systemctl daemon-reload ``` - -This unit assumes you have configuration in `/etc/verdaccio/config.yaml` and store data in `/var/lib/verdaccio`, so either move your files to those locations or edit the unit. \ No newline at end of file +This unit assumes you have configuration in `/etc/verdaccio/config.yaml` and store data in `/var/lib/verdaccio`, so either move your files to those locations or edit the unit. diff --git a/website/translated_docs/pt-PT/windows.md b/website/translated_docs/pt-PT/windows.md index eeb0b4e96470..753bd9db917e 100644 --- a/website/translated_docs/pt-PT/windows.md +++ b/website/translated_docs/pt-PT/windows.md @@ -5,10 +5,10 @@ title: "Installing As a Windows Service" Loosely based upon the instructions found [here](http://asysadmin.tumblr.com/post/32941224574/running-nginx-on-windows-as-a-service). I crafted the following and it provided me with a fully working verdaccio service installation: -1. Create a directory for verdaccio +1. Create a directory for verdaccio * mkdir `c:\verdaccio` * cd `c:\verdaccio` -2. Install verdaccio locally (I ran into npm issues with global installs) +2. Install verdaccio locally (I ran into npm issues with global installs) * npm install verdaccio 3. Create your `config.yaml` file in this location `(c:\verdaccio\config.yaml)` 4. Windows Service Setup @@ -24,29 +24,29 @@ ALTERNATIVE METHOD: (WinSW package was missing when I tried to download it) * Open an administrative command * Run nssm install verdaccio At a minimum you must fill in the Application tab Path, Startup directory and Arguments fields. Assuming an install with node in the system path and a location of c:\verdaccio the below values will work: - * Path: `node` * Startup directory: `c:\verdaccio` * Arguments: `c:\verdaccio\node_modules\verdaccio\build\lib\cli.js -c c:\verdaccio\config.yaml` - + You can adjust other service settings under other tabs as desired. When you are done, click Install service button - - * Start the service sc start verdaccio + + * Start the service sc start verdaccio ## Using WinSW * As of 2015-10-27, WinSW is no longer available at the below location. Please follow the Using NSSM instructions above. -* Download [WinSW](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/) +* Download [WinSW](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/) * Place the executable (e.g. `winsw-1.9-bin.exe`) into this folder (`c:\verdaccio`) and rename it to `verdaccio-winsw.exe` * Create a configuration file in `c:\verdaccio`, named `verdaccio-winsw.xml` with the following configuration `xml verdaccio verdaccio verdaccio node c:\verdaccio\node_modules\verdaccio\src\lib\cli.js -c c:\verdaccio\config.yaml roll c:\verdaccio`. -* Install your service +* Install your service * `cd c:\verdaccio` * `verdaccio-winsw.exe install` -* Start your service +* Start your service * `verdaccio-winsw.exe start` Some of the above config is more verbose than I had expected, it appears as though 'workingdirectory' is ignored, but other than that, this works for me and allows my verdaccio instance to persist between restarts of the server, and also restart itself should there be any crashes of the verdaccio process. + ## Repositories -* [verdaccio-deamon-windows](https://github.com/davidenke/verdaccio-deamon-windows) \ No newline at end of file +* [verdaccio-deamon-windows](https://github.com/davidenke/verdaccio-deamon-windows) diff --git a/website/translated_docs/ro/amazon.md b/website/translated_docs/ro/amazon.md index cbe70fc29b7e..f7122e403b17 100644 --- a/website/translated_docs/ro/amazon.md +++ b/website/translated_docs/ro/amazon.md @@ -11,25 +11,37 @@ This document describes several approaches for deploying Verdaccio in the AWS cl Architecture: - Clients - | - | (HTTPS) - v - Application Load Balancer - | - | (HTTP) - v - EC2 Auto Scaling Group (Amazon Linux 2) - Docker image (Verdaccio) - | - | (NFS) - v - Elastic File System - - -Architecture notes: * Deploy this stack into the region closest to your users for maximum performance. * We use an auto scaling group primarily for self-healing. The system requirements of Verdaccio are pretty low, so it's unlikely you'll need multiple instances to handle traffic load. * Because Amazon Linux 2 doesn't include Node, we run Verdaccio as a Docker image rather than natively on the instance. This is faster and more secure than relying on third party package sources for Node. * Elastic File System is cheap and stateful, and works across AZs. An alternative would be the [third-party S3 storage plugin](https://github.com/remitly/verdaccio-s3-storage). * For backup, use AWS Backup +``` +Clients + | + | (HTTPS) + v +Application Load Balancer + | + | (HTTP) + v +EC2 Auto Scaling Group (Amazon Linux 2) +Docker image (Verdaccio) + | + | (NFS) + v +Elastic File System +``` + +Architecture notes: +* Deploy this stack into the region closest to your users for maximum performance. +* We use an auto scaling group primarily for self-healing. The system requirements of Verdaccio are pretty low, so it's unlikely you'll need multiple instances to handle traffic load. +* Because Amazon Linux 2 doesn't include Node, we run Verdaccio as a Docker image rather than natively on the instance. This is faster and more secure than relying on third party package sources for Node. +* Elastic File System is cheap and stateful, and works across AZs. An alternative would be the [third-party S3 storage plugin](https://github.com/remitly/verdaccio-s3-storage). + * For backup, use AWS Backup Estimated monthly cost for a small installation (in us-east-1): * ALB (1 LCU average): $22.265/mo * EC2 (t3.nano): $3.796/mo * EBS (8gb): $0.80/mo * EFS (5gb): $1.5/mo * Data transfer: (10gb): $0.9/mo * **TOTAL:** Under $30/mo +* ALB (1 LCU average): $22.265/mo +* EC2 (t3.nano): $3.796/mo +* EBS (8gb): $0.80/mo +* EFS (5gb): $1.5/mo +* Data transfer: (10gb): $0.9/mo +* **TOTAL:** Under $30/mo ## ECS @@ -39,4 +51,4 @@ Note: Fargate doesn't support persistent volumes, so you have to use the S3 stor ## EKS -See the documentation pages on [Kubernetes](kubernetes) and [Docker](docker). \ No newline at end of file +See the documentation pages on [Kubernetes](kubernetes) and [Docker](docker). diff --git a/website/translated_docs/ro/best-practices.md b/website/translated_docs/ro/best-practices.md index 3105367c820d..b6913de67c2d 100644 --- a/website/translated_docs/ro/best-practices.md +++ b/website/translated_docs/ro/best-practices.md @@ -46,34 +46,34 @@ If you want to use a modified version of some public package `foo`, you can just There's two options here: 1. You want to create a separate **fork** and stop synchronizing with public version. - - If you want to do that, you should modify your configuration file so Verdaccio won't make requests regarding this package to npmjs anymore. Add a separate entry for this package to `config.yaml` and remove `npmjs` from `proxy` list and restart the server. - - ```yaml - packages: + + If you want to do that, you should modify your configuration file so Verdaccio won't make requests regarding this package to npmjs anymore. Add a separate entry for this package to `config.yaml` and remove `npmjs` from `proxy` list and restart the server. + + ```yaml + packages: "@my-company/*": access: $all publish: $authenticated # comment it out or leave it empty # proxy: - ``` - - When you publish your package locally, **you should probably start with a version string higher than the existing package** so it won't conflict with that package in the cache. + ``` + + When you publish your package locally, **you should probably start with a version string higher than the existing package** so it won't conflict with that package in the cache. 2. You want to temporarily use your version, but return to the public one as soon as it's updated. - - In order to avoid version conflicts, **you should use a custom pre-release suffix of the next patch version**. For example, if a public package has version 0.1.2, you can upload `0.1.3-my-temp-fix`. - - ```bash + + In order to avoid version conflicts, **you should use a custom pre-release suffix of the next patch version**. For example, if a public package has version 0.1.2, you can upload `0.1.3-my-temp-fix`. + + ```bash npm version 0.1.3-my-temp-fix npm publish --tag fix --registry http://localhost:4873 - ``` - - This way your package will be used until its original maintainer updates his public package to `0.1.3`. + ``` + + This way your package will be used until its original maintainer updates his public package to `0.1.3`. ## Security -> Security starts in your environment. +> Security starts in your environment. Additonal reading: @@ -163,4 +163,4 @@ security: Using JWT also improves the performance with authentication plugins. The old system will perform an unpackage and validate the credentials on every request, while JWT will rely on the token signature instead, avoiding the overhead for the plugin. -As a side note, be aware at **npmjs** and the **legacy** verdaccio token never expires** unless you invalidate manually. \ No newline at end of file +As a side note, be aware at **npmjs** and the **legacy** verdaccio token never expires** unless you invalidate manually. diff --git a/website/translated_docs/ro/caching.md b/website/translated_docs/ro/caching.md index 60b7f65879e2..f662d67dfa25 100644 --- a/website/translated_docs/ro/caching.md +++ b/website/translated_docs/ro/caching.md @@ -7,11 +7,12 @@ Verdaccio caches all packages by default into the `/storage` folder. But you can ## Caching scenarios -* Build a Node.js project on **Continous Integration** (Bamboo, GitLab, Jenkins, etc) servers is a task that might take several times at a day, thus, the server will download tons of tarballs from the registry every time takes place. As usual, the CI tools clear the cache after each build and the process start over and over again. That is a waste of bandwidth and reduces the external traffic. **You can use Verdaccio for caching tarballs and metadata in our internal network and give a boost in your build time.** +* Build a Node.js project on **Continous Integration** (Bamboo, GitLab, Jenkins, etc) servers is a task that might take several times at a day, thus, the server will download tons of tarballs from the registry every time takes place. As usual, the CI tools clear the cache after each build and the process start over and over again. That is a waste of bandwidth and reduces the external traffic. **You can use Verdaccio for caching tarballs and metadata in our internal network and give a boost in your build time.** * **Latency and Connectivity**, not all countries enjoy a high-speed connection. For such reason cache packages locally in your network is really handy. Either if you are traveling, or have a weak connection, roaming or countries with strong Firewalls that might affect the user experience (eg: corrupting tarballs). * **Offline Mode**, all Node Package Managers nowadays uses their own internal cache, but it common that different projects might use different tools, which implies lock files and so on. Those tools are unable to share cache, the unique solution is centralized and relies on a proxy registry, Verdaccio cache all metadata and tarballs are downloaded by demand being able to share them across all your project. * Avoid that any remote registry suddenly returns *HTTP 404* error for tarballs were previously available a.k.a ([left-pad issue](https://www.theregister.co.uk/2016/03/23/npm_left_pad_chaos/)). + # Strategies for faster builds > We are looking for more strategies, feel free to share your experience in this field @@ -20,15 +21,16 @@ Verdaccio caches all packages by default into the `/storage` folder. But you can If you have a limited storage space, you might need to avoid cache tarballs, enabling `cache` false in each uplink will cache only metadata files. - uplinks: - npmjs: - url: https://registry.npmjs.org/ - cache: false - +``` +uplinks: + npmjs: + url: https://registry.npmjs.org/ + cache: false +``` ## Extending Cache Expiration Time -Verdaccio by default waits 2 minutes to invalidate the cache metadata before fetching new information from the remote registry. + Verdaccio by default waits 2 minutes to invalidate the cache metadata before fetching new information from the remote registry. ```yaml uplinks: @@ -39,6 +41,7 @@ uplinks: Increasing the value of `maxage` in each `uplink` remotes will be asked less frequently. This might be a valid strategy if you don't update dependencies so often. + ## Using the memory instead the hardrive Sometimes caching packages is not a critical step, rather than route packages from different registries and achieving faster build times. There are two plugins that avoid write in a physical hard drive at all using the memory. @@ -62,4 +65,4 @@ store: limit: 1000 ``` -Remember, once the server is restarted the data is being lost, we recommend this setup in cases where you do not need to persist at all. \ No newline at end of file +Remember, once the server is restarted the data is being lost, we recommend this setup in cases where you do not need to persist at all. diff --git a/website/translated_docs/ro/chef.md b/website/translated_docs/ro/chef.md index 1aded77e06c8..6fc4da9728d5 100644 --- a/website/translated_docs/ro/chef.md +++ b/website/translated_docs/ro/chef.md @@ -7,9 +7,11 @@ Using Chef Cookbook for Verdaccio For further information: -* -* +* [https://github.com/verdaccio/verdaccio-cookbook](https://github.com/verdaccio/verdaccio-cookbook) +* [https://supermarket.chef.io/cookbooks/verdaccio](https://supermarket.chef.io/cookbooks/verdaccio) > We are looking for contributors for this repository, if you are interested please notify the author via tickets. -Author: [Keli Grubb](https://github.com/kgrubb) && Barthelemy Vessemont. \ No newline at end of file +Author: [Keli Grubb](https://github.com/kgrubb) && Barthelemy Vessemont. + + diff --git a/website/translated_docs/ro/kubernetes.md b/website/translated_docs/ro/kubernetes.md index 4d41ab7fc2ab..5da1b2f18435 100644 --- a/website/translated_docs/ro/kubernetes.md +++ b/website/translated_docs/ro/kubernetes.md @@ -23,8 +23,9 @@ Deploy the Helm [verdaccio/verdaccio](https://github.com/verdaccio/charts) chart ### Add repository - helm repo add verdaccio https://charts.verdaccio.org - +``` +helm repo add verdaccio https://charts.verdaccio.org +``` In this example we use `npm` as release name: @@ -52,6 +53,7 @@ helm uninstall npm **Note:** this command delete all the resources, including packages that you may have previously published to the registry. + ### Custom Verdaccio configuration You can customize the Verdaccio configuration using a Kubernetes *configMap*. @@ -92,7 +94,6 @@ helm install npm --set customConfigMap=verdaccio-config verdaccio/verdaccio #### NGINX proxy body-size limit The standard k8s NGINX ingress proxy allows for 1MB for body-size which can be increased by modifying the default deployment options according to the [documentation](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#custom-max-body-size): - ```yaml ... @@ -109,4 +110,4 @@ annotations: [Rancher](http://rancher.com/) is a complete container management platform that makes managing and using containers in production really easy. -* [verdaccio-rancher](https://github.com/lgaticaq/verdaccio-rancher) \ No newline at end of file +* [verdaccio-rancher](https://github.com/lgaticaq/verdaccio-rancher) diff --git a/website/translated_docs/ro/linking.md b/website/translated_docs/ro/linking.md index 20936fac8e9d..76f693de99c3 100644 --- a/website/translated_docs/ro/linking.md +++ b/website/translated_docs/ro/linking.md @@ -17,10 +17,11 @@ You can link multiple registries, the following document will drive you through The unique way to access multiple registries using the `.npmrc` is the scope feature as follows: - // .npmrc - registry=https://registry.npmjs.org - @mycompany:registry=http://localhost:4873 - +``` +// .npmrc +registry=https://registry.npmjs.org +@mycompany:registry=http://localhost:4873 +``` This approach is valid, but comes with several disadvantages: @@ -75,7 +76,8 @@ Verdaccio supports multiple registries on the `proxy` field. The request will be Having a full Offline Registry is completely possible. If you don't want any connectivity with external remotes you can do the following. ```yaml -
auth: + +auth: htpasswd: file: ./htpasswd uplinks: @@ -91,4 +93,4 @@ packages: publish: $authenticated ``` -Remove all `proxy` fields within each section of `packages`. The registry will become full offline. \ No newline at end of file +Remove all `proxy` fields within each section of `packages`. The registry will become full offline. diff --git a/website/translated_docs/ro/logger.md b/website/translated_docs/ro/logger.md index 64401095fcdf..c25d522b25aa 100644 --- a/website/translated_docs/ro/logger.md +++ b/website/translated_docs/ro/logger.md @@ -28,4 +28,4 @@ Use `SIGUSR2` to notify the application, the log-file was rotated and it needs t | type | string | No | [stdout, file] | all | define the output | | path | string | No | verdaccio.log | all | if type is file, define the location of that file | | format | string | No | [pretty, pretty-timestamped] | all | output format | -| level | string | No | [fatal, error, warn, http, info, debug, trace] | all | verbose level | \ No newline at end of file +| level | string | No | [fatal, error, warn, http, info, debug, trace] | all | verbose level | diff --git a/website/translated_docs/ro/logo.md b/website/translated_docs/ro/logo.md index d93ae00a848c..b2e1d23c74eb 100644 --- a/website/translated_docs/ro/logo.md +++ b/website/translated_docs/ro/logo.md @@ -11,7 +11,7 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ## Symbols -**With text** +__With text__ ![symbol tiny with text](assets/logo/symbol/png/logo-small-header-bottom.png) @@ -19,11 +19,11 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ![symbol big with text](assets/logo/symbol/png/logo-small-header-bottom@3x.png) -**SVG** +__SVG__ ![symbol svg](assets/logo/symbol/svg/logo-small-header-bottom.svg) -**No text** +__No text__ ![symbol tiny](assets/logo/symbol/png/verdaccio-tiny.png) @@ -31,10 +31,12 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ![symbol big](assets/logo/symbol/png/verdaccio-tiny@3x.png) -**SVG** +__SVG__ ![svg format symbol no text](assets/logo/symbol/svg/verdaccio-tiny.svg) + + ### Black&White ![symbol bw small](assets/logo/symbol/png/verdaccio-blackwhite.png) @@ -43,14 +45,17 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ![symbol bw big](assets/logo/symbol/png/verdaccio-blackwhite@3x.png) -**SVG** +__SVG__ ![symbol bw svg](assets/logo/symbol/svg/verdaccio-blackwhite.svg) + ## Banner ![banner small](assets/logo/banner/png/verdaccio-banner.png) ![banner medium](assets/logo/banner/png/verdaccio-banner@2x.png) -![banner big](assets/logo/banner/png/verdaccio-banner@3x.png) \ No newline at end of file +![banner big](assets/logo/banner/png/verdaccio-banner@3x.png) + + diff --git a/website/translated_docs/ro/node-api.md b/website/translated_docs/ro/node-api.md index b1a27cbb0eed..f6840716b5e9 100644 --- a/website/translated_docs/ro/node-api.md +++ b/website/translated_docs/ro/node-api.md @@ -39,4 +39,4 @@ verdaccioServer.serviceUninstall(); verdaccioServer.serviceStart(); verdaccioServer.serviceStop(); verdaccioServer.serviceRestart(); -``` \ No newline at end of file +``` diff --git a/website/translated_docs/ro/notifications.md b/website/translated_docs/ro/notifications.md index 0b3bd0ac7449..3539a44afa14 100644 --- a/website/translated_docs/ro/notifications.md +++ b/website/translated_docs/ro/notifications.md @@ -48,12 +48,13 @@ We use [Handlebars](https://handlebarsjs.com/) as main template engine. ### Format Examples - # iterate all versions - {{ name }}{{#each versions}} v{{version}}{{/each}} - - # publisher and `dist-tag` package published - {{ publisher.name }} has published {{ publishedPackage }} - +``` +# iterate all versions +{{ name }}{{#each versions}} v{{version}}{{/each}} + +# publisher and `dist-tag` package published +{{ publisher.name }} has published {{ publishedPackage }} +``` ### Properties @@ -67,54 +68,56 @@ List of properties accesible via template Package metadata that the template has access - { - "_id": "@test/pkg1", - "name": "@test/pkg1", - "description": "", - "dist-tags": { - "beta": "1.0.54" - }, - "versions": { - "1.0.54": { - "name": "@test/pkg1", - "version": "1.0.54", - "description": "some description", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": { - "name": "Author Name", - "email": "author@domain.com" - }, - "license": "MIT", - "dependencies": { - "webpack": "4.12.0" - }, - "readmeFilename": "README.md", - "_id": "@ test/pkg1@1.0.54", - "_npmVersion": "6.1.0", - "_nodeVersion": "9.9.0", - "_npmUser": {}, - "dist": { - "integrity": "sha512-JlXWpLtMUBAqvVZBvH7UVLhXkGE1ctmXbDjbH/l0zMuG7wVzQ7GshTYvD/b5C+G2vOL2oiIS1RtayA/kKkTwKw==", - "shasum": "29c55c52c1e76e966e706165e5b9f22e32aa9f22", - "tarball": "http://localhost:4873/@test/pkg1/-/@test/pkg1-1.0.54.tgz" - } - } - }, - "readme": "# test", - "_attachments": { - "@test/pkg1-1.0.54.tgz": { - "content_type": "application/octet-stream", - "data": "H4sIAAAAAAAAE+y9Z5PjyJIgOJ ...", - "length": 33112 +``` +{ + "_id": "@test/pkg1", + "name": "@test/pkg1", + "description": "", + "dist-tags": { + "beta": "1.0.54" + }, + "versions": { + "1.0.54": { + "name": "@test/pkg1", + "version": "1.0.54", + "description": "some description", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": { + "name": "Author Name", + "email": "author@domain.com" + }, + "license": "MIT", + "dependencies": { + "webpack": "4.12.0" + }, + "readmeFilename": "README.md", + "_id": "@ test/pkg1@1.0.54", + "_npmVersion": "6.1.0", + "_nodeVersion": "9.9.0", + "_npmUser": {}, + "dist": { + "integrity": "sha512-JlXWpLtMUBAqvVZBvH7UVLhXkGE1ctmXbDjbH/l0zMuG7wVzQ7GshTYvD/b5C+G2vOL2oiIS1RtayA/kKkTwKw==", + "shasum": "29c55c52c1e76e966e706165e5b9f22e32aa9f22", + "tarball": "http://localhost:4873/@test/pkg1/-/@test/pkg1-1.0.54.tgz" } - }, - "time": {} - } - + } + }, + "readme": "# test", + "_attachments": { + "@test/pkg1-1.0.54.tgz": { + "content_type": "application/octet-stream", + "data": "H4sIAAAAAAAAE+y9Z5PjyJIgOJ ...", + "length": 33112 + } + }, + "time": {} +} +``` + ### Publisher @@ -122,21 +125,23 @@ You can get access to the package publisher information in the `content` of a we See below the `publisher` object type: - { - name: string, - groups: string[], - real_groups: string[] - } - +``` +{ + name: string, + groups: string[], + real_groups: string[] +} +``` An example: - notify: - method: POST - headers: [{'Content-Type': 'application/json'}] - endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken - content: '{"color":"green","message":"New package published: * {{ name }}*. Publisher name: * {{ publisher.name }} *.","notify":true,"message_format":"text"}' - +``` +notify: + method: POST + headers: [{'Content-Type': 'application/json'}] + endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken + content: '{"color":"green","message":"New package published: * {{ name }}*. Publisher name: * {{ publisher.name }} *.","notify":true,"message_format":"text"}' +``` **Note:** it's not possible to get the publisher information if the `package.json` file already has the `publisher` property. @@ -144,8 +149,9 @@ An example: You can access to the package is being published with the keyword `{{publishedPackage}}` as follows. - {{ publisher.name }} has published {{ publishedPackage }} - +``` +{{ publisher.name }} has published {{ publishedPackage }} +``` ## Configuration @@ -156,4 +162,4 @@ You can access to the package is being published with the keyword `{{publishedPa | packagePatternFlags | string | No | all | | Any flags to be used with the regular expression | | headers | array/object | Yes | all | | If this endpoint requires specific headers, set them here as an array of key: value objects. | | endpoint | string | Yes | all | | set the URL endpoint for this call | -| content | string | Yes | all | | any [Handlebar](https://handlebarsjs.com/) expressions | \ No newline at end of file +| content | string | Yes | all | | any [Handlebar](https://handlebarsjs.com/) expressions | diff --git a/website/translated_docs/ro/packages.md b/website/translated_docs/ro/packages.md index fcc2bc93d0d0..bd50e417b5c8 100644 --- a/website/translated_docs/ro/packages.md +++ b/website/translated_docs/ro/packages.md @@ -155,7 +155,7 @@ You may assign multiple uplinks for use as a proxy to use in the case of failove #### Unpublishing Packages -The property `publish` handle permissions for `npm publish` and `npm unpublish`. But, if you want to be more specific, you can use the property `unpublish` in your package access section, for instance: +The property `publish` handle permissions for `npm publish` and `npm unpublish`. But, if you want to be more specific, you can use the property `unpublish` in your package access section, for instance: ```yalm packages: @@ -183,6 +183,7 @@ In the previous example, the behaviour would be described: * only authenticated users can publish `my-company-*` packages, but **nobody would be allowed to unpublish them**. * If `unpublish` is commented out, the access will be granted or denied by the `publish` definition. + ### Configuration You can define mutiple `packages` and each of them must have an unique `Regex`. The syntax is based on [minimatch glob expressions](https://github.com/isaacs/minimatch). @@ -196,4 +197,4 @@ You can define mutiple `packages` and each of them must have an unique `Regex`. > We higlight that we recommend to not use **allow_access**/**allow_publish** and **proxy_access** anymore, those are deprecated and will soon be removed, please use the short version of each of those (**access**/**publish**/**proxy**). -If you want more information about how to use the **storage** property, please refer to this [comment](https://github.com/verdaccio/verdaccio/issues/1383#issuecomment-509933674). \ No newline at end of file +If you want more information about how to use the **storage** property, please refer to this [comment](https://github.com/verdaccio/verdaccio/issues/1383#issuecomment-509933674). diff --git a/website/translated_docs/ro/plugins.md b/website/translated_docs/ro/plugins.md index 42c87b8c8bef..06d4fe198de4 100644 --- a/website/translated_docs/ro/plugins.md +++ b/website/translated_docs/ro/plugins.md @@ -24,8 +24,9 @@ $> npm install --global verdaccio-activedirectory `verdaccio` as a sinopia fork it has backward compability with plugins that are compatible with `sinopia@1.4.0`. In such case the installation is the same. - $> npm install --global sinopia-memory - +``` +$> npm install --global sinopia-memory +``` ### Configuration @@ -33,6 +34,7 @@ Open the `config.yaml` file and update the `auth` section as follows: The default configuration looks like this, due we use a build-in `htpasswd` plugin by default that you can disable just commenting out the following lines. + ### Authentication Configuration ```yaml @@ -93,12 +95,14 @@ store: Verdaccio allows to replace the User Interface with a custom one, we call it **theme**. By default, uses `@verdaccio/ui-theme` that comes built-in, but, you can use something different installing your own plugin. ```bash -
$> npm install --global verdaccio-theme-dark + +$> npm install --global verdaccio-theme-dark ``` > The plugin name prefix must start with `verdaccio-theme`, otherwise the plugin won't load. + You can load only one theme at a time and pass through options if you need it. ```yaml @@ -132,4 +136,5 @@ theme: * [sinopia-ldap](https://www.npmjs.com/package/sinopia-ldap): LDAP auth plugin for sinopia. * [sinopia-github-oauth-env](https://www.npmjs.com/package/sinopia-github-oauth-env) Sinopia authentication plugin with github oauth web flow. -> All sinopia plugins should be compatible with all future verdaccio versions. Anyhow, we encourage contributors to migrate them to the modern verdaccio API and using the prefix as *verdaccio-xx-name*. \ No newline at end of file +> All sinopia plugins should be compatible with all future verdaccio versions. Anyhow, we encourage contributors to migrate them to the modern verdaccio API and using the prefix as *verdaccio-xx-name*. + diff --git a/website/translated_docs/ro/protect-your-dependencies.md b/website/translated_docs/ro/protect-your-dependencies.md index 25343e3a7ce1..9ceacfdc02b2 100644 --- a/website/translated_docs/ro/protect-your-dependencies.md +++ b/website/translated_docs/ro/protect-your-dependencies.md @@ -40,6 +40,6 @@ or with `yarn`: ➜ yarn add my-company-core yarn add v0.24.6 info No lockfile found. -[1/4] +[1/4] 🔍 Resolving packages... error An unexpected error occurred: "http://localhost:5555/webpack-1: unregistered users are not allowed to access package my-company-core". -``` \ No newline at end of file +``` diff --git a/website/translated_docs/ro/puppet.md b/website/translated_docs/ro/puppet.md index a9cc94557481..390eef309750 100644 --- a/website/translated_docs/ro/puppet.md +++ b/website/translated_docs/ro/puppet.md @@ -16,6 +16,10 @@ In both variants you have to explicitely call "class nodejs {}" in your puppet s For further information: - +[https://github.com/verdaccio/puppet-verdaccio](https://github.com/verdaccio/puppet-verdaccio) + +> We are looking for active contributors for this integration, if you are interested [refers to this ticket](https://github.com/verdaccio/puppet-verdaccio/issues/11). + + + -> We are looking for active contributors for this integration, if you are interested [refers to this ticket](https://github.com/verdaccio/puppet-verdaccio/issues/11). \ No newline at end of file diff --git a/website/translated_docs/ro/repositories.md b/website/translated_docs/ro/repositories.md index fac3fe942aaa..19433d9f03dc 100644 --- a/website/translated_docs/ro/repositories.md +++ b/website/translated_docs/ro/repositories.md @@ -5,4 +5,5 @@ title: Source Code `verdaccio` is composed or multiple repositories you might contribute. Look into the **issues** tab whether there is a ticket waiting for you 🤠. -To see the complete list of repositories, [click here](https://github.com/verdaccio/verdaccio/wiki/Repositories). \ No newline at end of file +To see the complete list of repositories, [click here](https://github.com/verdaccio/verdaccio/wiki/Repositories). + diff --git a/website/translated_docs/ro/reverse-proxy.md b/website/translated_docs/ro/reverse-proxy.md index 769d34e4eb64..f302852d1604 100644 --- a/website/translated_docs/ro/reverse-proxy.md +++ b/website/translated_docs/ro/reverse-proxy.md @@ -11,141 +11,145 @@ Apache and `mod_proxy` should **not decode/encode slashes** and leave them as th For installing at relative path, `/npm`, on the server - - AllowEncodedSlashes NoDecode - ProxyPass /npm http://127.0.0.1:4873 nocanon - ProxyPassReverse /npm http://127.0.0.1:4873 - - +```` + + AllowEncodedSlashes NoDecode + ProxyPass /npm http://127.0.0.1:4873 nocanon + ProxyPassReverse /npm http://127.0.0.1:4873 + +```` For installing at root path, `/`, on the server - - - ServerName your.domain.com - ServerAdmin hello@your.domain.com - ProxyPreserveHost On - AllowEncodedSlashes NoDecode - ProxyPass / http://127.0.0.1:4873/ nocanon - ProxyPassReverse / http://127.0.0.1:4873/ - - +```` + + ServerName your.domain.com + ServerAdmin hello@your.domain.com + ProxyPreserveHost On + AllowEncodedSlashes NoDecode + ProxyPass / http://127.0.0.1:4873/ nocanon + ProxyPassReverse / http://127.0.0.1:4873/ + +```` ### Configuration with SSL Apache virtual server configuration - apacheconfig - - - ServerName npm.your.domain.com - SSLEngine on - SSLCertificateFile /etc/letsencrypt/live/npm.your.domain.com/fullchain.pem - SSLCertificateKeyFile /etc/letsencrypt/live/npm.your.domain.com/privkey.pem - SSLProxyEngine On - ProxyRequests Off - ProxyPreserveHost On - AllowEncodedSlashes NoDecode - ProxyPass / http://127.0.0.1:4873/ nocanon - ProxyPassReverse / http://127.0.0.1:4873/ - RequestHeader set X-Forwarded-Proto "https" - - - +```` + apacheconfig + + + ServerName npm.your.domain.com + SSLEngine on + SSLCertificateFile /etc/letsencrypt/live/npm.your.domain.com/fullchain.pem + SSLCertificateKeyFile /etc/letsencrypt/live/npm.your.domain.com/privkey.pem + SSLProxyEngine On + ProxyRequests Off + ProxyPreserveHost On + AllowEncodedSlashes NoDecode + ProxyPass / http://127.0.0.1:4873/ nocanon + ProxyPassReverse / http://127.0.0.1:4873/ + RequestHeader set X-Forwarded-Proto "https" + + +```` # Nginx The following snippet is a full `docker` example can be tested in our [Docker examples repository](https://github.com/verdaccio/verdaccio/tree/5.x/docker-examples/reverse_proxy/nginx). - upstream verdaccio_v4 { - server verdaccio_relative_path_v4:4873; - keepalive 8; - } - - upstream verdaccio_v4_root { - server verdaccio_relative_path_v4_root:8000; - keepalive 8; +```` +upstream verdaccio_v4 { + server verdaccio_relative_path_v4:4873; + keepalive 8; +} + +upstream verdaccio_v4_root { + server verdaccio_relative_path_v4_root:8000; + keepalive 8; +} + +upstream verdaccio_v3 { + server verdaccio_relative_path_latest_v3:7771; + keepalive 8; +} + +server { + listen 80 default_server; + access_log /var/log/nginx/verdaccio.log; + charset utf-8; + + location / { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4_root; + proxy_redirect off; } - - upstream verdaccio_v3 { - server verdaccio_relative_path_latest_v3:7771; - keepalive 8; + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4/$1; + proxy_redirect off; } - - server { - listen 80 default_server; - access_log /var/log/nginx/verdaccio.log; - charset utf-8; - - location / { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4_root; - proxy_redirect off; - } - - location ~ ^/verdaccio/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4/$1; - proxy_redirect off; - } - - location ~ ^/verdacciov3/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - - proxy_pass http://verdaccio_v3/$1; - proxy_redirect off; - } + + location ~ ^/verdacciov3/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + + proxy_pass http://verdaccio_v3/$1; + proxy_redirect off; } - +} +```` ## SSL example - server { - listen 80; - return 302 https://$host$request_uri; +```` +server { + listen 80; + return 302 https://$host$request_uri; +} + +server { + listen 443 ssl http2; + server_name localhost; + + ssl_certificate /etc/nginx/cert.crt; + ssl_certificate_key /etc/nginx/cert.key; + + ssl on; + ssl_session_cache builtin:1000 shared:SSL:10m; + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; + ssl_prefer_server_ciphers on; + + location / { + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_pass http://verdaccio_v4_root; + proxy_read_timeout 600; + proxy_redirect off; } - - server { - listen 443 ssl http2; - server_name localhost; - - ssl_certificate /etc/nginx/cert.crt; - ssl_certificate_key /etc/nginx/cert.key; - - ssl on; - ssl_session_cache builtin:1000 shared:SSL:10m; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; - ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; - ssl_prefer_server_ciphers on; - - location / { - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_pass http://verdaccio_v4_root; - proxy_read_timeout 600; - proxy_redirect off; - } - - location ~ ^/verdaccio/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4_root/$1; - proxy_redirect off; - } + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4_root/$1; + proxy_redirect off; } - +} +```` ## Run behind reverse proxy with different domain and port @@ -171,10 +175,9 @@ location / { proxy_set_header X-Forwarded-Proto $scheme; } ``` - For this case, `url_prefix` should **NOT** set in Verdaccio config -* * * +--- or a sub-directory installation: @@ -186,7 +189,6 @@ location ~ ^/verdaccio/(.*)$ { proxy_set_header X-Forwarded-Proto $scheme; } ``` - For this case, `url_prefix` should set to `/verdaccio/` -> Note: There is a slash after the install path (`https://your-domain:port/verdaccio/`)! \ No newline at end of file +> Note: There is a slash after the install path (`https://your-domain:port/verdaccio/`)! diff --git a/website/translated_docs/ro/server.md b/website/translated_docs/ro/server.md index 7473ea12d00c..51498ca32c44 100644 --- a/website/translated_docs/ro/server.md +++ b/website/translated_docs/ro/server.md @@ -31,7 +31,6 @@ The `cd` command sends you to the home directory of the Verdaccio user. Make sur ## Listening on all addresses If you want to listen to every external address set the listen directive in the config to: - ```yaml # you can specify listen address (or simply a port) listen: 0.0.0.0:4873 @@ -71,8 +70,9 @@ $ crontab -e This might ask you to choose an editor. Pick your favorite and proceed. Add the following entry to the file: - @reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio - +``` +@reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio +``` The locations may vary depending on your server setup. If you want to know where your files are you can use the 'which' command: @@ -84,9 +84,7 @@ $ which verdaccio ## Using systemd Instead of `forever` you can use `systemd` for starting Verdaccio and keeping it running. Verdaccio installation has systemd unit, you only need to copy it: - ```bash $ sudo cp /usr/lib/node_modules/verdaccio/systemd/verdaccio.service /lib/systemd/system/ && sudo systemctl daemon-reload ``` - -This unit assumes you have configuration in `/etc/verdaccio/config.yaml` and store data in `/var/lib/verdaccio`, so either move your files to those locations or edit the unit. \ No newline at end of file +This unit assumes you have configuration in `/etc/verdaccio/config.yaml` and store data in `/var/lib/verdaccio`, so either move your files to those locations or edit the unit. diff --git a/website/translated_docs/ro/ssl.md b/website/translated_docs/ro/ssl.md index 02399848b2fb..785a2f47a344 100644 --- a/website/translated_docs/ro/ssl.md +++ b/website/translated_docs/ro/ssl.md @@ -5,31 +5,39 @@ title: "Set up the SSL Certificates" Follow these instructions to configure an SSL certificate to serve an npm registry over HTTPS. + * Update the listen property in your `~/.config/verdaccio/config.yaml`: - listen: 'https://your.domain.com/' - +```` +listen: 'https://your.domain.com/' +```` Once you've updated the listen property and try to run verdaccio again, it will ask for certificates. * Generate your certificates - $ openssl genrsa -out /Users/user/.config/verdaccio/verdaccio-key.pem 2048 - $ openssl req -new -sha256 -key /Users/user/.config/verdaccio/verdaccio-key.pem -out /Users/user/.config/verdaccio/verdaccio-csr.pem - $ openssl x509 -req -in /Users/user/.config/verdaccio/verdaccio-csr.pem -signkey /Users/user/.config/verdaccio/verdaccio-key.pem -out /Users/user/.config/verdaccio/verdaccio-cert.pem - ```` - - * Edit your config file `/Users/user/.config/verdaccio/config.yaml` and add the following section: - - +```` + $ openssl genrsa -out /Users/user/.config/verdaccio/verdaccio-key.pem 2048 + $ openssl req -new -sha256 -key /Users/user/.config/verdaccio/verdaccio-key.pem -out /Users/user/.config/verdaccio/verdaccio-csr.pem + $ openssl x509 -req -in /Users/user/.config/verdaccio/verdaccio-csr.pem -signkey /Users/user/.config/verdaccio/verdaccio-key.pem -out /Users/user/.config/verdaccio/verdaccio-cert.pem + ```` -https: key: /Users/user/.config/verdaccio/verdaccio-key.pem cert: /Users/user/.config/verdaccio/verdaccio-cert.pem ca: /Users/user/.config/verdaccio/verdaccio-csr.pem +* Edit your config file `/Users/user/.config/verdaccio/config.yaml` and add the following section: -
Alternatively, if you have a certificate with the `server.pfx` format, you can add the following configuration section: (The passphrase is optional and only needed if your certificate is encrypted.) - - +```` +https: + key: /Users/user/.config/verdaccio/verdaccio-key.pem + cert: /Users/user/.config/verdaccio/verdaccio-cert.pem + ca: /Users/user/.config/verdaccio/verdaccio-csr.pem +```` -https: pfx: /Users/user/.config/verdaccio/server.pfx passphrase: 'secret' ```` +https: key: /Users/user/.config/verdaccio/verdaccio-key.pem cert: /Users/user/.config/verdaccio/verdaccio-cert.pem ca: /Users/user/.config/verdaccio/verdaccio-csr.pem + +```` +https: + pfx: /Users/user/.config/verdaccio/server.pfx + passphrase: 'secret' +```` You can find more info on the `key`, `cert`, `ca`, `pfx`, and `passphrase` arguments in the [Node documentation](https://nodejs.org/api/tls.html#tls_tls_createsecurecontext_options) @@ -40,7 +48,6 @@ You can find more info on the `key`, `cert`, `ca`, `pfx`, and `passphrase` argum These instructions are mostly valid under OSX and Linux; on Windows the paths will vary, but the steps are the same. ## Docker - If you are using the Docker image, you have to set the `VERDACCIO_PROTOCOL` environment variable to `https`, as the `listen` argument is provided in the [Dockerfile](https://github.com/verdaccio/verdaccio/blob/master/Dockerfile#L43) and thus ignored from your config file. -You can also set the `VERDACCIO_PORT` environment variable if you are using a port other than `4873`. \ No newline at end of file +You can also set the `VERDACCIO_PORT` environment variable if you are using a port other than `4873`. diff --git a/website/translated_docs/ro/windows.md b/website/translated_docs/ro/windows.md index eeb0b4e96470..753bd9db917e 100644 --- a/website/translated_docs/ro/windows.md +++ b/website/translated_docs/ro/windows.md @@ -5,10 +5,10 @@ title: "Installing As a Windows Service" Loosely based upon the instructions found [here](http://asysadmin.tumblr.com/post/32941224574/running-nginx-on-windows-as-a-service). I crafted the following and it provided me with a fully working verdaccio service installation: -1. Create a directory for verdaccio +1. Create a directory for verdaccio * mkdir `c:\verdaccio` * cd `c:\verdaccio` -2. Install verdaccio locally (I ran into npm issues with global installs) +2. Install verdaccio locally (I ran into npm issues with global installs) * npm install verdaccio 3. Create your `config.yaml` file in this location `(c:\verdaccio\config.yaml)` 4. Windows Service Setup @@ -24,29 +24,29 @@ ALTERNATIVE METHOD: (WinSW package was missing when I tried to download it) * Open an administrative command * Run nssm install verdaccio At a minimum you must fill in the Application tab Path, Startup directory and Arguments fields. Assuming an install with node in the system path and a location of c:\verdaccio the below values will work: - * Path: `node` * Startup directory: `c:\verdaccio` * Arguments: `c:\verdaccio\node_modules\verdaccio\build\lib\cli.js -c c:\verdaccio\config.yaml` - + You can adjust other service settings under other tabs as desired. When you are done, click Install service button - - * Start the service sc start verdaccio + + * Start the service sc start verdaccio ## Using WinSW * As of 2015-10-27, WinSW is no longer available at the below location. Please follow the Using NSSM instructions above. -* Download [WinSW](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/) +* Download [WinSW](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/) * Place the executable (e.g. `winsw-1.9-bin.exe`) into this folder (`c:\verdaccio`) and rename it to `verdaccio-winsw.exe` * Create a configuration file in `c:\verdaccio`, named `verdaccio-winsw.xml` with the following configuration `xml verdaccio verdaccio verdaccio node c:\verdaccio\node_modules\verdaccio\src\lib\cli.js -c c:\verdaccio\config.yaml roll c:\verdaccio`. -* Install your service +* Install your service * `cd c:\verdaccio` * `verdaccio-winsw.exe install` -* Start your service +* Start your service * `verdaccio-winsw.exe start` Some of the above config is more verbose than I had expected, it appears as though 'workingdirectory' is ignored, but other than that, this works for me and allows my verdaccio instance to persist between restarts of the server, and also restart itself should there be any crashes of the verdaccio process. + ## Repositories -* [verdaccio-deamon-windows](https://github.com/davidenke/verdaccio-deamon-windows) \ No newline at end of file +* [verdaccio-deamon-windows](https://github.com/davidenke/verdaccio-deamon-windows) diff --git a/website/translated_docs/ru-RU/caching.md b/website/translated_docs/ru-RU/caching.md index 364bff493fd9..53a43be4434d 100644 --- a/website/translated_docs/ru-RU/caching.md +++ b/website/translated_docs/ru-RU/caching.md @@ -7,11 +7,12 @@ Verdaccio кэширует все пакеты по умолчанию в пап ## Сценарии кэширования -* Сборка проекта на Node.js project на серверах **непрерывной интеграции** (Bamboo, GitLab, Jenkins, и т.д.) - это задача, которая может выполняться несколько раз в день, при этом сервер каждый раз будет загружать кучи tar-файлов. Ведь обычно CI-инструменты очищают кэш после каждой сборки, и процесс загрузки каждый раз начинается заново. Это напрасная нагрузка на сеть и напрасная трата трафика. **Вы можете использовать Verdaccio для кэширования tar-файлов и метаданных в своей внутренней сети и этим ускорить сборку.** +* Сборка проекта на Node.js project на серверах **непрерывной интеграции** (Bamboo, GitLab, Jenkins, и т.д.) - это задача, которая может выполняться несколько раз в день, при этом сервер каждый раз будет загружать кучи tar-файлов. Ведь обычно CI-инструменты очищают кэш после каждой сборки, и процесс загрузки каждый раз начинается заново. Это напрасная нагрузка на сеть и напрасная трата трафика. **Вы можете использовать Verdaccio для кэширования tar-файлов и метаданных в своей внутренней сети и этим ускорить сборку.** * **Задержка и Доступность**, не во всех странах есть высокоскоростное соединение. По этой причине, иметь кэшированные в вашей сети пакеты - очень удобно. Или вы путешествуете, или у вас слабое соединение, или роуминг, или вы находитесь в стране с сильным фаерволом, который может повлиять на пользовательский опыт (в смысле: повредить tar-файлы). -* **Офлайновый режим**, все менеджеры пакетов в наши дни имеют свой внутренний кэш, но обычно у каждого проекта свой инструментарий, своя система блокировки файлов и т.д. Это делает невозможным использование общего кэша, и требуется централизованное решение, например, проксирующий репозиторий Verdaccio, который кэширует метаданные и tar-файлы, загруженные по требованию пользователя, и позволяет совместно их использовать. +* **Офлайновый режим**, все менеджеры пакетов в наши дни имеют свой внутренний кэш, но обычно у каждого проекта свой инструментарий, своя система блокировки файлов и т.д. Это делает невозможным использование общего кэша, и требуется централизованное решение, например, проксирующий репозиторий Verdaccio, который кэширует метаданные и tar-файлы, загруженные по требованию пользователя, и позволяет совместно их использовать. Это делает невозможным использование общего кэша, и требуется централизованное решение, например, проксирующий репозиторий Verdaccio, который кэширует метаданные и tar-файлы, загруженные по требованию пользователя, и позволяет совместно их использовать. * Позволяет избегнуть ситуации, когда удаленный репозиторий пакетов возвращает ошибку *HTTP 404* для tar-файлов, которые были доступны совсем недавно (a.k.a [случай с left-pad](https://www.theregister.co.uk/2016/03/23/npm_left_pad_chaos/)). + # Стратегии для ускорения сборки > Мы ищем новые стратегии, не стесняйтесь делиться опытом на этом поле. @@ -20,15 +21,16 @@ Verdaccio кэширует все пакеты по умолчанию в пап Если у вас не так много места, вам может понадобится отключение кэширования tar-файлов, установите `cache` в значение false для каждого аплинка, и только метаданные будут кэшироваться. - uplinks: - npmjs: - url: https://registry.npmjs.org/ - cache: false - +``` +uplinks: + npmjs: + url: https://registry.npmjs.org/ + cache: false +``` ## Увеличение времени жизни метаданных -По умолчанию, время жизни метаданных в кэше Verdaccio составляет 2 минуты, после чего метаданные будут снова запрошены из удаленного репозитория. + По умолчанию, время жизни метаданных в кэше Verdaccio составляет 2 минуты, после чего метаданные будут снова запрошены из удаленного репозитория. ```yaml uplinks: @@ -39,6 +41,7 @@ uplinks: Если увеличить значение `maxage` для каждого `аплинка`, удаленный репозиторий будет опрашиваться реже. Это может стать отличной стратегией, если ваши зависимости обновляются не слишком часто. + ## Использование памяти вместо диска Иногда закэшировать пакеты не так важно, а важно получить их из разных репозиториев и ускорить сборку. Есть два плагина, которые позволяют избежать записи пакетов на диск, и хранить их в памяти. @@ -62,4 +65,4 @@ store: limit: 1000 ``` -Помните, что когда сервер будет перезапущен, все данные будут потеряны, поэтому мы рекомендуем этот вариант в случаях, когда вам вообще не нужно хранить пакеты. \ No newline at end of file +Помните, что когда сервер будет перезапущен, все данные будут потеряны, поэтому мы рекомендуем этот вариант в случаях, когда вам вообще не нужно хранить пакеты. diff --git a/website/translated_docs/ru-RU/install.md b/website/translated_docs/ru-RU/install.md index c8a142279587..c5e846cd34c1 100644 --- a/website/translated_docs/ru-RU/install.md +++ b/website/translated_docs/ru-RU/install.md @@ -13,7 +13,7 @@ Verdaccio is a multiplatform web application. To install it, you need a few basi > We highly recommend to use the latest versions of Node Package Manager clients `> npm@6.x | yarn@1.x | | yarn@2.x | pnpm@6.x`. Don't support `npm@5.x` or older. -1. A modern web browser to run the web interface. We actually support `Chrome, Firefox, Edge`. +3. A modern web browser to run the web interface. We actually support `Chrome, Firefox, Edge`. > Verdaccio будет поддерживать последние версии Node.js version в соответствии с рекомендациями [Node.js Release Working Group](https://github.com/nodejs/Release). @@ -21,7 +21,7 @@ Are you still using **Verdaccio 4**?. Check the [migration guide](https://verdac ### Quick Introduction -Learn the basics before getting started, how to install, where is the location of the configuration file and more. +Learn the basics before getting started, how to install, where is the location of the configuration file and more. ## Installing the CLI @@ -92,7 +92,7 @@ Or a `publishConfig` in your `package.json` ## Create Your Own Private NPM Package Tutorial -If you'd like a broader explanation, don't miss the tutorial created by [thedevlife](https://mybiolink.co/thedevlife) on how to Create Your Own Private NPM Package using Verdaccio. +If you'd like a broader explanation, don't miss the tutorial created by [thedevlife](https://mybiolink.co/thedevlife) on how to Create Your Own Private NPM Package using Verdaccio. ## Docker Image @@ -106,4 +106,4 @@ docker run -it --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio `Verdaccio` is also available as a 1-click install on [Cloudron](https://cloudron.io) -[![Установка](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=org.eggertsson.verdaccio) \ No newline at end of file +[![Установка](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=org.eggertsson.verdaccio) diff --git a/website/translated_docs/ru-RU/kubernetes.md b/website/translated_docs/ru-RU/kubernetes.md index c12b4eb91983..452d7c78fa56 100644 --- a/website/translated_docs/ru-RU/kubernetes.md +++ b/website/translated_docs/ru-RU/kubernetes.md @@ -23,8 +23,9 @@ Deploy the Helm [verdaccio/verdaccio](https://github.com/verdaccio/charts) chart ### Add repository - helm repo add verdaccio https://charts.verdaccio.org - +``` +helm repo add verdaccio https://charts.verdaccio.org +``` In this example we use `npm` as release name: @@ -52,6 +53,7 @@ helm uninstall npm **Примечание:** эта команда удалит все ресурсы, включая пакеты, которые ранее были вами опубликованы в реестре. + ### Пользовательская конфигурация Verdaccio Вы можете настроить конфигурацию Verdaccio используя Kubernetes *configMap*. @@ -92,7 +94,6 @@ helm install npm --set customConfigMap=verdaccio-config verdaccio/verdaccio #### NGINX proxy body-size limit The standard k8s NGINX ingress proxy allows for 1MB for body-size which can be increased by modifying the default deployment options according to the [documentation](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#custom-max-body-size): - ```yaml ... @@ -100,8 +101,7 @@ annotations: ... kubernetes.io/proxy-body-size: 20m -.... -... +.... ``` @@ -109,4 +109,4 @@ annotations: [Rancher](http://rancher.com/) is a complete container management platform that makes managing and using containers in production really easy. -* [verdaccio-rancher](https://github.com/lgaticaq/verdaccio-rancher) \ No newline at end of file +* [verdaccio-rancher](https://github.com/lgaticaq/verdaccio-rancher) diff --git a/website/translated_docs/ru-RU/linking.md b/website/translated_docs/ru-RU/linking.md index d25c4e21a8c3..2603fcb207bd 100644 --- a/website/translated_docs/ru-RU/linking.md +++ b/website/translated_docs/ru-RU/linking.md @@ -17,10 +17,11 @@ uplinks: Единственный способ для доступа к нескольким репозиториям, использующийся в `.npmrc`, это разделение по scope, например: - // .npmrc - registry=https://registry.npmjs.org - @mycompany:registry=http://localhost:4873 - +``` +// .npmrc +registry=https://registry.npmjs.org +@mycompany:registry=http://localhost:4873 +``` Этот способ вполне годный, но есть несколько минусов: @@ -75,7 +76,8 @@ uplinks: Можно сделать репозиторий полностью оффлайновым. Если вы не хотите никаких соединений с удаленными репозиториями, можно сделать так. ```yaml -
auth: + +auth: htpasswd: file: ./htpasswd uplinks: @@ -91,4 +93,4 @@ packages: publish: $authenticated ``` -Удалите все строчки с полем `proxy` в каждом блоке секции `packages`. Реестр станет полностью оффлайновым. \ No newline at end of file +Удалите все строчки с полем `proxy` в каждом блоке секции `packages`. Реестр станет полностью оффлайновым. diff --git a/website/translated_docs/ru-RU/logger.md b/website/translated_docs/ru-RU/logger.md index fa6224642998..fc6ce31d8288 100644 --- a/website/translated_docs/ru-RU/logger.md +++ b/website/translated_docs/ru-RU/logger.md @@ -28,4 +28,4 @@ Use `SIGUSR2` to notify the application, the log-file was rotated and it needs t | type | string | Нет | [stdout, file] | все | определяет устройство вывода | | path | string | Нет | verdaccio.log | все | если type - это файл, то местоположение этого файла | | format | string | Нет | [pretty, pretty-timestamped] | все | форматирование выходных данных | -| level | string | Нет | [fatal, error, warn, http, info, debug, trace] | все | уровень подробности логов | \ No newline at end of file +| level | string | Нет | [fatal, error, warn, http, info, debug, trace] | все | уровень подробности логов | diff --git a/website/translated_docs/ru-RU/logo.md b/website/translated_docs/ru-RU/logo.md index 1d95dd4a90b3..25a05450d38a 100644 --- a/website/translated_docs/ru-RU/logo.md +++ b/website/translated_docs/ru-RU/logo.md @@ -11,7 +11,7 @@ title: "Логотип" ## Логотип -**С текстом** +__С текстом__ ![логотип маленький с текстом](assets/logo/symbol/png/logo-small-header-bottom.png) @@ -19,11 +19,11 @@ title: "Логотип" ![логотип большой с текстом](assets/logo/symbol/png/logo-small-header-bottom@3x.png) -**SVG** +__SVG__ ![логотип svg](assets/logo/symbol/svg/logo-small-header-bottom.svg) -**Без текста** +__Без текста__ ![логотип маленький](assets/logo/symbol/png/verdaccio-tiny.png) @@ -31,10 +31,12 @@ title: "Логотип" ![логотип большой](assets/logo/symbol/png/verdaccio-tiny@3x.png) -**SVG** +__SVG__ ![логотип svg форматированный без текста](assets/logo/symbol/svg/verdaccio-tiny.svg) + + ### Черно-белый ![логотип чб маленький](assets/logo/symbol/png/verdaccio-blackwhite.png) @@ -43,14 +45,17 @@ title: "Логотип" ![логотип чб большой](assets/logo/symbol/png/verdaccio-blackwhite@3x.png) -**SVG** +__SVG__ ![логотип чб svg](assets/logo/symbol/svg/verdaccio-blackwhite.svg) + ## Баннер ![баннер маленький](assets/logo/banner/png/verdaccio-banner.png) ![баннер средний](assets/logo/banner/png/verdaccio-banner@2x.png) -![баннер большой](assets/logo/banner/png/verdaccio-banner@3x.png) \ No newline at end of file +![баннер большой](assets/logo/banner/png/verdaccio-banner@3x.png) + + diff --git a/website/translated_docs/ru-RU/node-api.md b/website/translated_docs/ru-RU/node-api.md index 7b8f9cbecdd1..046bc460040f 100644 --- a/website/translated_docs/ru-RU/node-api.md +++ b/website/translated_docs/ru-RU/node-api.md @@ -22,7 +22,7 @@ Verdaccio can be invoked programmatically. The Node API was introduced after ver ## Другие способы -* [verdaccio-server](https://github.com/boringame/verdaccio-server) +* [verdaccio-server](https://github.com/boringame/verdaccio-server) ```js // js @@ -39,4 +39,4 @@ verdaccioServer.serviceUninstall(); verdaccioServer.serviceStart(); verdaccioServer.serviceStop(); verdaccioServer.serviceRestart(); -``` \ No newline at end of file +``` diff --git a/website/translated_docs/ru-RU/notifications.md b/website/translated_docs/ru-RU/notifications.md index eba7fd379625..5f8189a14543 100644 --- a/website/translated_docs/ru-RU/notifications.md +++ b/website/translated_docs/ru-RU/notifications.md @@ -48,12 +48,13 @@ notify: ### Пример форматирования - # итерировать все версии - {{ name }}{{#each versions}} v{{version}}{{/each}} - - # publisher and `dist-tag` package published - {{ publisher.name }} has published {{ publishedPackage }} - +``` +# итерировать все версии +{{ name }}{{#each versions}} v{{version}}{{/each}} + +# publisher and `dist-tag` package published +{{ publisher.name }} has published {{ publishedPackage }} +``` ### Свойства @@ -67,54 +68,56 @@ notify: Метаданные пакета, к которым имеет доступ шаблон - { - "_id": "@test/pkg1", - "name": "@test/pkg1", - "description": "", - "dist-tags": { - "beta": "1.0.54" - }, - "versions": { - "1.0.54": { - "name": "@test/pkg1", - "version": "1.0.54", - "description": "some description", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": { - "name": "Author Name", - "email": "author@domain.com" - }, - "license": "MIT", - "dependencies": { - "webpack": "4.12.0" - }, - "readmeFilename": "README.md", - "_id": "@ test/pkg1@1.0.54", - "_npmVersion": "6.1.0", - "_nodeVersion": "9.9.0", - "_npmUser": {}, - "dist": { - "integrity": "sha512-JlXWpLtMUBAqvVZBvH7UVLhXkGE1ctmXbDjbH/l0zMuG7wVzQ7GshTYvD/b5C+G2vOL2oiIS1RtayA/kKkTwKw==", - "shasum": "29c55c52c1e76e966e706165e5b9f22e32aa9f22", - "tarball": "http://localhost:4873/@test/pkg1/-/@test/pkg1-1.0.54.tgz" - } - } - }, - "readme": "# test", - "_attachments": { - "@test/pkg1-1.0.54.tgz": { - "content_type": "application/octet-stream", - "data": "H4sIAAAAAAAAE+y9Z5PjyJIgOJ ...", - "length": 33112 +``` +{ + "_id": "@test/pkg1", + "name": "@test/pkg1", + "description": "", + "dist-tags": { + "beta": "1.0.54" + }, + "versions": { + "1.0.54": { + "name": "@test/pkg1", + "version": "1.0.54", + "description": "some description", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": { + "name": "Author Name", + "email": "author@domain.com" + }, + "license": "MIT", + "dependencies": { + "webpack": "4.12.0" + }, + "readmeFilename": "README.md", + "_id": "@ test/pkg1@1.0.54", + "_npmVersion": "6.1.0", + "_nodeVersion": "9.9.0", + "_npmUser": {}, + "dist": { + "integrity": "sha512-JlXWpLtMUBAqvVZBvH7UVLhXkGE1ctmXbDjbH/l0zMuG7wVzQ7GshTYvD/b5C+G2vOL2oiIS1RtayA/kKkTwKw==", + "shasum": "29c55c52c1e76e966e706165e5b9f22e32aa9f22", + "tarball": "http://localhost:4873/@test/pkg1/-/@test/pkg1-1.0.54.tgz" } - }, - "time": {} - } - + } + }, + "readme": "# test", + "_attachments": { + "@test/pkg1-1.0.54.tgz": { + "content_type": "application/octet-stream", + "data": "H4sIAAAAAAAAE+y9Z5PjyJIgOJ ...", + "length": 33112 + } + }, + "time": {} +} +``` + ### Публикатор @@ -122,21 +125,23 @@ You can get access to the package publisher information in the `content` of a we Описание типа `publisher`: - { - name: string, - groups: string[], - real_groups: string[] - } - +``` +{ + name: string, + groups: string[], + real_groups: string[] +} +``` Пример: - notify: - method: POST - headers: [{'Content-Type': 'application/json'}] - endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken - content: '{"color":"green","message":"New package published: * {{ name }}*. Publisher name: * {{ publisher.name }} *.","notify":true,"message_format":"text"}' - +``` +notify: + method: POST + headers: [{'Content-Type': 'application/json'}] + endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken + content: '{"color":"green","message":"New package published: * {{ name }}*. Publisher name: * {{ publisher.name }} *.","notify":true,"message_format":"text"}' +``` **Заметка:** невозможно получить информацию о публикаторе, если в файле `package.json` уже есть свойство `publisher`. @@ -144,8 +149,9 @@ You can get access to the package publisher information in the `content` of a we Вы можете получить доступ к пакету, который был опубликован, с помощью ключевого слова `{{publishedPackage}}`, как это показано ниже. - {{ publisher.name }} has published {{ publishedPackage }} - +``` +{{ publisher.name }} has published {{ publishedPackage }} +``` ## Конфигурация @@ -156,4 +162,4 @@ You can get access to the package publisher information in the `content` of a we | packagePatternFlags | string | Нет | все | | Флаги для регэкспа | | headers | array/object | Да | все | | Если эндпоинту нужны особенные хэдеры, укажите их здесь, в виде массива пар ключ-значение. | | endpoint | string | Да | все | | URL эндпоинта для вызова | -| content | string | Да | все | | любое [Handlebar](https://handlebarsjs.com/)-выражение | \ No newline at end of file +| content | string | Да | все | | любое [Handlebar](https://handlebarsjs.com/)-выражение | diff --git a/website/translated_docs/ru-RU/packages.md b/website/translated_docs/ru-RU/packages.md index a93e138e909b..207726dda522 100644 --- a/website/translated_docs/ru-RU/packages.md +++ b/website/translated_docs/ru-RU/packages.md @@ -155,7 +155,7 @@ You may assign multiple uplinks for use as a proxy to use in the case of failove #### Удаление опубликованных пакетов -The property `publish` handle permissions for `npm publish` and `npm unpublish`. But, if you want to be more specific, you can use the property `unpublish` in your package access section, for instance: +The property `publish` handle permissions for `npm publish` and `npm unpublish`. But, if you want to be more specific, you can use the property `unpublish` in your package access section, for instance: ```yalm packages: @@ -183,6 +183,7 @@ In the previous example, the behaviour would be described: * только аутентифицированные пользователи могут публиковать покаты `my-company-*`, но **никто не может удалять их**. * Если `unpublish` закомментировать, то доступ будет определяяться свойством `publish`. + ### Конфигурация You can define mutiple `packages` and each of them must have an unique `Regex`. The syntax is based on [minimatch glob expressions](https://github.com/isaacs/minimatch). @@ -196,4 +197,4 @@ You can define mutiple `packages` and each of them must have an unique `Regex`. > Хочется отдельно отметить, что мы рекомендуем не использовать **allow_access**/**allow_publish** и **proxy_access**, они - deprecated и скоро будут удалены, пожалуйста, используйте короткие версии (**access**/**publish**/**proxy**). -If you want more information about how to use the **storage** property, please refer to this [comment](https://github.com/verdaccio/verdaccio/issues/1383#issuecomment-509933674). \ No newline at end of file +If you want more information about how to use the **storage** property, please refer to this [comment](https://github.com/verdaccio/verdaccio/issues/1383#issuecomment-509933674). diff --git a/website/translated_docs/ru-RU/plugins.md b/website/translated_docs/ru-RU/plugins.md index be31437659ce..b7361d55148d 100644 --- a/website/translated_docs/ru-RU/plugins.md +++ b/website/translated_docs/ru-RU/plugins.md @@ -24,8 +24,9 @@ $> npm install --global verdaccio-activedirectory `verdaccio`, как форк sinopia, совместим с плагинами для `sinopia@1.4.0`. Установка таких плагинов - аналогична. - $> npm install --global sinopia-memory - +``` +$> npm install --global sinopia-memory +``` ### Конфигурация @@ -33,6 +34,7 @@ $> npm install --global verdaccio-activedirectory Дефолтная конфигурация выглядит так, потому что мы, по умолчанию, используем встроенный плагин `htpasswd`, который вы можете отключить, просто закомментировав строчку. + ### Конфигурирование аутентификации ```yaml @@ -93,12 +95,14 @@ store: Verdaccio позволяет заменить веб-интерфейс, и мы называем это **UI темой**. По умолчанию, используется `@verdaccio/ui-theme`, который включен в поставку, но вы можете использовать что-нибудь другое, установив свой плагин. ```bash -
$> npm install --global verdaccio-theme-dark + +$> npm install --global verdaccio-theme-dark ``` > Имя плагина должно начинаться с `verdaccio-theme`, иначе плагин не будет загружен. + You can load only one theme at a time and pass through options if you need it. ```yaml @@ -132,4 +136,5 @@ theme: * [sinopia-ldap](https://www.npmjs.com/package/sinopia-ldap): плагин аутентификации для sinopia, использует LDAP. * [sinopia-github-oauth-env](https://www.npmjs.com/package/sinopia-github-oauth-env) плагин аутентификации для sinopia, использует github oauth web flow. -> Все плагины sinopia совместимы со всеми будущими версиями verdaccio. Тем не менее, мы очень хотели бы, чтобы контрибьюторы мигрировали на современный verdaccio API и использовали префикс *verdaccio-xx-name*. \ No newline at end of file +> Все плагины sinopia совместимы со всеми будущими версиями verdaccio. Тем не менее, мы очень хотели бы, чтобы контрибьюторы мигрировали на современный verdaccio API и использовали префикс *verdaccio-xx-name*. + diff --git a/website/translated_docs/ru-RU/protect-your-dependencies.md b/website/translated_docs/ru-RU/protect-your-dependencies.md index f4a5ae38a162..58a58d5bbb54 100644 --- a/website/translated_docs/ru-RU/protect-your-dependencies.md +++ b/website/translated_docs/ru-RU/protect-your-dependencies.md @@ -31,7 +31,8 @@ I won't have access to such dependencies and they also won't be visible via the ```bash ➜ npm install my-company-core npm ERR! code E403 -npm ERR! 403 Forbidden: webpack-1@latest +npm ERR! code E403 +npm ERR! ``` or with `yarn`: @@ -40,6 +41,6 @@ or with `yarn`: ➜ yarn add my-company-core yarn add v0.24.6 info No lockfile found. -[1/4] +[1/4] 🔍 Resolving packages... error An unexpected error occurred: "http://localhost:5555/webpack-1: unregistered users are not allowed to access package my-company-core". -``` \ No newline at end of file +``` diff --git a/website/translated_docs/ru-RU/puppet.md b/website/translated_docs/ru-RU/puppet.md index fe8c57aca3e7..724ec064a970 100644 --- a/website/translated_docs/ru-RU/puppet.md +++ b/website/translated_docs/ru-RU/puppet.md @@ -16,6 +16,10 @@ title: "Puppet" Для получения дальнейшей информации: - +[https://github.com/verdaccio/puppet-verdaccio](https://github.com/verdaccio/puppet-verdaccio) + +> Мы ищем активных контрибьюторов для этого раздела, если вы заинтересовались, [посмотрите этот тикет](https://github.com/verdaccio/puppet-verdaccio/issues/11). + + + -> Мы ищем активных контрибьюторов для этого раздела, если вы заинтересовались, [посмотрите этот тикет](https://github.com/verdaccio/puppet-verdaccio/issues/11). \ No newline at end of file diff --git a/website/translated_docs/ru-RU/repositories.md b/website/translated_docs/ru-RU/repositories.md index 00e0b4b0d76b..299fd269d047 100644 --- a/website/translated_docs/ru-RU/repositories.md +++ b/website/translated_docs/ru-RU/repositories.md @@ -5,4 +5,5 @@ title: Исходный код `verdaccio` состоит из нескольких репозиториев, в которые вы можете контрибьютить. Посмотрите в таб **issues** и найдите там задачу, которая ждет вас 🤠. -Чтобы посмотреть весь список репозиториев, [кликните здесь](https://github.com/verdaccio/verdaccio/wiki/Repositories). \ No newline at end of file +Чтобы посмотреть весь список репозиториев, [кликните здесь](https://github.com/verdaccio/verdaccio/wiki/Repositories). + diff --git a/website/translated_docs/ru-RU/reverse-proxy.md b/website/translated_docs/ru-RU/reverse-proxy.md index 4f5d1626ebb2..d74749477770 100644 --- a/website/translated_docs/ru-RU/reverse-proxy.md +++ b/website/translated_docs/ru-RU/reverse-proxy.md @@ -11,141 +11,145 @@ Apache и `mod_proxy` **не должны кодировать/декодиро For installing at relative path, `/npm`, on the server - - AllowEncodedSlashes NoDecode - ProxyPass /npm http://127.0.0.1:4873 nocanon - ProxyPassReverse /npm http://127.0.0.1:4873 - - +```` + + AllowEncodedSlashes NoDecode + ProxyPass /npm http://127.0.0.1:4873 nocanon + ProxyPassReverse /npm http://127.0.0.1:4873 + +```` For installing at root path, `/`, on the server - - - ServerName your.domain.com - ServerAdmin hello@your.domain.com - ProxyPreserveHost On - AllowEncodedSlashes NoDecode - ProxyPass / http://127.0.0.1:4873/ nocanon - ProxyPassReverse / http://127.0.0.1:4873/ - - +```` + + ServerName your.domain.com + ServerAdmin hello@your.domain.com + ProxyPreserveHost On + AllowEncodedSlashes NoDecode + ProxyPass / http://127.0.0.1:4873/ nocanon + ProxyPassReverse / http://127.0.0.1:4873/ + +```` ### Конфигурация с SSL Конфигурация виртуального сервера Apache - apacheconfig - - - ServerName npm.your.domain.com - SSLEngine on - SSLCertificateFile /etc/letsencrypt/live/npm.your.domain.com/fullchain.pem - SSLCertificateKeyFile /etc/letsencrypt/live/npm.your.domain.com/privkey.pem - SSLProxyEngine On - ProxyRequests Off - ProxyPreserveHost On - AllowEncodedSlashes NoDecode - ProxyPass / http://127.0.0.1:4873/ nocanon - ProxyPassReverse / http://127.0.0.1:4873/ - RequestHeader set X-Forwarded-Proto "https" - - - +```` + apacheconfig + + + ServerName npm.your.domain.com + SSLEngine on + SSLCertificateFile /etc/letsencrypt/live/npm.your.domain.com/fullchain.pem + SSLCertificateKeyFile /etc/letsencrypt/live/npm.your.domain.com/privkey.pem + SSLProxyEngine On + ProxyRequests Off + ProxyPreserveHost On + AllowEncodedSlashes NoDecode + ProxyPass / http://127.0.0.1:4873/ nocanon + ProxyPassReverse / http://127.0.0.1:4873/ + RequestHeader set X-Forwarded-Proto "https" + + +```` # Nginx The following snippet is a full `docker` example can be tested in our [Docker examples repository](https://github.com/verdaccio/verdaccio/tree/5.x/docker-examples/reverse_proxy/nginx). - upstream verdaccio_v4 { - server verdaccio_relative_path_v4:4873; - keepalive 8; - } - - upstream verdaccio_v4_root { - server verdaccio_relative_path_v4_root:8000; - keepalive 8; +```` +upstream verdaccio_v4 { + server verdaccio_relative_path_v4:4873; + keepalive 8; +} + +upstream verdaccio_v4_root { + server verdaccio_relative_path_v4_root:8000; + keepalive 8; +} + +upstream verdaccio_v3 { + server verdaccio_relative_path_latest_v3:7771; + keepalive 8; +} + +server { + listen 80 default_server; + access_log /var/log/nginx/verdaccio.log; + charset utf-8; + + location / { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4_root; + proxy_redirect off; } - - upstream verdaccio_v3 { - server verdaccio_relative_path_latest_v3:7771; - keepalive 8; + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4/$1; + proxy_redirect off; } - - server { - listen 80 default_server; - access_log /var/log/nginx/verdaccio.log; - charset utf-8; - - location / { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4_root; - proxy_redirect off; - } - - location ~ ^/verdaccio/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4/$1; - proxy_redirect off; - } - - location ~ ^/verdacciov3/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - - proxy_pass http://verdaccio_v3/$1; - proxy_redirect off; - } + + location ~ ^/verdacciov3/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + + proxy_pass http://verdaccio_v3/$1; + proxy_redirect off; } - +} +```` ## Пример для SSL - server { - listen 80; - return 302 https://$host$request_uri; +```` +server { + listen 80; + return 302 https://$host$request_uri; +} + +server { + listen 443 ssl http2; + server_name localhost; + + ssl_certificate /etc/nginx/cert.crt; + ssl_certificate_key /etc/nginx/cert.key; + + ssl on; + ssl_session_cache builtin:1000 shared:SSL:10m; + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; + ssl_prefer_server_ciphers on; + + location / { + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_pass http://verdaccio_v4_root; + proxy_read_timeout 600; + proxy_redirect off; } - - server { - listen 443 ssl http2; - server_name localhost; - - ssl_certificate /etc/nginx/cert.crt; - ssl_certificate_key /etc/nginx/cert.key; - - ssl on; - ssl_session_cache builtin:1000 shared:SSL:10m; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; - ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; - ssl_prefer_server_ciphers on; - - location / { - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_pass http://verdaccio_v4_root; - proxy_read_timeout 600; - proxy_redirect off; - } - - location ~ ^/verdaccio/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4_root/$1; - proxy_redirect off; - } + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4_root/$1; + proxy_redirect off; } - +} +```` ## Запуск за reverse proxy с другими доменом и портом @@ -171,10 +175,9 @@ location / { proxy_set_header X-Forwarded-Proto $scheme; } ``` - For this case, `url_prefix` should **NOT** set in Verdaccio config -* * * +--- or a sub-directory installation: @@ -186,7 +189,6 @@ location ~ ^/verdaccio/(.*)$ { proxy_set_header X-Forwarded-Proto $scheme; } ``` - For this case, `url_prefix` should set to `/verdaccio/` -> Note: There is a slash after the install path (`https://your-domain:port/verdaccio/`)! \ No newline at end of file +> Note: There is a slash after the install path (`https://your-domain:port/verdaccio/`)! diff --git a/website/translated_docs/ru-RU/server.md b/website/translated_docs/ru-RU/server.md index 890845ec30a7..42ec75762aa9 100644 --- a/website/translated_docs/ru-RU/server.md +++ b/website/translated_docs/ru-RU/server.md @@ -31,7 +31,6 @@ The `cd` command sends you to the home directory of the Verdaccio user. Make sur ## Слушаем по всем адресам Если вы хотите принимать запросы по всем сетевые интерфесам, установите следующие параметры в диррективе listen: - ```yaml # you can specify listen address (or simply a port) listen: 0.0.0.0:4873 @@ -71,8 +70,9 @@ $ crontab -e This might ask you to choose an editor. Pick your favorite and proceed. Add the following entry to the file: - @reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio - +``` +@reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio +``` The locations may vary depending on your server setup. If you want to know where your files are you can use the 'which' command: @@ -84,9 +84,7 @@ $ which verdaccio ## Используем systemd Instead of `forever` you can use `systemd` for starting Verdaccio and keeping it running. Verdaccio installation has systemd unit, you only need to copy it: - ```bash $ sudo cp /usr/lib/node_modules/verdaccio/systemd/verdaccio.service /lib/systemd/system/ && sudo systemctl daemon-reload ``` - -This unit assumes you have configuration in `/etc/verdaccio/config.yaml` and store data in `/var/lib/verdaccio`, so either move your files to those locations or edit the unit. \ No newline at end of file +This unit assumes you have configuration in `/etc/verdaccio/config.yaml` and store data in `/var/lib/verdaccio`, so either move your files to those locations or edit the unit. diff --git a/website/translated_docs/ru-RU/who-is-using.md b/website/translated_docs/ru-RU/who-is-using.md index 99a128530da2..7d98364b900e 100644 --- a/website/translated_docs/ru-RU/who-is-using.md +++ b/website/translated_docs/ru-RU/who-is-using.md @@ -10,6 +10,7 @@ title: "Кто использует Verdaccio?" * [SheetJS](https://sheetjs.com/) * [Satispay](https://www.satispay.com/) + ### Open Source проекты > **Расскажите про другие OSS проекты, использующие Verdaccio.** @@ -29,4 +30,6 @@ title: "Кто использует Verdaccio?" #### Readme Recommendations -* [react-native-cli](https://github.com/react-native-community/react-native-cli/blob/master/CONTRIBUTING.md) \ No newline at end of file +* [react-native-cli](https://github.com/react-native-community/react-native-cli/blob/master/CONTRIBUTING.md) + + diff --git a/website/translated_docs/ru-RU/windows.md b/website/translated_docs/ru-RU/windows.md index b2a7e9bbe0f7..1c9fe9b316fa 100644 --- a/website/translated_docs/ru-RU/windows.md +++ b/website/translated_docs/ru-RU/windows.md @@ -5,10 +5,10 @@ title: "Установка в качестве службы Windows" Основано на инструкции, найденной [здесь](http://asysadmin.tumblr.com/post/32941224574/running-nginx-on-windows-as-a-service). Я сделал следующее и получил полностью функциональный сервис verdaccio: -1. Создайте папку для verdaccio +1. Создайте папку для verdaccio * mkdir `c:\verdaccio` * cd `c:\verdaccio` -2. Установите verdaccio локально (у меня были проблемы при глобальной установке) +2. Установите verdaccio локально (у меня были проблемы при глобальной установке) * npm install verdaccio 3. Создайте свой `config.yaml` в этой папке `(c:\verdaccio\config.yaml)` 4. Сконфигурируйте сервис Windows @@ -24,29 +24,29 @@ title: "Установка в качестве службы Windows" * Откройте окно командной строки как администратор * Запустите `nssm install verdaccio`. Как минимум, вы должны заполнить Path на вкладке Application, Startup directory и поле Arguments. Предполагая, что вы указали путь к Node в системных путях и что вы установили verdaccio в папку c:\verdaccio, можно использовать следующие значения: - * Path: `node` * Startup directory: `c:\verdaccio` * Arguments: `c:\verdaccio\node_modules\verdaccio\build\lib\cli.js -c c:\verdaccio\config.yaml` - + Вы можете поменять настройки других сервисов в других вкладках, если хотите. Когда вы закончите, нажмите кнопку Install service - - * Запустите сервис sc start verdaccio + + * Запустите сервис sc start verdaccio ## С помощью WinSW * На 2015-10-27, WinSW больше нет по указанному адресу. Пожалуйста, используйте инструкции под заголовком "С помощью NSSM" выше. -* Скачайте [WinSW](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/) +* Скачайте [WinSW](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/) * Поместите исполняемый файл (т.е. `winsw-1.9-bin.exe`) в папку (`c:\verdaccio`) и переименуйте его в `verdaccio-winsw.exe` * Создайте конфигурационнный файл в `c:\verdaccio`, назвав его `verdaccio-winsw.xml`, со следующей конфигурацией `xml verdaccio verdaccio verdaccio node c:\verdaccio\node_modules\verdaccio\src\lib\cli.js -c c:\verdaccio\config.yaml roll c:\verdaccio`. -* Инсталлируйте ваш сервис +* Инсталлируйте ваш сервис * `cd c:\verdaccio` * `verdaccio-winsw.exe install` -* Запустите ваш сервис +* Запустите ваш сервис * `verdaccio-winsw.exe start` Указанные выше конфиги оказались слежнее, чем я ожидал - например, 'workingdirectory' был проигнорирован, но, тем не менее, это заработало, и позволило моему verdaccio оставаться запущенным после перезапуска сервера, и так же рестартовать в случае крэша verdaccio. + ## Ссылки -* [verdaccio-deamon-windows](https://github.com/davidenke/verdaccio-deamon-windows) \ No newline at end of file +* [verdaccio-deamon-windows](https://github.com/davidenke/verdaccio-deamon-windows) diff --git a/website/translated_docs/sr-CS/caching.md b/website/translated_docs/sr-CS/caching.md index 1ed344a89c93..4856457f210f 100644 --- a/website/translated_docs/sr-CS/caching.md +++ b/website/translated_docs/sr-CS/caching.md @@ -7,11 +7,12 @@ Verdaccio caches all packages by default into the `/storage` folder. But you can ## Caching scenarios -* Build a Node.js project on **Continous Integration** (Bamboo, GitLab, Jenkins, etc) servers is a task that might take several times at a day, thus, the server will download tons of tarballs from the registry every time takes place. As usual, the CI tools clear the cache after each build and the process start over and over again. That is a waste of bandwidth and reduces the external traffic. **You can use Verdaccio for caching tarballs and metadata in our internal network and give a boost in your build time.** +* Build a Node.js project on **Continous Integration** (Bamboo, GitLab, Jenkins, etc) servers is a task that might take several times at a day, thus, the server will download tons of tarballs from the registry every time takes place. As usual, the CI tools clear the cache after each build and the process start over and over again. That is a waste of bandwidth and reduces the external traffic. **You can use Verdaccio for caching tarballs and metadata in our internal network and give a boost in your build time.** * **Latency and Connectivity**, not all countries enjoy a high-speed connection. For such reason cache packages locally in your network is really handy. Either if you are traveling, or have a weak connection, roaming or countries with strong Firewalls that might affect the user experience (eg: corrupting tarballs). * **Offline Mode**, all Node Package Managers nowadays uses their own internal cache, but it common that different projects might use different tools, which implies lock files and so on. Those tools are unable to share cache, the unique solution is centralized and relies on a proxy registry, Verdaccio cache all metadata and tarballs are downloaded by demand being able to share them across all your project. * Avoid that any remote registry suddenly returns *HTTP 404* error for tarballs were previously available a.k.a ([left-pad issue](https://www.theregister.co.uk/2016/03/23/npm_left_pad_chaos/)). + # Strategies for faster builds > We are looking for more strategies, feel free to share your experience in this field @@ -20,15 +21,16 @@ Verdaccio caches all packages by default into the `/storage` folder. But you can If you have a limited storage space, you might need to avoid cache tarballs, enabling `cache` false in each uplink will cache only metadata files. - uplinks: - npmjs: - url: https://registry.npmjs.org/ - cache: false - +``` +uplinks: + npmjs: + url: https://registry.npmjs.org/ + cache: false +``` ## Extending Cache Expiration Time -Verdaccio by default waits 2 minutes to invalidate the cache metadata before fetching new information from the remote registry. + Verdaccio by default waits 2 minutes to invalidate the cache metadata before fetching new information from the remote registry. ```yaml uplinks: @@ -39,6 +41,7 @@ uplinks: Increasing the value of `maxage` in each `uplink` remotes will be asked less frequently. This might be a valid strategy if you don't update dependencies so often. + ## Using the memory instead the hardrive Sometimes caching packages is not a critical step, rather than route packages from different registries and achieving faster build times. There are two plugins that avoid write in a physical hard drive at all using the memory. @@ -62,4 +65,4 @@ store: limit: 1000 ``` -Remember, once the server is restarted the data is being lost, we recommend this setup in cases where you do not need to persist at all. \ No newline at end of file +Remember, once the server is restarted the data is being lost, we recommend this setup in cases where you do not need to persist at all. diff --git a/website/translated_docs/sr-CS/install.md b/website/translated_docs/sr-CS/install.md index 7914c824bea5..b4ecda2cafcd 100644 --- a/website/translated_docs/sr-CS/install.md +++ b/website/translated_docs/sr-CS/install.md @@ -13,7 +13,7 @@ Verdaccio is a multiplatform web application. To install it, you need a few basi > We highly recommend to use the latest versions of Node Package Manager clients `> npm@6.x | yarn@1.x | | yarn@2.x | pnpm@6.x`. Don't support `npm@5.x` or older. -1. A modern web browser to run the web interface. We actually support `Chrome, Firefox, Edge`. +3. A modern web browser to run the web interface. We actually support `Chrome, Firefox, Edge`. > Verdaccio will support latest Node.js version according the [Node.js Release Working Group](https://github.com/nodejs/Release) recomendations. @@ -21,7 +21,7 @@ Are you still using **Verdaccio 4**?. Check the [migration guide](https://verdac ### Quick Introduction -Learn the basics before getting started, how to install, where is the location of the configuration file and more. +Learn the basics before getting started, how to install, where is the location of the configuration file and more. ## Installing the CLI @@ -92,7 +92,7 @@ Or a `publishConfig` in your `package.json` ## Create Your Own Private NPM Package Tutorial -If you'd like a broader explanation, don't miss the tutorial created by [thedevlife](https://mybiolink.co/thedevlife) on how to Create Your Own Private NPM Package using Verdaccio. +If you'd like a broader explanation, don't miss the tutorial created by [thedevlife](https://mybiolink.co/thedevlife) on how to Create Your Own Private NPM Package using Verdaccio. ## Docker Image @@ -106,4 +106,4 @@ docker run -it --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio `Verdaccio` is also available as a 1-click install on [Cloudron](https://cloudron.io) -[![Instaliranje](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=org.eggertsson.verdaccio) \ No newline at end of file +[![Instaliranje](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=org.eggertsson.verdaccio) diff --git a/website/translated_docs/sr-CS/kubernetes.md b/website/translated_docs/sr-CS/kubernetes.md index 2b8a43d63caf..c1da1a09ef7c 100644 --- a/website/translated_docs/sr-CS/kubernetes.md +++ b/website/translated_docs/sr-CS/kubernetes.md @@ -23,8 +23,9 @@ Deploy the Helm [verdaccio/verdaccio](https://github.com/verdaccio/charts) chart ### Add repository - helm repo add verdaccio https://charts.verdaccio.org - +``` +helm repo add verdaccio https://charts.verdaccio.org +``` U ovom primeru koristimo `npm` kao ime izdanja: @@ -52,6 +53,7 @@ helm uninstall npm **Napomena:** ova komanda briše sve resurse, uključujući i pakete koji su možda ranije objavljeni u registriju. + ### Korisnička Konfiguracija Verdaccio-a Možete podesiti Verdaccio konfiguraciju po svojim željama tako što ćete koristiti Kubernetes *configMap*. @@ -92,7 +94,6 @@ helm install npm --set customConfigMap=verdaccio-config verdaccio/verdaccio #### NGINX proxy body-size limit The standard k8s NGINX ingress proxy allows for 1MB for body-size which can be increased by modifying the default deployment options according to the [documentation](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#custom-max-body-size): - ```yaml ... @@ -109,4 +110,4 @@ annotations: [Rancher](http://rancher.com/) is a complete container management platform that makes managing and using containers in production really easy. -* [verdaccio-rancher](https://github.com/lgaticaq/verdaccio-rancher) \ No newline at end of file +* [verdaccio-rancher](https://github.com/lgaticaq/verdaccio-rancher) diff --git a/website/translated_docs/sr-CS/linking.md b/website/translated_docs/sr-CS/linking.md index 20936fac8e9d..76f693de99c3 100644 --- a/website/translated_docs/sr-CS/linking.md +++ b/website/translated_docs/sr-CS/linking.md @@ -17,10 +17,11 @@ You can link multiple registries, the following document will drive you through The unique way to access multiple registries using the `.npmrc` is the scope feature as follows: - // .npmrc - registry=https://registry.npmjs.org - @mycompany:registry=http://localhost:4873 - +``` +// .npmrc +registry=https://registry.npmjs.org +@mycompany:registry=http://localhost:4873 +``` This approach is valid, but comes with several disadvantages: @@ -75,7 +76,8 @@ Verdaccio supports multiple registries on the `proxy` field. The request will be Having a full Offline Registry is completely possible. If you don't want any connectivity with external remotes you can do the following. ```yaml -
auth: + +auth: htpasswd: file: ./htpasswd uplinks: @@ -91,4 +93,4 @@ packages: publish: $authenticated ``` -Remove all `proxy` fields within each section of `packages`. The registry will become full offline. \ No newline at end of file +Remove all `proxy` fields within each section of `packages`. The registry will become full offline. diff --git a/website/translated_docs/sr-CS/logger.md b/website/translated_docs/sr-CS/logger.md index 488305ff25f1..f087f0b68d67 100644 --- a/website/translated_docs/sr-CS/logger.md +++ b/website/translated_docs/sr-CS/logger.md @@ -28,4 +28,4 @@ Use `SIGUSR2` to notify the application, the log-file was rotated and it needs t | type | string | Ne | [stdout, file] | all | definiše izlaz | | path | string | Ne | verdaccio.log | all | ako je tip "fajl", definiše lokaciju fajla | | format | string | Ne | [pretty, pretty-timestamped] | all | izlazni format | -| level | string | Ne | [fatal, error, warn, http, info, debug, trace] | all | verbose level | \ No newline at end of file +| level | string | Ne | [fatal, error, warn, http, info, debug, trace] | all | verbose level | diff --git a/website/translated_docs/sr-CS/logo.md b/website/translated_docs/sr-CS/logo.md index bc75bbd2e8be..bd5b67caed76 100644 --- a/website/translated_docs/sr-CS/logo.md +++ b/website/translated_docs/sr-CS/logo.md @@ -11,7 +11,7 @@ Posebno se zahvaljujemo *[@Lisapressmar](https://github.com/Lisapressmar)* za nj ## Simboli -**Sa tekstom** +__Sa tekstom__ ![simbol, mali sa tekstom](assets/logo/symbol/png/logo-small-header-bottom.png) @@ -19,11 +19,11 @@ Posebno se zahvaljujemo *[@Lisapressmar](https://github.com/Lisapressmar)* za nj ![simbol, veliki sa tekstom](assets/logo/symbol/png/logo-small-header-bottom@3x.png) -**SVG** +__SVG__ ![simbol, svg](assets/logo/symbol/svg/logo-small-header-bottom.svg) -**Bez teksta** +__Bez teksta__ ![simbol, mali](assets/logo/symbol/png/verdaccio-tiny.png) @@ -31,10 +31,12 @@ Posebno se zahvaljujemo *[@Lisapressmar](https://github.com/Lisapressmar)* za nj ![simbol, veliki](assets/logo/symbol/png/verdaccio-tiny@3x.png) -**SVG** +__SVG__ ![svg format, simbol bez teksta](assets/logo/symbol/svg/verdaccio-tiny.svg) + + ### Crno&Belo ![simbol, bw, mali](assets/logo/symbol/png/verdaccio-blackwhite.png) @@ -43,14 +45,17 @@ Posebno se zahvaljujemo *[@Lisapressmar](https://github.com/Lisapressmar)* za nj ![simbol, bw, veliki](assets/logo/symbol/png/verdaccio-blackwhite@3x.png) -**SVG** +__SVG__ ![simbol, bw, svg](assets/logo/symbol/svg/verdaccio-blackwhite.svg) + ## Baner ![baner, mali](assets/logo/banner/png/verdaccio-banner.png) ![baner, srednji](assets/logo/banner/png/verdaccio-banner@2x.png) -![baner, veliki](assets/logo/banner/png/verdaccio-banner@3x.png) \ No newline at end of file +![baner, veliki](assets/logo/banner/png/verdaccio-banner@3x.png) + + diff --git a/website/translated_docs/sr-CS/node-api.md b/website/translated_docs/sr-CS/node-api.md index 9a7980fdd8b6..400a3398e042 100644 --- a/website/translated_docs/sr-CS/node-api.md +++ b/website/translated_docs/sr-CS/node-api.md @@ -39,4 +39,4 @@ verdaccioServer.serviceUninstall(); verdaccioServer.serviceStart(); verdaccioServer.serviceStop(); verdaccioServer.serviceRestart(); -``` \ No newline at end of file +``` diff --git a/website/translated_docs/sr-CS/notifications.md b/website/translated_docs/sr-CS/notifications.md index 42bd8415ba12..0d96e07fc0a6 100644 --- a/website/translated_docs/sr-CS/notifications.md +++ b/website/translated_docs/sr-CS/notifications.md @@ -48,12 +48,13 @@ Koristimo [Handlebars](https://handlebarsjs.com/) kao main template engine. ### Primeri za formate - # Prolazi kroz sve verzije - {{ name }}{{#each versions}} v{{version}}{{/each}} - - # publisher i `dist-tag` package published - {{ publisher.name }} has published {{ publishedPackage }} - +``` +# Prolazi kroz sve verzije +{{ name }}{{#each versions}} v{{version}}{{/each}} + +# publisher i `dist-tag` package published +{{ publisher.name }} has published {{ publishedPackage }} +``` ### Svojstva (Properties) @@ -67,54 +68,56 @@ Lista svojstava kojima se može pristupiti preko templata Package metadata za koje templat ima pristup - { - "_id": "@test/pkg1", - "name": "@test/pkg1", - "description": "", - "dist-tags": { - "beta": "1.0.54" - }, - "versions": { - "1.0.54": { - "name": "@test/pkg1", - "version": "1.0.54", - "description": "some description", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": { - "name": "Author Name", - "email": "author@domain.com" - }, - "license": "MIT", - "dependencies": { - "webpack": "4.12.0" - }, - "readmeFilename": "README.md", - "_id": "@ test/pkg1@1.0.54", - "_npmVersion": "6.1.0", - "_nodeVersion": "9.9.0", - "_npmUser": {}, - "dist": { - "integrity": "sha512-JlXWpLtMUBAqvVZBvH7UVLhXkGE1ctmXbDjbH/l0zMuG7wVzQ7GshTYvD/b5C+G2vOL2oiIS1RtayA/kKkTwKw==", - "shasum": "29c55c52c1e76e966e706165e5b9f22e32aa9f22", - "tarball": "http://localhost:4873/@test/pkg1/-/@test/pkg1-1.0.54.tgz" - } - } - }, - "readme": "# test", - "_attachments": { - "@test/pkg1-1.0.54.tgz": { - "content_type": "application/octet-stream", - "data": "H4sIAAAAAAAAE+y9Z5PjyJIgOJ ...", - "length": 33112 +``` +{ + "_id": "@test/pkg1", + "name": "@test/pkg1", + "description": "", + "dist-tags": { + "beta": "1.0.54" + }, + "versions": { + "1.0.54": { + "name": "@test/pkg1", + "version": "1.0.54", + "description": "some description", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": { + "name": "Author Name", + "email": "author@domain.com" + }, + "license": "MIT", + "dependencies": { + "webpack": "4.12.0" + }, + "readmeFilename": "README.md", + "_id": "@ test/pkg1@1.0.54", + "_npmVersion": "6.1.0", + "_nodeVersion": "9.9.0", + "_npmUser": {}, + "dist": { + "integrity": "sha512-JlXWpLtMUBAqvVZBvH7UVLhXkGE1ctmXbDjbH/l0zMuG7wVzQ7GshTYvD/b5C+G2vOL2oiIS1RtayA/kKkTwKw==", + "shasum": "29c55c52c1e76e966e706165e5b9f22e32aa9f22", + "tarball": "http://localhost:4873/@test/pkg1/-/@test/pkg1-1.0.54.tgz" } - }, - "time": {} - } - + } + }, + "readme": "# test", + "_attachments": { + "@test/pkg1-1.0.54.tgz": { + "content_type": "application/octet-stream", + "data": "H4sIAAAAAAAAE+y9Z5PjyJIgOJ ...", + "length": 33112 + } + }, + "time": {} +} +``` + ### Publisher @@ -122,21 +125,23 @@ You can get access to the package publisher information in the `content` of a we Pogledajte primer za `publisher` object type: - { - name: string, - groups: string[], - real_groups: string[] - } - +``` +{ + name: string, + groups: string[], + real_groups: string[] +} +``` Primer: - notify: - method: POST - headers: [{'Content-Type': 'application/json'}] - endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken - content: '{"color":"green","message":"New package published: * {{ name }}*. Publisher name: * {{ publisher.name }} *.","notify":true,"message_format":"text"}' - +``` +notify: + method: POST + headers: [{'Content-Type': 'application/json'}] + endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken + content: '{"color":"green","message":"New package published: * {{ name }}*. Publisher name: * {{ publisher.name }} *.","notify":true,"message_format":"text"}' +``` **Napomena:** Nije moguće dobiti publisher information ako `package.json` fajl već ima `publisher` svojstvo. @@ -144,8 +149,9 @@ Primer: Možete pristupiti opciji package is being published pomoću ključne reči `{{publishedPackage}}` na sledeći način. - {{ publisher.name }} has published {{ publishedPackage }} - +``` +{{ publisher.name }} has published {{ publishedPackage }} +``` ## Konfigurisanje @@ -156,4 +162,4 @@ Možete pristupiti opciji package is being published pomoću ključne reči `{{p | packagePatternFlags | string | Ne | all | | Bilo koja zastavica (flags) koja će se koristiti sa regular expression | | headers | array/object | Da | all | | Ako endpoint zahteva specific headers, podesite ih ovde kao array of key: value objects. | | endpoint | string | Da | all | | podesite URL endpoint za ovaj poziv | -| content | string | Da | all | | bilo koji [Handlebar](https://handlebarsjs.com/) expressions | \ No newline at end of file +| content | string | Da | all | | bilo koji [Handlebar](https://handlebarsjs.com/) expressions | diff --git a/website/translated_docs/sr-CS/packages.md b/website/translated_docs/sr-CS/packages.md index 29a7d16e0cc9..4cebab5c1c9d 100644 --- a/website/translated_docs/sr-CS/packages.md +++ b/website/translated_docs/sr-CS/packages.md @@ -155,7 +155,7 @@ You may assign multiple uplinks for use as a proxy to use in the case of failove #### Unpublishing Packages -The property `publish` handle permissions for `npm publish` and `npm unpublish`. But, if you want to be more specific, you can use the property `unpublish` in your package access section, for instance: +The property `publish` handle permissions for `npm publish` and `npm unpublish`. But, if you want to be more specific, you can use the property `unpublish` in your package access section, for instance: ```yalm packages: @@ -183,17 +183,18 @@ In the previous example, the behaviour would be described: * only authenticated users can publish `my-company-*` packages, but **nobody would be allowed to unpublish them**. * If `unpublish` is commented out, the access will be granted or denied by the `publish` definition. + ### Konfigurisanje You can define mutiple `packages` and each of them must have an unique `Regex`. The syntax is based on [minimatch glob expressions](https://github.com/isaacs/minimatch). -| Svojstvo | Tip | Potrebno | Primer | Podrška | Opis | -| -------- | ------ | -------- | -------------- | -------------- | ------------------------------------------------------------------- | -| access | string | No | $all | all | definiše grupe kojima je dozvoljen pristup paketu | -| publish | string | No | $authenticated | all | definiše grupe kojima je dozvoljeno da publikuju | -| proxy | string | No | npmjs | all | limitira look ups za specifični uplink | -| storage | string | No | string | `/some-folder` | kreira pod-folder unutrar storage foldera za svaki pristup paketima | +| Svojstvo | Tip | Neophodno | Primer | Podrška | Opis | +| -------- | ------ | --------- | -------------- | -------------- | ------------------------------------------------------------------- | +| access | string | Ne | $all | all | definiše grupe kojima je dozvoljen pristup paketu | +| publish | string | Ne | $authenticated | all | definiše grupe kojima je dozvoljeno da publikuju | +| proxy | string | Ne | npmjs | all | limitira look ups za specifični uplink | +| storage | string | Ne | string | `/some-folder` | kreira pod-folder unutrar storage foldera za svaki pristup paketima | -> Naglašavamo da ne preporučujemo da i dalje koristite **allow_access**/**allow_publish** i **proxy_access**, jer će navedene uskoro biti uklonjene. Molimo Vas da umesto toga koristite skraćene verzije (**access**/**publish**/**proxy**). +> We higlight that we recommend to not use **allow_access**/**allow_publish** and **proxy_access** anymore, those are deprecated and will soon be removed, please use the short version of each of those (**access**/**publish**/**proxy**). -If you want more information about how to use the **storage** property, please refer to this [comment](https://github.com/verdaccio/verdaccio/issues/1383#issuecomment-509933674). \ No newline at end of file +If you want more information about how to use the **storage** property, please refer to this [comment](https://github.com/verdaccio/verdaccio/issues/1383#issuecomment-509933674). diff --git a/website/translated_docs/sr-CS/plugins.md b/website/translated_docs/sr-CS/plugins.md index b1f4977a5c14..828fad14e5aa 100644 --- a/website/translated_docs/sr-CS/plugins.md +++ b/website/translated_docs/sr-CS/plugins.md @@ -24,8 +24,9 @@ $> npm install --global verdaccio-activedirectory `verdaccio` as a sinopia fork it has backward compability with plugins that are compatible with `sinopia@1.4.0`. In such case the installation is the same. - $> npm install --global sinopia-memory - +``` +$> npm install --global sinopia-memory +``` ### Konfigurisanje @@ -33,6 +34,7 @@ Otvorite `config.yaml` fajl i uradite update `auth` sekcije prema sledećim uput Podrazumevana konfiguracija izgleda ovako, jer koristimo ugrađeni `htpasswd` plugin kao podrazumevan, a koji možete zaustaviti (disable) tako što ćete sledeće linije pretvoriti u komentar. + ### Authentication Configuration ```yaml @@ -93,12 +95,14 @@ store: Verdaccio allows to replace the User Interface with a custom one, we call it **theme**. By default, uses `@verdaccio/ui-theme` that comes built-in, but, you can use something different installing your own plugin. ```bash -
$> npm install --global verdaccio-theme-dark + +$> npm install --global verdaccio-theme-dark ``` > The plugin name prefix must start with `verdaccio-theme`, otherwise the plugin won't load. + You can load only one theme at a time and pass through options if you need it. ```yaml @@ -132,4 +136,5 @@ theme: * [sinopia-ldap](https://www.npmjs.com/package/sinopia-ldap): LDAP auth plugin za sinopia. * [sinopia-github-oauth-env](https://www.npmjs.com/package/sinopia-github-oauth-env) Sinopia authentication plugin sa github oauth web flow. -> Svi sinopia pluginsi, trebalo bi da budu kompatibilni sa svim budućim verzijama verdaccio-a. Bilo kako bilo, ohrabrujemo naše saradnike da pređu na moderni verdaccio API i da koriste prefiks kao *verdaccio-xx-name*. \ No newline at end of file +> Svi sinopia pluginsi, trebalo bi da budu kompatibilni sa svim budućim verzijama verdaccio-a. Anyhow, we encourage contributors to migrate them to the modern verdaccio API and using the prefix as *verdaccio-xx-name*. + diff --git a/website/translated_docs/sr-CS/protect-your-dependencies.md b/website/translated_docs/sr-CS/protect-your-dependencies.md index a75e890be1b3..b5130cb3d04c 100644 --- a/website/translated_docs/sr-CS/protect-your-dependencies.md +++ b/website/translated_docs/sr-CS/protect-your-dependencies.md @@ -40,6 +40,6 @@ or with `yarn`: ➜ yarn add my-company-core yarn add v0.24.6 info No lockfile found. -[1/4] +[1/4] 🔍 Resolving packages... error An unexpected error occurred: "http://localhost:5555/webpack-1: unregistered users are not allowed to access package my-company-core". -``` \ No newline at end of file +``` diff --git a/website/translated_docs/sr-CS/puppet.md b/website/translated_docs/sr-CS/puppet.md index 5b3859616ae1..982a25abf666 100644 --- a/website/translated_docs/sr-CS/puppet.md +++ b/website/translated_docs/sr-CS/puppet.md @@ -16,6 +16,10 @@ U oba slučaja morate eksplicitno pozvati "class nodejs {}" u svom puppet script Za dalje informacije: - +[https://github.com/verdaccio/puppet-verdaccio](https://github.com/verdaccio/puppet-verdaccio) + +> Tražimo aktivne saradnike za ovu integraciju, pa ako ste zainteresovani, [pošaljite nam ticket](https://github.com/verdaccio/puppet-verdaccio/issues/11). + + + -> Tražimo aktivne saradnike za ovu integraciju, pa ako ste zainteresovani, [pošaljite nam ticket](https://github.com/verdaccio/puppet-verdaccio/issues/11). \ No newline at end of file diff --git a/website/translated_docs/sr-CS/repositories.md b/website/translated_docs/sr-CS/repositories.md index a00d327a3e39..6aa25fce9127 100644 --- a/website/translated_docs/sr-CS/repositories.md +++ b/website/translated_docs/sr-CS/repositories.md @@ -3,6 +3,7 @@ id: repositories title: Source Code --- -`verdaccio` se sastoji od puno repozitorijuma u okviru kojih biste mogli da doprinesete. Pogledajte u **issues** tabu, možda je tamo ticket koji čeka na Vas 🤠. +`verdaccio` se sastoji od puno repozitorijuma u okviru kojih biste mogli da doprinesete. Look into the **issues** tab whether there is a ticket waiting for you 🤠. + +Da biste videli kompletnu listu repozitorijuma, [kliknite ovde](https://github.com/verdaccio/verdaccio/wiki/Repositories). -Da biste videli kompletnu listu repozitorijuma, [kliknite ovde](https://github.com/verdaccio/verdaccio/wiki/Repositories). \ No newline at end of file diff --git a/website/translated_docs/sr-CS/reverse-proxy.md b/website/translated_docs/sr-CS/reverse-proxy.md index 83b3894b715a..364132e7f42e 100644 --- a/website/translated_docs/sr-CS/reverse-proxy.md +++ b/website/translated_docs/sr-CS/reverse-proxy.md @@ -11,141 +11,145 @@ Apache and `mod_proxy` should **not decode/encode slashes** and leave them as th For installing at relative path, `/npm`, on the server - - AllowEncodedSlashes NoDecode - ProxyPass /npm http://127.0.0.1:4873 nocanon - ProxyPassReverse /npm http://127.0.0.1:4873 - - +```` + + AllowEncodedSlashes NoDecode + ProxyPass /npm http://127.0.0.1:4873 nocanon + ProxyPassReverse /npm http://127.0.0.1:4873 + +```` For installing at root path, `/`, on the server - - - ServerName your.domain.com - ServerAdmin hello@your.domain.com - ProxyPreserveHost On - AllowEncodedSlashes NoDecode - ProxyPass / http://127.0.0.1:4873/ nocanon - ProxyPassReverse / http://127.0.0.1:4873/ - - +```` + + ServerName your.domain.com + ServerAdmin hello@your.domain.com + ProxyPreserveHost On + AllowEncodedSlashes NoDecode + ProxyPass / http://127.0.0.1:4873/ nocanon + ProxyPassReverse / http://127.0.0.1:4873/ + +```` ### Konfigurisanje sa SSL Konfiguracija Apache virtual servera - apacheconfig - - - ServerName npm.your.domain.com - SSLEngine on - SSLCertificateFile /etc/letsencrypt/live/npm.your.domain.com/fullchain.pem - SSLCertificateKeyFile /etc/letsencrypt/live/npm.your.domain.com/privkey.pem - SSLProxyEngine On - ProxyRequests Off - ProxyPreserveHost On - AllowEncodedSlashes NoDecode - ProxyPass / http://127.0.0.1:4873/ nocanon - ProxyPassReverse / http://127.0.0.1:4873/ - RequestHeader set X-Forwarded-Proto "https" - - - +```` + apacheconfig + + + ServerName npm.your.domain.com + SSLEngine on + SSLCertificateFile /etc/letsencrypt/live/npm.your.domain.com/fullchain.pem + SSLCertificateKeyFile /etc/letsencrypt/live/npm.your.domain.com/privkey.pem + SSLProxyEngine On + ProxyRequests Off + ProxyPreserveHost On + AllowEncodedSlashes NoDecode + ProxyPass / http://127.0.0.1:4873/ nocanon + ProxyPassReverse / http://127.0.0.1:4873/ + RequestHeader set X-Forwarded-Proto "https" + + +```` # Nginx The following snippet is a full `docker` example can be tested in our [Docker examples repository](https://github.com/verdaccio/verdaccio/tree/5.x/docker-examples/reverse_proxy/nginx). - upstream verdaccio_v4 { - server verdaccio_relative_path_v4:4873; - keepalive 8; - } - - upstream verdaccio_v4_root { - server verdaccio_relative_path_v4_root:8000; - keepalive 8; +```` +upstream verdaccio_v4 { + server verdaccio_relative_path_v4:4873; + keepalive 8; +} + +upstream verdaccio_v4_root { + server verdaccio_relative_path_v4_root:8000; + keepalive 8; +} + +upstream verdaccio_v3 { + server verdaccio_relative_path_latest_v3:7771; + keepalive 8; +} + +server { + listen 80 default_server; + access_log /var/log/nginx/verdaccio.log; + charset utf-8; + + location / { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4_root; + proxy_redirect off; } - - upstream verdaccio_v3 { - server verdaccio_relative_path_latest_v3:7771; - keepalive 8; + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4/$1; + proxy_redirect off; } - - server { - listen 80 default_server; - access_log /var/log/nginx/verdaccio.log; - charset utf-8; - - location / { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4_root; - proxy_redirect off; - } - - location ~ ^/verdaccio/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4/$1; - proxy_redirect off; - } - - location ~ ^/verdacciov3/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - - proxy_pass http://verdaccio_v3/$1; - proxy_redirect off; - } + + location ~ ^/verdacciov3/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + + proxy_pass http://verdaccio_v3/$1; + proxy_redirect off; } - +} +```` ## SSL example - server { - listen 80; - return 302 https://$host$request_uri; +```` +server { + listen 80; + return 302 https://$host$request_uri; +} + +server { + listen 443 ssl http2; + server_name localhost; + + ssl_certificate /etc/nginx/cert.crt; + ssl_certificate_key /etc/nginx/cert.key; + + ssl on; + ssl_session_cache builtin:1000 shared:SSL:10m; + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; + ssl_prefer_server_ciphers on; + + location / { + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_pass http://verdaccio_v4_root; + proxy_read_timeout 600; + proxy_redirect off; } - - server { - listen 443 ssl http2; - server_name localhost; - - ssl_certificate /etc/nginx/cert.crt; - ssl_certificate_key /etc/nginx/cert.key; - - ssl on; - ssl_session_cache builtin:1000 shared:SSL:10m; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; - ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; - ssl_prefer_server_ciphers on; - - location / { - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_pass http://verdaccio_v4_root; - proxy_read_timeout 600; - proxy_redirect off; - } - - location ~ ^/verdaccio/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4_root/$1; - proxy_redirect off; - } + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4_root/$1; + proxy_redirect off; } - +} +```` ## Pokrenite behind reverse proxy sa različitim domenom i portom @@ -171,10 +175,9 @@ location / { proxy_set_header X-Forwarded-Proto $scheme; } ``` - For this case, `url_prefix` should **NOT** set in Verdaccio config -* * * +--- ili, instalacija pod-direktorijuma: @@ -186,7 +189,6 @@ location ~ ^/verdaccio/(.*)$ { proxy_set_header X-Forwarded-Proto $scheme; } ``` - U ovom slučaju, `url_prefix` treba podesiti na `/verdaccio/` -> Note: There is a slash after the install path (`https://your-domain:port/verdaccio/`)! \ No newline at end of file +> Note: There is a slash after the install path (`https://your-domain:port/verdaccio/`)! diff --git a/website/translated_docs/sr-CS/server.md b/website/translated_docs/sr-CS/server.md index 65c9f5b9b805..edf84f2efbb0 100644 --- a/website/translated_docs/sr-CS/server.md +++ b/website/translated_docs/sr-CS/server.md @@ -31,7 +31,6 @@ The `cd` command sends you to the home directory of the Verdaccio user. Make sur ## Listening na svim adresama Ako želite da osluškujete (listen to) svaku eksternu adresu, podesite listen direktivu na: - ```yaml # možete podesiti listen address (ili port) listen: 0.0.0.0:4873 @@ -39,7 +38,7 @@ listen: 0.0.0.0:4873 If you are running Verdaccio in a Amazon EC2 Instance, [you will need set the listen in change your config file](https://github.com/verdaccio/verdaccio/issues/314#issuecomment-327852203) as is described above. -> Konfigurisanje Apache-a ili nginx? Molimo Vas da pogledate [Reverse Proxy Setup](reverse-proxy.md) +> Configure Apache or nginx? Please check out the [Reverse Proxy Setup](reverse-proxy.md) ## Keeping Verdaccio running forever @@ -71,8 +70,9 @@ $ crontab -e This might ask you to choose an editor. Pick your favorite and proceed. Add the following entry to the file: - @reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio - +``` +@reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio +``` The locations may vary depending on your server setup. If you want to know where your files are you can use the 'which' command: @@ -84,9 +84,7 @@ $ which verdaccio ## Korišćenje systemd Instead of `forever` you can use `systemd` for starting Verdaccio and keeping it running. Verdaccio installation has systemd unit, you only need to copy it: - ```bash $ sudo cp /usr/lib/node_modules/verdaccio/systemd/verdaccio.service /lib/systemd/system/ && sudo systemctl daemon-reload ``` - -This unit assumes you have configuration in `/etc/verdaccio/config.yaml` and store data in `/var/lib/verdaccio`, so either move your files to those locations or edit the unit. \ No newline at end of file +This unit assumes you have configuration in `/etc/verdaccio/config.yaml` and store data in `/var/lib/verdaccio`, so either move your files to those locations or edit the unit. diff --git a/website/translated_docs/sr-CS/who-is-using.md b/website/translated_docs/sr-CS/who-is-using.md index 778ca5bf2e0e..41c0f4cac3ee 100644 --- a/website/translated_docs/sr-CS/who-is-using.md +++ b/website/translated_docs/sr-CS/who-is-using.md @@ -10,6 +10,7 @@ title: "Who is using Verdaccio?" * [SheetJS](https://sheetjs.com/) * [Satispay](https://www.satispay.com/) + ### Open Source Projects > **Feel free to suggest other OSS are using Verdaccio.** @@ -29,4 +30,6 @@ title: "Who is using Verdaccio?" #### Readme Recommendations -* [react-native-cli](https://github.com/react-native-community/react-native-cli/blob/master/CONTRIBUTING.md) \ No newline at end of file +* [react-native-cli](https://github.com/react-native-community/react-native-cli/blob/master/CONTRIBUTING.md) + + diff --git a/website/translated_docs/sr-CS/windows.md b/website/translated_docs/sr-CS/windows.md index 06c4c1c80442..a001606e6a3f 100644 --- a/website/translated_docs/sr-CS/windows.md +++ b/website/translated_docs/sr-CS/windows.md @@ -5,10 +5,10 @@ title: "Instalirajte kao Windows Service" Ugrubo bazirano na uputstvima koja se mogu pronaći [ovde](http://asysadmin.tumblr.com/post/32941224574/running-nginx-on-windows-as-a-service). Napravili smo primer verdaccio servis instalacije koja radi kao sat. Švajcarski: -1. Kreirajte direktorijum za verdaccio +1. Kreirajte direktorijum za verdaccio * mkdir `c:\verdaccio` * cd `c:\verdaccio` -2. Instalirajte verdaccio lokalno (događaju se problemi sa npm ako je instalacija globalna) +2. Instalirajte verdaccio lokalno (događaju se problemi sa npm ako je instalacija globalna) * npm install verdaccio 3. Kreirajte svoj `config.yaml` falj na ovoj lokaciji `(c:\verdaccio\config.yaml)` 4. Windows Service Setup @@ -24,29 +24,29 @@ ALTERNATIVNI METOD: (WinSW paket je nedostajao kada je jedan od naših saradnika * Otvorite administrative command * Pokrenite nssm install verdaccio. Kao minimum, morate popuniti polja: Application tab Path, Startup directory i Arguments. Ako pretpostavimo da ste instalirali sa node u system path na lokaciju c:\verdaccio trebalo bi da funkcioniše: - * Path: `node` * Startup directory: `c:\verdaccio` * Arguments: `c:\verdaccio\node_modules\verdaccio\build\lib\cli.js -c c:\verdaccio\config.yaml` - - Možete da podesite druga servisna podešavanja u okviru ostalih tabova po sopstvenim željama. Kada završite, kliknite dugme Install service - - * Pokrenite service sc, pokrenite verdaccio + + You can adjust other service settings under other tabs as desired. When you are done, click Install service button + + * Pokrenite service sc, pokrenite verdaccio ## Korišćenje WinSW -* Od 2015-10-27, WinSW više nije dostupan na navedenoj lokaciji. Pratite instrukcije date u Using NSSM. -* Preuzmite [WinSW](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/) +* As of 2015-10-27, WinSW is no longer available at the below location. Please follow the Using NSSM instructions above. +* Preuzmite [WinSW](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/) * Postavite exe (primer, `winsw-1.9-bin.exe`) u ovaj folder (`c:\verdaccio`) i preimenujte u `verdaccio-winsw.exe` * Napravite fajl za konfigurisanje `c:\verdaccio`, nazvan `verdaccio-winsw.xml` sa sledećom konfiguracijom `xml verdaccio verdaccio verdaccio node c:\verdaccio\node_modules\verdaccio\src\lib\cli.js -c c:\verdaccio\config.yaml roll c:\verdaccio`. -* Instalirajte servis +* Instalirajte servis * `cd c:\verdaccio` * `verdaccio-winsw.exe install` -* Pokrenite servis +* Pokrenite servis * `verdaccio-winsw.exe start` Izgleda da su neki od config komplikovaniji nego što smo očekivali, izgleda da se 'working directory' ignoriše, ali raducka i pored toga. Tako verdaccio instanca opstaje između restartovanja servera, i sama sebe resetuje u slučaju pada nekog procesa vezanog za verdaccio. + ## Repozitorijumi -* [verdaccio-deamon-windows](https://github.com/davidenke/verdaccio-deamon-windows) \ No newline at end of file +* [verdaccio-deamon-windows](https://github.com/davidenke/verdaccio-deamon-windows) diff --git a/website/translated_docs/sr-SP/caching.md b/website/translated_docs/sr-SP/caching.md index ffbd30ee1bb2..f61650b84e62 100644 --- a/website/translated_docs/sr-SP/caching.md +++ b/website/translated_docs/sr-SP/caching.md @@ -7,11 +7,12 @@ Verdaccio caches all packages by default into the `/storage` folder. But you can ## Caching scenarios -* Build a Node.js project on **Continous Integration** (Bamboo, GitLab, Jenkins, etc) servers is a task that might take several times at a day, thus, the server will download tons of tarballs from the registry every time takes place. As usual, the CI tools clear the cache after each build and the process start over and over again. That is a waste of bandwidth and reduces the external traffic. **You can use Verdaccio for caching tarballs and metadata in our internal network and give a boost in your build time.** +* Build a Node.js project on **Continous Integration** (Bamboo, GitLab, Jenkins, etc) servers is a task that might take several times at a day, thus, the server will download tons of tarballs from the registry every time takes place. As usual, the CI tools clear the cache after each build and the process start over and over again. That is a waste of bandwidth and reduces the external traffic. **You can use Verdaccio for caching tarballs and metadata in our internal network and give a boost in your build time.** * **Latency and Connectivity**, not all countries enjoy a high-speed connection. For such reason cache packages locally in your network is really handy. Either if you are traveling, or have a weak connection, roaming or countries with strong Firewalls that might affect the user experience (eg: corrupting tarballs). * **Offline Mode**, all Node Package Managers nowadays uses their own internal cache, but it common that different projects might use different tools, which implies lock files and so on. Those tools are unable to share cache, the unique solution is centralized and relies on a proxy registry, Verdaccio cache all metadata and tarballs are downloaded by demand being able to share them across all your project. * Avoid that any remote registry suddenly returns *HTTP 404* error for tarballs were previously available a.k.a ([left-pad issue](https://www.theregister.co.uk/2016/03/23/npm_left_pad_chaos/)). + # Strategies for faster builds > We are looking for more strategies, feel free to share your experience in this field @@ -20,15 +21,16 @@ Verdaccio caches all packages by default into the `/storage` folder. But you can If you have a limited storage space, you might need to avoid cache tarballs, enabling `cache` false in each uplink will cache only metadata files. - uplinks: - npmjs: - url: https://registry.npmjs.org/ - cache: false - +``` +uplinks: + npmjs: + url: https://registry.npmjs.org/ + cache: false +``` ## Extending Cache Expiration Time -Verdaccio by default waits 2 minutes to invalidate the cache metadata before fetching new information from the remote registry. + Verdaccio by default waits 2 minutes to invalidate the cache metadata before fetching new information from the remote registry. ```yaml uplinks: @@ -39,6 +41,7 @@ uplinks: Increasing the value of `maxage` in each `uplink` remotes will be asked less frequently. This might be a valid strategy if you don't update dependencies so often. + ## Using the memory instead the hardrive Sometimes caching packages is not a critical step, rather than route packages from different registries and achieving faster build times. There are two plugins that avoid write in a physical hard drive at all using the memory. @@ -62,4 +65,4 @@ store: limit: 1000 ``` -Remember, once the server is restarted the data is being lost, we recommend this setup in cases where you do not need to persist at all. \ No newline at end of file +Remember, once the server is restarted the data is being lost, we recommend this setup in cases where you do not need to persist at all. diff --git a/website/translated_docs/sr-SP/install.md b/website/translated_docs/sr-SP/install.md index 1079aab602b7..4deff434a9e0 100644 --- a/website/translated_docs/sr-SP/install.md +++ b/website/translated_docs/sr-SP/install.md @@ -13,7 +13,7 @@ Verdaccio is a multiplatform web application. To install it, you need a few basi > We highly recommend to use the latest versions of Node Package Manager clients `> npm@6.x | yarn@1.x | | yarn@2.x | pnpm@6.x`. Don't support `npm@5.x` or older. -1. A modern web browser to run the web interface. We actually support `Chrome, Firefox, Edge`. +3. A modern web browser to run the web interface. We actually support `Chrome, Firefox, Edge`. > Verdaccio will support latest Node.js version according the [Node.js Release Working Group](https://github.com/nodejs/Release) recomendations. @@ -21,7 +21,7 @@ Are you still using **Verdaccio 4**?. Check the [migration guide](https://verdac ### Quick Introduction -Learn the basics before getting started, how to install, where is the location of the configuration file and more. +Learn the basics before getting started, how to install, where is the location of the configuration file and more. ## Installing the CLI @@ -92,7 +92,7 @@ Or a `publishConfig` in your `package.json` ## Create Your Own Private NPM Package Tutorial -If you'd like a broader explanation, don't miss the tutorial created by [thedevlife](https://mybiolink.co/thedevlife) on how to Create Your Own Private NPM Package using Verdaccio. +If you'd like a broader explanation, don't miss the tutorial created by [thedevlife](https://mybiolink.co/thedevlife) on how to Create Your Own Private NPM Package using Verdaccio. ## Docker Image @@ -106,4 +106,4 @@ docker run -it --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio `Verdaccio` is also available as a 1-click install on [Cloudron](https://cloudron.io) -[![Инсталирање](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=org.eggertsson.verdaccio) \ No newline at end of file +[![Инсталирање](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=org.eggertsson.verdaccio) diff --git a/website/translated_docs/sr-SP/kubernetes.md b/website/translated_docs/sr-SP/kubernetes.md index 413d8cc2e25a..c139af9e521c 100644 --- a/website/translated_docs/sr-SP/kubernetes.md +++ b/website/translated_docs/sr-SP/kubernetes.md @@ -23,8 +23,9 @@ Deploy the Helm [verdaccio/verdaccio](https://github.com/verdaccio/charts) chart ### Add repository - helm repo add verdaccio https://charts.verdaccio.org - +``` +helm repo add verdaccio https://charts.verdaccio.org +``` У овом примеру користимо `npm` као име издања: @@ -52,6 +53,7 @@ helm uninstall npm **Напомена:** ова команда брише све ресурсе, укључујући и пакете који су можда раније објављени у регистрију. + ### Корисничка конфигурација Verdaccio-а Можете подесити Verdaccio конфигурацију по својим жељама тако што ћете користити Kubernetes *configMap*. @@ -92,7 +94,6 @@ helm install npm --set customConfigMap=verdaccio-config verdaccio/verdaccio #### NGINX proxy body-size limit The standard k8s NGINX ingress proxy allows for 1MB for body-size which can be increased by modifying the default deployment options according to the [documentation](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#custom-max-body-size): - ```yaml ... @@ -109,4 +110,4 @@ annotations: [Rancher](http://rancher.com/) is a complete container management platform that makes managing and using containers in production really easy. -* [verdaccio-rancher](https://github.com/lgaticaq/verdaccio-rancher) \ No newline at end of file +* [verdaccio-rancher](https://github.com/lgaticaq/verdaccio-rancher) diff --git a/website/translated_docs/sr-SP/linking.md b/website/translated_docs/sr-SP/linking.md index 20936fac8e9d..76f693de99c3 100644 --- a/website/translated_docs/sr-SP/linking.md +++ b/website/translated_docs/sr-SP/linking.md @@ -17,10 +17,11 @@ You can link multiple registries, the following document will drive you through The unique way to access multiple registries using the `.npmrc` is the scope feature as follows: - // .npmrc - registry=https://registry.npmjs.org - @mycompany:registry=http://localhost:4873 - +``` +// .npmrc +registry=https://registry.npmjs.org +@mycompany:registry=http://localhost:4873 +``` This approach is valid, but comes with several disadvantages: @@ -75,7 +76,8 @@ Verdaccio supports multiple registries on the `proxy` field. The request will be Having a full Offline Registry is completely possible. If you don't want any connectivity with external remotes you can do the following. ```yaml -
auth: + +auth: htpasswd: file: ./htpasswd uplinks: @@ -91,4 +93,4 @@ packages: publish: $authenticated ``` -Remove all `proxy` fields within each section of `packages`. The registry will become full offline. \ No newline at end of file +Remove all `proxy` fields within each section of `packages`. The registry will become full offline. diff --git a/website/translated_docs/sr-SP/logger.md b/website/translated_docs/sr-SP/logger.md index 77e686614c83..d88a9f3fadc1 100644 --- a/website/translated_docs/sr-SP/logger.md +++ b/website/translated_docs/sr-SP/logger.md @@ -28,4 +28,4 @@ Use `SIGUSR2` to notify the application, the log-file was rotated and it needs t | type | string | Не | [stdout, file] | all | дефинише излаз | | path | string | Не | verdaccio.log | all | ако је тип "фајл", дефинише локацију фајла | | format | string | Не | [pretty, pretty-timestamped] | all | излазни формат | -| level | string | Не | [fatal, error, warn, http, info, debug, trace] | all | verbose level | \ No newline at end of file +| level | string | Не | [fatal, error, warn, http, info, debug, trace] | all | verbose level | diff --git a/website/translated_docs/sr-SP/logo.md b/website/translated_docs/sr-SP/logo.md index 14eb22adbda2..75d501777630 100644 --- a/website/translated_docs/sr-SP/logo.md +++ b/website/translated_docs/sr-SP/logo.md @@ -11,7 +11,7 @@ title: "Logotype" ## Симболи -**Са текстом** +__Са текстом__ ![симбол, мали са текстом](assets/logo/symbol/png/logo-small-header-bottom.png) @@ -19,11 +19,11 @@ title: "Logotype" ![симбол, велики са текстом](assets/logo/symbol/png/logo-small-header-bottom@3x.png) -**SVG** +__SVG__ ![симбол, svg](assets/logo/symbol/svg/logo-small-header-bottom.svg) -**Без текста** +__Без текста__ ![симбол, мали](assets/logo/symbol/png/verdaccio-tiny.png) @@ -31,10 +31,12 @@ title: "Logotype" ![симбол, велики](assets/logo/symbol/png/verdaccio-tiny@3x.png) -**SVG** +__SVG__ ![svg формат, симбол без текста](assets/logo/symbol/svg/verdaccio-tiny.svg) + + ### Црно&Бело ![симбол, цб, мали](assets/logo/symbol/png/verdaccio-blackwhite.png) @@ -43,14 +45,17 @@ title: "Logotype" ![симбол, цб, велики](assets/logo/symbol/png/verdaccio-blackwhite@3x.png) -**SVG** +__SVG__ ![симбол, цб, svg](assets/logo/symbol/svg/verdaccio-blackwhite.svg) + ## Банер ![банер, мали](assets/logo/banner/png/verdaccio-banner.png) ![банер, средњи](assets/logo/banner/png/verdaccio-banner@2x.png) -![банер, велики](assets/logo/banner/png/verdaccio-banner@3x.png) \ No newline at end of file +![банер, велики](assets/logo/banner/png/verdaccio-banner@3x.png) + + diff --git a/website/translated_docs/sr-SP/node-api.md b/website/translated_docs/sr-SP/node-api.md index 3d6891377907..e4e3b13c75c9 100644 --- a/website/translated_docs/sr-SP/node-api.md +++ b/website/translated_docs/sr-SP/node-api.md @@ -39,4 +39,4 @@ verdaccioServer.serviceUninstall(); verdaccioServer.serviceStart(); verdaccioServer.serviceStop(); verdaccioServer.serviceRestart(); -``` \ No newline at end of file +``` diff --git a/website/translated_docs/sr-SP/notifications.md b/website/translated_docs/sr-SP/notifications.md index 8d9b66348d4b..307a326e3bbe 100644 --- a/website/translated_docs/sr-SP/notifications.md +++ b/website/translated_docs/sr-SP/notifications.md @@ -48,12 +48,13 @@ notify: ### Примери за формате - # Пролази кроз све верзије - {{ name }}{{#each versions}} v{{version}}{{/each}} - - # publisher и `dist-tag` package published - {{ publisher.name }} has published {{ publishedPackage }} - +``` +# Пролази кроз све верзије +{{ name }}{{#each versions}} v{{version}}{{/each}} + +# publisher и `dist-tag` package published +{{ publisher.name }} has published {{ publishedPackage }} +``` ### Својства (Properties) @@ -67,54 +68,56 @@ notify: Package metadata за које темплат има приступ - { - "_id": "@test/pkg1", - "name": "@test/pkg1", - "description": "", - "dist-tags": { - "beta": "1.0.54" - }, - "versions": { - "1.0.54": { - "name": "@test/pkg1", - "version": "1.0.54", - "description": "some description", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": { - "name": "Author Name", - "email": "author@domain.com" - }, - "license": "MIT", - "dependencies": { - "webpack": "4.12.0" - }, - "readmeFilename": "README.md", - "_id": "@ test/pkg1@1.0.54", - "_npmVersion": "6.1.0", - "_nodeVersion": "9.9.0", - "_npmUser": {}, - "dist": { - "integrity": "sha512-JlXWpLtMUBAqvVZBvH7UVLhXkGE1ctmXbDjbH/l0zMuG7wVzQ7GshTYvD/b5C+G2vOL2oiIS1RtayA/kKkTwKw==", - "shasum": "29c55c52c1e76e966e706165e5b9f22e32aa9f22", - "tarball": "http://localhost:4873/@test/pkg1/-/@test/pkg1-1.0.54.tgz" - } - } - }, - "readme": "# test", - "_attachments": { - "@test/pkg1-1.0.54.tgz": { - "content_type": "application/octet-stream", - "data": "H4sIAAAAAAAAE+y9Z5PjyJIgOJ ...", - "length": 33112 +``` +{ + "_id": "@test/pkg1", + "name": "@test/pkg1", + "description": "", + "dist-tags": { + "beta": "1.0.54" + }, + "versions": { + "1.0.54": { + "name": "@test/pkg1", + "version": "1.0.54", + "description": "some description", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": { + "name": "Author Name", + "email": "author@domain.com" + }, + "license": "MIT", + "dependencies": { + "webpack": "4.12.0" + }, + "readmeFilename": "README.md", + "_id": "@ test/pkg1@1.0.54", + "_npmVersion": "6.1.0", + "_nodeVersion": "9.9.0", + "_npmUser": {}, + "dist": { + "integrity": "sha512-JlXWpLtMUBAqvVZBvH7UVLhXkGE1ctmXbDjbH/l0zMuG7wVzQ7GshTYvD/b5C+G2vOL2oiIS1RtayA/kKkTwKw==", + "shasum": "29c55c52c1e76e966e706165e5b9f22e32aa9f22", + "tarball": "http://localhost:4873/@test/pkg1/-/@test/pkg1-1.0.54.tgz" } - }, - "time": {} - } - + } + }, + "readme": "# test", + "_attachments": { + "@test/pkg1-1.0.54.tgz": { + "content_type": "application/octet-stream", + "data": "H4sIAAAAAAAAE+y9Z5PjyJIgOJ ...", + "length": 33112 + } + }, + "time": {} +} +``` + ### Publisher @@ -122,21 +125,23 @@ You can get access to the package publisher information in the `content` of a we Погледајте пример за `publisher` object type: - { - name: string, - groups: string[], - real_groups: string[] - } - +``` +{ + name: string, + groups: string[], + real_groups: string[] +} +``` Пример: - notify: - method: POST - headers: [{'Content-Type': 'application/json'}] - endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken - content: '{"color":"green","message":"New package published: * {{ name }}*. Publisher name: * {{ publisher.name }} *.","notify":true,"message_format":"text"}' - +``` +notify: + method: POST + headers: [{'Content-Type': 'application/json'}] + endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken + content: '{"color":"green","message":"New package published: * {{ name }}*. Publisher name: * {{ publisher.name }} *.","notify":true,"message_format":"text"}' +``` **Напомена:** Није могуће добити publisher information ако `package.json` фајл већ има `publisher` својство. @@ -144,8 +149,9 @@ You can get access to the package publisher information in the `content` of a we Можете приступити опцији package is being published помоћу кључне речи `{{publishedPackage}}` на следећи начин. - {{ publisher.name }} has published {{ publishedPackage }} - +``` +{{ publisher.name }} has published {{ publishedPackage }} +``` ## Конфигурисање @@ -156,4 +162,4 @@ You can get access to the package publisher information in the `content` of a we | packagePatternFlags | string | Не | all | | Било која заставица (flags) која ће се користити са regular expression | | headers | array/object | Да | all | | Ако endpoint захтева specific headers, подесите их овде као array of key: value objects. | | endpoint | string | Да | all | | подесите URL endpoint за овај позив | -| content | string | Да | all | | било који [Handlebar](https://handlebarsjs.com/) expressions | \ No newline at end of file +| content | string | Да | all | | било који [Handlebar](https://handlebarsjs.com/) expressions | diff --git a/website/translated_docs/sr-SP/packages.md b/website/translated_docs/sr-SP/packages.md index 065dc538a44b..049299870359 100644 --- a/website/translated_docs/sr-SP/packages.md +++ b/website/translated_docs/sr-SP/packages.md @@ -155,7 +155,7 @@ You may assign multiple uplinks for use as a proxy to use in the case of failove #### Unpublishing Packages -The property `publish` handle permissions for `npm publish` and `npm unpublish`. But, if you want to be more specific, you can use the property `unpublish` in your package access section, for instance: +The property `publish` handle permissions for `npm publish` and `npm unpublish`. But, if you want to be more specific, you can use the property `unpublish` in your package access section, for instance: ```yalm packages: @@ -183,6 +183,7 @@ In the previous example, the behaviour would be described: * only authenticated users can publish `my-company-*` packages, but **nobody would be allowed to unpublish them**. * If `unpublish` is commented out, the access will be granted or denied by the `publish` definition. + ### Конфигурисање You can define mutiple `packages` and each of them must have an unique `Regex`. The syntax is based on [minimatch glob expressions](https://github.com/isaacs/minimatch). @@ -194,6 +195,6 @@ You can define mutiple `packages` and each of them must have an unique `Regex`. | proxy | string | Не | npmjs | all | лимитира look ups за специфични uplink | | storage | string | Не | string | `/some-folder` | креира под-фолдер унутрар storage фолдера за сваки приступ пакетима | -> Наглашавамо да не препоручујемо да и даље користите **allow_access**/**allow_publish** и **proxy_access**, јер ће наведене ускоро бити уклоњене. Молимо Вас да уместо тога користите скраћене верзије (**access**/**publish**/**proxy**). +> We higlight that we recommend to not use **allow_access**/**allow_publish** and **proxy_access** anymore, those are deprecated and will soon be removed, please use the short version of each of those (**access**/**publish**/**proxy**). -If you want more information about how to use the **storage** property, please refer to this [comment](https://github.com/verdaccio/verdaccio/issues/1383#issuecomment-509933674). \ No newline at end of file +If you want more information about how to use the **storage** property, please refer to this [comment](https://github.com/verdaccio/verdaccio/issues/1383#issuecomment-509933674). diff --git a/website/translated_docs/sr-SP/plugins.md b/website/translated_docs/sr-SP/plugins.md index 3a49ec584e4b..7a7cbca34e6c 100644 --- a/website/translated_docs/sr-SP/plugins.md +++ b/website/translated_docs/sr-SP/plugins.md @@ -24,8 +24,9 @@ $> npm install --global verdaccio-activedirectory `verdaccio` as a sinopia fork it has backward compability with plugins that are compatible with `sinopia@1.4.0`. In such case the installation is the same. - $> npm install --global sinopia-memory - +``` +$> npm install --global sinopia-memory +``` ### Конфигурисање @@ -33,6 +34,7 @@ $> npm install --global verdaccio-activedirectory Подразумевана конфигурација изгледа овако, јер користимо уграђени `htpasswd` plugin као подразумеван, а који можете зауставити (disable) тако што ћете следеће линије претворити у коментар. + ### Authentication Configuration ```yaml @@ -93,12 +95,14 @@ store: Verdaccio allows to replace the User Interface with a custom one, we call it **theme**. By default, uses `@verdaccio/ui-theme` that comes built-in, but, you can use something different installing your own plugin. ```bash -
$> npm install --global verdaccio-theme-dark + +$> npm install --global verdaccio-theme-dark ``` > The plugin name prefix must start with `verdaccio-theme`, otherwise the plugin won't load. + You can load only one theme at a time and pass through options if you need it. ```yaml @@ -132,4 +136,5 @@ theme: * [sinopia-ldap](https://www.npmjs.com/package/sinopia-ldap): LDAP auth plugin за sinopia. * [sinopia-github-oauth-env](https://www.npmjs.com/package/sinopia-github-oauth-env) Sinopia authentication plugin са github oauth web flow. -> Сви sinopia plugins-и, требало би да буду компатибилни са свим будућим верзијама verdaccio-а. Било како било, охрабрујемо наше сараднике да пређу на модерни verdaccio API и да користе префикс као *verdaccio-xx-name*. \ No newline at end of file +> Сви sinopia plugins-и, требало би да буду компатибилни са свим будућим верзијама verdaccio-а. Anyhow, we encourage contributors to migrate them to the modern verdaccio API and using the prefix as *verdaccio-xx-name*. + diff --git a/website/translated_docs/sr-SP/protect-your-dependencies.md b/website/translated_docs/sr-SP/protect-your-dependencies.md index 8cc24657711e..62a54e30c9aa 100644 --- a/website/translated_docs/sr-SP/protect-your-dependencies.md +++ b/website/translated_docs/sr-SP/protect-your-dependencies.md @@ -40,6 +40,6 @@ or with `yarn`: ➜ yarn add my-company-core yarn add v0.24.6 info No lockfile found. -[1/4] +[1/4] 🔍 Resolving packages... error An unexpected error occurred: "http://localhost:5555/webpack-1: unregistered users are not allowed to access package my-company-core". -``` \ No newline at end of file +``` diff --git a/website/translated_docs/sr-SP/puppet.md b/website/translated_docs/sr-SP/puppet.md index 0a0518eb89cd..8ada13053f7f 100644 --- a/website/translated_docs/sr-SP/puppet.md +++ b/website/translated_docs/sr-SP/puppet.md @@ -16,6 +16,10 @@ title: "Puppet" За даље информације: - +[https://github.com/verdaccio/puppet-verdaccio](https://github.com/verdaccio/puppet-verdaccio) + +> Тражимо активне сараднике за ову интеграцију, па ако сте заинтересовани, [пошаљите нам ticket](https://github.com/verdaccio/puppet-verdaccio/issues/11). + + + -> Тражимо активне сараднике за ову интеграцију, па ако сте заинтересовани, [пошаљите нам ticket](https://github.com/verdaccio/puppet-verdaccio/issues/11). \ No newline at end of file diff --git a/website/translated_docs/sr-SP/repositories.md b/website/translated_docs/sr-SP/repositories.md index 1e7f6fbc9c44..b9a399cbfe9c 100644 --- a/website/translated_docs/sr-SP/repositories.md +++ b/website/translated_docs/sr-SP/repositories.md @@ -3,6 +3,7 @@ id: repositories title: Source Code --- -`verdaccio` се састоји од пуно репозиторијума у оквиру којих бисте могли да допринесете. Погледајте у **issues** табу, можда је тамо ticket који чека на Вас 🤠. +`verdaccio` се састоји од пуно репозиторијума у оквиру којих бисте могли да допринесете. Look into the **issues** tab whether there is a ticket waiting for you 🤠. + +Да бисте видели комплетну листу репозиторијума, [кликните овде](https://github.com/verdaccio/verdaccio/wiki/Repositories). -Да бисте видели комплетну листу репозиторијума, [кликните овде](https://github.com/verdaccio/verdaccio/wiki/Repositories). \ No newline at end of file diff --git a/website/translated_docs/sr-SP/reverse-proxy.md b/website/translated_docs/sr-SP/reverse-proxy.md index 101edb63b59d..760bb358e06f 100644 --- a/website/translated_docs/sr-SP/reverse-proxy.md +++ b/website/translated_docs/sr-SP/reverse-proxy.md @@ -11,141 +11,145 @@ Apache and `mod_proxy` should **not decode/encode slashes** and leave them as th For installing at relative path, `/npm`, on the server - - AllowEncodedSlashes NoDecode - ProxyPass /npm http://127.0.0.1:4873 nocanon - ProxyPassReverse /npm http://127.0.0.1:4873 - - +```` + + AllowEncodedSlashes NoDecode + ProxyPass /npm http://127.0.0.1:4873 nocanon + ProxyPassReverse /npm http://127.0.0.1:4873 + +```` For installing at root path, `/`, on the server - - - ServerName your.domain.com - ServerAdmin hello@your.domain.com - ProxyPreserveHost On - AllowEncodedSlashes NoDecode - ProxyPass / http://127.0.0.1:4873/ nocanon - ProxyPassReverse / http://127.0.0.1:4873/ - - +```` + + ServerName your.domain.com + ServerAdmin hello@your.domain.com + ProxyPreserveHost On + AllowEncodedSlashes NoDecode + ProxyPass / http://127.0.0.1:4873/ nocanon + ProxyPassReverse / http://127.0.0.1:4873/ + +```` ### Конфигурисање са SSL Конфигурација Apache виртуал сервера - apacheconfig - - - ServerName npm.your.domain.com - SSLEngine on - SSLCertificateFile /etc/letsencrypt/live/npm.your.domain.com/fullchain.pem - SSLCertificateKeyFile /etc/letsencrypt/live/npm.your.domain.com/privkey.pem - SSLProxyEngine On - ProxyRequests Off - ProxyPreserveHost On - AllowEncodedSlashes NoDecode - ProxyPass / http://127.0.0.1:4873/ nocanon - ProxyPassReverse / http://127.0.0.1:4873/ - RequestHeader set X-Forwarded-Proto "https" - - - +```` + apacheconfig + + + ServerName npm.your.domain.com + SSLEngine on + SSLCertificateFile /etc/letsencrypt/live/npm.your.domain.com/fullchain.pem + SSLCertificateKeyFile /etc/letsencrypt/live/npm.your.domain.com/privkey.pem + SSLProxyEngine On + ProxyRequests Off + ProxyPreserveHost On + AllowEncodedSlashes NoDecode + ProxyPass / http://127.0.0.1:4873/ nocanon + ProxyPassReverse / http://127.0.0.1:4873/ + RequestHeader set X-Forwarded-Proto "https" + + +```` # Nginx The following snippet is a full `docker` example can be tested in our [Docker examples repository](https://github.com/verdaccio/verdaccio/tree/5.x/docker-examples/reverse_proxy/nginx). - upstream verdaccio_v4 { - server verdaccio_relative_path_v4:4873; - keepalive 8; - } - - upstream verdaccio_v4_root { - server verdaccio_relative_path_v4_root:8000; - keepalive 8; +```` +upstream verdaccio_v4 { + server verdaccio_relative_path_v4:4873; + keepalive 8; +} + +upstream verdaccio_v4_root { + server verdaccio_relative_path_v4_root:8000; + keepalive 8; +} + +upstream verdaccio_v3 { + server verdaccio_relative_path_latest_v3:7771; + keepalive 8; +} + +server { + listen 80 default_server; + access_log /var/log/nginx/verdaccio.log; + charset utf-8; + + location / { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4_root; + proxy_redirect off; } - - upstream verdaccio_v3 { - server verdaccio_relative_path_latest_v3:7771; - keepalive 8; + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4/$1; + proxy_redirect off; } - - server { - listen 80 default_server; - access_log /var/log/nginx/verdaccio.log; - charset utf-8; - - location / { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4_root; - proxy_redirect off; - } - - location ~ ^/verdaccio/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4/$1; - proxy_redirect off; - } - - location ~ ^/verdacciov3/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - - proxy_pass http://verdaccio_v3/$1; - proxy_redirect off; - } + + location ~ ^/verdacciov3/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + + proxy_pass http://verdaccio_v3/$1; + proxy_redirect off; } - +} +```` ## SSL example - server { - listen 80; - return 302 https://$host$request_uri; +```` +server { + listen 80; + return 302 https://$host$request_uri; +} + +server { + listen 443 ssl http2; + server_name localhost; + + ssl_certificate /etc/nginx/cert.crt; + ssl_certificate_key /etc/nginx/cert.key; + + ssl on; + ssl_session_cache builtin:1000 shared:SSL:10m; + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; + ssl_prefer_server_ciphers on; + + location / { + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_pass http://verdaccio_v4_root; + proxy_read_timeout 600; + proxy_redirect off; } - - server { - listen 443 ssl http2; - server_name localhost; - - ssl_certificate /etc/nginx/cert.crt; - ssl_certificate_key /etc/nginx/cert.key; - - ssl on; - ssl_session_cache builtin:1000 shared:SSL:10m; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; - ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; - ssl_prefer_server_ciphers on; - - location / { - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_pass http://verdaccio_v4_root; - proxy_read_timeout 600; - proxy_redirect off; - } - - location ~ ^/verdaccio/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4_root/$1; - proxy_redirect off; - } + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4_root/$1; + proxy_redirect off; } - +} +```` ## Покрените behind reverse proxy са различитим доменом и портом @@ -171,10 +175,9 @@ location / { proxy_set_header X-Forwarded-Proto $scheme; } ``` - For this case, `url_prefix` should **NOT** set in Verdaccio config -* * * +--- или, инсталација под-директоријума: @@ -186,7 +189,6 @@ location ~ ^/verdaccio/(.*)$ { proxy_set_header X-Forwarded-Proto $scheme; } ``` - У овом случају, `url_prefix` треба подесити на `/verdaccio/` -> Note: There is a slash after the install path (`https://your-domain:port/verdaccio/`)! \ No newline at end of file +> Note: There is a slash after the install path (`https://your-domain:port/verdaccio/`)! diff --git a/website/translated_docs/sr-SP/server.md b/website/translated_docs/sr-SP/server.md index f832508ebedb..16e3f96ec0cf 100644 --- a/website/translated_docs/sr-SP/server.md +++ b/website/translated_docs/sr-SP/server.md @@ -31,7 +31,6 @@ The `cd` command sends you to the home directory of the Verdaccio user. Make sur ## Listening на свим адресама Ако желите да ослушкујете (listen to) сваку екстерну адресу, подесите listen директиву на: - ```yaml # можете подесити listen address (или порт) listen: 0.0.0.0:4873 @@ -39,7 +38,7 @@ listen: 0.0.0.0:4873 If you are running Verdaccio in a Amazon EC2 Instance, [you will need set the listen in change your config file](https://github.com/verdaccio/verdaccio/issues/314#issuecomment-327852203) as is described above. -> Конфигурисање Apache-а или nginx? Молимо Вас да погледате [Reverse Proxy Setup](reverse-proxy.md) +> Configure Apache or nginx? Please check out the [Reverse Proxy Setup](reverse-proxy.md) ## Keeping Verdaccio running forever @@ -71,8 +70,9 @@ $ crontab -e This might ask you to choose an editor. Pick your favorite and proceed. Add the following entry to the file: - @reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio - +``` +@reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio +``` The locations may vary depending on your server setup. If you want to know where your files are you can use the 'which' command: @@ -84,9 +84,7 @@ $ which verdaccio ## Коришћење systemd Instead of `forever` you can use `systemd` for starting Verdaccio and keeping it running. Verdaccio installation has systemd unit, you only need to copy it: - ```bash $ sudo cp /usr/lib/node_modules/verdaccio/systemd/verdaccio.service /lib/systemd/system/ && sudo systemctl daemon-reload ``` - -This unit assumes you have configuration in `/etc/verdaccio/config.yaml` and store data in `/var/lib/verdaccio`, so either move your files to those locations or edit the unit. \ No newline at end of file +This unit assumes you have configuration in `/etc/verdaccio/config.yaml` and store data in `/var/lib/verdaccio`, so either move your files to those locations or edit the unit. diff --git a/website/translated_docs/sr-SP/who-is-using.md b/website/translated_docs/sr-SP/who-is-using.md index 778ca5bf2e0e..41c0f4cac3ee 100644 --- a/website/translated_docs/sr-SP/who-is-using.md +++ b/website/translated_docs/sr-SP/who-is-using.md @@ -10,6 +10,7 @@ title: "Who is using Verdaccio?" * [SheetJS](https://sheetjs.com/) * [Satispay](https://www.satispay.com/) + ### Open Source Projects > **Feel free to suggest other OSS are using Verdaccio.** @@ -29,4 +30,6 @@ title: "Who is using Verdaccio?" #### Readme Recommendations -* [react-native-cli](https://github.com/react-native-community/react-native-cli/blob/master/CONTRIBUTING.md) \ No newline at end of file +* [react-native-cli](https://github.com/react-native-community/react-native-cli/blob/master/CONTRIBUTING.md) + + diff --git a/website/translated_docs/sr-SP/windows.md b/website/translated_docs/sr-SP/windows.md index f13aad9544cf..c0ce1e5edc7f 100644 --- a/website/translated_docs/sr-SP/windows.md +++ b/website/translated_docs/sr-SP/windows.md @@ -5,10 +5,10 @@ title: "Инсталирајте као Windows Service" Угрубо базирано на упутствима која се могу пронаћи [овде](http://asysadmin.tumblr.com/post/32941224574/running-nginx-on-windows-as-a-service). Направили смо пример verdaccio servis инсталације која ради као сат. Швајцарски: -1. Креирајте директоријум за verdaccio +1. Креирајте директоријум за verdaccio * mkdir `c:\verdaccio` * cd `c:\verdaccio` -2. Инсталирајте verdaccio локално (догађају се проблеми са npm ако је инсталација глобална) +2. Инсталирајте verdaccio локално (догађају се проблеми са npm ако је инсталација глобална) * npm install verdaccio 3. Креирајте свој `config.yaml` фајл на овој локацији `(c:\verdaccio\config.yaml)` 4. Windows Service Setup @@ -24,29 +24,29 @@ title: "Инсталирајте као Windows Service" * Отворите administrative command * Покрените nssm install verdaccio. Као минимум, морате попунити поља: Application tab Path, Startup directory и Arguments. Ако претпоставимо да сте инсталирали са node у system path на локацију c:\verdaccio требало би да функционише: - * Path: `node` * Startup directory: `c:\verdaccio` * Arguments: `c:\verdaccio\node_modules\verdaccio\build\lib\cli.js -c c:\verdaccio\config.yaml` - - Можете да подесите друга сервисна подешавања у оквиру осталих табова по сопственим жељама. Када завршите, кликните дугме Install service - - * Покрените service sc, покрените verdaccio + + You can adjust other service settings under other tabs as desired. When you are done, click Install service button + + * Покрените service sc, покрените verdaccio ## Коришћење WinSW -* Од 2015-10-27, WinSW више није доступан на наведеној локацији. Пратите инструкције дате у Using NSSM. -* Преузмите [WinSW](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/) +* As of 2015-10-27, WinSW is no longer available at the below location. Please follow the Using NSSM instructions above. +* Преузмите [WinSW](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/) * Поставите exe (пример, `winsw-1.9-bin.exe`) у овај фолдер (`c:\verdaccio`) и преименујте у `verdaccio-winsw.exe` * Направите фајл за конфигурисање `c:\verdaccio`, назван `verdaccio-winsw.xml` са следећом конфигурацијом `xml verdaccio verdaccio verdaccio node c:\verdaccio\node_modules\verdaccio\src\lib\cli.js -c c:\verdaccio\config.yaml roll c:\verdaccio`. -* Инсталирајте сервис +* Инсталирајте сервис * `cd c:\verdaccio` * `verdaccio-winsw.exe install` -* Покрените сервис +* Покрените сервис * `verdaccio-winsw.exe start` Изгледа да су неки од config компликованији него што смо очекивали, изгледа да се 'working directory' игнорише, али радуцка и поред тога. Тако verdaccio инстанца опстаје између рестартовања сервера, и сама себе ресетује у случају пада неког процеса везаног за verdaccio. + ## Репозиторијуми -* [verdaccio-deamon-windows](https://github.com/davidenke/verdaccio-deamon-windows) \ No newline at end of file +* [verdaccio-deamon-windows](https://github.com/davidenke/verdaccio-deamon-windows) diff --git a/website/translated_docs/tg-TJ/install.md b/website/translated_docs/tg-TJ/install.md index 46b35f61a3bc..3f897208d7f3 100644 --- a/website/translated_docs/tg-TJ/install.md +++ b/website/translated_docs/tg-TJ/install.md @@ -13,7 +13,7 @@ Verdaccio is a multiplatform web application. To install it, you need a few basi > We highly recommend to use the latest versions of Node Package Manager clients `> npm@6.x | yarn@1.x | | yarn@2.x | pnpm@6.x`. Don't support `npm@5.x` or older. -1. A modern web browser to run the web interface. We actually support `Chrome, Firefox, Edge`. +3. A modern web browser to run the web interface. We actually support `Chrome, Firefox, Edge`. > Verdaccio will support latest Node.js version according the [Node.js Release Working Group](https://github.com/nodejs/Release) recomendations. @@ -21,7 +21,7 @@ Are you still using **Verdaccio 4**?. Check the [migration guide](https://verdac ### Quick Introduction -Learn the basics before getting started, how to install, where is the location of the configuration file and more. +Learn the basics before getting started, how to install, where is the location of the configuration file and more. ## Installing the CLI @@ -92,7 +92,7 @@ Or a `publishConfig` in your `package.json` ## Create Your Own Private NPM Package Tutorial -If you'd like a broader explanation, don't miss the tutorial created by [thedevlife](https://mybiolink.co/thedevlife) on how to Create Your Own Private NPM Package using Verdaccio. +If you'd like a broader explanation, don't miss the tutorial created by [thedevlife](https://mybiolink.co/thedevlife) on how to Create Your Own Private NPM Package using Verdaccio. ## Docker Image @@ -106,4 +106,4 @@ docker run -it --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio `Verdaccio` is also available as a 1-click install on [Cloudron](https://cloudron.io) -[![Install](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=org.eggertsson.verdaccio) \ No newline at end of file +[![Install](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=org.eggertsson.verdaccio) diff --git a/website/translated_docs/tg-TJ/kubernetes.md b/website/translated_docs/tg-TJ/kubernetes.md index 4d41ab7fc2ab..5da1b2f18435 100644 --- a/website/translated_docs/tg-TJ/kubernetes.md +++ b/website/translated_docs/tg-TJ/kubernetes.md @@ -23,8 +23,9 @@ Deploy the Helm [verdaccio/verdaccio](https://github.com/verdaccio/charts) chart ### Add repository - helm repo add verdaccio https://charts.verdaccio.org - +``` +helm repo add verdaccio https://charts.verdaccio.org +``` In this example we use `npm` as release name: @@ -52,6 +53,7 @@ helm uninstall npm **Note:** this command delete all the resources, including packages that you may have previously published to the registry. + ### Custom Verdaccio configuration You can customize the Verdaccio configuration using a Kubernetes *configMap*. @@ -92,7 +94,6 @@ helm install npm --set customConfigMap=verdaccio-config verdaccio/verdaccio #### NGINX proxy body-size limit The standard k8s NGINX ingress proxy allows for 1MB for body-size which can be increased by modifying the default deployment options according to the [documentation](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#custom-max-body-size): - ```yaml ... @@ -109,4 +110,4 @@ annotations: [Rancher](http://rancher.com/) is a complete container management platform that makes managing and using containers in production really easy. -* [verdaccio-rancher](https://github.com/lgaticaq/verdaccio-rancher) \ No newline at end of file +* [verdaccio-rancher](https://github.com/lgaticaq/verdaccio-rancher) diff --git a/website/translated_docs/tg-TJ/linking.md b/website/translated_docs/tg-TJ/linking.md index 20936fac8e9d..76f693de99c3 100644 --- a/website/translated_docs/tg-TJ/linking.md +++ b/website/translated_docs/tg-TJ/linking.md @@ -17,10 +17,11 @@ You can link multiple registries, the following document will drive you through The unique way to access multiple registries using the `.npmrc` is the scope feature as follows: - // .npmrc - registry=https://registry.npmjs.org - @mycompany:registry=http://localhost:4873 - +``` +// .npmrc +registry=https://registry.npmjs.org +@mycompany:registry=http://localhost:4873 +``` This approach is valid, but comes with several disadvantages: @@ -75,7 +76,8 @@ Verdaccio supports multiple registries on the `proxy` field. The request will be Having a full Offline Registry is completely possible. If you don't want any connectivity with external remotes you can do the following. ```yaml -
auth: + +auth: htpasswd: file: ./htpasswd uplinks: @@ -91,4 +93,4 @@ packages: publish: $authenticated ``` -Remove all `proxy` fields within each section of `packages`. The registry will become full offline. \ No newline at end of file +Remove all `proxy` fields within each section of `packages`. The registry will become full offline. diff --git a/website/translated_docs/tg-TJ/logger.md b/website/translated_docs/tg-TJ/logger.md index 64401095fcdf..c25d522b25aa 100644 --- a/website/translated_docs/tg-TJ/logger.md +++ b/website/translated_docs/tg-TJ/logger.md @@ -28,4 +28,4 @@ Use `SIGUSR2` to notify the application, the log-file was rotated and it needs t | type | string | No | [stdout, file] | all | define the output | | path | string | No | verdaccio.log | all | if type is file, define the location of that file | | format | string | No | [pretty, pretty-timestamped] | all | output format | -| level | string | No | [fatal, error, warn, http, info, debug, trace] | all | verbose level | \ No newline at end of file +| level | string | No | [fatal, error, warn, http, info, debug, trace] | all | verbose level | diff --git a/website/translated_docs/tg-TJ/logo.md b/website/translated_docs/tg-TJ/logo.md index d93ae00a848c..b2e1d23c74eb 100644 --- a/website/translated_docs/tg-TJ/logo.md +++ b/website/translated_docs/tg-TJ/logo.md @@ -11,7 +11,7 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ## Symbols -**With text** +__With text__ ![symbol tiny with text](assets/logo/symbol/png/logo-small-header-bottom.png) @@ -19,11 +19,11 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ![symbol big with text](assets/logo/symbol/png/logo-small-header-bottom@3x.png) -**SVG** +__SVG__ ![symbol svg](assets/logo/symbol/svg/logo-small-header-bottom.svg) -**No text** +__No text__ ![symbol tiny](assets/logo/symbol/png/verdaccio-tiny.png) @@ -31,10 +31,12 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ![symbol big](assets/logo/symbol/png/verdaccio-tiny@3x.png) -**SVG** +__SVG__ ![svg format symbol no text](assets/logo/symbol/svg/verdaccio-tiny.svg) + + ### Black&White ![symbol bw small](assets/logo/symbol/png/verdaccio-blackwhite.png) @@ -43,14 +45,17 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ![symbol bw big](assets/logo/symbol/png/verdaccio-blackwhite@3x.png) -**SVG** +__SVG__ ![symbol bw svg](assets/logo/symbol/svg/verdaccio-blackwhite.svg) + ## Banner ![banner small](assets/logo/banner/png/verdaccio-banner.png) ![banner medium](assets/logo/banner/png/verdaccio-banner@2x.png) -![banner big](assets/logo/banner/png/verdaccio-banner@3x.png) \ No newline at end of file +![banner big](assets/logo/banner/png/verdaccio-banner@3x.png) + + diff --git a/website/translated_docs/tg-TJ/node-api.md b/website/translated_docs/tg-TJ/node-api.md index b1a27cbb0eed..f6840716b5e9 100644 --- a/website/translated_docs/tg-TJ/node-api.md +++ b/website/translated_docs/tg-TJ/node-api.md @@ -39,4 +39,4 @@ verdaccioServer.serviceUninstall(); verdaccioServer.serviceStart(); verdaccioServer.serviceStop(); verdaccioServer.serviceRestart(); -``` \ No newline at end of file +``` diff --git a/website/translated_docs/tg-TJ/notifications.md b/website/translated_docs/tg-TJ/notifications.md index 0b3bd0ac7449..3539a44afa14 100644 --- a/website/translated_docs/tg-TJ/notifications.md +++ b/website/translated_docs/tg-TJ/notifications.md @@ -48,12 +48,13 @@ We use [Handlebars](https://handlebarsjs.com/) as main template engine. ### Format Examples - # iterate all versions - {{ name }}{{#each versions}} v{{version}}{{/each}} - - # publisher and `dist-tag` package published - {{ publisher.name }} has published {{ publishedPackage }} - +``` +# iterate all versions +{{ name }}{{#each versions}} v{{version}}{{/each}} + +# publisher and `dist-tag` package published +{{ publisher.name }} has published {{ publishedPackage }} +``` ### Properties @@ -67,54 +68,56 @@ List of properties accesible via template Package metadata that the template has access - { - "_id": "@test/pkg1", - "name": "@test/pkg1", - "description": "", - "dist-tags": { - "beta": "1.0.54" - }, - "versions": { - "1.0.54": { - "name": "@test/pkg1", - "version": "1.0.54", - "description": "some description", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": { - "name": "Author Name", - "email": "author@domain.com" - }, - "license": "MIT", - "dependencies": { - "webpack": "4.12.0" - }, - "readmeFilename": "README.md", - "_id": "@ test/pkg1@1.0.54", - "_npmVersion": "6.1.0", - "_nodeVersion": "9.9.0", - "_npmUser": {}, - "dist": { - "integrity": "sha512-JlXWpLtMUBAqvVZBvH7UVLhXkGE1ctmXbDjbH/l0zMuG7wVzQ7GshTYvD/b5C+G2vOL2oiIS1RtayA/kKkTwKw==", - "shasum": "29c55c52c1e76e966e706165e5b9f22e32aa9f22", - "tarball": "http://localhost:4873/@test/pkg1/-/@test/pkg1-1.0.54.tgz" - } - } - }, - "readme": "# test", - "_attachments": { - "@test/pkg1-1.0.54.tgz": { - "content_type": "application/octet-stream", - "data": "H4sIAAAAAAAAE+y9Z5PjyJIgOJ ...", - "length": 33112 +``` +{ + "_id": "@test/pkg1", + "name": "@test/pkg1", + "description": "", + "dist-tags": { + "beta": "1.0.54" + }, + "versions": { + "1.0.54": { + "name": "@test/pkg1", + "version": "1.0.54", + "description": "some description", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": { + "name": "Author Name", + "email": "author@domain.com" + }, + "license": "MIT", + "dependencies": { + "webpack": "4.12.0" + }, + "readmeFilename": "README.md", + "_id": "@ test/pkg1@1.0.54", + "_npmVersion": "6.1.0", + "_nodeVersion": "9.9.0", + "_npmUser": {}, + "dist": { + "integrity": "sha512-JlXWpLtMUBAqvVZBvH7UVLhXkGE1ctmXbDjbH/l0zMuG7wVzQ7GshTYvD/b5C+G2vOL2oiIS1RtayA/kKkTwKw==", + "shasum": "29c55c52c1e76e966e706165e5b9f22e32aa9f22", + "tarball": "http://localhost:4873/@test/pkg1/-/@test/pkg1-1.0.54.tgz" } - }, - "time": {} - } - + } + }, + "readme": "# test", + "_attachments": { + "@test/pkg1-1.0.54.tgz": { + "content_type": "application/octet-stream", + "data": "H4sIAAAAAAAAE+y9Z5PjyJIgOJ ...", + "length": 33112 + } + }, + "time": {} +} +``` + ### Publisher @@ -122,21 +125,23 @@ You can get access to the package publisher information in the `content` of a we See below the `publisher` object type: - { - name: string, - groups: string[], - real_groups: string[] - } - +``` +{ + name: string, + groups: string[], + real_groups: string[] +} +``` An example: - notify: - method: POST - headers: [{'Content-Type': 'application/json'}] - endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken - content: '{"color":"green","message":"New package published: * {{ name }}*. Publisher name: * {{ publisher.name }} *.","notify":true,"message_format":"text"}' - +``` +notify: + method: POST + headers: [{'Content-Type': 'application/json'}] + endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken + content: '{"color":"green","message":"New package published: * {{ name }}*. Publisher name: * {{ publisher.name }} *.","notify":true,"message_format":"text"}' +``` **Note:** it's not possible to get the publisher information if the `package.json` file already has the `publisher` property. @@ -144,8 +149,9 @@ An example: You can access to the package is being published with the keyword `{{publishedPackage}}` as follows. - {{ publisher.name }} has published {{ publishedPackage }} - +``` +{{ publisher.name }} has published {{ publishedPackage }} +``` ## Configuration @@ -156,4 +162,4 @@ You can access to the package is being published with the keyword `{{publishedPa | packagePatternFlags | string | No | all | | Any flags to be used with the regular expression | | headers | array/object | Yes | all | | If this endpoint requires specific headers, set them here as an array of key: value objects. | | endpoint | string | Yes | all | | set the URL endpoint for this call | -| content | string | Yes | all | | any [Handlebar](https://handlebarsjs.com/) expressions | \ No newline at end of file +| content | string | Yes | all | | any [Handlebar](https://handlebarsjs.com/) expressions | diff --git a/website/translated_docs/tg-TJ/packages.md b/website/translated_docs/tg-TJ/packages.md index fcc2bc93d0d0..bd50e417b5c8 100644 --- a/website/translated_docs/tg-TJ/packages.md +++ b/website/translated_docs/tg-TJ/packages.md @@ -155,7 +155,7 @@ You may assign multiple uplinks for use as a proxy to use in the case of failove #### Unpublishing Packages -The property `publish` handle permissions for `npm publish` and `npm unpublish`. But, if you want to be more specific, you can use the property `unpublish` in your package access section, for instance: +The property `publish` handle permissions for `npm publish` and `npm unpublish`. But, if you want to be more specific, you can use the property `unpublish` in your package access section, for instance: ```yalm packages: @@ -183,6 +183,7 @@ In the previous example, the behaviour would be described: * only authenticated users can publish `my-company-*` packages, but **nobody would be allowed to unpublish them**. * If `unpublish` is commented out, the access will be granted or denied by the `publish` definition. + ### Configuration You can define mutiple `packages` and each of them must have an unique `Regex`. The syntax is based on [minimatch glob expressions](https://github.com/isaacs/minimatch). @@ -196,4 +197,4 @@ You can define mutiple `packages` and each of them must have an unique `Regex`. > We higlight that we recommend to not use **allow_access**/**allow_publish** and **proxy_access** anymore, those are deprecated and will soon be removed, please use the short version of each of those (**access**/**publish**/**proxy**). -If you want more information about how to use the **storage** property, please refer to this [comment](https://github.com/verdaccio/verdaccio/issues/1383#issuecomment-509933674). \ No newline at end of file +If you want more information about how to use the **storage** property, please refer to this [comment](https://github.com/verdaccio/verdaccio/issues/1383#issuecomment-509933674). diff --git a/website/translated_docs/tg-TJ/plugins.md b/website/translated_docs/tg-TJ/plugins.md index 42c87b8c8bef..06d4fe198de4 100644 --- a/website/translated_docs/tg-TJ/plugins.md +++ b/website/translated_docs/tg-TJ/plugins.md @@ -24,8 +24,9 @@ $> npm install --global verdaccio-activedirectory `verdaccio` as a sinopia fork it has backward compability with plugins that are compatible with `sinopia@1.4.0`. In such case the installation is the same. - $> npm install --global sinopia-memory - +``` +$> npm install --global sinopia-memory +``` ### Configuration @@ -33,6 +34,7 @@ Open the `config.yaml` file and update the `auth` section as follows: The default configuration looks like this, due we use a build-in `htpasswd` plugin by default that you can disable just commenting out the following lines. + ### Authentication Configuration ```yaml @@ -93,12 +95,14 @@ store: Verdaccio allows to replace the User Interface with a custom one, we call it **theme**. By default, uses `@verdaccio/ui-theme` that comes built-in, but, you can use something different installing your own plugin. ```bash -
$> npm install --global verdaccio-theme-dark + +$> npm install --global verdaccio-theme-dark ``` > The plugin name prefix must start with `verdaccio-theme`, otherwise the plugin won't load. + You can load only one theme at a time and pass through options if you need it. ```yaml @@ -132,4 +136,5 @@ theme: * [sinopia-ldap](https://www.npmjs.com/package/sinopia-ldap): LDAP auth plugin for sinopia. * [sinopia-github-oauth-env](https://www.npmjs.com/package/sinopia-github-oauth-env) Sinopia authentication plugin with github oauth web flow. -> All sinopia plugins should be compatible with all future verdaccio versions. Anyhow, we encourage contributors to migrate them to the modern verdaccio API and using the prefix as *verdaccio-xx-name*. \ No newline at end of file +> All sinopia plugins should be compatible with all future verdaccio versions. Anyhow, we encourage contributors to migrate them to the modern verdaccio API and using the prefix as *verdaccio-xx-name*. + diff --git a/website/translated_docs/tg-TJ/protect-your-dependencies.md b/website/translated_docs/tg-TJ/protect-your-dependencies.md index 25343e3a7ce1..9ceacfdc02b2 100644 --- a/website/translated_docs/tg-TJ/protect-your-dependencies.md +++ b/website/translated_docs/tg-TJ/protect-your-dependencies.md @@ -40,6 +40,6 @@ or with `yarn`: ➜ yarn add my-company-core yarn add v0.24.6 info No lockfile found. -[1/4] +[1/4] 🔍 Resolving packages... error An unexpected error occurred: "http://localhost:5555/webpack-1: unregistered users are not allowed to access package my-company-core". -``` \ No newline at end of file +``` diff --git a/website/translated_docs/tg-TJ/puppet.md b/website/translated_docs/tg-TJ/puppet.md index a9cc94557481..390eef309750 100644 --- a/website/translated_docs/tg-TJ/puppet.md +++ b/website/translated_docs/tg-TJ/puppet.md @@ -16,6 +16,10 @@ In both variants you have to explicitely call "class nodejs {}" in your puppet s For further information: - +[https://github.com/verdaccio/puppet-verdaccio](https://github.com/verdaccio/puppet-verdaccio) + +> We are looking for active contributors for this integration, if you are interested [refers to this ticket](https://github.com/verdaccio/puppet-verdaccio/issues/11). + + + -> We are looking for active contributors for this integration, if you are interested [refers to this ticket](https://github.com/verdaccio/puppet-verdaccio/issues/11). \ No newline at end of file diff --git a/website/translated_docs/tg-TJ/repositories.md b/website/translated_docs/tg-TJ/repositories.md index fac3fe942aaa..19433d9f03dc 100644 --- a/website/translated_docs/tg-TJ/repositories.md +++ b/website/translated_docs/tg-TJ/repositories.md @@ -5,4 +5,5 @@ title: Source Code `verdaccio` is composed or multiple repositories you might contribute. Look into the **issues** tab whether there is a ticket waiting for you 🤠. -To see the complete list of repositories, [click here](https://github.com/verdaccio/verdaccio/wiki/Repositories). \ No newline at end of file +To see the complete list of repositories, [click here](https://github.com/verdaccio/verdaccio/wiki/Repositories). + diff --git a/website/translated_docs/tg-TJ/reverse-proxy.md b/website/translated_docs/tg-TJ/reverse-proxy.md index 769d34e4eb64..f302852d1604 100644 --- a/website/translated_docs/tg-TJ/reverse-proxy.md +++ b/website/translated_docs/tg-TJ/reverse-proxy.md @@ -11,141 +11,145 @@ Apache and `mod_proxy` should **not decode/encode slashes** and leave them as th For installing at relative path, `/npm`, on the server - - AllowEncodedSlashes NoDecode - ProxyPass /npm http://127.0.0.1:4873 nocanon - ProxyPassReverse /npm http://127.0.0.1:4873 - - +```` + + AllowEncodedSlashes NoDecode + ProxyPass /npm http://127.0.0.1:4873 nocanon + ProxyPassReverse /npm http://127.0.0.1:4873 + +```` For installing at root path, `/`, on the server - - - ServerName your.domain.com - ServerAdmin hello@your.domain.com - ProxyPreserveHost On - AllowEncodedSlashes NoDecode - ProxyPass / http://127.0.0.1:4873/ nocanon - ProxyPassReverse / http://127.0.0.1:4873/ - - +```` + + ServerName your.domain.com + ServerAdmin hello@your.domain.com + ProxyPreserveHost On + AllowEncodedSlashes NoDecode + ProxyPass / http://127.0.0.1:4873/ nocanon + ProxyPassReverse / http://127.0.0.1:4873/ + +```` ### Configuration with SSL Apache virtual server configuration - apacheconfig - - - ServerName npm.your.domain.com - SSLEngine on - SSLCertificateFile /etc/letsencrypt/live/npm.your.domain.com/fullchain.pem - SSLCertificateKeyFile /etc/letsencrypt/live/npm.your.domain.com/privkey.pem - SSLProxyEngine On - ProxyRequests Off - ProxyPreserveHost On - AllowEncodedSlashes NoDecode - ProxyPass / http://127.0.0.1:4873/ nocanon - ProxyPassReverse / http://127.0.0.1:4873/ - RequestHeader set X-Forwarded-Proto "https" - - - +```` + apacheconfig + + + ServerName npm.your.domain.com + SSLEngine on + SSLCertificateFile /etc/letsencrypt/live/npm.your.domain.com/fullchain.pem + SSLCertificateKeyFile /etc/letsencrypt/live/npm.your.domain.com/privkey.pem + SSLProxyEngine On + ProxyRequests Off + ProxyPreserveHost On + AllowEncodedSlashes NoDecode + ProxyPass / http://127.0.0.1:4873/ nocanon + ProxyPassReverse / http://127.0.0.1:4873/ + RequestHeader set X-Forwarded-Proto "https" + + +```` # Nginx The following snippet is a full `docker` example can be tested in our [Docker examples repository](https://github.com/verdaccio/verdaccio/tree/5.x/docker-examples/reverse_proxy/nginx). - upstream verdaccio_v4 { - server verdaccio_relative_path_v4:4873; - keepalive 8; - } - - upstream verdaccio_v4_root { - server verdaccio_relative_path_v4_root:8000; - keepalive 8; +```` +upstream verdaccio_v4 { + server verdaccio_relative_path_v4:4873; + keepalive 8; +} + +upstream verdaccio_v4_root { + server verdaccio_relative_path_v4_root:8000; + keepalive 8; +} + +upstream verdaccio_v3 { + server verdaccio_relative_path_latest_v3:7771; + keepalive 8; +} + +server { + listen 80 default_server; + access_log /var/log/nginx/verdaccio.log; + charset utf-8; + + location / { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4_root; + proxy_redirect off; } - - upstream verdaccio_v3 { - server verdaccio_relative_path_latest_v3:7771; - keepalive 8; + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4/$1; + proxy_redirect off; } - - server { - listen 80 default_server; - access_log /var/log/nginx/verdaccio.log; - charset utf-8; - - location / { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4_root; - proxy_redirect off; - } - - location ~ ^/verdaccio/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4/$1; - proxy_redirect off; - } - - location ~ ^/verdacciov3/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - - proxy_pass http://verdaccio_v3/$1; - proxy_redirect off; - } + + location ~ ^/verdacciov3/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + + proxy_pass http://verdaccio_v3/$1; + proxy_redirect off; } - +} +```` ## SSL example - server { - listen 80; - return 302 https://$host$request_uri; +```` +server { + listen 80; + return 302 https://$host$request_uri; +} + +server { + listen 443 ssl http2; + server_name localhost; + + ssl_certificate /etc/nginx/cert.crt; + ssl_certificate_key /etc/nginx/cert.key; + + ssl on; + ssl_session_cache builtin:1000 shared:SSL:10m; + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; + ssl_prefer_server_ciphers on; + + location / { + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_pass http://verdaccio_v4_root; + proxy_read_timeout 600; + proxy_redirect off; } - - server { - listen 443 ssl http2; - server_name localhost; - - ssl_certificate /etc/nginx/cert.crt; - ssl_certificate_key /etc/nginx/cert.key; - - ssl on; - ssl_session_cache builtin:1000 shared:SSL:10m; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; - ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; - ssl_prefer_server_ciphers on; - - location / { - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_pass http://verdaccio_v4_root; - proxy_read_timeout 600; - proxy_redirect off; - } - - location ~ ^/verdaccio/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4_root/$1; - proxy_redirect off; - } + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4_root/$1; + proxy_redirect off; } - +} +```` ## Run behind reverse proxy with different domain and port @@ -171,10 +175,9 @@ location / { proxy_set_header X-Forwarded-Proto $scheme; } ``` - For this case, `url_prefix` should **NOT** set in Verdaccio config -* * * +--- or a sub-directory installation: @@ -186,7 +189,6 @@ location ~ ^/verdaccio/(.*)$ { proxy_set_header X-Forwarded-Proto $scheme; } ``` - For this case, `url_prefix` should set to `/verdaccio/` -> Note: There is a slash after the install path (`https://your-domain:port/verdaccio/`)! \ No newline at end of file +> Note: There is a slash after the install path (`https://your-domain:port/verdaccio/`)! diff --git a/website/translated_docs/tg-TJ/server.md b/website/translated_docs/tg-TJ/server.md index 7473ea12d00c..51498ca32c44 100644 --- a/website/translated_docs/tg-TJ/server.md +++ b/website/translated_docs/tg-TJ/server.md @@ -31,7 +31,6 @@ The `cd` command sends you to the home directory of the Verdaccio user. Make sur ## Listening on all addresses If you want to listen to every external address set the listen directive in the config to: - ```yaml # you can specify listen address (or simply a port) listen: 0.0.0.0:4873 @@ -71,8 +70,9 @@ $ crontab -e This might ask you to choose an editor. Pick your favorite and proceed. Add the following entry to the file: - @reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio - +``` +@reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio +``` The locations may vary depending on your server setup. If you want to know where your files are you can use the 'which' command: @@ -84,9 +84,7 @@ $ which verdaccio ## Using systemd Instead of `forever` you can use `systemd` for starting Verdaccio and keeping it running. Verdaccio installation has systemd unit, you only need to copy it: - ```bash $ sudo cp /usr/lib/node_modules/verdaccio/systemd/verdaccio.service /lib/systemd/system/ && sudo systemctl daemon-reload ``` - -This unit assumes you have configuration in `/etc/verdaccio/config.yaml` and store data in `/var/lib/verdaccio`, so either move your files to those locations or edit the unit. \ No newline at end of file +This unit assumes you have configuration in `/etc/verdaccio/config.yaml` and store data in `/var/lib/verdaccio`, so either move your files to those locations or edit the unit. diff --git a/website/translated_docs/tg-TJ/who-is-using.md b/website/translated_docs/tg-TJ/who-is-using.md index 778ca5bf2e0e..41c0f4cac3ee 100644 --- a/website/translated_docs/tg-TJ/who-is-using.md +++ b/website/translated_docs/tg-TJ/who-is-using.md @@ -10,6 +10,7 @@ title: "Who is using Verdaccio?" * [SheetJS](https://sheetjs.com/) * [Satispay](https://www.satispay.com/) + ### Open Source Projects > **Feel free to suggest other OSS are using Verdaccio.** @@ -29,4 +30,6 @@ title: "Who is using Verdaccio?" #### Readme Recommendations -* [react-native-cli](https://github.com/react-native-community/react-native-cli/blob/master/CONTRIBUTING.md) \ No newline at end of file +* [react-native-cli](https://github.com/react-native-community/react-native-cli/blob/master/CONTRIBUTING.md) + + diff --git a/website/translated_docs/tg-TJ/windows.md b/website/translated_docs/tg-TJ/windows.md index eeb0b4e96470..753bd9db917e 100644 --- a/website/translated_docs/tg-TJ/windows.md +++ b/website/translated_docs/tg-TJ/windows.md @@ -5,10 +5,10 @@ title: "Installing As a Windows Service" Loosely based upon the instructions found [here](http://asysadmin.tumblr.com/post/32941224574/running-nginx-on-windows-as-a-service). I crafted the following and it provided me with a fully working verdaccio service installation: -1. Create a directory for verdaccio +1. Create a directory for verdaccio * mkdir `c:\verdaccio` * cd `c:\verdaccio` -2. Install verdaccio locally (I ran into npm issues with global installs) +2. Install verdaccio locally (I ran into npm issues with global installs) * npm install verdaccio 3. Create your `config.yaml` file in this location `(c:\verdaccio\config.yaml)` 4. Windows Service Setup @@ -24,29 +24,29 @@ ALTERNATIVE METHOD: (WinSW package was missing when I tried to download it) * Open an administrative command * Run nssm install verdaccio At a minimum you must fill in the Application tab Path, Startup directory and Arguments fields. Assuming an install with node in the system path and a location of c:\verdaccio the below values will work: - * Path: `node` * Startup directory: `c:\verdaccio` * Arguments: `c:\verdaccio\node_modules\verdaccio\build\lib\cli.js -c c:\verdaccio\config.yaml` - + You can adjust other service settings under other tabs as desired. When you are done, click Install service button - - * Start the service sc start verdaccio + + * Start the service sc start verdaccio ## Using WinSW * As of 2015-10-27, WinSW is no longer available at the below location. Please follow the Using NSSM instructions above. -* Download [WinSW](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/) +* Download [WinSW](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/) * Place the executable (e.g. `winsw-1.9-bin.exe`) into this folder (`c:\verdaccio`) and rename it to `verdaccio-winsw.exe` * Create a configuration file in `c:\verdaccio`, named `verdaccio-winsw.xml` with the following configuration `xml verdaccio verdaccio verdaccio node c:\verdaccio\node_modules\verdaccio\src\lib\cli.js -c c:\verdaccio\config.yaml roll c:\verdaccio`. -* Install your service +* Install your service * `cd c:\verdaccio` * `verdaccio-winsw.exe install` -* Start your service +* Start your service * `verdaccio-winsw.exe start` Some of the above config is more verbose than I had expected, it appears as though 'workingdirectory' is ignored, but other than that, this works for me and allows my verdaccio instance to persist between restarts of the server, and also restart itself should there be any crashes of the verdaccio process. + ## Repositories -* [verdaccio-deamon-windows](https://github.com/davidenke/verdaccio-deamon-windows) \ No newline at end of file +* [verdaccio-deamon-windows](https://github.com/davidenke/verdaccio-deamon-windows) diff --git a/website/translated_docs/vi-VN/caching.md b/website/translated_docs/vi-VN/caching.md index 60b7f65879e2..f662d67dfa25 100644 --- a/website/translated_docs/vi-VN/caching.md +++ b/website/translated_docs/vi-VN/caching.md @@ -7,11 +7,12 @@ Verdaccio caches all packages by default into the `/storage` folder. But you can ## Caching scenarios -* Build a Node.js project on **Continous Integration** (Bamboo, GitLab, Jenkins, etc) servers is a task that might take several times at a day, thus, the server will download tons of tarballs from the registry every time takes place. As usual, the CI tools clear the cache after each build and the process start over and over again. That is a waste of bandwidth and reduces the external traffic. **You can use Verdaccio for caching tarballs and metadata in our internal network and give a boost in your build time.** +* Build a Node.js project on **Continous Integration** (Bamboo, GitLab, Jenkins, etc) servers is a task that might take several times at a day, thus, the server will download tons of tarballs from the registry every time takes place. As usual, the CI tools clear the cache after each build and the process start over and over again. That is a waste of bandwidth and reduces the external traffic. **You can use Verdaccio for caching tarballs and metadata in our internal network and give a boost in your build time.** * **Latency and Connectivity**, not all countries enjoy a high-speed connection. For such reason cache packages locally in your network is really handy. Either if you are traveling, or have a weak connection, roaming or countries with strong Firewalls that might affect the user experience (eg: corrupting tarballs). * **Offline Mode**, all Node Package Managers nowadays uses their own internal cache, but it common that different projects might use different tools, which implies lock files and so on. Those tools are unable to share cache, the unique solution is centralized and relies on a proxy registry, Verdaccio cache all metadata and tarballs are downloaded by demand being able to share them across all your project. * Avoid that any remote registry suddenly returns *HTTP 404* error for tarballs were previously available a.k.a ([left-pad issue](https://www.theregister.co.uk/2016/03/23/npm_left_pad_chaos/)). + # Strategies for faster builds > We are looking for more strategies, feel free to share your experience in this field @@ -20,15 +21,16 @@ Verdaccio caches all packages by default into the `/storage` folder. But you can If you have a limited storage space, you might need to avoid cache tarballs, enabling `cache` false in each uplink will cache only metadata files. - uplinks: - npmjs: - url: https://registry.npmjs.org/ - cache: false - +``` +uplinks: + npmjs: + url: https://registry.npmjs.org/ + cache: false +``` ## Extending Cache Expiration Time -Verdaccio by default waits 2 minutes to invalidate the cache metadata before fetching new information from the remote registry. + Verdaccio by default waits 2 minutes to invalidate the cache metadata before fetching new information from the remote registry. ```yaml uplinks: @@ -39,6 +41,7 @@ uplinks: Increasing the value of `maxage` in each `uplink` remotes will be asked less frequently. This might be a valid strategy if you don't update dependencies so often. + ## Using the memory instead the hardrive Sometimes caching packages is not a critical step, rather than route packages from different registries and achieving faster build times. There are two plugins that avoid write in a physical hard drive at all using the memory. @@ -62,4 +65,4 @@ store: limit: 1000 ``` -Remember, once the server is restarted the data is being lost, we recommend this setup in cases where you do not need to persist at all. \ No newline at end of file +Remember, once the server is restarted the data is being lost, we recommend this setup in cases where you do not need to persist at all. diff --git a/website/translated_docs/vi-VN/install.md b/website/translated_docs/vi-VN/install.md index 81fde3ab9efa..4bc49498bc41 100644 --- a/website/translated_docs/vi-VN/install.md +++ b/website/translated_docs/vi-VN/install.md @@ -13,7 +13,7 @@ Verdaccio is a multiplatform web application. To install it, you need a few basi > We highly recommend to use the latest versions of Node Package Manager clients `> npm@6.x | yarn@1.x | | yarn@2.x | pnpm@6.x`. Don't support `npm@5.x` or older. -1. A modern web browser to run the web interface. We actually support `Chrome, Firefox, Edge`. +3. A modern web browser to run the web interface. We actually support `Chrome, Firefox, Edge`. > Verdaccio will support latest Node.js version according the [Node.js Release Working Group](https://github.com/nodejs/Release) recomendations. @@ -21,7 +21,7 @@ Are you still using **Verdaccio 4**?. Check the [migration guide](https://verdac ### Quick Introduction -Learn the basics before getting started, how to install, where is the location of the configuration file and more. +Learn the basics before getting started, how to install, where is the location of the configuration file and more. ## Installing the CLI @@ -92,7 +92,7 @@ Or a `publishConfig` in your `package.json` ## Create Your Own Private NPM Package Tutorial -If you'd like a broader explanation, don't miss the tutorial created by [thedevlife](https://mybiolink.co/thedevlife) on how to Create Your Own Private NPM Package using Verdaccio. +If you'd like a broader explanation, don't miss the tutorial created by [thedevlife](https://mybiolink.co/thedevlife) on how to Create Your Own Private NPM Package using Verdaccio. ## Docker Image @@ -106,4 +106,4 @@ docker run -it --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio `Verdaccio` is also available as a 1-click install on [Cloudron](https://cloudron.io) -[![Cài đặt](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=org.eggertsson.verdaccio) \ No newline at end of file +[![Cài đặt](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=org.eggertsson.verdaccio) diff --git a/website/translated_docs/vi-VN/kubernetes.md b/website/translated_docs/vi-VN/kubernetes.md index 0b8e321158cd..7fe17bc0ff4b 100644 --- a/website/translated_docs/vi-VN/kubernetes.md +++ b/website/translated_docs/vi-VN/kubernetes.md @@ -23,8 +23,9 @@ Deploy the Helm [verdaccio/verdaccio](https://github.com/verdaccio/charts) chart ### Add repository - helm repo add verdaccio https://charts.verdaccio.org - +``` +helm repo add verdaccio https://charts.verdaccio.org +``` In this example we use `npm` as release name: @@ -52,6 +53,7 @@ helm uninstall npm **Lưu ý:** Lệnh này sẽ xóa tất cả mã nguồn, bao gồm các gói mà bạn đã đăng trước đó vào sổ đăng ký. + ### Tùy chỉnh cấu hình Verdaccio Bạn có thể tùy chỉnh cấu hình Verdaccio bằng Kubernetes *configMap*. @@ -92,7 +94,6 @@ helm install npm --set customConfigMap=verdaccio-config verdaccio/verdaccio #### NGINX proxy body-size limit The standard k8s NGINX ingress proxy allows for 1MB for body-size which can be increased by modifying the default deployment options according to the [documentation](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#custom-max-body-size): - ```yaml ... @@ -109,4 +110,4 @@ annotations: [Rancher](http://rancher.com/) is a complete container management platform that makes managing and using containers in production really easy. -* [verdaccio-rancher](https://github.com/lgaticaq/verdaccio-rancher) \ No newline at end of file +* [verdaccio-rancher](https://github.com/lgaticaq/verdaccio-rancher) diff --git a/website/translated_docs/vi-VN/linking.md b/website/translated_docs/vi-VN/linking.md index 20936fac8e9d..76f693de99c3 100644 --- a/website/translated_docs/vi-VN/linking.md +++ b/website/translated_docs/vi-VN/linking.md @@ -17,10 +17,11 @@ You can link multiple registries, the following document will drive you through The unique way to access multiple registries using the `.npmrc` is the scope feature as follows: - // .npmrc - registry=https://registry.npmjs.org - @mycompany:registry=http://localhost:4873 - +``` +// .npmrc +registry=https://registry.npmjs.org +@mycompany:registry=http://localhost:4873 +``` This approach is valid, but comes with several disadvantages: @@ -75,7 +76,8 @@ Verdaccio supports multiple registries on the `proxy` field. The request will be Having a full Offline Registry is completely possible. If you don't want any connectivity with external remotes you can do the following. ```yaml -
auth: + +auth: htpasswd: file: ./htpasswd uplinks: @@ -91,4 +93,4 @@ packages: publish: $authenticated ``` -Remove all `proxy` fields within each section of `packages`. The registry will become full offline. \ No newline at end of file +Remove all `proxy` fields within each section of `packages`. The registry will become full offline. diff --git a/website/translated_docs/vi-VN/logger.md b/website/translated_docs/vi-VN/logger.md index e97094a2dee3..a168545af77b 100644 --- a/website/translated_docs/vi-VN/logger.md +++ b/website/translated_docs/vi-VN/logger.md @@ -23,9 +23,9 @@ Use `SIGUSR2` to notify the application, the log-file was rotated and it needs t ### Cấu hình -| Thuộc tính | Loại | Yêu cầu | Ví dụ | Hỗ trợ | Miêu tả | -| ---------- | ----- | ------- | ---------------------------------------------- | ------ | --------------------------------------- | -| type | chuỗi | Không | [stdout, file] | tất cả | xác định đầu ra | -| path | chuỗi | Không | verdaccio.log | tất cả | nếu là tệp, hãy xác định vị trí của tệp | -| format | chuỗi | Không | [pretty, pretty-timestamped] | tất cả | định dạng đầu ra | -| level | chuỗi | Không | [fatal, error, warn, http, info, debug, trace] | tất cả | mức độ chi tiết | \ No newline at end of file +| Thuộc tính | Phương thức | Yêu cầu | Ví dụ | Hỗ trợ | Miêu tả | +| ---------- | ----------- | ------- | ---------------------------------------------- | ------ | --------------------------------------- | +| type | chuỗi | Không | [stdout, file] | tất cả | xác định đầu ra | +| path | chuỗi | Không | verdaccio.log | tất cả | nếu là tệp, hãy xác định vị trí của tệp | +| format | chuỗi | Không | [pretty, pretty-timestamped] | tất cả | định dạng đầu ra | +| level | chuỗi | Không | [fatal, error, warn, http, info, debug, trace] | tất cả | mức độ chi tiết | diff --git a/website/translated_docs/vi-VN/logo.md b/website/translated_docs/vi-VN/logo.md index d93ae00a848c..b2e1d23c74eb 100644 --- a/website/translated_docs/vi-VN/logo.md +++ b/website/translated_docs/vi-VN/logo.md @@ -11,7 +11,7 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ## Symbols -**With text** +__With text__ ![symbol tiny with text](assets/logo/symbol/png/logo-small-header-bottom.png) @@ -19,11 +19,11 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ![symbol big with text](assets/logo/symbol/png/logo-small-header-bottom@3x.png) -**SVG** +__SVG__ ![symbol svg](assets/logo/symbol/svg/logo-small-header-bottom.svg) -**No text** +__No text__ ![symbol tiny](assets/logo/symbol/png/verdaccio-tiny.png) @@ -31,10 +31,12 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ![symbol big](assets/logo/symbol/png/verdaccio-tiny@3x.png) -**SVG** +__SVG__ ![svg format symbol no text](assets/logo/symbol/svg/verdaccio-tiny.svg) + + ### Black&White ![symbol bw small](assets/logo/symbol/png/verdaccio-blackwhite.png) @@ -43,14 +45,17 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ![symbol bw big](assets/logo/symbol/png/verdaccio-blackwhite@3x.png) -**SVG** +__SVG__ ![symbol bw svg](assets/logo/symbol/svg/verdaccio-blackwhite.svg) + ## Banner ![banner small](assets/logo/banner/png/verdaccio-banner.png) ![banner medium](assets/logo/banner/png/verdaccio-banner@2x.png) -![banner big](assets/logo/banner/png/verdaccio-banner@3x.png) \ No newline at end of file +![banner big](assets/logo/banner/png/verdaccio-banner@3x.png) + + diff --git a/website/translated_docs/vi-VN/node-api.md b/website/translated_docs/vi-VN/node-api.md index ea4f37e79b20..f6840716b5e9 100644 --- a/website/translated_docs/vi-VN/node-api.md +++ b/website/translated_docs/vi-VN/node-api.md @@ -5,7 +5,7 @@ title: "Node API" Verdaccio can be invoked programmatically. The Node API was introduced after version `verdaccio@3.0.0`. -## Cách sử dụng +## Usage #### Programmatically @@ -39,4 +39,4 @@ verdaccioServer.serviceUninstall(); verdaccioServer.serviceStart(); verdaccioServer.serviceStop(); verdaccioServer.serviceRestart(); -``` \ No newline at end of file +``` diff --git a/website/translated_docs/vi-VN/notifications.md b/website/translated_docs/vi-VN/notifications.md index 1befe58cd895..63b9163ff2ee 100644 --- a/website/translated_docs/vi-VN/notifications.md +++ b/website/translated_docs/vi-VN/notifications.md @@ -48,12 +48,13 @@ We use [Handlebars](https://handlebarsjs.com/) as main template engine. ### Format Examples - # iterate all versions - {{ name }}{{#each versions}} v{{version}}{{/each}} - - # publisher and `dist-tag` package published - {{ publisher.name }} has published {{ publishedPackage }} - +``` +# iterate all versions +{{ name }}{{#each versions}} v{{version}}{{/each}} + +# publisher and `dist-tag` package published +{{ publisher.name }} has published {{ publishedPackage }} +``` ### Properties @@ -67,54 +68,56 @@ List of properties accesible via template Package metadata that the template has access - { - "_id": "@test/pkg1", - "name": "@test/pkg1", - "description": "", - "dist-tags": { - "beta": "1.0.54" - }, - "versions": { - "1.0.54": { - "name": "@test/pkg1", - "version": "1.0.54", - "description": "some description", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": { - "name": "Author Name", - "email": "author@domain.com" - }, - "license": "MIT", - "dependencies": { - "webpack": "4.12.0" - }, - "readmeFilename": "README.md", - "_id": "@ test/pkg1@1.0.54", - "_npmVersion": "6.1.0", - "_nodeVersion": "9.9.0", - "_npmUser": {}, - "dist": { - "integrity": "sha512-JlXWpLtMUBAqvVZBvH7UVLhXkGE1ctmXbDjbH/l0zMuG7wVzQ7GshTYvD/b5C+G2vOL2oiIS1RtayA/kKkTwKw==", - "shasum": "29c55c52c1e76e966e706165e5b9f22e32aa9f22", - "tarball": "http://localhost:4873/@test/pkg1/-/@test/pkg1-1.0.54.tgz" - } - } - }, - "readme": "# test", - "_attachments": { - "@test/pkg1-1.0.54.tgz": { - "content_type": "application/octet-stream", - "data": "H4sIAAAAAAAAE+y9Z5PjyJIgOJ ...", - "length": 33112 +``` +{ + "_id": "@test/pkg1", + "name": "@test/pkg1", + "description": "", + "dist-tags": { + "beta": "1.0.54" + }, + "versions": { + "1.0.54": { + "name": "@test/pkg1", + "version": "1.0.54", + "description": "some description", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": { + "name": "Author Name", + "email": "author@domain.com" + }, + "license": "MIT", + "dependencies": { + "webpack": "4.12.0" + }, + "readmeFilename": "README.md", + "_id": "@ test/pkg1@1.0.54", + "_npmVersion": "6.1.0", + "_nodeVersion": "9.9.0", + "_npmUser": {}, + "dist": { + "integrity": "sha512-JlXWpLtMUBAqvVZBvH7UVLhXkGE1ctmXbDjbH/l0zMuG7wVzQ7GshTYvD/b5C+G2vOL2oiIS1RtayA/kKkTwKw==", + "shasum": "29c55c52c1e76e966e706165e5b9f22e32aa9f22", + "tarball": "http://localhost:4873/@test/pkg1/-/@test/pkg1-1.0.54.tgz" } - }, - "time": {} - } - + } + }, + "readme": "# test", + "_attachments": { + "@test/pkg1-1.0.54.tgz": { + "content_type": "application/octet-stream", + "data": "H4sIAAAAAAAAE+y9Z5PjyJIgOJ ...", + "length": 33112 + } + }, + "time": {} +} +``` + ### Publisher @@ -122,21 +125,23 @@ You can get access to the package publisher information in the `content` of a we See below the `publisher` object type: - { - name: string, - groups: string[], - real_groups: string[] - } - +``` +{ + name: string, + groups: string[], + real_groups: string[] +} +``` An example: - notify: - method: POST - headers: [{'Content-Type': 'application/json'}] - endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken - content: '{"color":"green","message":"New package published: * {{ name }}*. Publisher name: * {{ publisher.name }} *.","notify":true,"message_format":"text"}' - +``` +notify: + method: POST + headers: [{'Content-Type': 'application/json'}] + endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken + content: '{"color":"green","message":"New package published: * {{ name }}*. Publisher name: * {{ publisher.name }} *.","notify":true,"message_format":"text"}' +``` **Note:** it's not possible to get the publisher information if the `package.json` file already has the `publisher` property. @@ -144,8 +149,9 @@ An example: You can access to the package is being published with the keyword `{{publishedPackage}}` as follows. - {{ publisher.name }} has published {{ publishedPackage }} - +``` +{{ publisher.name }} has published {{ publishedPackage }} +``` ## Cấu hình @@ -156,4 +162,4 @@ You can access to the package is being published with the keyword `{{publishedPa | packagePatternFlags | chuỗi | Không | tất cả | | Any flags to be used with the regular expression | | headers | array/object | Có | tất cả | | If this endpoint requires specific headers, set them here as an array of key: value objects. | | endpoint | chuỗi | Có | tất cả | | set the URL endpoint for this call | -| content | chuỗi | Có | tất cả | | any [Handlebar](https://handlebarsjs.com/) expressions | \ No newline at end of file +| content | chuỗi | Có | tất cả | | any [Handlebar](https://handlebarsjs.com/) expressions | diff --git a/website/translated_docs/vi-VN/packages.md b/website/translated_docs/vi-VN/packages.md index 4aa5dddb31af..a1f602ba9c6e 100644 --- a/website/translated_docs/vi-VN/packages.md +++ b/website/translated_docs/vi-VN/packages.md @@ -155,7 +155,7 @@ You may assign multiple uplinks for use as a proxy to use in the case of failove #### Unpublishing Packages -The property `publish` handle permissions for `npm publish` and `npm unpublish`. But, if you want to be more specific, you can use the property `unpublish` in your package access section, for instance: +The property `publish` handle permissions for `npm publish` and `npm unpublish`. But, if you want to be more specific, you can use the property `unpublish` in your package access section, for instance: ```yalm packages: @@ -183,6 +183,7 @@ In the previous example, the behaviour would be described: * only authenticated users can publish `my-company-*` packages, but **nobody would be allowed to unpublish them**. * If `unpublish` is commented out, the access will be granted or denied by the `publish` definition. + ### Cấu hình You can define mutiple `packages` and each of them must have an unique `Regex`. The syntax is based on [minimatch glob expressions](https://github.com/isaacs/minimatch). @@ -196,4 +197,4 @@ You can define mutiple `packages` and each of them must have an unique `Regex`. > We higlight that we recommend to not use **allow_access**/**allow_publish** and **proxy_access** anymore, those are deprecated and will soon be removed, please use the short version of each of those (**access**/**publish**/**proxy**). -If you want more information about how to use the **storage** property, please refer to this [comment](https://github.com/verdaccio/verdaccio/issues/1383#issuecomment-509933674). \ No newline at end of file +If you want more information about how to use the **storage** property, please refer to this [comment](https://github.com/verdaccio/verdaccio/issues/1383#issuecomment-509933674). diff --git a/website/translated_docs/vi-VN/plugins.md b/website/translated_docs/vi-VN/plugins.md index 055aabf5cdf5..baf6e865c4f2 100644 --- a/website/translated_docs/vi-VN/plugins.md +++ b/website/translated_docs/vi-VN/plugins.md @@ -24,8 +24,9 @@ $> npm install --global verdaccio-activedirectory `verdaccio` as a sinopia fork it has backward compability with plugins that are compatible with `sinopia@1.4.0`. In such case the installation is the same. - $> npm install --global sinopia-memory - +``` +$> npm install --global sinopia-memory +``` ### Cấu hình @@ -33,6 +34,7 @@ Open the `config.yaml` file and update the `auth` section as follows: The default configuration looks like this, due we use a build-in `htpasswd` plugin by default that you can disable just commenting out the following lines. + ### Authentication Configuration ```yaml @@ -93,12 +95,14 @@ store: Verdaccio allows to replace the User Interface with a custom one, we call it **theme**. By default, uses `@verdaccio/ui-theme` that comes built-in, but, you can use something different installing your own plugin. ```bash -
$> npm install --global verdaccio-theme-dark + +$> npm install --global verdaccio-theme-dark ``` > The plugin name prefix must start with `verdaccio-theme`, otherwise the plugin won't load. + You can load only one theme at a time and pass through options if you need it. ```yaml @@ -132,4 +136,5 @@ theme: * [sinopia-ldap](https://www.npmjs.com/package/sinopia-ldap): LDAP auth plugin for sinopia. * [sinopia-github-oauth-env](https://www.npmjs.com/package/sinopia-github-oauth-env) Sinopia authentication plugin with github oauth web flow. -> All sinopia plugins should be compatible with all future verdaccio versions. Anyhow, we encourage contributors to migrate them to the modern verdaccio API and using the prefix as *verdaccio-xx-name*. \ No newline at end of file +> All sinopia plugins should be compatible with all future verdaccio versions. Anyhow, we encourage contributors to migrate them to the modern verdaccio API and using the prefix as *verdaccio-xx-name*. + diff --git a/website/translated_docs/vi-VN/protect-your-dependencies.md b/website/translated_docs/vi-VN/protect-your-dependencies.md index 25343e3a7ce1..9ceacfdc02b2 100644 --- a/website/translated_docs/vi-VN/protect-your-dependencies.md +++ b/website/translated_docs/vi-VN/protect-your-dependencies.md @@ -40,6 +40,6 @@ or with `yarn`: ➜ yarn add my-company-core yarn add v0.24.6 info No lockfile found. -[1/4] +[1/4] 🔍 Resolving packages... error An unexpected error occurred: "http://localhost:5555/webpack-1: unregistered users are not allowed to access package my-company-core". -``` \ No newline at end of file +``` diff --git a/website/translated_docs/vi-VN/puppet.md b/website/translated_docs/vi-VN/puppet.md index a9cc94557481..390eef309750 100644 --- a/website/translated_docs/vi-VN/puppet.md +++ b/website/translated_docs/vi-VN/puppet.md @@ -16,6 +16,10 @@ In both variants you have to explicitely call "class nodejs {}" in your puppet s For further information: - +[https://github.com/verdaccio/puppet-verdaccio](https://github.com/verdaccio/puppet-verdaccio) + +> We are looking for active contributors for this integration, if you are interested [refers to this ticket](https://github.com/verdaccio/puppet-verdaccio/issues/11). + + + -> We are looking for active contributors for this integration, if you are interested [refers to this ticket](https://github.com/verdaccio/puppet-verdaccio/issues/11). \ No newline at end of file diff --git a/website/translated_docs/vi-VN/repositories.md b/website/translated_docs/vi-VN/repositories.md index fac3fe942aaa..19433d9f03dc 100644 --- a/website/translated_docs/vi-VN/repositories.md +++ b/website/translated_docs/vi-VN/repositories.md @@ -5,4 +5,5 @@ title: Source Code `verdaccio` is composed or multiple repositories you might contribute. Look into the **issues** tab whether there is a ticket waiting for you 🤠. -To see the complete list of repositories, [click here](https://github.com/verdaccio/verdaccio/wiki/Repositories). \ No newline at end of file +To see the complete list of repositories, [click here](https://github.com/verdaccio/verdaccio/wiki/Repositories). + diff --git a/website/translated_docs/vi-VN/reverse-proxy.md b/website/translated_docs/vi-VN/reverse-proxy.md index 769d34e4eb64..f302852d1604 100644 --- a/website/translated_docs/vi-VN/reverse-proxy.md +++ b/website/translated_docs/vi-VN/reverse-proxy.md @@ -11,141 +11,145 @@ Apache and `mod_proxy` should **not decode/encode slashes** and leave them as th For installing at relative path, `/npm`, on the server - - AllowEncodedSlashes NoDecode - ProxyPass /npm http://127.0.0.1:4873 nocanon - ProxyPassReverse /npm http://127.0.0.1:4873 - - +```` + + AllowEncodedSlashes NoDecode + ProxyPass /npm http://127.0.0.1:4873 nocanon + ProxyPassReverse /npm http://127.0.0.1:4873 + +```` For installing at root path, `/`, on the server - - - ServerName your.domain.com - ServerAdmin hello@your.domain.com - ProxyPreserveHost On - AllowEncodedSlashes NoDecode - ProxyPass / http://127.0.0.1:4873/ nocanon - ProxyPassReverse / http://127.0.0.1:4873/ - - +```` + + ServerName your.domain.com + ServerAdmin hello@your.domain.com + ProxyPreserveHost On + AllowEncodedSlashes NoDecode + ProxyPass / http://127.0.0.1:4873/ nocanon + ProxyPassReverse / http://127.0.0.1:4873/ + +```` ### Configuration with SSL Apache virtual server configuration - apacheconfig - - - ServerName npm.your.domain.com - SSLEngine on - SSLCertificateFile /etc/letsencrypt/live/npm.your.domain.com/fullchain.pem - SSLCertificateKeyFile /etc/letsencrypt/live/npm.your.domain.com/privkey.pem - SSLProxyEngine On - ProxyRequests Off - ProxyPreserveHost On - AllowEncodedSlashes NoDecode - ProxyPass / http://127.0.0.1:4873/ nocanon - ProxyPassReverse / http://127.0.0.1:4873/ - RequestHeader set X-Forwarded-Proto "https" - - - +```` + apacheconfig + + + ServerName npm.your.domain.com + SSLEngine on + SSLCertificateFile /etc/letsencrypt/live/npm.your.domain.com/fullchain.pem + SSLCertificateKeyFile /etc/letsencrypt/live/npm.your.domain.com/privkey.pem + SSLProxyEngine On + ProxyRequests Off + ProxyPreserveHost On + AllowEncodedSlashes NoDecode + ProxyPass / http://127.0.0.1:4873/ nocanon + ProxyPassReverse / http://127.0.0.1:4873/ + RequestHeader set X-Forwarded-Proto "https" + + +```` # Nginx The following snippet is a full `docker` example can be tested in our [Docker examples repository](https://github.com/verdaccio/verdaccio/tree/5.x/docker-examples/reverse_proxy/nginx). - upstream verdaccio_v4 { - server verdaccio_relative_path_v4:4873; - keepalive 8; - } - - upstream verdaccio_v4_root { - server verdaccio_relative_path_v4_root:8000; - keepalive 8; +```` +upstream verdaccio_v4 { + server verdaccio_relative_path_v4:4873; + keepalive 8; +} + +upstream verdaccio_v4_root { + server verdaccio_relative_path_v4_root:8000; + keepalive 8; +} + +upstream verdaccio_v3 { + server verdaccio_relative_path_latest_v3:7771; + keepalive 8; +} + +server { + listen 80 default_server; + access_log /var/log/nginx/verdaccio.log; + charset utf-8; + + location / { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4_root; + proxy_redirect off; } - - upstream verdaccio_v3 { - server verdaccio_relative_path_latest_v3:7771; - keepalive 8; + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4/$1; + proxy_redirect off; } - - server { - listen 80 default_server; - access_log /var/log/nginx/verdaccio.log; - charset utf-8; - - location / { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4_root; - proxy_redirect off; - } - - location ~ ^/verdaccio/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4/$1; - proxy_redirect off; - } - - location ~ ^/verdacciov3/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - - proxy_pass http://verdaccio_v3/$1; - proxy_redirect off; - } + + location ~ ^/verdacciov3/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + + proxy_pass http://verdaccio_v3/$1; + proxy_redirect off; } - +} +```` ## SSL example - server { - listen 80; - return 302 https://$host$request_uri; +```` +server { + listen 80; + return 302 https://$host$request_uri; +} + +server { + listen 443 ssl http2; + server_name localhost; + + ssl_certificate /etc/nginx/cert.crt; + ssl_certificate_key /etc/nginx/cert.key; + + ssl on; + ssl_session_cache builtin:1000 shared:SSL:10m; + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; + ssl_prefer_server_ciphers on; + + location / { + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_pass http://verdaccio_v4_root; + proxy_read_timeout 600; + proxy_redirect off; } - - server { - listen 443 ssl http2; - server_name localhost; - - ssl_certificate /etc/nginx/cert.crt; - ssl_certificate_key /etc/nginx/cert.key; - - ssl on; - ssl_session_cache builtin:1000 shared:SSL:10m; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; - ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; - ssl_prefer_server_ciphers on; - - location / { - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_pass http://verdaccio_v4_root; - proxy_read_timeout 600; - proxy_redirect off; - } - - location ~ ^/verdaccio/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4_root/$1; - proxy_redirect off; - } + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4_root/$1; + proxy_redirect off; } - +} +```` ## Run behind reverse proxy with different domain and port @@ -171,10 +175,9 @@ location / { proxy_set_header X-Forwarded-Proto $scheme; } ``` - For this case, `url_prefix` should **NOT** set in Verdaccio config -* * * +--- or a sub-directory installation: @@ -186,7 +189,6 @@ location ~ ^/verdaccio/(.*)$ { proxy_set_header X-Forwarded-Proto $scheme; } ``` - For this case, `url_prefix` should set to `/verdaccio/` -> Note: There is a slash after the install path (`https://your-domain:port/verdaccio/`)! \ No newline at end of file +> Note: There is a slash after the install path (`https://your-domain:port/verdaccio/`)! diff --git a/website/translated_docs/vi-VN/server.md b/website/translated_docs/vi-VN/server.md index 7473ea12d00c..51498ca32c44 100644 --- a/website/translated_docs/vi-VN/server.md +++ b/website/translated_docs/vi-VN/server.md @@ -31,7 +31,6 @@ The `cd` command sends you to the home directory of the Verdaccio user. Make sur ## Listening on all addresses If you want to listen to every external address set the listen directive in the config to: - ```yaml # you can specify listen address (or simply a port) listen: 0.0.0.0:4873 @@ -71,8 +70,9 @@ $ crontab -e This might ask you to choose an editor. Pick your favorite and proceed. Add the following entry to the file: - @reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio - +``` +@reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio +``` The locations may vary depending on your server setup. If you want to know where your files are you can use the 'which' command: @@ -84,9 +84,7 @@ $ which verdaccio ## Using systemd Instead of `forever` you can use `systemd` for starting Verdaccio and keeping it running. Verdaccio installation has systemd unit, you only need to copy it: - ```bash $ sudo cp /usr/lib/node_modules/verdaccio/systemd/verdaccio.service /lib/systemd/system/ && sudo systemctl daemon-reload ``` - -This unit assumes you have configuration in `/etc/verdaccio/config.yaml` and store data in `/var/lib/verdaccio`, so either move your files to those locations or edit the unit. \ No newline at end of file +This unit assumes you have configuration in `/etc/verdaccio/config.yaml` and store data in `/var/lib/verdaccio`, so either move your files to those locations or edit the unit. diff --git a/website/translated_docs/vi-VN/who-is-using.md b/website/translated_docs/vi-VN/who-is-using.md index 778ca5bf2e0e..41c0f4cac3ee 100644 --- a/website/translated_docs/vi-VN/who-is-using.md +++ b/website/translated_docs/vi-VN/who-is-using.md @@ -10,6 +10,7 @@ title: "Who is using Verdaccio?" * [SheetJS](https://sheetjs.com/) * [Satispay](https://www.satispay.com/) + ### Open Source Projects > **Feel free to suggest other OSS are using Verdaccio.** @@ -29,4 +30,6 @@ title: "Who is using Verdaccio?" #### Readme Recommendations -* [react-native-cli](https://github.com/react-native-community/react-native-cli/blob/master/CONTRIBUTING.md) \ No newline at end of file +* [react-native-cli](https://github.com/react-native-community/react-native-cli/blob/master/CONTRIBUTING.md) + + diff --git a/website/translated_docs/vi-VN/windows.md b/website/translated_docs/vi-VN/windows.md index eeb0b4e96470..753bd9db917e 100644 --- a/website/translated_docs/vi-VN/windows.md +++ b/website/translated_docs/vi-VN/windows.md @@ -5,10 +5,10 @@ title: "Installing As a Windows Service" Loosely based upon the instructions found [here](http://asysadmin.tumblr.com/post/32941224574/running-nginx-on-windows-as-a-service). I crafted the following and it provided me with a fully working verdaccio service installation: -1. Create a directory for verdaccio +1. Create a directory for verdaccio * mkdir `c:\verdaccio` * cd `c:\verdaccio` -2. Install verdaccio locally (I ran into npm issues with global installs) +2. Install verdaccio locally (I ran into npm issues with global installs) * npm install verdaccio 3. Create your `config.yaml` file in this location `(c:\verdaccio\config.yaml)` 4. Windows Service Setup @@ -24,29 +24,29 @@ ALTERNATIVE METHOD: (WinSW package was missing when I tried to download it) * Open an administrative command * Run nssm install verdaccio At a minimum you must fill in the Application tab Path, Startup directory and Arguments fields. Assuming an install with node in the system path and a location of c:\verdaccio the below values will work: - * Path: `node` * Startup directory: `c:\verdaccio` * Arguments: `c:\verdaccio\node_modules\verdaccio\build\lib\cli.js -c c:\verdaccio\config.yaml` - + You can adjust other service settings under other tabs as desired. When you are done, click Install service button - - * Start the service sc start verdaccio + + * Start the service sc start verdaccio ## Using WinSW * As of 2015-10-27, WinSW is no longer available at the below location. Please follow the Using NSSM instructions above. -* Download [WinSW](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/) +* Download [WinSW](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/) * Place the executable (e.g. `winsw-1.9-bin.exe`) into this folder (`c:\verdaccio`) and rename it to `verdaccio-winsw.exe` * Create a configuration file in `c:\verdaccio`, named `verdaccio-winsw.xml` with the following configuration `xml verdaccio verdaccio verdaccio node c:\verdaccio\node_modules\verdaccio\src\lib\cli.js -c c:\verdaccio\config.yaml roll c:\verdaccio`. -* Install your service +* Install your service * `cd c:\verdaccio` * `verdaccio-winsw.exe install` -* Start your service +* Start your service * `verdaccio-winsw.exe start` Some of the above config is more verbose than I had expected, it appears as though 'workingdirectory' is ignored, but other than that, this works for me and allows my verdaccio instance to persist between restarts of the server, and also restart itself should there be any crashes of the verdaccio process. + ## Repositories -* [verdaccio-deamon-windows](https://github.com/davidenke/verdaccio-deamon-windows) \ No newline at end of file +* [verdaccio-deamon-windows](https://github.com/davidenke/verdaccio-deamon-windows) diff --git a/website/translated_docs/yo-NG/best-practices.md b/website/translated_docs/yo-NG/best-practices.md index dc28b0334527..30d93dc89747 100644 --- a/website/translated_docs/yo-NG/best-practices.md +++ b/website/translated_docs/yo-NG/best-practices.md @@ -46,34 +46,34 @@ If you want to use a modified version of some public package `foo`, you can just There's two options here: 1. O fẹ ṣẹda **fork** to daduro ati ki o da imuṣiṣẹpọ pẹlu gbogbogbo duro. - - If you want to do that, you should modify your configuration file so Verdaccio won't make requests regarding this package to npmjs anymore. Se afikun iwọle to daduro fun akopọ yi si `config.yaml` ki o si yọ `npmjs` kuro ninu akojọ `proxy` ki o wa tun olupese bẹrẹ. - - ```yaml - packages: + + If you want to do that, you should modify your configuration file so Verdaccio won't make requests regarding this package to npmjs anymore. Se afikun iwọle to daduro fun akopọ yi si `config.yaml` ki o si yọ `npmjs` kuro ninu akojọ `proxy` ki o wa tun olupese bẹrẹ. + + ```yaml + packages: "@my-company/*": access: $all publish: $authenticated # comment it out or leave it empty # proxy: - ``` - - When you publish your package locally, **you should probably start with a version string higher than the existing package** so it won't conflict with that package in the cache. + ``` + + When you publish your package locally, **you should probably start with a version string higher than the existing package** so it won't conflict with that package in the cache. 2. You want to temporarily use your version, but return to the public one as soon as it's updated. - - Lati le yago fun awọn atako ti ẹya, **o yẹ ki o lo afikun ipari ti iṣaaju agbejade to jẹ akanṣe ti awẹ ẹya tokan**. Fun apẹẹrẹ, ti akopọ gbogbogbo ba jẹ ẹya 0.1.2, o le sagbega si `0.1.3-my-temp-fix`. - - ```bash + + In order to avoid version conflicts, **you should use a custom pre-release suffix of the next patch version**. Fun apẹẹrẹ, ti akopọ gbogbogbo ba jẹ ẹya 0.1.2, o le sagbega si `0.1.3-my-temp-fix`. + + ```bash npm version 0.1.3-my-temp-fix npm publish --tag fix --registry http://localhost:4873 - ``` - - Ni ọna yii akopọ rẹ ma jẹ lilo titi ti oulowo olutọju rẹ yoo fi ṣe imudojuiwọn akopọ gbogbogbo ti ara rẹ si `0.1.3`. + ``` + + Ni ọna yii akopọ rẹ ma jẹ lilo titi ti oulowo olutọju rẹ yoo fi ṣe imudojuiwọn akopọ gbogbogbo ti ara rẹ si `0.1.3`. ## Aabo -> Security starts in your environment. +> Security starts in your environment. Additonal reading: @@ -163,4 +163,4 @@ security: Using JWT also improves the performance with authentication plugins. The old system will perform an unpackage and validate the credentials on every request, while JWT will rely on the token signature instead, avoiding the overhead for the plugin. -As a side note, be aware at **npmjs** and the **legacy** verdaccio token never expires** unless you invalidate manually. \ No newline at end of file +As a side note, be aware at **npmjs** and the **legacy** verdaccio token never expires** unless you invalidate manually. diff --git a/website/translated_docs/yo-NG/caching.md b/website/translated_docs/yo-NG/caching.md index edabfaa9f5eb..5f27b92e0525 100644 --- a/website/translated_docs/yo-NG/caching.md +++ b/website/translated_docs/yo-NG/caching.md @@ -7,10 +7,11 @@ Verdaccio n se ipamọ gbogbo awọn akopọ ni atilẹwa sinu foda `/storage`. ## Awọn iṣẹlẹ ifisapo iranti -* Sise agbedide iṣẹ akanṣe Node.js lori awọn olupese **Imuṣiṣẹpọ Alainidaduro** (Bamboo, GitLab, Jenkins, abbl) le jẹ iṣẹ to ma gba akoko pupọ ni ọjọ kan, nitorina, olupese naa yoo gba awọn tọọnu ti tarballs lati ibi iforukọsilẹ ni gbogbo igba ti o ba waye. Bi ti gbogbo igba, awọn irinṣẹ CI n pa ibi iranti rẹ lẹhin agbedide kọọkan atipe ilana naa yoo pada bẹrẹ lati ibẹrẹ pẹpẹ lẹẹkansi. Eyi jẹ ibudanu ti itankanlẹ atipe o n mu adinku abẹwo to n ti ita wa. **O le lo Verdaccio fun ibi iranti tarballs ati metadata ninu nẹtiwọki abẹle wa ki o si mu igbelarugẹ ba akoko agbedide rẹ.** -* **Latẹnsi ati Asopọ**, ko kin ṣe gbogbo orilẹ-ede ni o n jẹ igbadun isopọ to yara gidi gan. Fun iru idi yii awọn akopọ ibi iranti ti ibilẹ ninu nẹtiwọki rẹ jẹ eyi to wulo gan. Boya ti o ba wa ni irin-ajo, tabi o ni asopọ alailagbara, ilọkiri tabi awọn orilẹ-ede ti o ni awọn aabo ayelujara ti o lagbara ti o le ni ipa lori iriri olumulo (fun apẹẹrẹ: tarballs bibajẹ). -* **Ipo Aisilorila**, gbogbo Awọn alakoso Akopọ Oju ipade ni ode oni n lo ibi iranti abẹle ti ara wọn, ṣugbọn o wọpọ ki awọn iṣẹ akanṣe ọtọọtọ maa lo awọn irinṣẹ ọtọọtọ, eyi ti o tumọ si awọn faili atipa ati bẹẹbẹẹ lọ. Awọn irinṣẹ yẹn ko ni anfani lati pin ibi iranti, ojutu to dayatọ naa jẹ eyi to wa lojukan atipe o gbẹkele ibi iforukọsilẹ aṣoju ikọkọ, Verdaccio n se ipamọ gbogbo awọn metadata ati awọn tarballs n jẹ gbigba lati ayelujara nipa ibeere nini anfani lati pin wọn kaakiri gbogbo isẹ rẹ. -* Yago fun pe ki eyikeyi ibi iforukọsilẹ latọna jijin pada lojiji *HTTP 404 * aṣiṣe fun tarballs ni tẹlẹtẹlẹ wa a.k.a ([left-pad issue](https://www.theregister.co.uk/2016/03/23/npm_left_pad_chaos/)). +* Build a Node.js project on **Continous Integration** (Bamboo, GitLab, Jenkins, etc) servers is a task that might take several times at a day, thus, the server will download tons of tarballs from the registry every time takes place. Bi ti gbogbo igba, awọn irinṣẹ CI n pa ibi iranti rẹ lẹhin agbedide kọọkan atipe ilana naa yoo pada bẹrẹ lati ibẹrẹ pẹpẹ lẹẹkansi. Eyi jẹ ibudanu ti itankanlẹ atipe o n mu adinku abẹwo to n ti ita wa. **You can use Verdaccio for caching tarballs and metadata in our internal network and give a boost in your build time.** +* **Latency and Connectivity**, not all countries enjoy a high-speed connection. Fun iru idi yii awọn akopọ ibi iranti ti ibilẹ ninu nẹtiwọki rẹ jẹ eyi to wulo gan. Boya ti o ba wa ni irin-ajo, tabi o ni asopọ alailagbara, ilọkiri tabi awọn orilẹ-ede ti o ni awọn aabo ayelujara ti o lagbara ti o le ni ipa lori iriri olumulo (fun apẹẹrẹ: tarballs bibajẹ). +* **Offline Mode**, all Node Package Managers nowadays uses their own internal cache, but it common that different projects might use different tools, which implies lock files and so on. Awọn irinṣẹ yẹn ko ni anfani lati pin ibi iranti, ojutu to dayatọ naa jẹ eyi to wa lojukan atipe o gbẹkele ibi iforukọsilẹ aṣoju ikọkọ, Verdaccio n se ipamọ gbogbo awọn metadata ati awọn tarballs n jẹ gbigba lati ayelujara nipa ibeere nini anfani lati pin wọn kaakiri gbogbo isẹ rẹ. +* Avoid that any remote registry suddenly returns *HTTP 404* error for tarballs were previously available a.k.a ([left-pad issue](https://www.theregister.co.uk/2016/03/23/npm_left_pad_chaos/)). + # Awọn ọna fun ṣiṣe awọn agbedide kiakia @@ -20,15 +21,16 @@ Verdaccio n se ipamọ gbogbo awọn akopọ ni atilẹwa sinu foda `/storage`. Ti o ba ni aaye ibi ipamọ ti o lopin, o le nilo lati yago fun titọju tarballs, siseto `cache` false ninu uplink kọọkan ma ṣe ipamọ iranti awọn faili metadata nikan. - uplinks: - npmjs: - url: https://registry.npmjs.org/ - cache: false - +``` +uplinks: + npmjs: + url: https://registry.npmjs.org/ + cache: false +``` ## Fifa Akoko Ipari Apo iranti gun -Verdaccio ni atilẹwa ma n duro fun iṣẹju meji lati fagilee awọn metadata apo iranti ki o to sawari alaye tuntun lati ibi iforukọsilẹ ọlọna jijin. + Verdaccio ni atilẹwa ma n duro fun iṣẹju meji lati fagilee awọn metadata apo iranti ki o to sawari alaye tuntun lati ibi iforukọsilẹ ọlọna jijin. ```yaml uplinks: @@ -39,6 +41,7 @@ uplinks: Sise alekun iye ti `maxage` ninu awọn idari `uplink` kọọkan maa jẹ bibeere nigbagbogbo. Eyi le jẹ ilana to fẹsẹmulẹ ti o ko ba maa ṣe imudojuiwọn awọn agbẹkẹle nigbagbogbo. + ## Lilo iranti dipo lilo ààyè ìtọ́jú lórí kọ̀mpútà Nigbamiran awọn akopọ ifisapo iranti o kin ṣe igbesẹ pataki, dipo ti ọna awọn akopọ lati awọn ibi iforukọsilẹ ti o yatọ ati nini iyọrisi awọn akoko agbedide to yara. Awọn ohun elo afikun meji wa to yago patapata fun kikọ sinu ààyè ìtọ́jú alafojuri ti kọ̀mpútà nipa lilo iranti. @@ -62,4 +65,4 @@ store: limit: 1000 ``` -Ranti, ni kete ti olupese naa ba ti jẹ atunbẹrẹ ipadanu data naa ti n waye, a ṣe igbaniyanju iṣeto yii ni awọn aaye ti o ko ba ti nilo lati ṣe atẹnumọ. \ No newline at end of file +Ranti, ni kete ti olupese naa ba ti jẹ atunbẹrẹ ipadanu data naa ti n waye, a ṣe igbaniyanju iṣeto yii ni awọn aaye ti o ko ba ti nilo lati ṣe atẹnumọ. diff --git a/website/translated_docs/yo-NG/install.md b/website/translated_docs/yo-NG/install.md index 8f809d5bc76a..3aac641a2d24 100644 --- a/website/translated_docs/yo-NG/install.md +++ b/website/translated_docs/yo-NG/install.md @@ -13,7 +13,7 @@ Verdaccio is a multiplatform web application. To install it, you need a few basi > We highly recommend to use the latest versions of Node Package Manager clients `> npm@6.x | yarn@1.x | | yarn@2.x | pnpm@6.x`. Don't support `npm@5.x` or older. -1. A modern web browser to run the web interface. We actually support `Chrome, Firefox, Edge`. +3. A modern web browser to run the web interface. We actually support `Chrome, Firefox, Edge`. > Verdaccio ma se atilẹyin fun ẹya Node.js to tuntun julọ ni ibamu si awọn igbaniyanju [Node.js Release Working Group](https://github.com/nodejs/Release). @@ -21,7 +21,7 @@ Are you still using **Verdaccio 4**?. Check the [migration guide](https://verdac ### Quick Introduction -Learn the basics before getting started, how to install, where is the location of the configuration file and more. +Learn the basics before getting started, how to install, where is the location of the configuration file and more. ## Installing the CLI @@ -92,7 +92,7 @@ Or a `publishConfig` in your `package.json` ## Create Your Own Private NPM Package Tutorial -If you'd like a broader explanation, don't miss the tutorial created by [thedevlife](https://mybiolink.co/thedevlife) on how to Create Your Own Private NPM Package using Verdaccio. +If you'd like a broader explanation, don't miss the tutorial created by [thedevlife](https://mybiolink.co/thedevlife) on how to Create Your Own Private NPM Package using Verdaccio. ## Docker Image @@ -106,4 +106,4 @@ docker run -it --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio `Verdaccio` is also available as a 1-click install on [Cloudron](https://cloudron.io) -[![Fi sori ẹrọ](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=org.eggertsson.verdaccio) \ No newline at end of file +[![Fi sori ẹrọ](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=org.eggertsson.verdaccio) diff --git a/website/translated_docs/yo-NG/kubernetes.md b/website/translated_docs/yo-NG/kubernetes.md index 61ec5cfb7f8b..b0ad08b428c5 100644 --- a/website/translated_docs/yo-NG/kubernetes.md +++ b/website/translated_docs/yo-NG/kubernetes.md @@ -23,8 +23,9 @@ Deploy the Helm [verdaccio/verdaccio](https://github.com/verdaccio/charts) chart ### Add repository - helm repo add verdaccio https://charts.verdaccio.org - +``` +helm repo add verdaccio https://charts.verdaccio.org +``` Ninu apẹẹrẹ yii a lo `npm` gẹgẹbi orukọ ifilọlẹ: @@ -52,6 +53,7 @@ helm uninstall npm **Akiyesi:** aṣẹ yi n pa gbogbo awọn ohun elo rẹ, pẹlu awọn akopọ ti o le ti gbejade tẹlẹ si ibi iforukọsilẹ naa. + ### Akanṣe Iṣeto Verdaccio O le ṣe iṣeto Verdaccio ni akanṣe pẹlu lilo Kubernetes *configMap*. @@ -92,7 +94,6 @@ helm install npm --set customConfigMap=verdaccio-config verdaccio/verdaccio #### NGINX proxy body-size limit The standard k8s NGINX ingress proxy allows for 1MB for body-size which can be increased by modifying the default deployment options according to the [documentation](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#custom-max-body-size): - ```yaml ... @@ -109,4 +110,4 @@ annotations: [Rancher](http://rancher.com/) is a complete container management platform that makes managing and using containers in production really easy. -* [verdaccio-rancher](https://github.com/lgaticaq/verdaccio-rancher) \ No newline at end of file +* [verdaccio-rancher](https://github.com/lgaticaq/verdaccio-rancher) diff --git a/website/translated_docs/yo-NG/linking.md b/website/translated_docs/yo-NG/linking.md index 5c0323748e93..3eef6c7de161 100644 --- a/website/translated_docs/yo-NG/linking.md +++ b/website/translated_docs/yo-NG/linking.md @@ -17,10 +17,11 @@ O le ṣe asopọ awọn ibi iforukọsilẹ ọlọpọlọpọ, iwe wọnyii y Ọna ara lati wọle si awọn ibi iforukọsilẹ ọlọpọlọpọ nipa lilo `.npmrc` jẹ ilana ẹya ara bi atẹle yii: - // .npmrc - registry=https://registry.npmjs.org - @mycompany:registry=http://localhost:4873 - +``` +// .npmrc +registry=https://registry.npmjs.org +@mycompany:registry=http://localhost:4873 +``` Ọna yii fẹsẹmulẹ, ṣugbọn o wa pẹlu ọpọlọpọ awọn akude: @@ -75,7 +76,8 @@ Verdaccio n ṣe atilẹyin fun awọn ibi iforukọsilẹ ọlọpọlọpọ l Nini Ibi iforukọsilẹ Alaisilorila kikun jẹ eyi to ṣeeṣe patapata. Ti o ko ba fẹ asopọmọ eyikeyi pẹlu awọn idari ti ita o le ṣe awọn wọnyii. ```yaml -
auth: + +auth: htpasswd: file: ./htpasswd uplinks: @@ -91,4 +93,4 @@ packages: publish: $authenticated ``` -Yọ gbogbo `aṣoju ikọkọ` awọn aaye laarin abala kọọkan ti `awọn akopọ`. Ibi iforukọsilẹ naa yoo di kikun ni aisilorila. \ No newline at end of file +Yọ gbogbo `aṣoju ikọkọ` awọn aaye laarin abala kọọkan ti `awọn akopọ`. Ibi iforukọsilẹ naa yoo di kikun ni aisilorila. diff --git a/website/translated_docs/yo-NG/logger.md b/website/translated_docs/yo-NG/logger.md index 1b8e4ec9e07d..f9305b011d65 100644 --- a/website/translated_docs/yo-NG/logger.md +++ b/website/translated_docs/yo-NG/logger.md @@ -28,4 +28,4 @@ Use `SIGUSR2` to notify the application, the log-file was rotated and it needs t | iru | okun | Rara | [stdout, file] | gbogbo | ṣe asọye abajade naa | | ọna | okun | Rara | verdaccio.log | gbogbo | ti iru ẹ ba jẹ faili, ṣe asọye aaye ti faili naa | | ọna | okun | Rara | [pretty, pretty-timestamped] | gbogbo | ọna abajade | -| ipele | okun | Rara | [fatal, error, warn, http, info, debug, trace] | gbogbo | ipele verbose | \ No newline at end of file +| ipele | okun | Rara | [fatal, error, warn, http, info, debug, trace] | gbogbo | ipele verbose | diff --git a/website/translated_docs/yo-NG/logo.md b/website/translated_docs/yo-NG/logo.md index 56a86b19cf0d..b2dff5dfd8b3 100644 --- a/website/translated_docs/yo-NG/logo.md +++ b/website/translated_docs/yo-NG/logo.md @@ -11,7 +11,7 @@ Irulogo jẹ didalara nipasẹ **[Breno Rodrigues](https://github.com/rodriguesb ## Awọn aami -**Pẹlu ọrọ** +__Pẹlu ọrọ__ ![aami bintin pẹlu ọrọ](assets/logo/symbol/png/logo-small-header-bottom.png) @@ -19,11 +19,11 @@ Irulogo jẹ didalara nipasẹ **[Breno Rodrigues](https://github.com/rodriguesb ![aami nla pẹlu ọrọ](assets/logo/symbol/png/logo-small-header-bottom@3x.png) -**SVG** +__SVG__ ![aami svg](assets/logo/symbol/svg/logo-small-header-bottom.svg) -**Ko si ọrọ** +__Ko si ọrọ__ ![aami bintin](assets/logo/symbol/png/verdaccio-tiny.png) @@ -31,10 +31,12 @@ Irulogo jẹ didalara nipasẹ **[Breno Rodrigues](https://github.com/rodriguesb ![aami nla](assets/logo/symbol/png/verdaccio-tiny@3x.png) -**SVG** +__SVG__ ![aami ọna svg ko si ọrọ](assets/logo/symbol/svg/verdaccio-tiny.svg) + + ### Dudu&Funfun ![aami bw kekere](assets/logo/symbol/png/verdaccio-blackwhite.png) @@ -43,14 +45,17 @@ Irulogo jẹ didalara nipasẹ **[Breno Rodrigues](https://github.com/rodriguesb ![aami bw nla](assets/logo/symbol/png/verdaccio-blackwhite@3x.png) -**SVG** +__SVG__ ![aami bw svg](assets/logo/symbol/svg/verdaccio-blackwhite.svg) + ## Bana ![bana kekere](assets/logo/banner/png/verdaccio-banner.png) ![baba alabọde](assets/logo/banner/png/verdaccio-banner@2x.png) -![bana nla](assets/logo/banner/png/verdaccio-banner@3x.png) \ No newline at end of file +![bana nla](assets/logo/banner/png/verdaccio-banner@3x.png) + + diff --git a/website/translated_docs/yo-NG/node-api.md b/website/translated_docs/yo-NG/node-api.md index 2915c46d31da..bbc59651da4d 100644 --- a/website/translated_docs/yo-NG/node-api.md +++ b/website/translated_docs/yo-NG/node-api.md @@ -39,4 +39,4 @@ verdaccioServer.serviceUninstall(); verdaccioServer.serviceStart(); verdaccioServer.serviceStop(); verdaccioServer.serviceRestart(); -``` \ No newline at end of file +``` diff --git a/website/translated_docs/yo-NG/notifications.md b/website/translated_docs/yo-NG/notifications.md index 54ba263305df..b6550dcb940f 100644 --- a/website/translated_docs/yo-NG/notifications.md +++ b/website/translated_docs/yo-NG/notifications.md @@ -48,12 +48,13 @@ A lo [Handlebars](https://handlebarsjs.com/) gẹgẹbi ẹrọ ti koko awoṣe. ### Awọn apẹẹrẹ Ọna - # iterate all versions - {{ name }}{{#each versions}} v{{version}}{{/each}} - - # publisher and `dist-tag` package published - {{ publisher.name }} has published {{ publishedPackage }} - +``` +# iterate all versions +{{ name }}{{#each versions}} v{{version}}{{/each}} + +# publisher and `dist-tag` package published +{{ publisher.name }} has published {{ publishedPackage }} +``` ### Awọn ohun ini @@ -67,54 +68,56 @@ Akojọ ti awọn ohun ini to ṣe wọle si nipasẹ awoṣe Mẹtadata akopọ ti awoṣe naa ni iwọle si - { - "_id": "@test/pkg1", - "name": "@test/pkg1", - "description": "", - "dist-tags": { - "beta": "1.0.54" - }, - "versions": { - "1.0.54": { - "name": "@test/pkg1", - "version": "1.0.54", - "description": "some description", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": { - "name": "Author Name", - "email": "author@domain.com" - }, - "license": "MIT", - "dependencies": { - "webpack": "4.12.0" - }, - "readmeFilename": "README.md", - "_id": "@ test/pkg1@1.0.54", - "_npmVersion": "6.1.0", - "_nodeVersion": "9.9.0", - "_npmUser": {}, - "dist": { - "integrity": "sha512-JlXWpLtMUBAqvVZBvH7UVLhXkGE1ctmXbDjbH/l0zMuG7wVzQ7GshTYvD/b5C+G2vOL2oiIS1RtayA/kKkTwKw==", - "shasum": "29c55c52c1e76e966e706165e5b9f22e32aa9f22", - "tarball": "http://localhost:4873/@test/pkg1/-/@test/pkg1-1.0.54.tgz" - } - } - }, - "readme": "# test", - "_attachments": { - "@test/pkg1-1.0.54.tgz": { - "content_type": "application/octet-stream", - "data": "H4sIAAAAAAAAE+y9Z5PjyJIgOJ ...", - "length": 33112 +``` +{ + "_id": "@test/pkg1", + "name": "@test/pkg1", + "description": "", + "dist-tags": { + "beta": "1.0.54" + }, + "versions": { + "1.0.54": { + "name": "@test/pkg1", + "version": "1.0.54", + "description": "some description", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": { + "name": "Author Name", + "email": "author@domain.com" + }, + "license": "MIT", + "dependencies": { + "webpack": "4.12.0" + }, + "readmeFilename": "README.md", + "_id": "@ test/pkg1@1.0.54", + "_npmVersion": "6.1.0", + "_nodeVersion": "9.9.0", + "_npmUser": {}, + "dist": { + "integrity": "sha512-JlXWpLtMUBAqvVZBvH7UVLhXkGE1ctmXbDjbH/l0zMuG7wVzQ7GshTYvD/b5C+G2vOL2oiIS1RtayA/kKkTwKw==", + "shasum": "29c55c52c1e76e966e706165e5b9f22e32aa9f22", + "tarball": "http://localhost:4873/@test/pkg1/-/@test/pkg1-1.0.54.tgz" } - }, - "time": {} - } - + } + }, + "readme": "# test", + "_attachments": { + "@test/pkg1-1.0.54.tgz": { + "content_type": "application/octet-stream", + "data": "H4sIAAAAAAAAE+y9Z5PjyJIgOJ ...", + "length": 33112 + } + }, + "time": {} +} +``` + ### Olugbejade @@ -122,21 +125,23 @@ You can get access to the package publisher information in the `content` of a we Wo labẹ yii `olugbejade` iru nkan: - { - name: string, - groups: string[], - real_groups: string[] - } - +``` +{ + name: string, + groups: string[], + real_groups: string[] +} +``` Apẹẹrẹ kan: - notify: - method: POST - headers: [{'Content-Type': 'application/json'}] - endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken - content: '{"color":"green","message":"New package published: * {{ name }}*. Orukọ olugbejade: * {{ publisher.name }} *.","notify":true,"message_format":"text"}' - +``` +notify: + method: POST + headers: [{'Content-Type': 'application/json'}] + endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken + content: '{"color":"green","message":"New package published: * {{ name }}*. Orukọ olugbejade: * {{ publisher.name }} *.","notify":true,"message_format":"text"}' +``` **Akiyesi:** ko ṣe ṣee ṣe lati gba alaye olugbejade ti faili `package.json` ba ti ni ohun ini `olugbejade` tẹlẹ. @@ -144,8 +149,9 @@ Apẹẹrẹ kan: O le wọle si akopọ ti o n jẹ gbigbe jade pẹlu koko-ọrọ `{{publishedPackage}}` bi atẹle yi. - {{ publisher.name }} ti ṣe agbejade {{ publishedPackage }} - +``` +{{ publisher.name }} ti ṣe agbejade {{ publishedPackage }} +``` ## Iṣeto @@ -156,4 +162,4 @@ O le wọle si akopọ ti o n jẹ gbigbe jade pẹlu koko-ọrọ `{{publishedP | packagePatternFlags | okun | Rara | gbogbo | | Awọn asia eyikeyi to ba ma jẹ lilo pẹlu iṣafihan deede | | awọn akọle | array/nkan | Bẹẹni | gbogbo | | Ti aaye opin yii ba nilo awọn akọle pato, ṣeto wọn nibi gẹgẹbi oriṣi eto ti bọtini: awọn nkan iyebiye. | | aaye opin | okun | Bẹẹni | gbogbo | | ṣeto aaye opin ti URL naa fun ipe yii | -| akoonu | okun | Bẹẹni | gbogbo | | eyikeyi awọn isafihan [Handlebar](https://handlebarsjs.com/) | \ No newline at end of file +| akoonu | okun | Bẹẹni | gbogbo | | eyikeyi awọn isafihan [Handlebar](https://handlebarsjs.com/) | diff --git a/website/translated_docs/yo-NG/packages.md b/website/translated_docs/yo-NG/packages.md index 3de9c94ab2f5..e8a7b22c735a 100644 --- a/website/translated_docs/yo-NG/packages.md +++ b/website/translated_docs/yo-NG/packages.md @@ -155,7 +155,7 @@ You may assign multiple uplinks for use as a proxy to use in the case of failove #### Ṣiṣe aitẹjade Awọn akopọ -The property `publish` handle permissions for `npm publish` and `npm unpublish`. But, if you want to be more specific, you can use the property `unpublish` in your package access section, for instance: +The property `publish` handle permissions for `npm publish` and `npm unpublish`. But, if you want to be more specific, you can use the property `unpublish` in your package access section, for instance: ```yalm packages: @@ -183,6 +183,7 @@ In the previous example, the behaviour would be described: * awọn olumulo to ni ifasẹsi nikan ni o le ṣe atẹjade awọn akopọ `my-company-*`, sugbọn ** ko si aaye fun ẹnikẹni lati aitẹjade wọn**. * Ti `unpublish` ba ti jẹ sisọ jade, iwọle naa yoo jẹ fifọwọsi tabi kikọ nipasẹ agbekalẹ `publish` naa. + ### Iṣeto You can define mutiple `packages` and each of them must have an unique `Regex`. The syntax is based on [minimatch glob expressions](https://github.com/isaacs/minimatch). @@ -196,4 +197,4 @@ You can define mutiple `packages` and each of them must have an unique `Regex`. > A ṣafihan pe a ṣe igbaniyanju lati ma se lo **allow_access**/**allow_publish** ati **proxy_access** rara mọ, adinku ti ba iwulo wọn atipe wọn ma jẹ yiyọ kuro laipẹ, jọwọ lo ẹya kukuru ti ọkọọkan wọn (**access**/**publish**/**proxy**). -If you want more information about how to use the **storage** property, please refer to this [comment](https://github.com/verdaccio/verdaccio/issues/1383#issuecomment-509933674). \ No newline at end of file +If you want more information about how to use the **storage** property, please refer to this [comment](https://github.com/verdaccio/verdaccio/issues/1383#issuecomment-509933674). diff --git a/website/translated_docs/yo-NG/plugins.md b/website/translated_docs/yo-NG/plugins.md index bf5473e83225..e9a6e60071a4 100644 --- a/website/translated_docs/yo-NG/plugins.md +++ b/website/translated_docs/yo-NG/plugins.md @@ -22,10 +22,11 @@ There are 5 types of plugins: $> npm install --global verdaccio-activedirectory ``` -`verdaccio` gẹgẹ bi ẹya ti o wa lati sinopia o ni ibasisẹpọ ẹlẹyin pẹlu awọn asomọ ti o ni ibasisẹpọ pẹlu `sinopia@1.4.0`. Ni iru eyi ifi sori ẹrọ na jẹ nkan kanna. +`verdaccio` as a sinopia fork it has backward compability with plugins that are compatible with `sinopia@1.4.0`. In such case the installation is the same. - $> npm install --global sinopia-memory - +``` +$> npm install --global sinopia-memory +``` ### Iṣeto @@ -33,6 +34,7 @@ Sii faili `config.yaml` ki o si ṣe imudojuiwọn abala `auth` naa bi atẹle y Iṣeto atilẹwa naa dabi iru eyi, nitoripe a lo ohun elo alakọmọ `htpasswd` ni atilẹwa pe ki o le yọ kuro nipa yiyọ awọn ila wọnyi. + ### Iṣeto Ifasẹsi ```yaml @@ -68,7 +70,7 @@ auth: ### Iṣeto Middleware -Eyi jẹ apẹẹrẹ bi o ṣe le seto ohun asomọ middleware kan. Gbogbo awọn ohun asomọ gbọdọ wa ni asọye ninu aaye orukọ **middlewares**. +This is an example how to set up a middleware plugin. All middleware plugins must be defined in the **middlewares** namespace. ```yaml middlewares: @@ -80,7 +82,7 @@ middlewares: ### Iṣeto Ibi ipamọ -Eyi jẹ apẹẹrẹ bi o ṣe le ṣeto ohun asomọ ibi ipamọ kan. Gbogbo awọn ohun asomọ ibi ipamọ gbọdọ wa ni asọye ni aaye orukọ **store**. +This is an example how to set up a storage plugin. All storage plugins must be defined in the **store** namespace. ```yaml store: @@ -90,15 +92,17 @@ store: ### Iṣeto Akori -Verdaccio n gbanilaaye lati rọpo Intafeesi olumulo pẹlu eyi to jẹ akanṣe, a n pe ni **akori**. Ni atilẹwa, o n lo `@verdaccio/ui-theme` ti o ba wa lati ilẹ, ṣugbọn, o le lo ohun ti o yatọ lati fi ohun asomọ ti ara rẹ sori ẹrọ. +Verdaccio allows to replace the User Interface with a custom one, we call it **theme**. Ni atilẹwa, o n lo `@verdaccio/ui-theme` ti o ba wa lati ilẹ, ṣugbọn, o le lo ohun ti o yatọ lati fi ohun asomọ ti ara rẹ sori ẹrọ. ```bash -
$> npm install --global verdaccio-theme-dark + +$> npm install --global verdaccio-theme-dark ``` > Orukọ iṣaaju ohun asomọ naa gbọdọ bẹrẹ pẹlu `verdaccio-theme`, bibẹkọ ohun asomọ naa koni ṣiṣẹ. + You can load only one theme at a time and pass through options if you need it. ```yaml @@ -132,4 +136,5 @@ theme: * [sinopia-ldap](https://www.npmjs.com/package/sinopia-ldap): Ohun elo ifasẹsi LDAP fun sinopia. * [sinopia-github-oauth-env](https://www.npmjs.com/package/sinopia-github-oauth-env) Ohun elo ifasẹsi Sinopia pẹlu github oauth web flow. -> Gbogbo awọn ohun elo sinopia gbọdọ ni ibaramu pẹlu gbogbo awọn ẹya ọjọ iwaju verdaccio. Amọ sa, a gba awọn olulọwọsi niyanju lati ṣi wọn nidi lọ si API igbalode ti verdaccio àti lílo ọrọ ibẹrẹ bii *verdaccio-xx-name*. \ No newline at end of file +> Gbogbo awọn ohun elo sinopia gbọdọ ni ibaramu pẹlu gbogbo awọn ẹya ọjọ iwaju verdaccio. Anyhow, we encourage contributors to migrate them to the modern verdaccio API and using the prefix as *verdaccio-xx-name*. + diff --git a/website/translated_docs/yo-NG/protect-your-dependencies.md b/website/translated_docs/yo-NG/protect-your-dependencies.md index e1288eec65ad..c9e692a75073 100644 --- a/website/translated_docs/yo-NG/protect-your-dependencies.md +++ b/website/translated_docs/yo-NG/protect-your-dependencies.md @@ -40,6 +40,6 @@ or with `yarn`: ➜ yarn add my-company-core yarn add v0.24.6 info No lockfile found. -[1/4] +[1/4] 🔍 Resolving packages... aṣiṣe Aṣiṣe airotẹlẹ kan ṣẹlẹ: "http://localhost:5555/webpack-1: awọn olumulo alaiforukọsilẹ ko ni ifayegba lati wọle si akojọ my-company-core". -``` \ No newline at end of file +``` diff --git a/website/translated_docs/yo-NG/puppet.md b/website/translated_docs/yo-NG/puppet.md index c5be32cf84bc..022192ea016a 100644 --- a/website/translated_docs/yo-NG/puppet.md +++ b/website/translated_docs/yo-NG/puppet.md @@ -16,6 +16,10 @@ Ninu awọn orisi mejeeji o ni lati pe ipe "kilasi nodejs {}" kedere ninu iwe af Fun alaye siwaju sii: - +[https://github.com/verdaccio/puppet-verdaccio](https://github.com/verdaccio/puppet-verdaccio) + +> A n wa awọn oluranlọwọ ti n ṣiṣe lọwọ fun imuṣiṣẹpọ yii, ti o ba nifẹsi [tọka si tikẹti yi](https://github.com/verdaccio/puppet-verdaccio/issues/11). + + + -> A n wa awọn oluranlọwọ ti n ṣiṣe lọwọ fun imuṣiṣẹpọ yii, ti o ba nifẹsi [tọka si tikẹti yi](https://github.com/verdaccio/puppet-verdaccio/issues/11). \ No newline at end of file diff --git a/website/translated_docs/yo-NG/repositories.md b/website/translated_docs/yo-NG/repositories.md index 663831015368..8f0d91f8c614 100644 --- a/website/translated_docs/yo-NG/repositories.md +++ b/website/translated_docs/yo-NG/repositories.md @@ -3,6 +3,7 @@ id: awọn ibi ipamọ title: Koodu Orisun --- -`verdaccio` ni awọn ibi ipamọ pupọ ti o le ṣe ilọwọsi. Wo inu taabu **issues** boya tikẹti kan wa ti o duro de ọ 🤠. +`verdaccio` ni awọn ibi ipamọ pupọ ti o le ṣe ilọwọsi. Look into the **issues** tab whether there is a ticket waiting for you 🤠. + +Lati wo akojọpọ pipe ti awọn ibi ipamọ, [tẹ ibi](https://github.com/verdaccio/verdaccio/wiki/Repositories). -Lati wo akojọpọ pipe ti awọn ibi ipamọ, [tẹ ibi](https://github.com/verdaccio/verdaccio/wiki/Repositories). \ No newline at end of file diff --git a/website/translated_docs/yo-NG/reverse-proxy.md b/website/translated_docs/yo-NG/reverse-proxy.md index 6db68d8cfda4..0bd9d07fbf5d 100644 --- a/website/translated_docs/yo-NG/reverse-proxy.md +++ b/website/translated_docs/yo-NG/reverse-proxy.md @@ -3,7 +3,7 @@ id: aṣoju ikọkọ-alayipada title: "Iseto Aṣoju ikọkọ-Alayipada" --- -Lilo aṣoju ikọkọ alayipada jẹ iṣe ti o wọpọ. Awọn iṣeto wọnyi jẹ awọn ti a gba gẹgẹ bi iyanju​ ati ti o jẹ lilo julọ. +Using a reverse proxy is a common practice. The following configurations are the most recommended and used ones. # Apache @@ -11,141 +11,145 @@ Apache ati `mod_proxy` ko **yẹ ko tumọ koodu/di koodu awọn slash** ki o si For installing at relative path, `/npm`, on the server - - AllowEncodedSlashes NoDecode - ProxyPass /npm http://127.0.0.1:4873 nocanon - ProxyPassReverse /npm http://127.0.0.1:4873 - - +```` + + AllowEncodedSlashes NoDecode + ProxyPass /npm http://127.0.0.1:4873 nocanon + ProxyPassReverse /npm http://127.0.0.1:4873 + +```` For installing at root path, `/`, on the server - - - ServerName your.domain.com - ServerAdmin hello@your.domain.com - ProxyPreserveHost On - AllowEncodedSlashes NoDecode - ProxyPass / http://127.0.0.1:4873/ nocanon - ProxyPassReverse / http://127.0.0.1:4873/ - - +```` + + ServerName your.domain.com + ServerAdmin hello@your.domain.com + ProxyPreserveHost On + AllowEncodedSlashes NoDecode + ProxyPass / http://127.0.0.1:4873/ nocanon + ProxyPassReverse / http://127.0.0.1:4873/ + +```` ### Iṣeto pẹlu SSL Iṣeto olupese aifojuri ti Apache - apacheconfig - - - ServerName npm.your.domain.com - SSLEngine on - SSLCertificateFile /etc/letsencrypt/live/npm.your.domain.com/fullchain.pem - SSLCertificateKeyFile /etc/letsencrypt/live/npm.your.domain.com/privkey.pem - SSLProxyEngine On - ProxyRequests Off - ProxyPreserveHost On - AllowEncodedSlashes NoDecode - ProxyPass / http://127.0.0.1:4873/ nocanon - ProxyPassReverse / http://127.0.0.1:4873/ - RequestHeader set X-Forwarded-Proto "https" - - - +```` + apacheconfig + + + ServerName npm.your.domain.com + SSLEngine on + SSLCertificateFile /etc/letsencrypt/live/npm.your.domain.com/fullchain.pem + SSLCertificateKeyFile /etc/letsencrypt/live/npm.your.domain.com/privkey.pem + SSLProxyEngine On + ProxyRequests Off + ProxyPreserveHost On + AllowEncodedSlashes NoDecode + ProxyPass / http://127.0.0.1:4873/ nocanon + ProxyPassReverse / http://127.0.0.1:4873/ + RequestHeader set X-Forwarded-Proto "https" + + +```` # Nginx The following snippet is a full `docker` example can be tested in our [Docker examples repository](https://github.com/verdaccio/verdaccio/tree/5.x/docker-examples/reverse_proxy/nginx). - upstream verdaccio_v4 { - server verdaccio_relative_path_v4:4873; - keepalive 8; - } - - upstream verdaccio_v4_root { - server verdaccio_relative_path_v4_root:8000; - keepalive 8; +```` +upstream verdaccio_v4 { + server verdaccio_relative_path_v4:4873; + keepalive 8; +} + +upstream verdaccio_v4_root { + server verdaccio_relative_path_v4_root:8000; + keepalive 8; +} + +upstream verdaccio_v3 { + server verdaccio_relative_path_latest_v3:7771; + keepalive 8; +} + +server { + listen 80 default_server; + access_log /var/log/nginx/verdaccio.log; + charset utf-8; + + location / { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4_root; + proxy_redirect off; } - - upstream verdaccio_v3 { - server verdaccio_relative_path_latest_v3:7771; - keepalive 8; + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4/$1; + proxy_redirect off; } - - server { - listen 80 default_server; - access_log /var/log/nginx/verdaccio.log; - charset utf-8; - - location / { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4_root; - proxy_redirect off; - } - - location ~ ^/verdaccio/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4/$1; - proxy_redirect off; - } - - location ~ ^/verdacciov3/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - - proxy_pass http://verdaccio_v3/$1; - proxy_redirect off; - } + + location ~ ^/verdacciov3/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + + proxy_pass http://verdaccio_v3/$1; + proxy_redirect off; } - +} +```` ## Apẹẹrẹ SSL - server { - listen 80; - return 302 https://$host$request_uri; +```` +server { + listen 80; + return 302 https://$host$request_uri; +} + +server { + listen 443 ssl http2; + server_name localhost; + + ssl_certificate /etc/nginx/cert.crt; + ssl_certificate_key /etc/nginx/cert.key; + + ssl on; + ssl_session_cache builtin:1000 shared:SSL:10m; + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; + ssl_prefer_server_ciphers on; + + location / { + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_pass http://verdaccio_v4_root; + proxy_read_timeout 600; + proxy_redirect off; } - - server { - listen 443 ssl http2; - server_name localhost; - - ssl_certificate /etc/nginx/cert.crt; - ssl_certificate_key /etc/nginx/cert.key; - - ssl on; - ssl_session_cache builtin:1000 shared:SSL:10m; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; - ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; - ssl_prefer_server_ciphers on; - - location / { - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_pass http://verdaccio_v4_root; - proxy_read_timeout 600; - proxy_redirect off; - } - - location ~ ^/verdaccio/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4_root/$1; - proxy_redirect off; - } + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4_root/$1; + proxy_redirect off; } - +} +```` ## Ṣe imuṣiṣẹ aṣoju ikọkọ alayipada ẹlẹhin pẹlu ibugbe ati ibudo to yatọ @@ -171,10 +175,9 @@ location / { proxy_set_header X-Forwarded-Proto $scheme; } ``` - For this case, `url_prefix` should **NOT** set in Verdaccio config -* * * +--- tabi ifi ẹka-ọna kan sori ẹrọ: @@ -186,7 +189,6 @@ location ~ ^/verdaccio/(.*)$ { proxy_set_header X-Forwarded-Proto $scheme; } ``` - Fun ọrọ eyi, `url_prefix` yẹ ko jẹ siseto si `/verdaccio/` -> Note: There is a slash after the install path (`https://your-domain:port/verdaccio/`)! \ No newline at end of file +> Note: There is a slash after the install path (`https://your-domain:port/verdaccio/`)! diff --git a/website/translated_docs/yo-NG/server.md b/website/translated_docs/yo-NG/server.md index 9067cacf648c..9b6393e99167 100644 --- a/website/translated_docs/yo-NG/server.md +++ b/website/translated_docs/yo-NG/server.md @@ -31,7 +31,6 @@ The `cd` command sends you to the home directory of the Verdaccio user. Make sur ## Gbigbọ lori gbogbo awọn adirẹsi Ti o ba fẹ lati tẹtisi gbogbo adirẹsi itagbangba ṣeto ilana igbọran ninu iṣeto naa lati: - ```yaml # o le se adirẹsi itẹtisi ni pato (tabi ibudo kan nìkan) gbọ: 0.0.0.0:4873 @@ -39,7 +38,7 @@ gbọ: 0.0.0.0:4873 If you are running Verdaccio in a Amazon EC2 Instance, [you will need set the listen in change your config file](https://github.com/verdaccio/verdaccio/issues/314#issuecomment-327852203) as is described above. -> Ṣeto Apache tabi nginx? Jọwọ ṣabẹwo [Iseto Aṣoju ikọkọ Alayipada](reverse-proxy.md) +> Configure Apache or nginx? Please check out the [Reverse Proxy Setup](reverse-proxy.md) ## Keeping Verdaccio running forever @@ -71,8 +70,9 @@ $ crontab -e This might ask you to choose an editor. Pick your favorite and proceed. Add the following entry to the file: - @reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio - +``` +@reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio +``` The locations may vary depending on your server setup. If you want to know where your files are you can use the 'which' command: @@ -84,9 +84,7 @@ $ which verdaccio ## Lilo systemd Instead of `forever` you can use `systemd` for starting Verdaccio and keeping it running. Verdaccio installation has systemd unit, you only need to copy it: - ```bash $ sudo cp /usr/lib/node_modules/verdaccio/systemd/verdaccio.service /lib/systemd/system/ && sudo systemctl daemon-reload ``` - -This unit assumes you have configuration in `/etc/verdaccio/config.yaml` and store data in `/var/lib/verdaccio`, so either move your files to those locations or edit the unit. \ No newline at end of file +This unit assumes you have configuration in `/etc/verdaccio/config.yaml` and store data in `/var/lib/verdaccio`, so either move your files to those locations or edit the unit. diff --git a/website/translated_docs/yo-NG/who-is-using.md b/website/translated_docs/yo-NG/who-is-using.md index 362422633229..5c37a56b654e 100644 --- a/website/translated_docs/yo-NG/who-is-using.md +++ b/website/translated_docs/yo-NG/who-is-using.md @@ -10,6 +10,7 @@ title: "Tani o nlo Verdaccio?" * [SheetJS](https://sheetjs.com/) * [Satispay](https://www.satispay.com/) + ### Awọn iṣẹ akanṣe Orisun Gbangba > **Ma se kọ lati daba OSS miiran ti o nlo Verdaccio.** @@ -29,4 +30,6 @@ title: "Tani o nlo Verdaccio?" #### Readme Recommendations -* [react-native-cli](https://github.com/react-native-community/react-native-cli/blob/master/CONTRIBUTING.md) \ No newline at end of file +* [react-native-cli](https://github.com/react-native-community/react-native-cli/blob/master/CONTRIBUTING.md) + + diff --git a/website/translated_docs/yo-NG/windows.md b/website/translated_docs/yo-NG/windows.md index 4fb116ffe41b..b6ac7a0a1205 100644 --- a/website/translated_docs/yo-NG/windows.md +++ b/website/translated_docs/yo-NG/windows.md @@ -5,10 +5,10 @@ title: "Fifi sori ẹrọ Bi Iṣẹ Windows kan" O da lori awọn itọnisọna ti o wa [nibi](http://asysadmin.tumblr.com/post/32941224574/running-nginx-on-windows-as-a-service). Mo ṣẹda iwọnyi ti o si wa pese iṣẹ verdaccio ti o n ṣiṣẹ ni kikun fun mi: -1. Ṣẹda ọna fun verdaccio +1. Ṣẹda ọna fun verdaccio * mkdir `c:\verdaccio` * cd `c:\verdaccio` -2. Fi verdaccio sori ẹrọ ni ibilẹ (Mo salaba pade awọn iṣoro npm pẹlu awọn fifisori ti agbaye) +2. Fi verdaccio sori ẹrọ ni ibilẹ (Mo salaba pade awọn iṣoro npm pẹlu awọn fifisori ti agbaye) * npm install verdaccio 3. Ṣẹda faili `config.yaml` rẹ ni aaye yii `(c:\verdaccio\config.yaml)` 4. Iṣeto Iṣẹ Windows @@ -24,29 +24,29 @@ O da lori awọn itọnisọna ti o wa [nibi](http://asysadmin.tumblr.com/post/3 * Ṣi aṣẹ isakoso kan * Ṣe imuṣiṣẹ nssm install verdaccio Ni o kere ju o gbọdọ pese idahun si Ọna taabu Ohun elo, Ibẹrẹ ọna ati Awọn aaye awọn ariyanjiyan. Kani wipe ifisori ẹrọ pẹlu oju ipade ninu ọna eto naa ati aaye kan ti c:\verdaccio awọn iye to wa ni isalẹ yoo ṣiṣẹ: - * Path: `node` * Startup directory: `c:\verdaccio` * Awọn ariyanjiyan: `c:\verdaccio\node_modules\verdaccio\build\lib\cli.js -c c:\verdaccio\config.yaml` - - O le ṣatunṣe awọn iseto iṣẹ miiran labẹ awọn taabu miiran bi o ba se fẹ. Nigbati o ba ti ṣetan, tẹ bọtini Fi iṣẹ sori ẹrọ - - * Bẹrẹ iṣẹ sc naa bẹrẹ verdaccio + + You can adjust other service settings under other tabs as desired. When you are done, click Install service button + + * Bẹrẹ iṣẹ sc naa bẹrẹ verdaccio ## Lilo WinSW -* Titi di 2015-10-27, WinSW ko si ni aaye to wa ni isalẹ yii mọ. Jọwọ tẹle awọn ilana itọnisọna Lilo NSSM loke. -* Gba lati ayelujara [WinSW](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/) +* As of 2015-10-27, WinSW is no longer available at the below location. Please follow the Using NSSM instructions above. +* Gba lati ayelujara [WinSW](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/) * Gbe awọn iṣẹ ṣiṣe naa (fun apẹẹrẹ `winsw-1.9-bin.exe`) sinu foda yii (`c:\verdaccio`) ki o si pa lorukọ da si `verdaccio-winsw.exe` * Ṣẹda faili iṣeto kan ni `c:\verdaccio`, ti o n jẹ `verdaccio-winsw.xml` pẹlu iṣeto wọnyii `xml verdaccio verdaccio verdaccio node c:\verdaccio\node_modules\verdaccio\src\lib\cli.js -c c:\verdaccio\config.yaml roll c:\verdaccio`. -* Fi iṣẹ rẹ sii +* Fi iṣẹ rẹ sii * `cd c:\verdaccio` * `verdaccio-winsw.exe install` -* Bẹrẹ iṣẹ rẹ +* Bẹrẹ iṣẹ rẹ * `verdaccio-winsw.exe start` Diẹ lara awọn iṣeto ti o wa loke jẹ verbose ju bi mo ti se reti lọ, o dabi pe 'workingdirectory' ti ko bikita, ṣugbọn yatọ si eyi, eyi ṣiṣẹ fun mi o si fayegba verdaccio instance mi lati si duro sinsin laarin atunbẹrẹ ti olupese naa, ati sise atunbẹrẹ ara rẹ ti o ba lọ jẹpe ijamba kankan ba waye si ilana verdaccio naa. + ## Awọn ibi ipamọ -* [verdaccio-deamon-windows](https://github.com/davidenke/verdaccio-deamon-windows) \ No newline at end of file +* [verdaccio-deamon-windows](https://github.com/davidenke/verdaccio-deamon-windows) diff --git a/website/translated_docs/zh-CN/caching.md b/website/translated_docs/zh-CN/caching.md index b462e8b5108b..8659e5366734 100644 --- a/website/translated_docs/zh-CN/caching.md +++ b/website/translated_docs/zh-CN/caching.md @@ -7,11 +7,12 @@ Verdaccio 默认将所有的包缓存到`/storage`文件夹中。 But you can de ## Caching scenarios -* Build a Node.js project on **Continous Integration** (Bamboo, GitLab, Jenkins, etc) servers is a task that might take several times at a day, thus, the server will download tons of tarballs from the registry every time takes place. As usual, the CI tools clear the cache after each build and the process start over and over again. That is a waste of bandwidth and reduces the external traffic. **You can use Verdaccio for caching tarballs and metadata in our internal network and give a boost in your build time.** -* **Latency and Connectivity**, not all countries enjoy a high-speed connection. For such reason cache packages locally in your network is really handy. Either if you are traveling, or have a weak connection, roaming or countries with strong Firewalls that might affect the user experience (eg: corrupting tarballs). -* **Offline Mode**, all Node Package Managers nowadays uses their own internal cache, but it common that different projects might use different tools, which implies lock files and so on. Those tools are unable to share cache, the unique solution is centralized and relies on a proxy registry, Verdaccio cache all metadata and tarballs are downloaded by demand being able to share them across all your project. +* Build a Node.js project on **Continous Integration** (Bamboo, GitLab, Jenkins, etc) servers is a task that might take several times at a day, thus, the server will download tons of tarballs from the registry every time takes place. As usual, the CI tools clear the cache after each build and the process start over and over again. That is a waste of bandwidth and reduces the external traffic. **You can use Verdaccio for caching tarballs and metadata in our internal network and give a boost in your build time.** As usual, the CI tools clear the cache after each build and the process start over and over again. That is a waste of bandwidth and reduces the external traffic. **You can use Verdaccio for caching tarballs and metadata in our internal network and give a boost in your build time.** +* **Latency and Connectivity**, not all countries enjoy a high-speed connection. For such reason cache packages locally in your network is really handy. Either if you are traveling, or have a weak connection, roaming or countries with strong Firewalls that might affect the user experience (eg: corrupting tarballs). For such reason cache packages locally in your network is really handy. Either if you are traveling, or have a weak connection, roaming or countries with strong Firewalls that might affect the user experience (eg: corrupting tarballs). +* **Offline Mode**, all Node Package Managers nowadays uses their own internal cache, but it common that different projects might use different tools, which implies lock files and so on. Those tools are unable to share cache, the unique solution is centralized and relies on a proxy registry, Verdaccio cache all metadata and tarballs are downloaded by demand being able to share them across all your project. Those tools are unable to share cache, the unique solution is centralized and relies on a proxy registry, Verdaccio cache all metadata and tarballs are downloaded by demand being able to share them across all your project. * Avoid that any remote registry suddenly returns *HTTP 404* error for tarballs were previously available a.k.a ([left-pad issue](https://www.theregister.co.uk/2016/03/23/npm_left_pad_chaos/)). + # Strategies for faster builds > We are looking for more strategies, feel free to share your experience in this field @@ -20,15 +21,16 @@ Verdaccio 默认将所有的包缓存到`/storage`文件夹中。 But you can de If you have a limited storage space, you might need to avoid cache tarballs, enabling `cache` false in each uplink will cache only metadata files. - uplinks: - npmjs: - url: https://registry.npmjs.org/ - cache: false - +``` +uplinks: + npmjs: + url: https://registry.npmjs.org/ + cache: false +``` ## Extending Cache Expiration Time -Verdaccio by default waits 2 minutes to invalidate the cache metadata before fetching new information from the remote registry. + Verdaccio by default waits 2 minutes to invalidate the cache metadata before fetching new information from the remote registry. ```yaml uplinks: @@ -39,6 +41,7 @@ uplinks: Increasing the value of `maxage` in each `uplink` remotes will be asked less frequently. This might be a valid strategy if you don't update dependencies so often. + ## 使用内存代替硬盘存储 Sometimes caching packages is not a critical step, rather than route packages from different registries and achieving faster build times. There are two plugins that avoid write in a physical hard drive at all using the memory. @@ -62,4 +65,4 @@ store: limit: 1000 ``` -Remember, once the server is restarted the data is being lost, we recommend this setup in cases where you do not need to persist at all. \ No newline at end of file +Remember, once the server is restarted the data is being lost, we recommend this setup in cases where you do not need to persist at all. diff --git a/website/translated_docs/zh-CN/install.md b/website/translated_docs/zh-CN/install.md index 9c0cb1c90bea..35f0e2fcccdb 100644 --- a/website/translated_docs/zh-CN/install.md +++ b/website/translated_docs/zh-CN/install.md @@ -3,7 +3,7 @@ id: installation title: "安装" --- -Verdaccio 是一个跨平台的 Web 应用程序。在安装前,你需要满足一些基础的最低要求。 +Verdaccio 是一个跨平台的 Web 应用程序。 在安装前,你需要满足一些基础的最低要求。 ## 最低要求 @@ -11,17 +11,17 @@ Verdaccio 是一个跨平台的 Web 应用程序。在安装前,你需要满 2. 你喜爱的Node包管理器 `npm`、`pnpm` 或 `yarn`(classic 以及 berry)。 -> We highly recommend to use the latest versions of Node Package Manager clients `> npm@6.x | yarn@1.x | | yarn@2.x | pnpm@6.x`. Don't support `npm@5.x` or older. +> We highly recommend to use the latest versions of Node Package Manager clients `> npm@6.x | yarn@1.x | | yarn@2.x | pnpm@6.x`. Don't support `npm@5.x` or older. Don't support `npm@5.x` or older. -1. A modern web browser to run the web interface. We actually support `Chrome, Firefox, Edge`. +3. A modern web browser to run the web interface. We actually support `Chrome, Firefox, Edge`. We actually support `Chrome, Firefox, Edge`. > Verdaccio 会根据 [Node. js 发布工作组](https://github.com/nodejs/Release) 的推荐以支持最新的 Node. js 版本。 -Are you still using **Verdaccio 4**?. Check the [migration guide](https://verdaccio.org/blog/2021/04/14/verdaccio-5-migration-guide). +Are you still using **Verdaccio 4**?. Check the [migration guide](https://verdaccio.org/blog/2021/04/14/verdaccio-5-migration-guide). Check the [migration guide](https://verdaccio.org/blog/2021/04/14/verdaccio-5-migration-guide). ### 快速介绍 -Learn the basics before getting started, how to install, where is the location of the configuration file and more. +Learn the basics before getting started, how to install, where is the location of the configuration file and more. ## 安装命令行界面(CLI) @@ -92,7 +92,7 @@ registry=http://localhost:4873 ## 创建属于你自己的私有NPM包教程 -If you'd like a broader explanation, don't miss the tutorial created by [thedevlife](https://mybiolink.co/thedevlife) on how to Create Your Own Private NPM Package using Verdaccio. +If you'd like a broader explanation, don't miss the tutorial created by [thedevlife](https://mybiolink.co/thedevlife) on how to Create Your Own Private NPM Package using Verdaccio. ## Docker 镜像 @@ -106,4 +106,4 @@ docker run -it --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio `Verdaccio` is also available as a 1-click install on [Cloudron](https://cloudron.io) -[![安装](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=org.eggertsson.verdaccio) \ No newline at end of file +[![安装](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=org.eggertsson.verdaccio) diff --git a/website/translated_docs/zh-CN/kubernetes.md b/website/translated_docs/zh-CN/kubernetes.md index 78e32f0987e4..d12a955f00f3 100644 --- a/website/translated_docs/zh-CN/kubernetes.md +++ b/website/translated_docs/zh-CN/kubernetes.md @@ -23,8 +23,9 @@ Deploy the Helm [verdaccio/verdaccio](https://github.com/verdaccio/charts) chart ### Add repository - helm repo add verdaccio https://charts.verdaccio.org - +``` +helm repo add verdaccio https://charts.verdaccio.org +``` In this example we use `npm` as release name: @@ -52,6 +53,7 @@ helm uninstall npm **请注意:** 此命令删除所有源代码,包含您之前可能已经发布到registry里的包。 + ### 自定义Verdaccio 配置 您可以用Kubernetes *configMap*自定义 Verdaccio 配置。 @@ -92,10 +94,14 @@ helm install npm --set customConfigMap=verdaccio-config verdaccio/verdaccio #### NGINX proxy body-size limit The standard k8s NGINX ingress proxy allows for 1MB for body-size which can be increased by modifying the default deployment options according to the [documentation](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#custom-max-body-size): - ```yaml ... +annotations: +... + + ... + annotations: ... @@ -109,4 +115,4 @@ annotations: [Rancher](http://rancher.com/) is a complete container management platform that makes managing and using containers in production really easy. -* [verdaccio-rancher](https://github.com/lgaticaq/verdaccio-rancher) \ No newline at end of file +* [verdaccio-rancher](https://github.com/lgaticaq/verdaccio-rancher) diff --git a/website/translated_docs/zh-CN/linking.md b/website/translated_docs/zh-CN/linking.md index 411d768381b0..e10d49664eb9 100644 --- a/website/translated_docs/zh-CN/linking.md +++ b/website/translated_docs/zh-CN/linking.md @@ -17,10 +17,11 @@ uplinks: 使用多个registries的唯一可行的方式,就是使用`.npmrc`。其功能如下: - // .npmrc - registry=https://registry.npmjs.org - @mycompany:registry=http://localhost:4873 - +``` +// .npmrc +registry=https://registry.npmjs.org +@mycompany:registry=http://localhost:4873 +``` This approach is valid, but comes with several disadvantages: @@ -66,6 +67,11 @@ Add a `proxy` section to define the selected registry you want to proxy. access: $all publish: $authenticated proxy: server1 server2 + + 'webpack': + access: $all + publish: $authenticated + proxy: server1 server2 ``` Verdaccio supports multiple registries on the `proxy` field. The request will be resolved with the first in the list; if that fails, it will try with the next in the list and so on. @@ -75,7 +81,8 @@ Verdaccio supports multiple registries on the `proxy` field. The request will be Having a full Offline Registry is completely possible. If you don't want any connectivity with external remotes you can do the following. ```yaml -
auth: + +auth: htpasswd: file: ./htpasswd uplinks: @@ -91,4 +98,4 @@ packages: publish: $authenticated ``` -Remove all `proxy` fields within each section of `packages`. The registry will become full offline. \ No newline at end of file +Remove all `proxy` fields within each section of `packages`. The registry will become full offline. diff --git a/website/translated_docs/zh-CN/logger.md b/website/translated_docs/zh-CN/logger.md index 0a8d1a839efc..b03cdf64e64a 100644 --- a/website/translated_docs/zh-CN/logger.md +++ b/website/translated_docs/zh-CN/logger.md @@ -3,7 +3,7 @@ id: 记录器 title: "记录器" --- -As with any web application, Verdaccio has a customisable built-in logger. You can define multiple types of outputs. +As with any web application, Verdaccio has a customisable built-in logger. You can define multiple types of outputs. You can define multiple types of outputs. ```yaml # console output @@ -23,9 +23,9 @@ Use `SIGUSR2` to notify the application, the log-file was rotated and it needs t ### 配置 -| 属性 | 类型 | 必填 | 范例 | 支持 | 描述 | -| ------ | ------ | -- | ---------------------------------------------- | --- | ----------------- | -| type | string | No | [stdout, file] | all | 定义输出 | -| path | string | No | verdaccio.log | all | 如果类型为文件,请定义该文件的位置 | -| format | string | No | [pretty, pretty-timestamped] | all | 输出格式 | -| level | string | No | [fatal, error, warn, http, info, debug, trace] | all | 详细级别 | \ No newline at end of file +| 属性 | 类型 | 必填 | 示例 | 支持 | 描述 | +| ------ | --- | -- | ---------------------------------------------- | ---- | ----------------- | +| type | 字符串 | 否 | [stdout, file] | 任意路径 | 定义输出 | +| path | 字符串 | 否 | verdaccio.log | 任意路径 | 如果类型为文件,请定义该文件的位置 | +| format | 字符串 | 否 | [pretty, pretty-timestamped] | 任意路径 | 输出格式 | +| level | 字符串 | 否 | [fatal, error, warn, http, info, debug, trace] | 任意路径 | 详细级别 | diff --git a/website/translated_docs/zh-CN/logo.md b/website/translated_docs/zh-CN/logo.md index 554e0c8093b9..f6e591fc42be 100644 --- a/website/translated_docs/zh-CN/logo.md +++ b/website/translated_docs/zh-CN/logo.md @@ -11,7 +11,7 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ## 标识 -**带文本** +__带文本__ ![带文本的小标识](assets/logo/symbol/png/logo-small-header-bottom.png) @@ -19,11 +19,11 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ![带文本的大标识](assets/logo/symbol/png/logo-small-header-bottom@3x.png) -**SVG** +__SVG__ ![svg 标识](assets/logo/symbol/svg/logo-small-header-bottom.svg) -**无文本** +__无文本__ ![小标识](assets/logo/symbol/png/verdaccio-tiny.png) @@ -31,10 +31,12 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ![大标识](assets/logo/symbol/png/verdaccio-tiny@3x.png) -**SVG** +__SVG__ ![无文本 svg 格式标识](assets/logo/symbol/svg/verdaccio-tiny.svg) + + ### 黑白 ![小 bw 标识](assets/logo/symbol/png/verdaccio-blackwhite.png) @@ -43,14 +45,17 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ![大 bw 标识](assets/logo/symbol/png/verdaccio-blackwhite@3x.png) -**SVG** +__SVG__ ![svg bw 标识](assets/logo/symbol/svg/verdaccio-blackwhite.svg) + ## 横幅 ![小横幅](assets/logo/banner/png/verdaccio-banner.png) ![中等横幅](assets/logo/banner/png/verdaccio-banner@2x.png) -![大横幅](assets/logo/banner/png/verdaccio-banner@3x.png) \ No newline at end of file +![大横幅](assets/logo/banner/png/verdaccio-banner@3x.png) + + diff --git a/website/translated_docs/zh-CN/node-api.md b/website/translated_docs/zh-CN/node-api.md index 82201872df5a..06d4ff38116f 100644 --- a/website/translated_docs/zh-CN/node-api.md +++ b/website/translated_docs/zh-CN/node-api.md @@ -3,7 +3,7 @@ id: node-api title: "Node API" --- -Verdaccio can be invoked programmatically. The Node API was introduced after version `verdaccio@3.0.0`. +Verdaccio can be invoked programmatically. Verdaccio can be invoked programmatically. The Node API was introduced after version `verdaccio@3.0.0`. ## 使用 @@ -39,4 +39,4 @@ verdaccioServer.serviceUninstall(); verdaccioServer.serviceStart(); verdaccioServer.serviceStop(); verdaccioServer.serviceRestart(); -``` \ No newline at end of file +``` diff --git a/website/translated_docs/zh-CN/notifications.md b/website/translated_docs/zh-CN/notifications.md index 76872a90523a..e4c79900bf49 100644 --- a/website/translated_docs/zh-CN/notifications.md +++ b/website/translated_docs/zh-CN/notifications.md @@ -3,7 +3,7 @@ id: 通知 title: "通知" --- -Notify was built primarily to use with Slack's Incoming webhooks, but will also deliver a simple payload to any endpoint. This is currently only active for the `npm publish` command. +Notify was built primarily to use with Slack's Incoming webhooks, but will also deliver a simple payload to any endpoint. This is currently only active for the `npm publish` command. This is currently only active for the `npm publish` command. ## 使用 @@ -48,12 +48,13 @@ notify: ### 格式范例 - # iterate all versions - {{ name }}{{#each versions}} v{{version}}{{/each}} - - # publisher and `dist-tag` package published - {{ publisher.name }} has published {{ publishedPackage }} - +``` +# iterate all versions +{{ name }}{{#each versions}} v{{version}}{{/each}} + +# publisher and `dist-tag` package published +{{ publisher.name }} has published {{ publishedPackage }} +``` ### 属性 @@ -67,54 +68,56 @@ notify: 模板可以访问的包元数据 - { - "_id": "@test/pkg1", - "name": "@test/pkg1", - "description": "", - "dist-tags": { - "beta": "1.0.54" - }, - "versions": { - "1.0.54": { - "name": "@test/pkg1", - "version": "1.0.54", - "description": "some description", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": { - "name": "Author Name", - "email": "author@domain.com" - }, - "license": "MIT", - "dependencies": { - "webpack": "4.12.0" - }, - "readmeFilename": "README.md", - "_id": "@ test/pkg1@1.0.54", - "_npmVersion": "6.1.0", - "_nodeVersion": "9.9.0", - "_npmUser": {}, - "dist": { - "integrity": "sha512-JlXWpLtMUBAqvVZBvH7UVLhXkGE1ctmXbDjbH/l0zMuG7wVzQ7GshTYvD/b5C+G2vOL2oiIS1RtayA/kKkTwKw==", - "shasum": "29c55c52c1e76e966e706165e5b9f22e32aa9f22", - "tarball": "http://localhost:4873/@test/pkg1/-/@test/pkg1-1.0.54.tgz" - } - } - }, - "readme": "# test", - "_attachments": { - "@test/pkg1-1.0.54.tgz": { - "content_type": "application/octet-stream", - "data": "H4sIAAAAAAAAE+y9Z5PjyJIgOJ ...", - "length": 33112 +``` +{ + "_id": "@test/pkg1", + "name": "@test/pkg1", + "description": "", + "dist-tags": { + "beta": "1.0.54" + }, + "versions": { + "1.0.54": { + "name": "@test/pkg1", + "version": "1.0.54", + "description": "some description", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": { + "name": "Author Name", + "email": "author@domain.com" + }, + "license": "MIT", + "dependencies": { + "webpack": "4.12.0" + }, + "readmeFilename": "README.md", + "_id": "@ test/pkg1@1.0.54", + "_npmVersion": "6.1.0", + "_nodeVersion": "9.9.0", + "_npmUser": {}, + "dist": { + "integrity": "sha512-JlXWpLtMUBAqvVZBvH7UVLhXkGE1ctmXbDjbH/l0zMuG7wVzQ7GshTYvD/b5C+G2vOL2oiIS1RtayA/kKkTwKw==", + "shasum": "29c55c52c1e76e966e706165e5b9f22e32aa9f22", + "tarball": "http://localhost:4873/@test/pkg1/-/@test/pkg1-1.0.54.tgz" } - }, - "time": {} - } - + } + }, + "readme": "# test", + "_attachments": { + "@test/pkg1-1.0.54.tgz": { + "content_type": "application/octet-stream", + "data": "H4sIAAAAAAAAE+y9Z5PjyJIgOJ ...", + "length": 33112 + } + }, + "time": {} +} +``` + ### 发表人 @@ -122,21 +125,23 @@ You can get access to the package publisher information in the `content` of a we 请参阅以下`publisher` object(对象)类别: - { - name: string, - groups: string[], - real_groups: string[] - } - +``` +{ + name: string, + groups: string[], + real_groups: string[] +} +``` 范例: - notify: - method: POST - headers: [{'Content-Type': 'application/json'}] - endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken - content: '{"color":"green","message":"New package published: * {{ name }}*. Publisher name: * {{ publisher.name }} *.","notify":true,"message_format":"text"}' - +``` +notify: + method: POST + headers: [{'Content-Type': 'application/json'}] + endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken + content: '{"color":"green","message":"New package published: * {{ name }}*. Publisher name: * {{ publisher.name }} *.","notify":true,"message_format":"text"}' +``` **请注意:** 如果 `package.json` 文件已经有`publisher`属性,是不可能再拿到发表人信息的。 @@ -144,16 +149,17 @@ You can get access to the package publisher information in the `content` of a we You can access to the package is being published with the keyword `{{publishedPackage}}` as follows. - {{ publisher.name }} has published {{ publishedPackage }} - +``` +{{ publisher.name }} has published {{ publishedPackage }} +``` ## 配置 -| 属性 | 类型 | 必填 | 支持 | 默认 | 描述 | -| ------------------- | ------------ | --- | --- | -- | ------------------------------------------- | -| method | string | No | all | | HTTP verb | -| packagePattern | string | No | all | | 仅当包名字和正规表达式匹配时才运行此通知 | -| packagePatternFlags | string | No | all | | 任何与正规表达式一起使用的标记 | -| headers | array/object | Yes | all | | 如果此端点需要特定的标头,请把它们设置为键数组:value objects(值对象)。 | -| endpoint | string | Yes | all | | 设置此调用的URL 端点 | -| content | string | Yes | all | | 任何[Handlebar](https://handlebarsjs.com/)表达式 | \ No newline at end of file +| 属性 | 类型 | 必填 | 支持 | 默认值 | 描述 | +| ------------------- | ------------ | -- | ---- | --- | ------------------------------------------- | +| method | 字符串 | 否 | 任意路径 | | HTTP verb | +| packagePattern | 字符串 | 否 | 任意路径 | | 仅当包名字和正规表达式匹配时才运行此通知 | +| packagePatternFlags | 字符串 | 否 | 任意路径 | | 任何与正规表达式一起使用的标记 | +| headers | array/object | 是 | 任意路径 | | 如果此端点需要特定的标头,请把它们设置为键数组:value objects(值对象)。 | +| endpoint | 字符串 | 是 | 任意路径 | | 设置此调用的URL 端点 | +| content | 字符串 | 是 | 任意路径 | | 任何[Handlebar](https://handlebarsjs.com/)表达式 | diff --git a/website/translated_docs/zh-CN/packages.md b/website/translated_docs/zh-CN/packages.md index 03dbce428c4a..1bf0942da3f4 100644 --- a/website/translated_docs/zh-CN/packages.md +++ b/website/translated_docs/zh-CN/packages.md @@ -9,7 +9,7 @@ This is a series of constraints that allow or restrict access to the local stora 关于权限的更多信息,请访问[维基文档的认证部分](auth.md)。 -### 用法 +### 使用 ```yalm packages: @@ -100,7 +100,7 @@ Defining multiple access groups is fairly easy, just define them with a white sp #### 阻止对一组包的访问 -If you want to block the access/publish to a specific group of packages. Just do not define `access` and `publish`. +If you want to block the access/publish to a specific group of packages. Just do not define `access` and `publish`. Just do not define `access` and `publish`. ```yaml packages: @@ -140,7 +140,7 @@ Let's describe what we want with the above example: * 我想要在`my-local-scope`范围内的所有依赖库但我需要避免代理它们。 * 我想要代理所有剩余的依赖库。 -Be **aware that the order of your packages definitions is important and always use double wilcard**. Because if you do not include it `verdaccio` will include it for you and the way that your dependencies are resolved will be affected. +Be **aware that the order of your packages definitions is important and always use double wilcard**. Because if you do not include it `verdaccio` will include it for you and the way that your dependencies are resolved will be affected. Because if you do not include it `verdaccio` will include it for you and the way that your dependencies are resolved will be affected. #### Use multiple uplinks @@ -155,7 +155,7 @@ You may assign multiple uplinks for use as a proxy to use in the case of failove #### Unpublishing Packages -The property `publish` handle permissions for `npm publish` and `npm unpublish`. But, if you want to be more specific, you can use the property `unpublish` in your package access section, for instance: +The property `publish` handle permissions for `npm publish` and `npm unpublish`. But, if you want to be more specific, you can use the property `unpublish` in your package access section, for instance: ```yalm packages: @@ -183,17 +183,18 @@ In the previous example, the behaviour would be described: * only authenticated users can publish `my-company-*` packages, but **nobody would be allowed to unpublish them**. * If `unpublish` is commented out, the access will be granted or denied by the `publish` definition. + ### 配置 You can define mutiple `packages` and each of them must have an unique `Regex`. The syntax is based on [minimatch glob expressions](https://github.com/isaacs/minimatch). -| 属性 | 类型 | 必须的 | 示例 | 支持 | 描述 | -| ------- | ------ | --- | -------------- | -------------- | ------------------------------------------------------------------------- | -| access | string | No | $all | all | 定义允许访问包的组 | -| publish | string | No | $authenticated | all | 定义允许发布的组 | -| proxy | string | No | npmjs | all | 针对特定的uplink限制查找 | -| storage | 字符串 | No | 字符串 | `/some-folder` | it creates a subfolder whithin the storage folder for each package access | +| 属性 | 类型 | 必填 | 示例 | 支持 | 描述 | +| ------- | --- | -- | -------------- | -------------- | ------------------------------------------------------------------------- | +| access | 字符串 | 否 | $all | 任意路径 | 定义允许访问包的组 | +| publish | 字符串 | 否 | $authenticated | 任意路径 | 定义允许发布的组 | +| proxy | 字符串 | 否 | npmjs | 任意路径 | 针对特定的uplink限制查找 | +| storage | 字符串 | 否 | 字符串 | `/some-folder` | it creates a subfolder whithin the storage folder for each package access | > 我们强烈建议不要再使用已被弃用的**allow_access**/**allow_publish** 和 **proxy_access**,它们很快就会被移除,请使用它们的精简版本 (**access**/**publish**/**proxy**) 。 -If you want more information about how to use the **storage** property, please refer to this [comment](https://github.com/verdaccio/verdaccio/issues/1383#issuecomment-509933674). \ No newline at end of file +If you want more information about how to use the **storage** property, please refer to this [comment](https://github.com/verdaccio/verdaccio/issues/1383#issuecomment-509933674). diff --git a/website/translated_docs/zh-CN/plugins.md b/website/translated_docs/zh-CN/plugins.md index 7693ec2f4b76..738bf641e5c9 100644 --- a/website/translated_docs/zh-CN/plugins.md +++ b/website/translated_docs/zh-CN/plugins.md @@ -3,7 +3,7 @@ id: plugins title: "插件" --- -Verdaccio is a pluggable application. It can be extended in many ways, either new authentication methods, adding endpoints or using a custom storage. +Verdaccio is a pluggable application. Verdaccio is a pluggable application. It can be extended in many ways, either new authentication methods, adding endpoints or using a custom storage. There are 5 types of plugins: @@ -14,7 +14,7 @@ There are 5 types of plugins: > 如果您感兴趣开发自己的插件,请阅读[开发](dev-plugins.md)部分。 -## 用法 +## 使用 ### 安装 @@ -22,10 +22,11 @@ There are 5 types of plugins: $> npm install --global verdaccio-activedirectory ``` -`verdaccio` as a sinopia fork it has backward compability with plugins that are compatible with `sinopia@1.4.0`. In such case the installation is the same. +`verdaccio` as a sinopia fork it has backward compability with plugins that are compatible with `sinopia@1.4.0`. In such case the installation is the same. In such case the installation is the same. - $> npm install --global sinopia-memory - +``` +$> npm install --global sinopia-memory +``` ### 配置 @@ -33,6 +34,7 @@ $> npm install --global verdaccio-activedirectory 默认配置如下所示,由于在默认情况下我们使用一个内置的`htpasswd`插件,我们可以通过注释下面几行代码来禁用它: + ### Authentication Configuration ```yaml @@ -68,7 +70,7 @@ auth: ### Middleware Configuration -This is an example how to set up a middleware plugin. All middleware plugins must be defined in the **middlewares** namespace. +This is an example how to set up a middleware plugin. This is an example how to set up a middleware plugin. All middleware plugins must be defined in the **middlewares** namespace. ```yaml middlewares: @@ -80,7 +82,7 @@ middlewares: ### Storage Configuration -This is an example how to set up a storage plugin. All storage plugins must be defined in the **store** namespace. +This is an example how to set up a storage plugin. This is an example how to set up a storage plugin. All storage plugins must be defined in the **store** namespace. ```yaml store: @@ -90,15 +92,17 @@ store: ### Theme Configuration -Verdaccio allows to replace the User Interface with a custom one, we call it **theme**. By default, uses `@verdaccio/ui-theme` that comes built-in, but, you can use something different installing your own plugin. +Verdaccio allows to replace the User Interface with a custom one, we call it **theme**. By default, uses `@verdaccio/ui-theme` that comes built-in, but, you can use something different installing your own plugin. By default, uses `@verdaccio/ui-theme` that comes built-in, but, you can use something different installing your own plugin. ```bash -
$> npm install --global verdaccio-theme-dark + +$> npm install --global verdaccio-theme-dark ``` > The plugin name prefix must start with `verdaccio-theme`, otherwise the plugin won't load. + You can load only one theme at a time and pass through options if you need it. ```yaml @@ -132,4 +136,5 @@ theme: * [sinopia-ldap](https://www.npmjs.com/package/sinopia-ldap):sinopia LDAP认证插件。 * [sinopia-github-oauth-env](https://www.npmjs.com/package/sinopia-github-oauth-env):基于github oauth web flow的Sinopia认证插件。 -> 所有sinopia 插件都应该和所有verdaccio将来版本兼容。 无论如何,我们鼓励贡献者们迁移到 modern verdaccio API并使用 *verdaccio-xx-name*为前缀。 \ No newline at end of file +> 所有sinopia 插件都应该和所有verdaccio将来版本兼容。 无论如何,我们鼓励贡献者们迁移到 modern verdaccio API并使用 *verdaccio-xx-name*为前缀。 + diff --git a/website/translated_docs/zh-CN/protect-your-dependencies.md b/website/translated_docs/zh-CN/protect-your-dependencies.md index 884be48551bd..86472006c23f 100644 --- a/website/translated_docs/zh-CN/protect-your-dependencies.md +++ b/website/translated_docs/zh-CN/protect-your-dependencies.md @@ -3,7 +3,7 @@ id: protect-your-dependencies(保护-依赖项) title: "保护包" --- -Verdaccio allows you protect publishing to your registry. To achieve that you will need to set up correctly configure your [packages access](packages). +Verdaccio allows you protect publishing to your registry. Verdaccio allows you protect publishing to your registry. To achieve that you will need to set up correctly configure your [packages access](packages). ### 包配置 @@ -19,18 +19,19 @@ With this configuration, we allow the groups **admin** and **teamA** to *publish ### Use case: teamD tries to access the dependency -So, if I am logged as **teamD**. I shouldn't be able to access all dependencies that match the `my-company-*` pattern. +So, if I am logged as **teamD**. So, if I am logged as **teamD**. I shouldn't be able to access all dependencies that match the `my-company-*` pattern. ```bash ➜ npm whoami teamD ``` -I won't have access to such dependencies and they also won't be visible via the web interface for user **teamD**. If I try to access it, the following will happen: +I won't have access to such dependencies and they also won't be visible via the web interface for user **teamD**. If I try to access it, the following will happen: If I try to access it, the following will happen: ```bash ➜ npm install my-company-core npm ERR! code E403 +npm ERR! 403 Forbidden: webpack-1@latest code E403 npm ERR! 403 Forbidden: webpack-1@latest ``` @@ -40,6 +41,6 @@ or with `yarn`: ➜ yarn add my-company-core yarn add v0.24.6 info No lockfile found. -[1/4] +[1/4] 🔍 Resolving packages... 错误出现意外错误: "http://localhost:5555/webpack-1: 不允许未注册用户访问my-company-core包"。 -``` \ No newline at end of file +``` diff --git a/website/translated_docs/zh-CN/puppet.md b/website/translated_docs/zh-CN/puppet.md index 3219d015efea..6dc3de916b85 100644 --- a/website/translated_docs/zh-CN/puppet.md +++ b/website/translated_docs/zh-CN/puppet.md @@ -5,7 +5,7 @@ title: "Puppet" 在Debian、Ubuntu、Fedora和RedHat中安装verdaccio。 -# 用法 +# 使用 在使用Puppet模块安装verdaccio时有两个变量: @@ -16,6 +16,10 @@ title: "Puppet" 详细信息: - +[https://github.com/verdaccio/puppet-verdaccio](https://github.com/verdaccio/puppet-verdaccio) + +> 我们正在为这个集成寻找积极的贡献者,如果你感兴趣,请查看[这个票证](https://github.com/verdaccio/puppet-verdaccio/issues/11)。 + + + -> 我们正在为这个集成寻找积极的贡献者,如果你感兴趣,请查看[这个票证](https://github.com/verdaccio/puppet-verdaccio/issues/11)。 \ No newline at end of file diff --git a/website/translated_docs/zh-CN/repositories.md b/website/translated_docs/zh-CN/repositories.md index 21faa562e01e..1b11b99d524f 100644 --- a/website/translated_docs/zh-CN/repositories.md +++ b/website/translated_docs/zh-CN/repositories.md @@ -3,6 +3,7 @@ id: repositories title: 源代码 --- -`verdaccio` is composed or multiple repositories you might contribute. Look into the **issues** tab whether there is a ticket waiting for you 🤠. +`verdaccio` is composed or multiple repositories you might contribute. `verdaccio` is composed or multiple repositories you might contribute. Look into the **issues** tab whether there is a ticket waiting for you 🤠. + +要查看完整资源库列表, 请[点击这里](https://github.com/verdaccio/verdaccio/wiki/Repositories)。 -要查看完整资源库列表, 请[点击这里](https://github.com/verdaccio/verdaccio/wiki/Repositories)。 \ No newline at end of file diff --git a/website/translated_docs/zh-CN/reverse-proxy.md b/website/translated_docs/zh-CN/reverse-proxy.md index 778e5f742e30..625f6fad0894 100644 --- a/website/translated_docs/zh-CN/reverse-proxy.md +++ b/website/translated_docs/zh-CN/reverse-proxy.md @@ -3,7 +3,7 @@ id: reverse-proxy(逆向代理服务器) title: "逆向代理服务器设置" --- -Using a reverse proxy is a common practice. The following configurations are the most recommended and used ones. +Using a reverse proxy is a common practice. The following configurations are the most recommended and used ones. The following configurations are the most recommended and used ones. # Apache @@ -11,141 +11,145 @@ Apache and `mod_proxy` should **not decode/encode slashes** and leave them as th For installing at relative path, `/npm`, on the server - - AllowEncodedSlashes NoDecode - ProxyPass /npm http://127.0.0.1:4873 nocanon - ProxyPassReverse /npm http://127.0.0.1:4873 - - +```` + + AllowEncodedSlashes NoDecode + ProxyPass /npm http://127.0.0.1:4873 nocanon + ProxyPassReverse /npm http://127.0.0.1:4873 + +```` For installing at root path, `/`, on the server - - - ServerName your.domain.com - ServerAdmin hello@your.domain.com - ProxyPreserveHost On - AllowEncodedSlashes NoDecode - ProxyPass / http://127.0.0.1:4873/ nocanon - ProxyPassReverse / http://127.0.0.1:4873/ - - +```` + + ServerName your.domain.com + ServerAdmin hello@your.domain.com + ProxyPreserveHost On + AllowEncodedSlashes NoDecode + ProxyPass / http://127.0.0.1:4873/ nocanon + ProxyPassReverse / http://127.0.0.1:4873/ + +```` ### 用SSL 配置 Apache 虚拟服务器配置 - apacheconfig - - - ServerName npm.your.domain.com - SSLEngine on - SSLCertificateFile /etc/letsencrypt/live/npm.your.domain.com/fullchain.pem - SSLCertificateKeyFile /etc/letsencrypt/live/npm.your.domain.com/privkey.pem - SSLProxyEngine On - ProxyRequests Off - ProxyPreserveHost On - AllowEncodedSlashes NoDecode - ProxyPass / http://127.0.0.1:4873/ nocanon - ProxyPassReverse / http://127.0.0.1:4873/ - RequestHeader set X-Forwarded-Proto "https" - - - +```` + apacheconfig + + + ServerName npm.your.domain.com + SSLEngine on + SSLCertificateFile /etc/letsencrypt/live/npm.your.domain.com/fullchain.pem + SSLCertificateKeyFile /etc/letsencrypt/live/npm.your.domain.com/privkey.pem + SSLProxyEngine On + ProxyRequests Off + ProxyPreserveHost On + AllowEncodedSlashes NoDecode + ProxyPass / http://127.0.0.1:4873/ nocanon + ProxyPassReverse / http://127.0.0.1:4873/ + RequestHeader set X-Forwarded-Proto "https" + + +```` # Nginx The following snippet is a full `docker` example can be tested in our [Docker examples repository](https://github.com/verdaccio/verdaccio/tree/5.x/docker-examples/reverse_proxy/nginx). - upstream verdaccio_v4 { - server verdaccio_relative_path_v4:4873; - keepalive 8; - } - - upstream verdaccio_v4_root { - server verdaccio_relative_path_v4_root:8000; - keepalive 8; +```` +upstream verdaccio_v4 { + server verdaccio_relative_path_v4:4873; + keepalive 8; +} + +upstream verdaccio_v4_root { + server verdaccio_relative_path_v4_root:8000; + keepalive 8; +} + +upstream verdaccio_v3 { + server verdaccio_relative_path_latest_v3:7771; + keepalive 8; +} + +server { + listen 80 default_server; + access_log /var/log/nginx/verdaccio.log; + charset utf-8; + + location / { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4_root; + proxy_redirect off; } - - upstream verdaccio_v3 { - server verdaccio_relative_path_latest_v3:7771; - keepalive 8; + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4/$1; + proxy_redirect off; } - - server { - listen 80 default_server; - access_log /var/log/nginx/verdaccio.log; - charset utf-8; - - location / { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4_root; - proxy_redirect off; - } - - location ~ ^/verdaccio/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4/$1; - proxy_redirect off; - } - - location ~ ^/verdacciov3/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - - proxy_pass http://verdaccio_v3/$1; - proxy_redirect off; - } + + location ~ ^/verdacciov3/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + + proxy_pass http://verdaccio_v3/$1; + proxy_redirect off; } - +} +```` ## SSL example - server { - listen 80; - return 302 https://$host$request_uri; +```` +server { + listen 80; + return 302 https://$host$request_uri; +} + +server { + listen 443 ssl http2; + server_name localhost; + + ssl_certificate /etc/nginx/cert.crt; + ssl_certificate_key /etc/nginx/cert.key; + + ssl on; + ssl_session_cache builtin:1000 shared:SSL:10m; + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; + ssl_prefer_server_ciphers on; + + location / { + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_pass http://verdaccio_v4_root; + proxy_read_timeout 600; + proxy_redirect off; } - - server { - listen 443 ssl http2; - server_name localhost; - - ssl_certificate /etc/nginx/cert.crt; - ssl_certificate_key /etc/nginx/cert.key; - - ssl on; - ssl_session_cache builtin:1000 shared:SSL:10m; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; - ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; - ssl_prefer_server_ciphers on; - - location / { - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_pass http://verdaccio_v4_root; - proxy_read_timeout 600; - proxy_redirect off; - } - - location ~ ^/verdaccio/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4_root/$1; - proxy_redirect off; - } + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4_root/$1; + proxy_redirect off; } - +} +```` ## 在逆向代理服务器后运行用不同的域名和端口 @@ -171,10 +175,9 @@ ocation / { proxy_set_header X-Forwarded-Proto $scheme; } ``` - For this case, `url_prefix` should **NOT** set in Verdaccio config -* * * +--- 或者子-目录安装: @@ -186,7 +189,6 @@ location ~ ^/verdaccio/(.*)$ { proxy_set_header X-Forwarded-Proto $scheme; } ``` - 在这个例子里, `url_prefix` 应该设置为`/verdaccio/` -> Note: There is a slash after the install path (`https://your-domain:port/verdaccio/`)! \ No newline at end of file +> Note: There is a slash after the install path (`https://your-domain:port/verdaccio/`)! diff --git a/website/translated_docs/zh-CN/server.md b/website/translated_docs/zh-CN/server.md index ceae68f134a9..2f2355c65049 100644 --- a/website/translated_docs/zh-CN/server.md +++ b/website/translated_docs/zh-CN/server.md @@ -26,12 +26,11 @@ $ sudo su -s /bin/bash verdaccio $ cd ``` -The `cd` command sends you to the home directory of the Verdaccio user. Make sure you run Verdaccio at least once to generate the config file. Edit it according to your needs. +The `cd` command sends you to the home directory of the Verdaccio user. Make sure you run Verdaccio at least once to generate the config file. Edit it according to your needs. Make sure you run Verdaccio at least once to generate the config file. Edit it according to your needs. ## 监听所有地址 If you want to listen to every external address set the listen directive in the config to: - ```yaml # you can specify listen address (or simply a port) listen: 0.0.0.0:4873 @@ -39,7 +38,7 @@ listen: 0.0.0.0:4873 If you are running Verdaccio in a Amazon EC2 Instance, [you will need set the listen in change your config file](https://github.com/verdaccio/verdaccio/issues/314#issuecomment-327852203) as is described above. -> Configure Apache or nginx? Please check out the [Reverse Proxy Setup](reverse-proxy.md) +> Configure Apache or nginx? Configure Apache or nginx? Please check out the [Reverse Proxy Setup](reverse-proxy.md) ## Keeping Verdaccio running forever @@ -51,7 +50,7 @@ First install `forever` globally: $ sudo npm install -g forever ``` -Make sure you've run Verdaccio at least once to generate the config file and write down the created admin user. You can then use the following command to start Verdaccio: +Make sure you've run Verdaccio at least once to generate the config file and write down the created admin user. You can then use the following command to start Verdaccio: You can then use the following command to start Verdaccio: ```bash $ forever start `which verdaccio` @@ -69,12 +68,13 @@ When you're logged in as the Verdaccio user do the following: $ crontab -e ``` -This might ask you to choose an editor. Pick your favorite and proceed. Add the following entry to the file: +This might ask you to choose an editor. Pick your favorite and proceed. Add the following entry to the file: Pick your favorite and proceed. Add the following entry to the file: - @reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio - +``` +@reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio +``` -The locations may vary depending on your server setup. If you want to know where your files are you can use the 'which' command: +The locations may vary depending on your server setup. The locations may vary depending on your server setup. If you want to know where your files are you can use the 'which' command: ```bash $ which forever @@ -83,10 +83,8 @@ $ which verdaccio ## Using systemd -Instead of `forever` you can use `systemd` for starting Verdaccio and keeping it running. Verdaccio installation has systemd unit, you only need to copy it: - +Instead of `forever` you can use `systemd` for starting Verdaccio and keeping it running. Verdaccio installation has systemd unit, you only need to copy it: Verdaccio installation has systemd unit, you only need to copy it: ```bash $ sudo cp /usr/lib/node_modules/verdaccio/systemd/verdaccio.service /lib/systemd/system/ && sudo systemctl daemon-reload ``` - -This unit assumes you have configuration in `/etc/verdaccio/config.yaml` and store data in `/var/lib/verdaccio`, so either move your files to those locations or edit the unit. \ No newline at end of file +This unit assumes you have configuration in `/etc/verdaccio/config.yaml` and store data in `/var/lib/verdaccio`, so either move your files to those locations or edit the unit. diff --git a/website/translated_docs/zh-CN/who-is-using.md b/website/translated_docs/zh-CN/who-is-using.md index 44b24abddfed..20035ed9aa9a 100644 --- a/website/translated_docs/zh-CN/who-is-using.md +++ b/website/translated_docs/zh-CN/who-is-using.md @@ -10,6 +10,7 @@ title: "谁在使用 Verdaccio?" * [SheetJS](https://sheetjs.com/) * [Satispay](https://www.satispay.com/) + ### 开源项目 > **Feel free to suggest other OSS are using Verdaccio.** @@ -29,4 +30,6 @@ title: "谁在使用 Verdaccio?" #### Readme Recommendations -* [react-native-cli](https://github.com/react-native-community/react-native-cli/blob/master/CONTRIBUTING.md) \ No newline at end of file +* [react-native-cli](https://github.com/react-native-community/react-native-cli/blob/master/CONTRIBUTING.md) + + diff --git a/website/translated_docs/zh-CN/windows.md b/website/translated_docs/zh-CN/windows.md index 29b66d3ef4b4..d37ac2e80541 100644 --- a/website/translated_docs/zh-CN/windows.md +++ b/website/translated_docs/zh-CN/windows.md @@ -5,10 +5,10 @@ title: "作为 Windows 服务安装" 基于的非精确指南请见[这里](http://asysadmin.tumblr.com/post/32941224574/running-nginx-on-windows-as-a-service)。 我制作以下,它提供良好运行的verdaccio 服务安装: -1. 为 verdaccio创建一个目录 +1. 为 verdaccio创建一个目录 * mkdir `c:\verdaccio` * cd `c:\verdaccio` -2. 当地安装verdaccio(我在全局安装的时候出现npm问题) +2. 当地安装verdaccio(我在全局安装的时候出现npm问题) * npm install verdaccio 3. 在此位置`(c:\verdaccio\config.yaml)`创建`config.yaml`文件 4. Windows服务设置 @@ -24,29 +24,29 @@ title: "作为 Windows 服务安装" * 打开管理命令 * 运行nssm install verdaccio,至少必须填写应用程序 tab Path(选项卡路径),启动目录和参数字段。 假设在系统路径中以及c:\verdaccio位置用node安装,以下的值将起作用: - * Path: `node` * Startup directory: `c:\verdaccio` * Arguments: `c:\verdaccio\node_modules\verdaccio\build\lib\cli.js -c c:\verdaccio\config.yaml` - - 您可以根据需要在其他选项卡调整其他服务设置。完成后,请单击安装服务按钮 - - * 启动服务 sc 启动 verdaccio + + 您可以根据需要在其他选项卡调整其他服务设置。 完成后,请单击安装服务按钮 + + * 启动服务 sc 启动 verdaccio ## 使用WinSW -* 截至2015-10-27, WinSW 不再存在以下位置。请跟随以上使用NSSM指南。 -* 下载 [WinSW](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/) +* 截至2015-10-27, WinSW 不再存在以下位置。 请跟随以上使用NSSM指南。 +* 下载 [WinSW](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/) * 放置可执行文件(例如`winsw-1.9-bin.exe`)到此文件夹(`c:\verdaccio`) 中并将其重命名为`verdaccio-winsw.exe` * 在`c:\verdaccio`创建一个配置文件, 命名为`verdaccio-winsw.xml`,它有以下配置`xml verdaccio verdaccio verdaccio node c:\verdaccio\node_modules\verdaccio\src\lib\cli.js -c c:\verdaccio\config.yaml roll c:\verdaccio`。 -* 安装服务 +* 安装服务 * `cd c:\verdaccio` * `verdaccio-winsw.exe install` -* 开始服务 +* 开始服务 * `verdaccio-winsw.exe start` 以上的一些配置比我预想的要繁琐,看起来好像忽略了'workingdirectory',但除此以外,这对我来说很有效,而且让verdaccio instance保持在服务器重启之间,并且还在verdaccio 流程出事故的时候可以自我重启。 + ## 资源库 -* [verdaccio-deamon-windows](https://github.com/davidenke/verdaccio-deamon-windows) \ No newline at end of file +* [verdaccio-deamon-windows](https://github.com/davidenke/verdaccio-deamon-windows) diff --git a/website/translated_docs/zh-TW/caching.md b/website/translated_docs/zh-TW/caching.md index 60b7f65879e2..f71f724cee19 100644 --- a/website/translated_docs/zh-TW/caching.md +++ b/website/translated_docs/zh-TW/caching.md @@ -7,11 +7,12 @@ Verdaccio caches all packages by default into the `/storage` folder. But you can ## Caching scenarios -* Build a Node.js project on **Continous Integration** (Bamboo, GitLab, Jenkins, etc) servers is a task that might take several times at a day, thus, the server will download tons of tarballs from the registry every time takes place. As usual, the CI tools clear the cache after each build and the process start over and over again. That is a waste of bandwidth and reduces the external traffic. **You can use Verdaccio for caching tarballs and metadata in our internal network and give a boost in your build time.** -* **Latency and Connectivity**, not all countries enjoy a high-speed connection. For such reason cache packages locally in your network is really handy. Either if you are traveling, or have a weak connection, roaming or countries with strong Firewalls that might affect the user experience (eg: corrupting tarballs). -* **Offline Mode**, all Node Package Managers nowadays uses their own internal cache, but it common that different projects might use different tools, which implies lock files and so on. Those tools are unable to share cache, the unique solution is centralized and relies on a proxy registry, Verdaccio cache all metadata and tarballs are downloaded by demand being able to share them across all your project. +* Build a Node.js project on **Continous Integration** (Bamboo, GitLab, Jenkins, etc) servers is a task that might take several times at a day, thus, the server will download tons of tarballs from the registry every time takes place. As usual, the CI tools clear the cache after each build and the process start over and over again. That is a waste of bandwidth and reduces the external traffic. **You can use Verdaccio for caching tarballs and metadata in our internal network and give a boost in your build time.** As usual, the CI tools clear the cache after each build and the process start over and over again. That is a waste of bandwidth and reduces the external traffic. **You can use Verdaccio for caching tarballs and metadata in our internal network and give a boost in your build time.** +* **Latency and Connectivity**, not all countries enjoy a high-speed connection. For such reason cache packages locally in your network is really handy. Either if you are traveling, or have a weak connection, roaming or countries with strong Firewalls that might affect the user experience (eg: corrupting tarballs). For such reason cache packages locally in your network is really handy. Either if you are traveling, or have a weak connection, roaming or countries with strong Firewalls that might affect the user experience (eg: corrupting tarballs). +* **Offline Mode**, all Node Package Managers nowadays uses their own internal cache, but it common that different projects might use different tools, which implies lock files and so on. Those tools are unable to share cache, the unique solution is centralized and relies on a proxy registry, Verdaccio cache all metadata and tarballs are downloaded by demand being able to share them across all your project. Those tools are unable to share cache, the unique solution is centralized and relies on a proxy registry, Verdaccio cache all metadata and tarballs are downloaded by demand being able to share them across all your project. * Avoid that any remote registry suddenly returns *HTTP 404* error for tarballs were previously available a.k.a ([left-pad issue](https://www.theregister.co.uk/2016/03/23/npm_left_pad_chaos/)). + # Strategies for faster builds > We are looking for more strategies, feel free to share your experience in this field @@ -20,15 +21,16 @@ Verdaccio caches all packages by default into the `/storage` folder. But you can If you have a limited storage space, you might need to avoid cache tarballs, enabling `cache` false in each uplink will cache only metadata files. - uplinks: - npmjs: - url: https://registry.npmjs.org/ - cache: false - +``` +uplinks: + npmjs: + url: https://registry.npmjs.org/ + cache: false +``` ## Extending Cache Expiration Time -Verdaccio by default waits 2 minutes to invalidate the cache metadata before fetching new information from the remote registry. + Verdaccio by default waits 2 minutes to invalidate the cache metadata before fetching new information from the remote registry. ```yaml uplinks: @@ -39,6 +41,7 @@ uplinks: Increasing the value of `maxage` in each `uplink` remotes will be asked less frequently. This might be a valid strategy if you don't update dependencies so often. + ## Using the memory instead the hardrive Sometimes caching packages is not a critical step, rather than route packages from different registries and achieving faster build times. There are two plugins that avoid write in a physical hard drive at all using the memory. @@ -62,4 +65,4 @@ store: limit: 1000 ``` -Remember, once the server is restarted the data is being lost, we recommend this setup in cases where you do not need to persist at all. \ No newline at end of file +Remember, once the server is restarted the data is being lost, we recommend this setup in cases where you do not need to persist at all. diff --git a/website/translated_docs/zh-TW/install.md b/website/translated_docs/zh-TW/install.md index 46b35f61a3bc..ade81d3a76c6 100644 --- a/website/translated_docs/zh-TW/install.md +++ b/website/translated_docs/zh-TW/install.md @@ -3,7 +3,7 @@ id: installation title: "Installation" --- -Verdaccio is a multiplatform web application. To install it, you need a few basic prerequisites. +Verdaccio is a multiplatform web application. To install it, you need a few basic prerequisites. To install it, you need a few basic prerequisites. ## Prerequisites @@ -11,17 +11,17 @@ Verdaccio is a multiplatform web application. To install it, you need a few basi 2. Your favorite Node Package Manager `npm`, `pnpm` or `yarn` (classic and berry). -> We highly recommend to use the latest versions of Node Package Manager clients `> npm@6.x | yarn@1.x | | yarn@2.x | pnpm@6.x`. Don't support `npm@5.x` or older. +> We highly recommend to use the latest versions of Node Package Manager clients `> npm@6.x | yarn@1.x | | yarn@2.x | pnpm@6.x`. Don't support `npm@5.x` or older. Don't support `npm@5.x` or older. -1. A modern web browser to run the web interface. We actually support `Chrome, Firefox, Edge`. +3. A modern web browser to run the web interface. We actually support `Chrome, Firefox, Edge`. We actually support `Chrome, Firefox, Edge`. > Verdaccio will support latest Node.js version according the [Node.js Release Working Group](https://github.com/nodejs/Release) recomendations. -Are you still using **Verdaccio 4**?. Check the [migration guide](https://verdaccio.org/blog/2021/04/14/verdaccio-5-migration-guide). +Are you still using **Verdaccio 4**?. Check the [migration guide](https://verdaccio.org/blog/2021/04/14/verdaccio-5-migration-guide). Check the [migration guide](https://verdaccio.org/blog/2021/04/14/verdaccio-5-migration-guide). ### Quick Introduction -Learn the basics before getting started, how to install, where is the location of the configuration file and more. +Learn the basics before getting started, how to install, where is the location of the configuration file and more. ## Installing the CLI @@ -92,7 +92,7 @@ Or a `publishConfig` in your `package.json` ## Create Your Own Private NPM Package Tutorial -If you'd like a broader explanation, don't miss the tutorial created by [thedevlife](https://mybiolink.co/thedevlife) on how to Create Your Own Private NPM Package using Verdaccio. +If you'd like a broader explanation, don't miss the tutorial created by [thedevlife](https://mybiolink.co/thedevlife) on how to Create Your Own Private NPM Package using Verdaccio. ## Docker Image @@ -106,4 +106,4 @@ docker run -it --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio `Verdaccio` is also available as a 1-click install on [Cloudron](https://cloudron.io) -[![Install](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=org.eggertsson.verdaccio) \ No newline at end of file +[![Install](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=org.eggertsson.verdaccio) diff --git a/website/translated_docs/zh-TW/kubernetes.md b/website/translated_docs/zh-TW/kubernetes.md index 4d41ab7fc2ab..ed5e39fd4893 100644 --- a/website/translated_docs/zh-TW/kubernetes.md +++ b/website/translated_docs/zh-TW/kubernetes.md @@ -23,8 +23,9 @@ Deploy the Helm [verdaccio/verdaccio](https://github.com/verdaccio/charts) chart ### Add repository - helm repo add verdaccio https://charts.verdaccio.org - +``` +helm repo add verdaccio https://charts.verdaccio.org +``` In this example we use `npm` as release name: @@ -52,6 +53,7 @@ helm uninstall npm **Note:** this command delete all the resources, including packages that you may have previously published to the registry. + ### Custom Verdaccio configuration You can customize the Verdaccio configuration using a Kubernetes *configMap*. @@ -92,10 +94,14 @@ helm install npm --set customConfigMap=verdaccio-config verdaccio/verdaccio #### NGINX proxy body-size limit The standard k8s NGINX ingress proxy allows for 1MB for body-size which can be increased by modifying the default deployment options according to the [documentation](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#custom-max-body-size): - ```yaml ... +annotations: +... + + ... + annotations: ... @@ -109,4 +115,4 @@ annotations: [Rancher](http://rancher.com/) is a complete container management platform that makes managing and using containers in production really easy. -* [verdaccio-rancher](https://github.com/lgaticaq/verdaccio-rancher) \ No newline at end of file +* [verdaccio-rancher](https://github.com/lgaticaq/verdaccio-rancher) diff --git a/website/translated_docs/zh-TW/linking.md b/website/translated_docs/zh-TW/linking.md index 20936fac8e9d..21804c68b260 100644 --- a/website/translated_docs/zh-TW/linking.md +++ b/website/translated_docs/zh-TW/linking.md @@ -17,10 +17,11 @@ You can link multiple registries, the following document will drive you through The unique way to access multiple registries using the `.npmrc` is the scope feature as follows: - // .npmrc - registry=https://registry.npmjs.org - @mycompany:registry=http://localhost:4873 - +``` +// .npmrc +registry=https://registry.npmjs.org +@mycompany:registry=http://localhost:4873 +``` This approach is valid, but comes with several disadvantages: @@ -66,6 +67,11 @@ Add a `proxy` section to define the selected registry you want to proxy. access: $all publish: $authenticated proxy: server1 server2 + + 'webpack': + access: $all + publish: $authenticated + proxy: server1 server2 ``` Verdaccio supports multiple registries on the `proxy` field. The request will be resolved with the first in the list; if that fails, it will try with the next in the list and so on. @@ -75,7 +81,8 @@ Verdaccio supports multiple registries on the `proxy` field. The request will be Having a full Offline Registry is completely possible. If you don't want any connectivity with external remotes you can do the following. ```yaml -
auth: + +auth: htpasswd: file: ./htpasswd uplinks: @@ -91,4 +98,4 @@ packages: publish: $authenticated ``` -Remove all `proxy` fields within each section of `packages`. The registry will become full offline. \ No newline at end of file +Remove all `proxy` fields within each section of `packages`. The registry will become full offline. diff --git a/website/translated_docs/zh-TW/logger.md b/website/translated_docs/zh-TW/logger.md index 64401095fcdf..867663fa53db 100644 --- a/website/translated_docs/zh-TW/logger.md +++ b/website/translated_docs/zh-TW/logger.md @@ -3,7 +3,7 @@ id: logger title: "Logger" --- -As with any web application, Verdaccio has a customisable built-in logger. You can define multiple types of outputs. +As with any web application, Verdaccio has a customisable built-in logger. You can define multiple types of outputs. You can define multiple types of outputs. ```yaml # console output @@ -28,4 +28,4 @@ Use `SIGUSR2` to notify the application, the log-file was rotated and it needs t | type | string | No | [stdout, file] | all | define the output | | path | string | No | verdaccio.log | all | if type is file, define the location of that file | | format | string | No | [pretty, pretty-timestamped] | all | output format | -| level | string | No | [fatal, error, warn, http, info, debug, trace] | all | verbose level | \ No newline at end of file +| level | string | No | [fatal, error, warn, http, info, debug, trace] | all | verbose level | diff --git a/website/translated_docs/zh-TW/logo.md b/website/translated_docs/zh-TW/logo.md index d93ae00a848c..b2e1d23c74eb 100644 --- a/website/translated_docs/zh-TW/logo.md +++ b/website/translated_docs/zh-TW/logo.md @@ -11,7 +11,7 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ## Symbols -**With text** +__With text__ ![symbol tiny with text](assets/logo/symbol/png/logo-small-header-bottom.png) @@ -19,11 +19,11 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ![symbol big with text](assets/logo/symbol/png/logo-small-header-bottom@3x.png) -**SVG** +__SVG__ ![symbol svg](assets/logo/symbol/svg/logo-small-header-bottom.svg) -**No text** +__No text__ ![symbol tiny](assets/logo/symbol/png/verdaccio-tiny.png) @@ -31,10 +31,12 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ![symbol big](assets/logo/symbol/png/verdaccio-tiny@3x.png) -**SVG** +__SVG__ ![svg format symbol no text](assets/logo/symbol/svg/verdaccio-tiny.svg) + + ### Black&White ![symbol bw small](assets/logo/symbol/png/verdaccio-blackwhite.png) @@ -43,14 +45,17 @@ Special thanks to *[@Lisapressmar](https://github.com/Lisapressmar)* for her con ![symbol bw big](assets/logo/symbol/png/verdaccio-blackwhite@3x.png) -**SVG** +__SVG__ ![symbol bw svg](assets/logo/symbol/svg/verdaccio-blackwhite.svg) + ## Banner ![banner small](assets/logo/banner/png/verdaccio-banner.png) ![banner medium](assets/logo/banner/png/verdaccio-banner@2x.png) -![banner big](assets/logo/banner/png/verdaccio-banner@3x.png) \ No newline at end of file +![banner big](assets/logo/banner/png/verdaccio-banner@3x.png) + + diff --git a/website/translated_docs/zh-TW/node-api.md b/website/translated_docs/zh-TW/node-api.md index b1a27cbb0eed..32907cd21915 100644 --- a/website/translated_docs/zh-TW/node-api.md +++ b/website/translated_docs/zh-TW/node-api.md @@ -3,7 +3,7 @@ id: node-api title: "Node API" --- -Verdaccio can be invoked programmatically. The Node API was introduced after version `verdaccio@3.0.0`. +Verdaccio can be invoked programmatically. Verdaccio can be invoked programmatically. The Node API was introduced after version `verdaccio@3.0.0`. ## Usage @@ -39,4 +39,4 @@ verdaccioServer.serviceUninstall(); verdaccioServer.serviceStart(); verdaccioServer.serviceStop(); verdaccioServer.serviceRestart(); -``` \ No newline at end of file +``` diff --git a/website/translated_docs/zh-TW/notifications.md b/website/translated_docs/zh-TW/notifications.md index 0b3bd0ac7449..3169e44d41bb 100644 --- a/website/translated_docs/zh-TW/notifications.md +++ b/website/translated_docs/zh-TW/notifications.md @@ -3,7 +3,7 @@ id: notifications title: "Notifications" --- -Notify was built primarily to use with Slack's Incoming webhooks, but will also deliver a simple payload to any endpoint. This is currently only active for the `npm publish` command. +Notify was built primarily to use with Slack's Incoming webhooks, but will also deliver a simple payload to any endpoint. This is currently only active for the `npm publish` command. This is currently only active for the `npm publish` command. ## Usage @@ -48,12 +48,13 @@ We use [Handlebars](https://handlebarsjs.com/) as main template engine. ### Format Examples - # iterate all versions - {{ name }}{{#each versions}} v{{version}}{{/each}} - - # publisher and `dist-tag` package published - {{ publisher.name }} has published {{ publishedPackage }} - +``` +# iterate all versions +{{ name }}{{#each versions}} v{{version}}{{/each}} + +# publisher and `dist-tag` package published +{{ publisher.name }} has published {{ publishedPackage }} +``` ### Properties @@ -67,54 +68,56 @@ List of properties accesible via template Package metadata that the template has access - { - "_id": "@test/pkg1", - "name": "@test/pkg1", - "description": "", - "dist-tags": { - "beta": "1.0.54" - }, - "versions": { - "1.0.54": { - "name": "@test/pkg1", - "version": "1.0.54", - "description": "some description", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": { - "name": "Author Name", - "email": "author@domain.com" - }, - "license": "MIT", - "dependencies": { - "webpack": "4.12.0" - }, - "readmeFilename": "README.md", - "_id": "@ test/pkg1@1.0.54", - "_npmVersion": "6.1.0", - "_nodeVersion": "9.9.0", - "_npmUser": {}, - "dist": { - "integrity": "sha512-JlXWpLtMUBAqvVZBvH7UVLhXkGE1ctmXbDjbH/l0zMuG7wVzQ7GshTYvD/b5C+G2vOL2oiIS1RtayA/kKkTwKw==", - "shasum": "29c55c52c1e76e966e706165e5b9f22e32aa9f22", - "tarball": "http://localhost:4873/@test/pkg1/-/@test/pkg1-1.0.54.tgz" - } - } - }, - "readme": "# test", - "_attachments": { - "@test/pkg1-1.0.54.tgz": { - "content_type": "application/octet-stream", - "data": "H4sIAAAAAAAAE+y9Z5PjyJIgOJ ...", - "length": 33112 +``` +{ + "_id": "@test/pkg1", + "name": "@test/pkg1", + "description": "", + "dist-tags": { + "beta": "1.0.54" + }, + "versions": { + "1.0.54": { + "name": "@test/pkg1", + "version": "1.0.54", + "description": "some description", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": { + "name": "Author Name", + "email": "author@domain.com" + }, + "license": "MIT", + "dependencies": { + "webpack": "4.12.0" + }, + "readmeFilename": "README.md", + "_id": "@ test/pkg1@1.0.54", + "_npmVersion": "6.1.0", + "_nodeVersion": "9.9.0", + "_npmUser": {}, + "dist": { + "integrity": "sha512-JlXWpLtMUBAqvVZBvH7UVLhXkGE1ctmXbDjbH/l0zMuG7wVzQ7GshTYvD/b5C+G2vOL2oiIS1RtayA/kKkTwKw==", + "shasum": "29c55c52c1e76e966e706165e5b9f22e32aa9f22", + "tarball": "http://localhost:4873/@test/pkg1/-/@test/pkg1-1.0.54.tgz" } - }, - "time": {} - } - + } + }, + "readme": "# test", + "_attachments": { + "@test/pkg1-1.0.54.tgz": { + "content_type": "application/octet-stream", + "data": "H4sIAAAAAAAAE+y9Z5PjyJIgOJ ...", + "length": 33112 + } + }, + "time": {} +} +``` + ### Publisher @@ -122,21 +125,23 @@ You can get access to the package publisher information in the `content` of a we See below the `publisher` object type: - { - name: string, - groups: string[], - real_groups: string[] - } - +``` +{ + name: string, + groups: string[], + real_groups: string[] +} +``` An example: - notify: - method: POST - headers: [{'Content-Type': 'application/json'}] - endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken - content: '{"color":"green","message":"New package published: * {{ name }}*. Publisher name: * {{ publisher.name }} *.","notify":true,"message_format":"text"}' - +``` +notify: + method: POST + headers: [{'Content-Type': 'application/json'}] + endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken + content: '{"color":"green","message":"New package published: * {{ name }}*. Publisher name: * {{ publisher.name }} *.","notify":true,"message_format":"text"}' +``` **Note:** it's not possible to get the publisher information if the `package.json` file already has the `publisher` property. @@ -144,8 +149,9 @@ An example: You can access to the package is being published with the keyword `{{publishedPackage}}` as follows. - {{ publisher.name }} has published {{ publishedPackage }} - +``` +{{ publisher.name }} has published {{ publishedPackage }} +``` ## Configuration @@ -156,4 +162,4 @@ You can access to the package is being published with the keyword `{{publishedPa | packagePatternFlags | string | No | all | | Any flags to be used with the regular expression | | headers | array/object | Yes | all | | If this endpoint requires specific headers, set them here as an array of key: value objects. | | endpoint | string | Yes | all | | set the URL endpoint for this call | -| content | string | Yes | all | | any [Handlebar](https://handlebarsjs.com/) expressions | \ No newline at end of file +| content | string | Yes | all | | any [Handlebar](https://handlebarsjs.com/) expressions | diff --git a/website/translated_docs/zh-TW/packages.md b/website/translated_docs/zh-TW/packages.md index fcc2bc93d0d0..a14209e8dab8 100644 --- a/website/translated_docs/zh-TW/packages.md +++ b/website/translated_docs/zh-TW/packages.md @@ -100,7 +100,7 @@ Defining multiple access groups is fairly easy, just define them with a white sp #### Blocking access to set of packages -If you want to block the access/publish to a specific group of packages. Just do not define `access` and `publish`. +If you want to block the access/publish to a specific group of packages. Just do not define `access` and `publish`. Just do not define `access` and `publish`. ```yaml packages: @@ -140,7 +140,7 @@ Let's describe what we want with the above example: * I want all dependencies that are in the `my-local-scope` scope but I need to avoid proxying them. * I want proxying for all the rest of the dependencies. -Be **aware that the order of your packages definitions is important and always use double wilcard**. Because if you do not include it `verdaccio` will include it for you and the way that your dependencies are resolved will be affected. +Be **aware that the order of your packages definitions is important and always use double wilcard**. Because if you do not include it `verdaccio` will include it for you and the way that your dependencies are resolved will be affected. Because if you do not include it `verdaccio` will include it for you and the way that your dependencies are resolved will be affected. #### Use multiple uplinks @@ -155,7 +155,7 @@ You may assign multiple uplinks for use as a proxy to use in the case of failove #### Unpublishing Packages -The property `publish` handle permissions for `npm publish` and `npm unpublish`. But, if you want to be more specific, you can use the property `unpublish` in your package access section, for instance: +The property `publish` handle permissions for `npm publish` and `npm unpublish`. But, if you want to be more specific, you can use the property `unpublish` in your package access section, for instance: ```yalm packages: @@ -183,6 +183,7 @@ In the previous example, the behaviour would be described: * only authenticated users can publish `my-company-*` packages, but **nobody would be allowed to unpublish them**. * If `unpublish` is commented out, the access will be granted or denied by the `publish` definition. + ### Configuration You can define mutiple `packages` and each of them must have an unique `Regex`. The syntax is based on [minimatch glob expressions](https://github.com/isaacs/minimatch). @@ -196,4 +197,4 @@ You can define mutiple `packages` and each of them must have an unique `Regex`. > We higlight that we recommend to not use **allow_access**/**allow_publish** and **proxy_access** anymore, those are deprecated and will soon be removed, please use the short version of each of those (**access**/**publish**/**proxy**). -If you want more information about how to use the **storage** property, please refer to this [comment](https://github.com/verdaccio/verdaccio/issues/1383#issuecomment-509933674). \ No newline at end of file +If you want more information about how to use the **storage** property, please refer to this [comment](https://github.com/verdaccio/verdaccio/issues/1383#issuecomment-509933674). diff --git a/website/translated_docs/zh-TW/plugins.md b/website/translated_docs/zh-TW/plugins.md index 42c87b8c8bef..62a8643b6614 100644 --- a/website/translated_docs/zh-TW/plugins.md +++ b/website/translated_docs/zh-TW/plugins.md @@ -3,7 +3,7 @@ id: plugins title: "Plugins" --- -Verdaccio is a pluggable application. It can be extended in many ways, either new authentication methods, adding endpoints or using a custom storage. +Verdaccio is a pluggable application. Verdaccio is a pluggable application. It can be extended in many ways, either new authentication methods, adding endpoints or using a custom storage. There are 5 types of plugins: @@ -22,10 +22,11 @@ There are 5 types of plugins: $> npm install --global verdaccio-activedirectory ``` -`verdaccio` as a sinopia fork it has backward compability with plugins that are compatible with `sinopia@1.4.0`. In such case the installation is the same. +`verdaccio` as a sinopia fork it has backward compability with plugins that are compatible with `sinopia@1.4.0`. In such case the installation is the same. In such case the installation is the same. - $> npm install --global sinopia-memory - +``` +$> npm install --global sinopia-memory +``` ### Configuration @@ -33,6 +34,7 @@ Open the `config.yaml` file and update the `auth` section as follows: The default configuration looks like this, due we use a build-in `htpasswd` plugin by default that you can disable just commenting out the following lines. + ### Authentication Configuration ```yaml @@ -68,7 +70,7 @@ auth: ### Middleware Configuration -This is an example how to set up a middleware plugin. All middleware plugins must be defined in the **middlewares** namespace. +This is an example how to set up a middleware plugin. This is an example how to set up a middleware plugin. All middleware plugins must be defined in the **middlewares** namespace. ```yaml middlewares: @@ -80,7 +82,7 @@ middlewares: ### Storage Configuration -This is an example how to set up a storage plugin. All storage plugins must be defined in the **store** namespace. +This is an example how to set up a storage plugin. This is an example how to set up a storage plugin. All storage plugins must be defined in the **store** namespace. ```yaml store: @@ -90,15 +92,17 @@ store: ### Theme Configuration -Verdaccio allows to replace the User Interface with a custom one, we call it **theme**. By default, uses `@verdaccio/ui-theme` that comes built-in, but, you can use something different installing your own plugin. +Verdaccio allows to replace the User Interface with a custom one, we call it **theme**. By default, uses `@verdaccio/ui-theme` that comes built-in, but, you can use something different installing your own plugin. By default, uses `@verdaccio/ui-theme` that comes built-in, but, you can use something different installing your own plugin. ```bash -
$> npm install --global verdaccio-theme-dark + +$> npm install --global verdaccio-theme-dark ``` > The plugin name prefix must start with `verdaccio-theme`, otherwise the plugin won't load. + You can load only one theme at a time and pass through options if you need it. ```yaml @@ -132,4 +136,5 @@ theme: * [sinopia-ldap](https://www.npmjs.com/package/sinopia-ldap): LDAP auth plugin for sinopia. * [sinopia-github-oauth-env](https://www.npmjs.com/package/sinopia-github-oauth-env) Sinopia authentication plugin with github oauth web flow. -> All sinopia plugins should be compatible with all future verdaccio versions. Anyhow, we encourage contributors to migrate them to the modern verdaccio API and using the prefix as *verdaccio-xx-name*. \ No newline at end of file +> All sinopia plugins should be compatible with all future verdaccio versions. All sinopia plugins should be compatible with all future verdaccio versions. Anyhow, we encourage contributors to migrate them to the modern verdaccio API and using the prefix as *verdaccio-xx-name*. + diff --git a/website/translated_docs/zh-TW/protect-your-dependencies.md b/website/translated_docs/zh-TW/protect-your-dependencies.md index 25343e3a7ce1..d03accd1941b 100644 --- a/website/translated_docs/zh-TW/protect-your-dependencies.md +++ b/website/translated_docs/zh-TW/protect-your-dependencies.md @@ -3,7 +3,7 @@ id: protect-your-dependencies title: "Protecting packages" --- -Verdaccio allows you protect publishing to your registry. To achieve that you will need to set up correctly configure your [packages access](packages). +Verdaccio allows you protect publishing to your registry. Verdaccio allows you protect publishing to your registry. To achieve that you will need to set up correctly configure your [packages access](packages). ### Package configuration @@ -19,18 +19,19 @@ With this configuration, we allow the groups **admin** and **teamA** to *publish ### Use case: teamD tries to access the dependency -So, if I am logged as **teamD**. I shouldn't be able to access all dependencies that match the `my-company-*` pattern. +So, if I am logged as **teamD**. So, if I am logged as **teamD**. I shouldn't be able to access all dependencies that match the `my-company-*` pattern. ```bash ➜ npm whoami teamD ``` -I won't have access to such dependencies and they also won't be visible via the web interface for user **teamD**. If I try to access it, the following will happen: +I won't have access to such dependencies and they also won't be visible via the web interface for user **teamD**. If I try to access it, the following will happen: If I try to access it, the following will happen: ```bash ➜ npm install my-company-core npm ERR! code E403 +npm ERR! 403 Forbidden: webpack-1@latest code E403 npm ERR! 403 Forbidden: webpack-1@latest ``` @@ -40,6 +41,6 @@ or with `yarn`: ➜ yarn add my-company-core yarn add v0.24.6 info No lockfile found. -[1/4] +[1/4] 🔍 Resolving packages... error An unexpected error occurred: "http://localhost:5555/webpack-1: unregistered users are not allowed to access package my-company-core". -``` \ No newline at end of file +``` diff --git a/website/translated_docs/zh-TW/puppet.md b/website/translated_docs/zh-TW/puppet.md index a9cc94557481..390eef309750 100644 --- a/website/translated_docs/zh-TW/puppet.md +++ b/website/translated_docs/zh-TW/puppet.md @@ -16,6 +16,10 @@ In both variants you have to explicitely call "class nodejs {}" in your puppet s For further information: - +[https://github.com/verdaccio/puppet-verdaccio](https://github.com/verdaccio/puppet-verdaccio) + +> We are looking for active contributors for this integration, if you are interested [refers to this ticket](https://github.com/verdaccio/puppet-verdaccio/issues/11). + + + -> We are looking for active contributors for this integration, if you are interested [refers to this ticket](https://github.com/verdaccio/puppet-verdaccio/issues/11). \ No newline at end of file diff --git a/website/translated_docs/zh-TW/repositories.md b/website/translated_docs/zh-TW/repositories.md index fac3fe942aaa..26a1042a7bfb 100644 --- a/website/translated_docs/zh-TW/repositories.md +++ b/website/translated_docs/zh-TW/repositories.md @@ -3,6 +3,7 @@ id: repositories title: Source Code --- -`verdaccio` is composed or multiple repositories you might contribute. Look into the **issues** tab whether there is a ticket waiting for you 🤠. +`verdaccio` is composed or multiple repositories you might contribute. `verdaccio` is composed or multiple repositories you might contribute. Look into the **issues** tab whether there is a ticket waiting for you 🤠. + +To see the complete list of repositories, [click here](https://github.com/verdaccio/verdaccio/wiki/Repositories). -To see the complete list of repositories, [click here](https://github.com/verdaccio/verdaccio/wiki/Repositories). \ No newline at end of file diff --git a/website/translated_docs/zh-TW/reverse-proxy.md b/website/translated_docs/zh-TW/reverse-proxy.md index 769d34e4eb64..fe9243eb3ebe 100644 --- a/website/translated_docs/zh-TW/reverse-proxy.md +++ b/website/translated_docs/zh-TW/reverse-proxy.md @@ -3,7 +3,7 @@ id: reverse-proxy title: "Reverse Proxy Setup" --- -Using a reverse proxy is a common practice. The following configurations are the most recommended and used ones. +Using a reverse proxy is a common practice. The following configurations are the most recommended and used ones. The following configurations are the most recommended and used ones. # Apache @@ -11,141 +11,145 @@ Apache and `mod_proxy` should **not decode/encode slashes** and leave them as th For installing at relative path, `/npm`, on the server - - AllowEncodedSlashes NoDecode - ProxyPass /npm http://127.0.0.1:4873 nocanon - ProxyPassReverse /npm http://127.0.0.1:4873 - - +```` + + AllowEncodedSlashes NoDecode + ProxyPass /npm http://127.0.0.1:4873 nocanon + ProxyPassReverse /npm http://127.0.0.1:4873 + +```` For installing at root path, `/`, on the server - - - ServerName your.domain.com - ServerAdmin hello@your.domain.com - ProxyPreserveHost On - AllowEncodedSlashes NoDecode - ProxyPass / http://127.0.0.1:4873/ nocanon - ProxyPassReverse / http://127.0.0.1:4873/ - - +```` + + ServerName your.domain.com + ServerAdmin hello@your.domain.com + ProxyPreserveHost On + AllowEncodedSlashes NoDecode + ProxyPass / http://127.0.0.1:4873/ nocanon + ProxyPassReverse / http://127.0.0.1:4873/ + +```` ### Configuration with SSL Apache virtual server configuration - apacheconfig - - - ServerName npm.your.domain.com - SSLEngine on - SSLCertificateFile /etc/letsencrypt/live/npm.your.domain.com/fullchain.pem - SSLCertificateKeyFile /etc/letsencrypt/live/npm.your.domain.com/privkey.pem - SSLProxyEngine On - ProxyRequests Off - ProxyPreserveHost On - AllowEncodedSlashes NoDecode - ProxyPass / http://127.0.0.1:4873/ nocanon - ProxyPassReverse / http://127.0.0.1:4873/ - RequestHeader set X-Forwarded-Proto "https" - - - +```` + apacheconfig + + + ServerName npm.your.domain.com + SSLEngine on + SSLCertificateFile /etc/letsencrypt/live/npm.your.domain.com/fullchain.pem + SSLCertificateKeyFile /etc/letsencrypt/live/npm.your.domain.com/privkey.pem + SSLProxyEngine On + ProxyRequests Off + ProxyPreserveHost On + AllowEncodedSlashes NoDecode + ProxyPass / http://127.0.0.1:4873/ nocanon + ProxyPassReverse / http://127.0.0.1:4873/ + RequestHeader set X-Forwarded-Proto "https" + + +```` # Nginx The following snippet is a full `docker` example can be tested in our [Docker examples repository](https://github.com/verdaccio/verdaccio/tree/5.x/docker-examples/reverse_proxy/nginx). - upstream verdaccio_v4 { - server verdaccio_relative_path_v4:4873; - keepalive 8; - } - - upstream verdaccio_v4_root { - server verdaccio_relative_path_v4_root:8000; - keepalive 8; +```` +upstream verdaccio_v4 { + server verdaccio_relative_path_v4:4873; + keepalive 8; +} + +upstream verdaccio_v4_root { + server verdaccio_relative_path_v4_root:8000; + keepalive 8; +} + +upstream verdaccio_v3 { + server verdaccio_relative_path_latest_v3:7771; + keepalive 8; +} + +server { + listen 80 default_server; + access_log /var/log/nginx/verdaccio.log; + charset utf-8; + + location / { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4_root; + proxy_redirect off; } - - upstream verdaccio_v3 { - server verdaccio_relative_path_latest_v3:7771; - keepalive 8; + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4/$1; + proxy_redirect off; } - - server { - listen 80 default_server; - access_log /var/log/nginx/verdaccio.log; - charset utf-8; - - location / { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4_root; - proxy_redirect off; - } - - location ~ ^/verdaccio/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4/$1; - proxy_redirect off; - } - - location ~ ^/verdacciov3/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - - proxy_pass http://verdaccio_v3/$1; - proxy_redirect off; - } + + location ~ ^/verdacciov3/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + + proxy_pass http://verdaccio_v3/$1; + proxy_redirect off; } - +} +```` ## SSL example - server { - listen 80; - return 302 https://$host$request_uri; +```` +server { + listen 80; + return 302 https://$host$request_uri; +} + +server { + listen 443 ssl http2; + server_name localhost; + + ssl_certificate /etc/nginx/cert.crt; + ssl_certificate_key /etc/nginx/cert.key; + + ssl on; + ssl_session_cache builtin:1000 shared:SSL:10m; + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; + ssl_prefer_server_ciphers on; + + location / { + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_pass http://verdaccio_v4_root; + proxy_read_timeout 600; + proxy_redirect off; } - - server { - listen 443 ssl http2; - server_name localhost; - - ssl_certificate /etc/nginx/cert.crt; - ssl_certificate_key /etc/nginx/cert.key; - - ssl on; - ssl_session_cache builtin:1000 shared:SSL:10m; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; - ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; - ssl_prefer_server_ciphers on; - - location / { - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_pass http://verdaccio_v4_root; - proxy_read_timeout 600; - proxy_redirect off; - } - - location ~ ^/verdaccio/(.*)$ { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://verdaccio_v4_root/$1; - proxy_redirect off; - } + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v4_root/$1; + proxy_redirect off; } - +} +```` ## Run behind reverse proxy with different domain and port @@ -171,10 +175,9 @@ location / { proxy_set_header X-Forwarded-Proto $scheme; } ``` - For this case, `url_prefix` should **NOT** set in Verdaccio config -* * * +--- or a sub-directory installation: @@ -186,7 +189,6 @@ location ~ ^/verdaccio/(.*)$ { proxy_set_header X-Forwarded-Proto $scheme; } ``` - For this case, `url_prefix` should set to `/verdaccio/` -> Note: There is a slash after the install path (`https://your-domain:port/verdaccio/`)! \ No newline at end of file +> Note: There is a slash after the install path (`https://your-domain:port/verdaccio/`)! diff --git a/website/translated_docs/zh-TW/server.md b/website/translated_docs/zh-TW/server.md index 7473ea12d00c..6f457b3568e4 100644 --- a/website/translated_docs/zh-TW/server.md +++ b/website/translated_docs/zh-TW/server.md @@ -26,12 +26,11 @@ $ sudo su -s /bin/bash verdaccio $ cd ``` -The `cd` command sends you to the home directory of the Verdaccio user. Make sure you run Verdaccio at least once to generate the config file. Edit it according to your needs. +The `cd` command sends you to the home directory of the Verdaccio user. Make sure you run Verdaccio at least once to generate the config file. Edit it according to your needs. Make sure you run Verdaccio at least once to generate the config file. Edit it according to your needs. ## Listening on all addresses If you want to listen to every external address set the listen directive in the config to: - ```yaml # you can specify listen address (or simply a port) listen: 0.0.0.0:4873 @@ -39,7 +38,7 @@ listen: 0.0.0.0:4873 If you are running Verdaccio in a Amazon EC2 Instance, [you will need set the listen in change your config file](https://github.com/verdaccio/verdaccio/issues/314#issuecomment-327852203) as is described above. -> Configure Apache or nginx? Please check out the [Reverse Proxy Setup](reverse-proxy.md) +> Configure Apache or nginx? Configure Apache or nginx? Please check out the [Reverse Proxy Setup](reverse-proxy.md) ## Keeping Verdaccio running forever @@ -51,7 +50,7 @@ First install `forever` globally: $ sudo npm install -g forever ``` -Make sure you've run Verdaccio at least once to generate the config file and write down the created admin user. You can then use the following command to start Verdaccio: +Make sure you've run Verdaccio at least once to generate the config file and write down the created admin user. You can then use the following command to start Verdaccio: You can then use the following command to start Verdaccio: ```bash $ forever start `which verdaccio` @@ -69,12 +68,13 @@ When you're logged in as the Verdaccio user do the following: $ crontab -e ``` -This might ask you to choose an editor. Pick your favorite and proceed. Add the following entry to the file: +This might ask you to choose an editor. Pick your favorite and proceed. Add the following entry to the file: Pick your favorite and proceed. Add the following entry to the file: - @reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio - +``` +@reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio +``` -The locations may vary depending on your server setup. If you want to know where your files are you can use the 'which' command: +The locations may vary depending on your server setup. The locations may vary depending on your server setup. If you want to know where your files are you can use the 'which' command: ```bash $ which forever @@ -83,10 +83,8 @@ $ which verdaccio ## Using systemd -Instead of `forever` you can use `systemd` for starting Verdaccio and keeping it running. Verdaccio installation has systemd unit, you only need to copy it: - +Instead of `forever` you can use `systemd` for starting Verdaccio and keeping it running. Verdaccio installation has systemd unit, you only need to copy it: Verdaccio installation has systemd unit, you only need to copy it: ```bash $ sudo cp /usr/lib/node_modules/verdaccio/systemd/verdaccio.service /lib/systemd/system/ && sudo systemctl daemon-reload ``` - -This unit assumes you have configuration in `/etc/verdaccio/config.yaml` and store data in `/var/lib/verdaccio`, so either move your files to those locations or edit the unit. \ No newline at end of file +This unit assumes you have configuration in `/etc/verdaccio/config.yaml` and store data in `/var/lib/verdaccio`, so either move your files to those locations or edit the unit. diff --git a/website/translated_docs/zh-TW/who-is-using.md b/website/translated_docs/zh-TW/who-is-using.md index 778ca5bf2e0e..41c0f4cac3ee 100644 --- a/website/translated_docs/zh-TW/who-is-using.md +++ b/website/translated_docs/zh-TW/who-is-using.md @@ -10,6 +10,7 @@ title: "Who is using Verdaccio?" * [SheetJS](https://sheetjs.com/) * [Satispay](https://www.satispay.com/) + ### Open Source Projects > **Feel free to suggest other OSS are using Verdaccio.** @@ -29,4 +30,6 @@ title: "Who is using Verdaccio?" #### Readme Recommendations -* [react-native-cli](https://github.com/react-native-community/react-native-cli/blob/master/CONTRIBUTING.md) \ No newline at end of file +* [react-native-cli](https://github.com/react-native-community/react-native-cli/blob/master/CONTRIBUTING.md) + + diff --git a/website/translated_docs/zh-TW/windows.md b/website/translated_docs/zh-TW/windows.md index eeb0b4e96470..b20350d53b55 100644 --- a/website/translated_docs/zh-TW/windows.md +++ b/website/translated_docs/zh-TW/windows.md @@ -5,10 +5,10 @@ title: "Installing As a Windows Service" Loosely based upon the instructions found [here](http://asysadmin.tumblr.com/post/32941224574/running-nginx-on-windows-as-a-service). I crafted the following and it provided me with a fully working verdaccio service installation: -1. Create a directory for verdaccio +1. Create a directory for verdaccio * mkdir `c:\verdaccio` * cd `c:\verdaccio` -2. Install verdaccio locally (I ran into npm issues with global installs) +2. Install verdaccio locally (I ran into npm issues with global installs) * npm install verdaccio 3. Create your `config.yaml` file in this location `(c:\verdaccio\config.yaml)` 4. Windows Service Setup @@ -24,29 +24,29 @@ ALTERNATIVE METHOD: (WinSW package was missing when I tried to download it) * Open an administrative command * Run nssm install verdaccio At a minimum you must fill in the Application tab Path, Startup directory and Arguments fields. Assuming an install with node in the system path and a location of c:\verdaccio the below values will work: - * Path: `node` * Startup directory: `c:\verdaccio` * Arguments: `c:\verdaccio\node_modules\verdaccio\build\lib\cli.js -c c:\verdaccio\config.yaml` - - You can adjust other service settings under other tabs as desired. When you are done, click Install service button - - * Start the service sc start verdaccio + + You can adjust other service settings under other tabs as desired. When you are done, click Install service button When you are done, click Install service button + + * Start the service sc start verdaccio ## Using WinSW -* As of 2015-10-27, WinSW is no longer available at the below location. Please follow the Using NSSM instructions above. -* Download [WinSW](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/) +* As of 2015-10-27, WinSW is no longer available at the below location. Please follow the Using NSSM instructions above. Please follow the Using NSSM instructions above. +* Download [WinSW](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/) * Place the executable (e.g. `winsw-1.9-bin.exe`) into this folder (`c:\verdaccio`) and rename it to `verdaccio-winsw.exe` * Create a configuration file in `c:\verdaccio`, named `verdaccio-winsw.xml` with the following configuration `xml verdaccio verdaccio verdaccio node c:\verdaccio\node_modules\verdaccio\src\lib\cli.js -c c:\verdaccio\config.yaml roll c:\verdaccio`. -* Install your service +* Install your service * `cd c:\verdaccio` * `verdaccio-winsw.exe install` -* Start your service +* Start your service * `verdaccio-winsw.exe start` Some of the above config is more verbose than I had expected, it appears as though 'workingdirectory' is ignored, but other than that, this works for me and allows my verdaccio instance to persist between restarts of the server, and also restart itself should there be any crashes of the verdaccio process. + ## Repositories -* [verdaccio-deamon-windows](https://github.com/davidenke/verdaccio-deamon-windows) \ No newline at end of file +* [verdaccio-deamon-windows](https://github.com/davidenke/verdaccio-deamon-windows)