Commit Graph

164 Commits

Author SHA1 Message Date
Alexey Pyltsyn 09f089b612
chore: upgrade Infima to alpha.30 (#5256)
* chore: upgrade Infima to alpha.30

* Remove redundant CSS class

* Update index.tsx
2021-08-11 10:56:57 +03:00
Joshua Chen 9e615eff02
refactor: reduce ESLint warnings / better typing (#5242)
* Fix code block children type

Signed-off-by: Josh-Cena <sidachen2003@gmail.com>

* Add return type

Signed-off-by: Josh-Cena <sidachen2003@gmail.com>

* Add types

Signed-off-by: Josh-Cena <sidachen2003@gmail.com>

* Fix return types

Signed-off-by: Josh-Cena <sidachen2003@gmail.com>

* Fix details type

Signed-off-by: Josh-Cena <sidachen2003@gmail.com>

* Fix type

Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
2021-07-29 17:59:38 +02:00
Sébastien Lorber fc64c12e41
chore(v2): prepare v2.0.0-beta.4 release (#5238)
* chore(v2): prepare v2.0.0-beta.4 release

* update publish

* v2.0.0-beta.4
2021-07-28 22:54:41 +02:00
Sébastien Lorber 4cfbfa11ee
chore: Upgrade infima 29 (#5234)
Co-authored-by: Massoud Maboudi <massoud.maboudi@gmail.com>
2021-07-28 17:58:09 +02:00
Alexey Pyltsyn 798f634007
chore(v2): update Infima to alpha 28 (#5222) 2021-07-27 16:09:20 +02:00
Sébastien Lorber 083037d7a5
refactor: redesign admonitions/callouts/quotes (#5193)
* prepare admonitions redesign

* Docusaurus admonition cleanup

* cover more edge cases in Docusaurus admonitions page: interleaving code blocks and links

* cover more edge cases in Docusaurus admonitions page: interleaving code blocks and links

* update Infima with new alerts
2021-07-23 17:10:38 +02:00
Alexey Pyltsyn 237d1a31f5
fix(v2): introduce useCollapsible to fix collapsible animation perf issues (#5116)
* fix(v2): avoid slowdown transition with huge sidebar items

* move useCollapsible to theme-common

* @docusaurus/theme-classic => watch mode should include type-checking

* refactor useCollapsible => encapsulate more behavior / state / ref inside it, making code simpler for component using it

* useCollapseAnimation => animate DOM properties directly instead of using React inline styles => optimize perf from 4 render per click to 1 render per click

* add missing items in deps array

* rename ref to collapsibleRef

* lint

Co-authored-by: slorber <lorber.sebastien@gmail.com>
2021-07-07 18:50:13 +02:00
Sébastien Lorber 1ec2c95e3d
chore(v2): prepare v2.0.0-beta.3 release (#5098)
* beta.3

* publish guide

* publish guide

* v2.0.0-beta.3
2021-06-30 16:05:49 +02:00
Sébastien Lorber ec2486d2c9
chore(v2): prepare v2.0.0-beta.2 release (#5056)
* prepare beta.2

* v2.0.0-beta.2
2021-06-24 19:39:37 +02:00
Sébastien Lorber 8d8e5b67e8
chore(v2): prepare v2.0.0-beta.1 release (#5004)
* beta.1

* v2.0.0-beta.1
2021-06-18 16:54:46 +02:00
Alexey Pyltsyn 7dc9fe839b
chore(v2): update infima to alpha 26 (#5001) 2021-06-18 15:03:51 +02:00
Sébastien Lorber ba65450571
fix(v2): fix theme array deduplication bug (#5000) 2021-06-18 11:53:11 +02:00
Alexey Pyltsyn 5bc0209f56
chore(v2): update Infima to v0.2.0-alpha.24 (#4855) 2021-05-28 10:58:23 +03:00
Alexey Pyltsyn ff31de0ff6
chore(v2): unlock prism-react-renderer version (#4834) 2021-05-21 22:55:51 +03:00
Alexey Pyltsyn 56b6b01cd1
fix(v2): pin prism-react-renderer version to 1.1.1 (#4830) 2021-05-21 17:48:36 +03:00
Alexey Pyltsyn 6392f88bb6
chore(v2): upgrade dependencies (#4816) 2021-05-19 10:11:53 +02:00
Sébastien Lorber 7e4d7671c8
chore(v2): prepare v2.0.0-beta.0 release (#4774)
* beta.0 version docs + changelog

* fix config for beta switch

* v2.0.0-beta.0
2021-05-12 16:07:15 +02:00
Sébastien Lorber 0ef0d27c51
chore(v2): prepare v2.0.0.alpha-75 release (#4707)
* alpha 75

* v2.0.0-alpha.75
2021-04-30 18:41:55 +02:00
Reece Dunham 05e7250c08
feat(v2): Webpack 5, PostCSS 8 (#4089)
* Initial webpack 5 work

* It works on my machine (lol)

* Committing a bit more work

* It works - sorta

* Update packages/docusaurus/package.json

* at least fix prettier /shrug

* making more progress. build should work now, css stuff is still a bit broken

* Terser things

Signed-off-by: Reece Dunham <me@rdil.rocks>

* Working on things

* Vendor webpack

* Repair chunks, and tests

* Rerun prettier

* Re-add client prefetching

* Update snapshots

* Update snapshots

* I hope this works

* Remove redundant dev server code

* relock

* Trying to reduce memory usage and fix things

* Dead code elim

* Search bar works!!!

* Prefetching should work again

* lock

* ts issue

* Repair snapshot

* Run prettier

* Fix the CI for now

* fix lint-prettier

* clean-css works, now for the other one

* Fix lockfile

* Fixes prettier

* Other css minification works!!!

* Add clean-css options, fix webpack versions

Signed-off-by: Reece Dunham <me@rdil.rocks>

* Fix tests and several of the webpack loaders

Signed-off-by: Reece Dunham <me@rdil.rocks>

* Re-add support for simple css minifier

* Update other related dependencies

* Fix lockfile

* Dev server fixups

Signed-off-by: Reece Dunham <me@rdil.rocks>

* Simplify css things

* Update webpack, try with postcss 7

* Other cssnano repairs

* fix lockfile

* Clean up the babel preset

* Fix lockfile

* Bump RL SSR version

* Fix the build errors

* Lockfile fix

* It works again

* webpack 5 should close compiler after run

* add proper webpack5 persistent caching config

* upgrade webpack deps again

* reduce build perf timeouts to avoid build time regressions

* test if incremental build can run on netlify

* netlify test

* netlify test

* netlify test

* netlify test

* netlify test

* netlify test

* netlify test

* netlify test

* netlify test

* netlify test

* netlify test

* netlify test

* netlify test

* netlify test

* netlify test

* test

* test

* test

* test

* netlify test

* netlify test

* netlify test

* netlify test

* netlify test

* netlify test

* netlify test

* netlify test

* netlify test

* netlify test

* fix existsSync() calls

* replace @ts-nocheck by a temporary Webpack type

* replace @ts-nocheck by a temporary Webpack type

* replace @ts-nocheck by a temporary Webpack type

* migrate existing stats.warningsFilter to config.ignoreWarnings

* remove stats from postBuild lifecycle data doc, as it is likely unused (we'll add it back if someone ask for it)

* improve build.ts TS issues + move some sync code to async

* cleanup TS of start.ts

* fix TS error

* fix TS issues

* fix TS issues

* fix ts error

* netlify test

* netlify test

* netlify test

* netlify test

* netlify test

* script cleanup

* script cleanup

* re-enable @typescript-eslint/ban-ts-comment

* Deprecate getCacheLoader / getBabelLoader but keep retrocompatibility

* useless TS

* fix and comment gca(chunkName) prefetching function

* remove deprecated mainTemplate.requireFn

* temporarily use react-loadable-ssr-addon-v5-slorber until PR merged: https://github.com/facebook/docusaurus/pull/4089

* comment unsafeCache option

* add explicit and more precise webpack targets

* splitChunks, use new type: "css/mini-extract" as it seems recommended for webpack 5

* webpack error handling:
- log error.details as documented
- keep using react-dev-utils/formatWebpackMessages for now

* fix webpack5 warnings for evalSourceMapMiddleware.js

* typo

* rename webpackHotDevClient

* make all modifications of react-dev-utils explicit with a comment

* revert LogPlugin adapter

* loader-utils update

* add useful share cache comment

* add useful comments regarding the null-loader used in SSR for css files

* upgrade webpack-merge in a retrocompatible way

* use MiniCssExtractPlugin.emit false as recommended

* use @docusaurus/responsive-loader

* revert MiniCssExtractPlugin esModule: false change

* add link to PR for custom CleanWebpackPlugin

* pwa: add fallback to env variable or webpack 5 fails to build

* upgrade to CssMinimizerPlugin 2.0

* only build en locale for windows tests

* line breaks between errors

* add useful comment

* Fix e2e tests with Yarn2 not finding new init template dependencies

* fix bad import

* disable browserslist target as webpack already tries to use browserlists if a config is found, and it is a problem for existing sites

* webpack5 TS fixes

* fix getMinimizer order (even if it does not work yet)

* update postcss to v8, fix cssnano minimizer errors

* add NavbarItem position to types (useful for QuestDB site upgrade to Webpack5)

* add webpack cache env variable to reduce risk of webpack 5 adoption

Co-authored-by: slorber <lorber.sebastien@gmail.com>
2021-04-30 18:06:53 +02:00
Sébastien Lorber 6f29a1826a
chore(v2): prepare v2.0.0.alpha-74 release (#4690)
* alpha 74

* v2.0.0-alpha.74
2021-04-27 16:38:56 +02:00
Sébastien Lorber bca796545b
chore(v2): update infima (#4689) 2021-04-27 15:39:07 +02:00
Sébastien Lorber 4d49945775
chore(v2): prepare v2.0.0.alpha-73 release (#4628)
* add changelog

* add alpha 73

* run prettier on versions file (+ ignore it as we don't care much and it's annoying when releasing)

* v2.0.0-alpha.73
2021-04-16 12:48:10 +02:00
Sébastien Lorber 93bd8fec7b
chore(v2): update Infima to alpha.22 (#4627) 2021-04-16 11:28:34 +02:00
Alexey Pyltsyn 836f92708a
refactor(v2): replace react-toggle with own implementation (#4608)
* refactor(v2): replace react-toggle with own implementation

* Extract toggle into child component
2021-04-15 16:15:07 +02:00
Sébastien Lorber 9e881b46c8
fix(v2): i18n fixes (#4466) 2021-03-19 14:23:31 +01:00
Sébastien Lorber 60d189a91c
fix(v2): Export Joi from validation-utils package (#4459) 2021-03-18 19:27:51 +01:00
Alexey Pyltsyn f8fda885fc
chore(v2): prepare v2.0.0.alpha-72 release (#4440)
* chore(v2): prepare v2.0.0.alpha-72 release

* v2.0.0-alpha.72
2021-03-16 14:30:54 +03:00
Alexey Pyltsyn c3968e2d8f
chore(v2): upgrade Infima to v0.2.0-alpha.21 (#4429) 2021-03-15 17:50:46 +01:00
Leandro Oriente 05e3515ad1
chore(v2): upgrade react-toggle to v4.1.2 (#4436) 2021-03-14 21:44:59 +03:00
Sébastien Lorber 986de6b214
chore(v2): prepare v2.0.0.alpha-71 release (#4376)
* prepare release

* v2.0.0-alpha.71
2021-03-09 18:45:05 +01:00
Sébastien Lorber f8884044fb
chore(v2): update infima (#4370)
* update infima

* update yarn lock

* Updates

Co-authored-by: Alexey Pyltsyn <lex61rus@gmail.com>
2021-03-09 14:58:05 +01:00
Armano e6261af642
refactor(v2): remove duplicated lodash dependencies and import only what needed (#4361)
Co-authored-by: slorber <lorber.sebastien@gmail.com>
2021-03-09 12:15:52 +01:00
Sébastien Lorber 1734975f2f
feat(v2): Add Interpolate / interpolate APIs + complete theme translations (#4295)
* WIP: refactor team profile cards

* Add Interpolate / interpolate APIs

* Add interpolate snapshot test

* comments

* fix Interpolate TS types

* Interpolate should handle numbers and other JS types

* translate BlogPostItem

* interpolate translate() fn + add translations for blog post tag header

* localize the LastUpdated component

* translate DocVersionSuggestions

* fix test

* add some new translations

* Add node script to easily update the theme default translations

* fix translation extractor bug due to translate() dynamic values

* use ICU placeholder syntax

* refactor month key

* order

* team  page translation improvements

* Add interpolation doc + improve i18n doc
2021-02-26 13:19:51 +01:00
Sébastien Lorber 0e1d1ce310
fix(v2): theme classic should have lib-next prettified (#4274) 2021-02-23 15:55:05 +01:00
Alexey Pyltsyn f13448d5e1
chore(v2): upgrade dependencies + require Node 12 (#4223)
* chore(v2): upgrade dependencies

* Set minimum Node.js version to 12.13

* Fix test

* Upgrade copy-text-to-clipboard

* Bump Node versions

* Update .nvmrc

* mark cacheTime as forbidded field

* Downgrade jest to v25.2.7

* Increase Node version for Windows CI

* Test fix

* Attempt to fix Windows CI

* Downgrade execa

* fix async test errors

* Upgrade execa

Co-authored-by: slorber <lorber.sebastien@gmail.com>
2021-02-18 15:12:42 +01:00
Alexey Pyltsyn 175d9c3c8e
feat(v2): support/use React v17 by default (#4218)
* chore(v2): allow React v17 as peer dependency

* minor React 17 changes

* Revert examples

* Possible fix

* Use @docusaurus/react-loadable fork

* add back react-loadable to please eslint/ts/linters, even if it's unused in practice

* missing dependency bump

* move enzyme dependencies to docusaurus v1

Co-authored-by: slorber <lorber.sebastien@gmail.com>
2021-02-12 17:04:45 +01:00
Alexey Pyltsyn 0ac34b75c5
feat(v2): add support for RTL direction (#4140)
* feat(v2): add support for RTL

* Move to i18n config

* Move direction to localeConfigs

* Create RTL styles for Docusaurus styles (via new hook)

* update infima to alpha 19

* fix minor type error

* Fix build

* Cleanup

* polish RTL support

* polish RTL support

* revert english rtl dir

* minor RTL fix

* minor doc updates

Co-authored-by: slorber <lorber.sebastien@gmail.com>
2021-02-10 10:52:26 +01:00
Alexey Pyltsyn d22039c200
chore(v2): upgrade dependencies (#4148)
* chore(v2): upgrade dependencies

* Update docs

* Revert `execa`

* Revert sitemap
2021-02-02 14:37:45 +01:00
Sébastien Lorber 3fc29f4b14
chore(v2): prepare v2.0.0.alpha-70 release (#3933)
* add alpha 70 changes

* v2.0.0-alpha.70
2020-12-17 20:08:20 +01:00
Sébastien Lorber 41ef333e47
feat(v2): inline table-of-contents + refactor TOC (#3904)
* Add TOCInline theme component

* Add TOCInline theme component doc + migration guide

* remove useless getPathsToWatch on classic theme

* rename rightToc to toc

* add temp theme-bootstrap TOCInline comp to fix build issue
2020-12-11 16:30:53 +01:00
Bartosz Kaszubowski f37987f32f
chore(v2): fix ignore paths and Prettier commands in themes (#3865)
* chore(v2): fix Prettier ignore paths and commands in themes

* chore(ci): do not ignore v1 lib, remove old .gitignore

* chore(ci): apply tweaks also to eslint ignore
2020-12-03 11:50:03 +01:00
Sébastien Lorber 3166fab307
feat(v2): core v2 i18n support + Docusaurus site Crowdin integration (#3325)
* docs i18n initial poc

* docs i18n initial poc

* docs i18n initial poc

* docs i18n initial poc

* crowdin-v2 attempt

* fix source

* use crowdin env variable

* try to install crowdin on netlify

* try to install crowdin on netlify

* try to use crowdin jar directly

* try to curl the crowdin jar

* add java version cmd

* try to run crowdin jar in netlify

* fix translatedDocsDirPath

* fix loadContext issue due to site baseUrl not being modified in generted config file

* real validateLocalesFile

* add locale option to deploy command

* better LocalizationFile type

* create util getPluginI18nPath

* better core localization context loading code

* More explicit VersionMetadata type for localized docs folders

* Ability to translate blog posts with Crowdin!

* blog: refactor markdown loader + report broken links + try to get linkify working better

* upgrade crowdin config to upload all docs folder files except source code related files

* try to support translated pages

* make markdown pages translation work

* add write-translations cli command template

* fix site not  reloaded with correct options

* refactor a bit the read/write of @generated/i18n.json file

* Add <Translate> + translate() API + use it on the docusaurus homepage

* watch locale translation dir

* early POC of adding babel parsing for translation extraction

* fs.stat => pathExists

* add install:fast script

* TSC: noUnusedLocals false as it's already checked  by eslint

* POC of extracting translations from source code

* minor typo

* fix extracted key to code

* initial docs extracted translations

* stable plugin translations POC

* add crowdin commands

* quickfix for i18n deployment

* POC  of themeConfig translation

* add ability to have localized site without path prefix

* sidebar typo

* refactor translation system to output multiple translation files

* translate properly  the docs plugin

* improve theme classic translation

* rework translation extractor to handle new Chrome I18n JSON format (include id/description)

* writeTranslations: allow to pass locales cli arg

* fix ThemeConfig TS issues

* fix localizePath errors

* temporary add write-translations to netlify deploy preview

* complete example of french translated folder

* update fr folder

* remove all translations from repo

* minor translation  refactors

* fix all docs-related tests

* fix blog feed tests

* fix last blog tests

* refactor i18n context a bit, extract codeTranslations in an extra generated file

* improve @generated/i18n type

* fix some i18n todos

* minor refactor

* fix logo typing issue after merge

* move i18n.json to siteConfig instead

* try to fix windows CI build

* fix config test

* attempt to fix windows non-posix path

* increase v1 minify css jest timeout due to flaky test

* proper support for localizePath on windows

* remove non-functional install:fast

* docs, fix docsDirPathLocalized

* fix Docs i18n / md linkify issues

* ensure theme-classic swizzling will use "nextjs" sources (transpiled less aggressively, to make them human readable)

* fix some snapshots

* improve themeConfig translation code

* refactor a bit getPluginI18nPath

* readTranslationFileContent => ensure files are valid, fail fast

* fix versions tests

* add extractSourceCodeAstTranslations comments/resource links

* ignore eslint: packages/docusaurus-theme-classic/lib-next/

* fix windows CI with cross-env

* crowdin ignore .DS_Store

* improve writeTranslations + add exhaustive tests for translations.ts

* remove typo

* Wire currentLocale to algolia search

* improve i18n locale error

* Add tests for translationsExtractor.ts

* better code translation extraction regarding statically evaluable code

* fix typo

* fix typo

* improve theme-classic transpilation

* refactor  +  add i18n tests

* typo

* test new utils

* add missing snapshots

* fix snapshot

* blog onBrokenMarkdownLink

* add sidebars tests

* theme-classic index should now use ES modules

* tests for theme-classic translations

* useless comment

* add more translation tests

* simplify/cleanup writeTranslations

* try to fix Netlify fr deployment

* blog: test translated md is used during feed generation

* blog: better i18n tests regarding editUrl + md translation application

* more i18n tests for docs plugin

* more i18n tests for docs plugin

* Add tests for pages i18n

* polish docusaurus build i18n logs
2020-11-26 12:16:46 +01:00
Alexey Pyltsyn d25a54f61d
chore(v2): prepare v2.0.0.alpha-69 release (#3808)
* chore(v2): prepare v2.0.0.alpha-69 release

* v2.0.0-alpha.69
2020-11-24 13:51:15 +03:00
Alexey Pyltsyn a9e27da09f
chore(v2): upgrade Infima to v0.2.0-alpha.18 (#3807) 2020-11-24 13:00:30 +03:00
Bartosz Kaszubowski d79d5ba898
fix(v2): ensure that the react-router and *-dom version matches (#3794) 2020-11-21 18:50:25 +03:00
Sébastien Lorber d1e51f7e3b
chore(v2): prepare v2.0.0.alpha-68 release (#3779)
* changelog

* add alpha 68 docs

* add missing publishConfig

* update publish doc + v1 private package system

* add version files

* v2.0.0-alpha.68
2020-11-18 20:02:06 +01:00
Alexey Pyltsyn 0331c55850
chore(v2): upgrade Infima to v0.2.0-alpha.17 (#3777) 2020-11-18 16:35:51 +01:00
Sébastien Lorber abcd8cefd6
feat(v2): @docusaurus/theme-common (#3775)
* create base @docusaurus/theme-common package + fix Webpack client export aliases issue shadowing other theme-common package

* Move theme-classic/src/utils code to new @docusaurus/theme-common package

* add prettierignore

* fix bad test location for getDocusaurusAliases()
2020-11-18 16:00:51 +01:00
Alexey Pyltsyn 049634a927
chore(v2): upgrade dependencies (#3727)
* chore(v2): upgrade dependencies

* Update loader-utils

* Update MDX packages

* Update Babel packages

* Various updates
2020-11-12 12:30:14 +01:00
Alexey Pyltsyn 46dba2f3c6
chore(v2): upgrade Infima to v0.2.0-alpha.15 (#3712)
* Move custom scrollbar styles to separate class

* chore(v2): upgrade Infima to v0.2.0-alpha.15
2020-11-08 01:18:39 +03:00