2021-07-27 21:52:49 +02:00
// @ts-check
2022-10-01 14:08:40 +02:00
const translations = require ( '@verdaccio/crowdin-translations/build/progress_lang.json' ) ;
2022-10-15 22:21:30 +02:00
const lgnMapping = {
'de-DE' : 'de' ,
'pl-PL' : 'pl' ,
'cs-CZ' : 'cs' ,
'fr-FR' : 'fr' ,
'it-IT' : 'it' ,
'ru-RU' : 'ru' ,
'vi-VN' : 'vi' ,
'yo-NG' : 'yo' ,
} ;
2022-10-01 14:08:40 +02:00
// @ts-ignore
const progress = translations ;
2022-10-15 22:21:30 +02:00
const limitLngIncluded = 19 ;
console . log ( 'limit translation is on %s%' , limitLngIncluded )
2021-07-27 21:52:49 +02:00
const isDeployPreview = process . env . CONTEXT === "deploy-preview" ;
const isProductionDeployment = process . env . CONTEXT === "production" ;
2022-10-15 22:21:30 +02:00
const filterByProgress = ( items ) => {
const originLng = Object . keys ( translations ) ;
return items . filter ( ( lgn => {
if ( lgn === 'en' ) {
return true ;
}
const _lgn = lgnMapping [ lgn ] ? lgnMapping [ lgn ] : lgn ;
if ( ! originLng . includes ( _lgn ) ) {
console . log ( ` language ${ _lgn } excluded, does not exist in origin ` ) ;
return false ;
}
if ( translations [ _lgn ] . approvalProgress <= limitLngIncluded ) {
console . log ( 'language %s is being excluded due does not met limit of translation, current: %s%' , _lgn , translations [ _lgn ] . approvalProgress ) ;
return false ;
}
return true ;
} ) )
}
2021-07-27 21:52:49 +02:00
const i18nConfig = {
defaultLocale : 'en' ,
2022-10-15 22:21:30 +02:00
locales : isDeployPreview ? [ 'en' ] : filterByProgress ( [
2022-10-02 08:25:13 +02:00
"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" ,
2021-07-30 08:44:34 +02:00
"zh-CN"
2022-10-15 22:21:30 +02:00
] ) ,
2021-07-27 21:52:49 +02:00
localeConfigs : {
2022-10-01 14:08:40 +02: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 21:52:49 +02:00
}
}
const pkgJson = require ( './package.json' )
/** @type {import('@docusaurus/types').DocusaurusConfig} */
module . exports = {
title : 'Verdaccio' ,
2021-12-12 11:03:15 +01:00
tagline : 'A lightweight Node.js private proxy registry' ,
2021-07-27 21:52:49 +02:00
organizationName : 'verdaccio' ,
projectName : 'verdaccio' ,
url : 'https://verdaccio.org' ,
baseUrl : '/' ,
onBrokenLinks : 'throw' ,
onBrokenMarkdownLinks : 'warn' ,
2022-03-07 16:59:50 +01:00
favicon : "img/logo/uk/verdaccio-tiny-uk-no-bg.svg" ,
2021-07-27 21:52:49 +02:00
i18n : i18nConfig ,
2022-08-22 20:46:20 +02:00
scripts : [
"https://buttons.github.io/buttons.js" ,
] ,
2021-07-27 21:52:49 +02:00
plugins : [
'docusaurus-plugin-sass' ,
2021-12-01 08:20:39 +01:00
"docusaurus-plugin-contributors" ,
2022-10-10 08:00:09 +02:00
isProductionDeployment && typeof process . env . SENTRY _KEY === 'string' && [ 'docusaurus-plugin-sentry' , { DSN : process . env . SENTRY _KEY } ] ,
[
'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,
fullNames : true
} ,
} ,
] ,
2022-10-15 20:28:09 +02:00
[
'content-docs' ,
( {
id : 'community' ,
path : 'community' ,
routeBasePath : 'community' ,
sidebarPath : require . resolve ( './sidebarsCommunity.js' ) ,
showLastUpdateTime : true ,
} ) ,
] ,
2022-10-10 08:00:09 +02: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' ,
fullNames : true
} ,
} ,
] ,
[
'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' ,
fullNames : true
} ,
} ,
] ,
[
'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' ,
fullNames : true
} ,
} ,
] ,
] ,
2021-07-27 21:52:49 +02:00
webpack : {
jsLoader : ( isServer ) => ( {
loader : require . resolve ( 'esbuild-loader' ) ,
options : {
loader : 'tsx' ,
format : isServer ? 'cjs' : undefined ,
target : isServer ? 'node12' : 'es2017' ,
} ,
} ) ,
} ,
customFields : {
2021-12-12 11:03:15 +01:00
description : 'A lightweight Node.js private proxy registry'
2021-07-27 21:52:49 +02:00
} ,
themeConfig : {
announcementBar : {
id : 'announcementBar' ,
content :
2022-08-20 19:23:24 +02: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-03-09 21:36:32 +01:00
isCloseable : false ,
backgroundColor : '#1595de' ,
textColor : '#ffffff' ,
2021-07-27 21:52:49 +02:00
} ,
algolia : {
2022-03-05 21:43:58 +01:00
appId : 'B3TG5CBF5H' ,
apiKey : 'ed054733cb03418e9af25b7beb82c924' ,
2021-07-28 14:02:39 +02:00
indexName : 'verdaccio' ,
contextualSearch : true
2021-07-27 21:52:49 +02:00
} ,
2022-05-07 23:06:15 +02:00
docs : {
sidebar : {
hideable : true ,
autoCollapseCategories : true ,
} ,
} ,
2021-07-27 21:52:49 +02:00
navbar : {
title : ` Verdaccio - v ${ pkgJson . version } ` ,
logo : {
alt : 'Verdaccio Logo' ,
2022-03-07 16:59:50 +01:00
src : "img/logo/uk/verdaccio-tiny-uk-no-bg.svg" ,
2021-07-27 21:52:49 +02:00
} ,
items : [
{
type : 'doc' ,
docId : 'what-is-verdaccio' ,
position : 'left' ,
label : 'Docs' ,
} ,
2022-10-10 08:00:09 +02:00
{
type : 'doc' ,
docId : 'api/node-api/index' ,
position : 'left' ,
label : 'API'
} ,
2021-07-27 21:52:49 +02:00
{ to : '/blog' , label : 'Blog' , position : 'left' } ,
2022-10-01 17:21:26 +02:00
{
type : 'docsVersionDropdown' ,
"position" : "right" ,
} ,
2021-07-27 21:52:49 +02:00
{
href : 'https://opencollective.com/verdaccio' ,
label : 'Sponsor us' ,
position : 'right' ,
} ,
2021-08-29 08:11:55 +02:00
{
2022-10-15 20:28:09 +02:00
href : '/community' ,
label : 'Community' ,
position : 'left' ,
2021-07-27 21:52:49 +02: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-10-01 17:21:26 +02:00
} ,
2021-07-27 21:52:49 +02: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 23:24:27 +02:00
href : 'https://discord.gg/7qWJxBf' ,
2021-07-27 21:52:49 +02:00
} ,
{
label : 'Twitter' ,
href : 'https://twitter.com/verdaccio_npm' ,
} ,
] ,
} ,
{
title : 'More' ,
items : [
{
label : 'Blog' ,
to : '/blog' ,
} ,
{
label : 'GitHub' ,
href : 'https://github.com/verdaccio/verdaccio' ,
} ,
{
label : 'Twitter' ,
href : 'https://twitter.com/verdaccio_npm' ,
} ,
{
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-05-07 23:06:15 +02:00
} ,
2021-07-27 21:52:49 +02: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 12:19:37 +02:00
sidebarCollapsible : true ,
2021-07-27 21:52:49 +02:00
remarkPlugins : [
[ require ( '@docusaurus/remark-plugin-npm2yarn' ) , { sync : true } ] ,
] ,
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-10-01 17:21:26 +02:00
lastVersion : '5.x' ,
versions : {
current : {
label : ` 6.x ` ,
} ,
'5.x' : {
label : ` 5.x (Latest) ` ,
} ,
} ,
2021-07-27 21:52:49 +02:00
} ,
2021-12-14 13:28:51 +01:00
googleAnalytics : {
2022-10-02 09:18:45 +02:00
// trackingID: 'UA-2527438-21'
trackingID : 'G-PCYM9FYJZT'
2022-03-24 22:50:28 +01:00
} ,
2022-10-02 22:12:30 +02:00
gtag : {
trackingID : 'G-PCYM9FYJZT'
} ,
2021-07-27 21:52:49 +02:00
blog : {
blogTitle : 'Verdaccio Official Blog' ,
2022-10-10 08:00:09 +02:00
blogDescription : 'The official Verdaccio Node.js proxy registry blog' ,
2021-07-27 21:52:49 +02: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-10-01 17:21:26 +02:00
} ,
2021-07-27 21:52:49 +02:00
} ,
] ,
] ,
} ;