2021-07-27 14:52:49 -05:00
// @ts-check
2022-10-01 07:08:40 -05:00
const translations = require ( '@verdaccio/crowdin-translations/build/progress_lang.json' ) ;
2022-10-15 15:21:30 -05:00
const lgnMapping = {
'de-DE' : 'de' ,
'pl-PL' : 'pl' ,
'cs-CZ' : 'cs' ,
'fr-FR' : 'fr' ,
2022-12-25 12:48:18 -05:00
'it-IT' : 'it' ,
2022-10-15 15:21:30 -05:00
'ru-RU' : 'ru' ,
'vi-VN' : 'vi' ,
'yo-NG' : 'yo' ,
} ;
2022-10-01 07:08:40 -05:00
// @ts-ignore
const progress = translations ;
2022-10-15 15:21:30 -05:00
const limitLngIncluded = 19 ;
2022-12-25 12:48:18 -05:00
console . log ( 'limit translation is on %s%' , limitLngIncluded ) ;
const isDeployPreview = process . env . CONTEXT === 'deploy-preview' ;
const isProductionDeployment = process . env . CONTEXT === 'production' ;
2022-10-15 15:21:30 -05:00
const filterByProgress = ( items ) => {
const originLng = Object . keys ( translations ) ;
2022-12-25 12:48:18 -05:00
return items . filter ( ( lgn ) => {
if ( lgn === 'en' ) {
2022-10-15 15:21:30 -05:00
return true ;
}
const _lgn = lgnMapping [ lgn ] ? lgnMapping [ lgn ] : lgn ;
2022-12-25 12:48:18 -05:00
if ( ! originLng . includes ( _lgn ) ) {
2022-10-15 15:21:30 -05:00
console . log ( ` language ${ _lgn } excluded, does not exist in origin ` ) ;
return false ;
}
2022-12-25 12:48:18 -05:00
2022-10-15 15:21:30 -05:00
if ( translations [ _lgn ] . approvalProgress <= limitLngIncluded ) {
2022-12-25 12:48:18 -05:00
console . log (
'language %s is being excluded due does not met limit of translation, current: %s%' ,
_lgn ,
translations [ _lgn ] . approvalProgress
) ;
2022-10-15 15:21:30 -05:00
return false ;
}
return true ;
2022-12-25 12:48:18 -05:00
} ) ;
} ;
2021-07-27 14:52:49 -05:00
const i18nConfig = {
defaultLocale : 'en' ,
2022-12-25 12:48:18 -05:00
locales : isDeployPreview
? [ 'en' ]
: filterByProgress ( [
'en' ,
'cs-CZ' ,
'de-DE' ,
'es-ES' ,
'fr-FR' ,
'it-IT' ,
'pl-PL' ,
'pt-BR' ,
'ru-RU' ,
'sr-CS' ,
'vi-VN' ,
'yo-NG' ,
'zh-TW' ,
'zh-CN' ,
] ) ,
2021-07-27 14:52:49 -05:00
localeConfigs : {
2022-12-25 12:48:18 -05:00
en : { label : 'English' } ,
'it-IT' : { label : ` Italiano ( ${ progress [ 'it' ] . translationProgress } %) ` } ,
'es-ES' : { label : ` Español ( ${ progress [ 'es-ES' ] . translationProgress } %) ` } ,
'de-DE' : { label : ` Deutsch ( ${ progress [ 'de' ] . translationProgress } %) ` } ,
'cs-CZ' : { label : ` Čeština (Česko) ( ${ progress [ 'cs' ] . translationProgress } %) ` } ,
'fr-FR' : { label : ` Français ( ${ progress [ 'fr' ] . translationProgress } %) ` } ,
'pl-PL' : { label : ` Polski (Polska) ( ${ progress [ 'pl' ] . translationProgress } %) ` } ,
'pt-BR' : { label : ` Português (Brasil) ( ${ progress [ 'pt-BR' ] . translationProgress } %) ` } ,
'ru-RU' : { label : ` Русский (Россия) ( ${ progress [ 'ru' ] . translationProgress } %) ` } ,
'zh-CN' : { label : ` 中文(中国)( ${ progress [ 'zh-CN' ] . translationProgress } %) ` } ,
'zh-TW' : { label : ` 中文(台灣)( ${ progress [ 'zh-TW' ] . translationProgress } %) ` } ,
'yo-NG' : { label : ` Èdè Yorùbá (Nàìjíríà) ( ${ progress [ 'yo' ] . translationProgress } %) ` } ,
'sr-CS' : { label : ` Српски (Србија) ( ${ progress [ 'sr-CS' ] . translationProgress } %) ` } ,
'vi-VN' : { label : ` Tiếng Việt (Việt Nam) ( ${ progress [ 'vi' ] . translationProgress } %) ` } ,
} ,
} ;
2021-07-27 14:52:49 -05:00
2022-12-25 12:48:18 -05:00
const pkgJson = require ( './package.json' ) ;
2021-07-27 14:52:49 -05:00
/** @type {import('@docusaurus/types').DocusaurusConfig} */
module . exports = {
title : 'Verdaccio' ,
2021-12-12 05:03:15 -05:00
tagline : 'A lightweight Node.js private proxy registry' ,
2021-07-27 14:52:49 -05:00
organizationName : 'verdaccio' ,
projectName : 'verdaccio' ,
url : 'https://verdaccio.org' ,
baseUrl : '/' ,
onBrokenLinks : 'throw' ,
onBrokenMarkdownLinks : 'warn' ,
2022-12-25 12:48:18 -05:00
favicon : 'img/logo/uk/verdaccio-tiny-uk-no-bg.svg' ,
2021-07-27 14:52:49 -05:00
i18n : i18nConfig ,
2022-12-25 12:48:18 -05:00
scripts : [ 'https://buttons.github.io/buttons.js' ] ,
2021-07-27 14:52:49 -05:00
plugins : [
'docusaurus-plugin-sass' ,
2022-11-19 02:33:58 -05:00
'docusaurus-plugin-contributors' ,
2022-12-25 12:48:18 -05:00
isProductionDeployment &&
typeof process . env . SENTRY _KEY === 'string' && [
'docusaurus-plugin-sentry' ,
{ DSN : process . env . SENTRY _KEY } ,
] ,
2022-10-10 01:00:09 -05:00
[
'docusaurus-plugin-typedoc' ,
{
entryPoints : [ '../packages/node-api/src/index.ts' ] ,
tsconfig : '../packages/node-api/tsconfig.build.json' ,
id : 'api/node-api' ,
out : 'api/node-api' ,
// theme: 'default',
excludePrivate : false ,
excludeProtected : true ,
categorizeByGroup : false ,
excludeInternal : true ,
sidebar : {
categoryLabel : '@verdaccio/node-api' ,
// position: 1,
2022-12-25 12:48:18 -05:00
fullNames : true ,
2022-10-10 01:00:09 -05:00
} ,
} ,
] ,
2022-10-15 13:28:09 -05:00
[
'content-docs' ,
2022-12-25 12:48:18 -05:00
{
2022-10-15 13:28:09 -05:00
id : 'community' ,
path : 'community' ,
routeBasePath : 'community' ,
sidebarPath : require . resolve ( './sidebarsCommunity.js' ) ,
showLastUpdateTime : true ,
2022-12-25 12:48:18 -05:00
} ,
] ,
[
'content-docs' ,
{
id : 'dev' ,
path : 'dev' ,
routeBasePath : 'dev' ,
sidebarPath : require . resolve ( './sidebarsDev.js' ) ,
showLastUpdateTime : true ,
} ,
2022-10-15 13:28:09 -05:00
] ,
2022-10-16 07:06:07 -05:00
[
'content-docs' ,
2022-12-25 12:48:18 -05:00
{
2022-10-16 07:06:07 -05:00
id : 'talks' ,
path : 'talks' ,
routeBasePath : 'talks' ,
sidebarPath : require . resolve ( './sidebarsTalk.js' ) ,
showLastUpdateTime : true ,
2022-12-25 12:48:18 -05:00
} ,
2022-10-16 07:06:07 -05:00
] ,
2022-10-10 01:00:09 -05:00
[
'docusaurus-plugin-typedoc' ,
{
entryPoints : [ '../packages/config/src/index.ts' ] ,
tsconfig : '../packages/config/tsconfig.build.json' ,
id : 'api/config' ,
out : 'api/config' ,
sidebar : {
categoryLabel : '@verdaccio/config' ,
2022-12-25 12:48:18 -05:00
fullNames : true ,
2022-10-10 01:00:09 -05:00
} ,
} ,
] ,
2023-01-08 05:27:37 -05:00
[
'docusaurus-plugin-typedoc' ,
{
entryPoints : [ '../packages/ui-components/src/index.ts' ] ,
tsconfig : '../packages/ui-components/tsconfig.build.json' ,
id : 'api/ui-components' ,
out : 'api/ui-components' ,
sidebar : {
categoryLabel : '@verdaccio/ui-components' ,
fullNames : true ,
watch : process . env . TYPEDOC _WATCH ,
} ,
} ,
] ,
2022-10-10 01:00:09 -05:00
[
'docusaurus-plugin-typedoc' ,
{
entryPoints : [ '../packages/core/core/src/index.ts' ] ,
tsconfig : '../packages/core/core/tsconfig.build.json' ,
id : 'api/core' ,
out : 'api/core' ,
sidebar : {
categoryLabel : '@verdaccio/core' ,
2022-12-25 12:48:18 -05:00
fullNames : true ,
2022-10-10 01:00:09 -05:00
} ,
} ,
] ,
[
'docusaurus-plugin-typedoc' ,
{
entryPoints : [ '../packages/core/types/src/types.ts' ] ,
tsconfig : '../packages/core/types/tsconfig.build.json' ,
id : 'api/types' ,
out : 'api/types' ,
categorizeByGroup : false ,
includeVersion : true ,
sidebar : {
categoryLabel : '@verdaccio/types' ,
2022-12-25 12:48:18 -05:00
fullNames : true ,
2022-10-10 01:00:09 -05:00
} ,
} ,
] ,
2022-12-25 12:48:18 -05:00
] ,
2022-11-23 15:55:08 -05:00
markdown : {
mermaid : true ,
} ,
themes : [ '@docusaurus/theme-mermaid' ] ,
2021-07-27 14:52:49 -05:00
webpack : {
jsLoader : ( isServer ) => ( {
loader : require . resolve ( 'esbuild-loader' ) ,
options : {
loader : 'tsx' ,
format : isServer ? 'cjs' : undefined ,
target : isServer ? 'node12' : 'es2017' ,
} ,
} ) ,
} ,
customFields : {
2022-12-25 12:48:18 -05:00
description : 'A lightweight Node.js private proxy registry' ,
2021-07-27 14:52:49 -05:00
} ,
themeConfig : {
2022-11-23 15:55:08 -05:00
mermaid : {
2022-12-25 12:48:18 -05:00
theme : { light : 'neutral' , dark : 'forest' } ,
2022-11-23 15:55:08 -05:00
} ,
2021-07-27 14:52:49 -05:00
announcementBar : {
id : 'announcementBar' ,
content :
2022-08-20 12:23:24 -05:00
'<a target="_blank" rel="noopener noreferrer" href="https://www.wfp.org/support-us/stories/ukraine-appeal">Help provide humanitarian support to Ukraine refugees</a>!' ,
2022-12-25 12:48:18 -05:00
isCloseable : false ,
backgroundColor : '#1595de' ,
textColor : '#ffffff' ,
2021-07-27 14:52:49 -05:00
} ,
algolia : {
2022-03-05 15:43:58 -05:00
appId : 'B3TG5CBF5H' ,
apiKey : 'ed054733cb03418e9af25b7beb82c924' ,
2021-07-28 07:02:39 -05:00
indexName : 'verdaccio' ,
2022-12-25 12:48:18 -05:00
contextualSearch : true ,
2021-07-27 14:52:49 -05:00
} ,
2022-05-07 16:06:15 -05:00
docs : {
sidebar : {
hideable : true ,
autoCollapseCategories : true ,
} ,
} ,
2021-07-27 14:52:49 -05:00
navbar : {
title : ` Verdaccio - v ${ pkgJson . version } ` ,
logo : {
alt : 'Verdaccio Logo' ,
2022-12-25 12:48:18 -05:00
src : 'img/logo/uk/verdaccio-tiny-uk-no-bg.svg' ,
2021-07-27 14:52:49 -05:00
} ,
items : [
{
type : 'doc' ,
docId : 'what-is-verdaccio' ,
position : 'left' ,
label : 'Docs' ,
} ,
2022-10-10 01:00:09 -05:00
{
type : 'doc' ,
docId : 'api/node-api/index' ,
position : 'left' ,
2022-12-25 12:48:18 -05:00
label : 'API' ,
2022-10-10 01:00:09 -05:00
} ,
2021-07-27 14:52:49 -05:00
{ to : '/blog' , label : 'Blog' , position : 'left' } ,
2022-10-01 10:21:26 -05:00
{
type : 'docsVersionDropdown' ,
2022-12-25 12:48:18 -05:00
position : 'right' ,
} ,
2021-07-27 14:52:49 -05:00
{
href : 'https://opencollective.com/verdaccio' ,
label : 'Sponsor us' ,
position : 'right' ,
} ,
2021-08-29 01:11:55 -05:00
{
2022-10-15 13:28:09 -05:00
href : '/community' ,
label : 'Community' ,
position : 'left' ,
2021-07-27 14:52:49 -05:00
} ,
2022-10-16 07:06:07 -05:00
{
href : '/talks' ,
label : 'Video Talks' ,
position : 'left' ,
} ,
2021-07-27 14:52:49 -05:00
{
type : 'localeDropdown' ,
position : 'right' ,
dropdownItemsAfter : [
{
href : 'https://crowdin.com/project/verdaccio' ,
label : 'Help Us Translate' ,
} ,
] ,
} ,
{
href : 'https://github.com/verdaccio/verdaccio' ,
position : 'right' ,
className : 'header-github-link' ,
'aria-label' : 'GitHub repository' ,
} ,
2022-12-17 06:07:54 -05:00
{
href : 'https://fosstodon.org/@verdaccio' ,
position : 'right' ,
className : 'header-mastodon-link' ,
'aria-label' : 'Follow us at Fosstodon' ,
} ,
2021-07-27 14:52:49 -05:00
] ,
2022-12-25 12:48:18 -05:00
} ,
2021-07-27 14:52:49 -05:00
footer : {
style : 'dark' ,
links : [
{
title : 'Docs' ,
items : [
{
label : 'Getting Started' ,
to : '/docs/what-is-verdaccio' ,
} ,
{
label : 'Docker' ,
to : '/docs/docker' ,
} ,
{
label : 'Configuration' ,
to : '/docs/configuration' ,
} ,
{
label : 'Logos' ,
to : '/docs/logo' ,
} ,
] ,
} ,
{
title : 'Community' ,
items : [
{
label : 'Stack Overflow' ,
href : 'https://stackoverflow.com/questions/tagged/verdaccio' ,
} ,
{
label : 'Discord' ,
2022-06-23 16:24:27 -05:00
href : 'https://discord.gg/7qWJxBf' ,
2021-07-27 14:52:49 -05:00
} ,
{
2022-12-17 08:01:07 -05:00
html : `
< a href = "https://fosstodon.org/@verdaccio" rel = "me" >
Mastodon
< / a >
` ,
2021-07-27 14:52:49 -05:00
} ,
] ,
} ,
{
title : 'More' ,
items : [
{
label : 'Blog' ,
to : '/blog' ,
} ,
{
label : 'GitHub' ,
href : 'https://github.com/verdaccio/verdaccio' ,
} ,
{
2022-12-17 06:07:54 -05:00
label : 'Mastodon' ,
href : 'https://fosstodon.org/@verdaccio' ,
2021-07-27 14:52:49 -05:00
} ,
{
html : `
< a href = "https://www.netlify.com" target = "_blank" rel = "noreferrer noopener" aria - label = "Deploys by Netlify" >
< img src = "https://www.netlify.com/img/global/badges/netlify-color-accent.svg" alt = "Deploys by Netlify" / >
< / a >
` ,
} ,
] ,
} ,
] ,
copyright : ` Copyright © ${ new Date ( ) . getFullYear ( ) } Verdaccio community. Built with Docusaurus. ` ,
2022-12-25 12:48:18 -05:00
} ,
2021-07-27 14:52:49 -05:00
colorMode : {
defaultMode : 'light' ,
disableSwitch : false ,
respectPrefersColorScheme : true ,
} ,
prism : {
theme : require ( 'prism-react-renderer/themes/github' ) ,
darkTheme : require ( 'prism-react-renderer/themes/nightOwl' ) ,
} ,
} ,
presets : [
[
'@docusaurus/preset-classic' ,
{
docs : {
sidebarPath : require . resolve ( './sidebars.js' ) ,
showLastUpdateAuthor : true ,
showLastUpdateTime : true ,
2021-07-29 05:19:37 -05:00
sidebarCollapsible : true ,
2022-12-25 12:48:18 -05:00
remarkPlugins : [ [ require ( '@docusaurus/remark-plugin-npm2yarn' ) , { sync : true } ] ] ,
2021-07-27 14:52:49 -05:00
editUrl : ( { locale , docPath } ) => {
if ( locale !== 'en' ) {
return ` https://crowdin.com/project/verdaccio/ ${ locale } ` ;
}
return ` https://github.com/verdaccio/verdaccio/edit/master/website/docs/ ${ docPath } ` ;
} ,
2022-12-25 12:48:18 -05:00
lastVersion : '5.x' ,
2022-10-01 10:21:26 -05:00
versions : {
current : {
2022-12-25 12:48:18 -05:00
label : ` 6.x ` ,
2022-10-01 10:21:26 -05:00
} ,
'5.x' : {
2022-12-25 12:48:18 -05:00
label : ` 5.x (Latest) ` ,
2022-10-01 10:21:26 -05:00
} ,
} ,
2021-07-27 14:52:49 -05:00
} ,
2021-12-14 07:28:51 -05:00
googleAnalytics : {
2022-10-02 02:18:45 -05:00
// trackingID: 'UA-2527438-21'
2022-12-25 12:48:18 -05:00
trackingID : 'G-PCYM9FYJZT' ,
2022-03-24 16:50:28 -05:00
} ,
2022-10-02 15:12:30 -05:00
gtag : {
2022-12-25 12:48:18 -05:00
trackingID : 'G-PCYM9FYJZT' ,
} ,
2021-07-27 14:52:49 -05:00
blog : {
blogTitle : 'Verdaccio Official Blog' ,
2022-10-10 01:00:09 -05:00
blogDescription : 'The official Verdaccio Node.js proxy registry blog' ,
2021-07-27 14:52:49 -05:00
showReadingTime : true ,
postsPerPage : 3 ,
feedOptions : {
type : 'all' ,
} ,
blogSidebarCount : 'ALL' ,
blogSidebarTitle : 'All our posts' ,
editUrl : ( { locale , blogDirPath , blogPath } ) => {
if ( locale !== 'en' ) {
return ` https://crowdin.com/project/verdaccio/ ${ locale } ` ;
}
return ` https://github.com/verdaccio/verdaccio/edit/master/website/ ${ blogDirPath } / ${ blogPath } ` ;
} ,
} ,
theme : {
customCss : require . resolve ( './src/css/custom.scss' ) ,
2022-12-25 12:48:18 -05:00
} ,
2021-07-27 14:52:49 -05:00
} ,
] ,
] ,
} ;