* feat(v2): Support swizzling TypeScript components
* Add tsc --noEmit to tsc script in theme-classic
Now everything can pass the type checker! (although still a lot of any)
* Add tsconfig and types.d.ts to website
Improve developer experience.
As an example, I converted NotFound to tsx
* Apply type annotation suggestions
* Do not fallback to `getThemePath` if getTypeScriptThemePath is undefined
* Fix tsc
* Add module declaration for @theme-original/*
* Move babel cli to root package.json
* add validation for blog plugin
* fix wrong default component
* fix test and add yup to package.json
* remove console.log
* add validation for classic theme and code block theme
* add yup to packages
* remove console.log
* fix build
* fix logo required
* replaced yup with joi
* fix test
* remove hapi from docusuars core
* replace joi with @hapi/joi
* fix eslint
* fix remark plugin type
* change remark plugin validation to match documentation
* move schema to it's own file
* allow unknown only on outer theme object
* fix type for schema type
* fix yarn.lock
* support both commonjs and ES modules
* add docs for new lifecycle method
* better fixes for docs homepage
* fix tests
* create special route for docs homepage + cleanup existing code
* no need to create multiple docs parent paths
* useful comment
* add test for slug + doc home usage at the same time error
* remove confusing variable name
* fix tests by using same suffix as before for docs base metadata path
* metadata: use homePageId correctly for nested docs: the full docId (including /) should be used to compare against homePageId
* add folder/testNested test doc
* refactor a bit processMetadata, the home should be handled correctly for all versions
* Workaround to fix issue when parent layout route (DocPage) has same path as the child route (DocItem): see https://github.com/facebook/docusaurus/issues/2917
* revert homePageId
* remove test doc
* remove test doc
* add useful comment
* perf(v2): convert synchronous filewrite to asynchronous in feed file generate
This looks like should return a Promise list , other than a sync io operation
* perf(v2): convert synchronous filewrite to asynchronous in sitemap generate
* perf(v2): convert Promise style to async/await style
for consistency
* feat(v2): add metadata to indicate the document is old
* feat(v2): add badge that links old versions to latest version
* feat(v2): fix test related to metadata
* feat(v2): fix formatting
* feat(v2): fix formatting
* feat(v2): use Link component instead of anchor tag
* feat(v2): add pramlink to latest docs
* feat(v2): add more vibrant warning message
* feat(v2): position the banner above the article
* feat(v2): link latest version to intro page
* fix(v2): fix some test cases
* feat(v2): fix tests
* feat(v2): change banner to warning orange
* feat(v2): compute root route from sidebar
* style(v2): fix formatting
* feat(v2): use homeid if provided to compute base route
* feat(v2): rename functions and fix a corner case
* feat(v2): fix formating
* feat(v2): compute homepageurl
* style(v2): improve code quality
* style(v2): unbold fullstop for consistency
Co-authored-by: Anshul Goyal <anshulgoel151999@gmail.com>
* feat(v2): Allow configuring babel via docusaurus.config.js
* Use api.caller feature from babel to avoid expose isServer to users
* Remove unused optional config key
* Make babel loader resolve and require config file
* improve markdown parsing errors by adding file path to error
* typo commit
* Add default nav item position to right (as v1)
* improve error when sidebar references unexisting document
* parseMarkdownFile: improve errors by providing hint about using "" to avoid parsing errors, if using special characters
* improve subcategory migration error for Unknown sidebar item type
* improve unrecognizedFields error
* typo
* fix inline snapshots
* improve the migration docs
* improve the migration docs
* improve migration doc
* Update migrating-from-v1-to-v2.md
Co-authored-by: Yangshun Tay <tay.yang.shun@gmail.com>