* doc components initial simplification
* doc components initial simplification
* add docContext test
* Add poc of global data system + use it in the theme
* Revert "doc components initial simplification"
This reverts commit f657b4c4
* revert useless changes
* avoid loosing context on docs switch
* fix docs tests
* fix @generated/globalData ts declaration / es import
* typo
* revert bad commit
* refactor navbar in multiple parts + add navbar item types validation + try to fix remaining merge bugs
* add missing watch mode for plugin debug
* fix docs global data integration, move related hooks to docs plugin + convert to TS
* change versions link label
* fix activeClassName react warning
* improve docs global data system + contextual navbar dropdown
* fix bug preventing the deployment
* refactor the global data system to namespace automatically by plugin name + plugin id
* proper NavbarItem comp
* fix tests
* fix snapshot
* extract theme config schema in separate file + rename navbar links to navbar items
* minor typos
* polish docs components/api
* polish useDocs api surface
* fix the docs version suggestions comp + data
* refactors + add docsClientUtils unit tests
* Add documentation
* typo
* Add check for duplicate plugin ids detection
* multi-instance: createData plugin data should be namespaced by plugin instance id
* remove attempt for multi-instance support
* feat(v2): notify users when docusaurus version is outdated
* style(v2): add comments
* fix(v2): fix spacing in message
* feat(v2): make update notifier work on first run
* Add some default asset loaders
Add webpack merge strategy feature to enable plugins to prepend some webpack configuration (like the ideal image plugin that should override the default image loader)
* Add documentation for using assets from markdown
* add path prefix for webpack file loader
* renaming
* document Merge strategies
* rename mergeStrategies -> mergeStrategy
* chore(v2): Add E2E test for yarn v2
* Remove root node_modules to prevent them from accessible in e2e test
The purpose of e2e test is to ensure that the docusaurus inited website can stand on its own. The root node_modules remain accessible according to how node resolution works and it might interfere with the test. Remove them for safety.
* Add @mdx-js/react to docusaurus init templates
* feat(v2): prompt user when default port is in use
* chore(v2): fixed eslint error
* fix(v2): removed portfinder from package
* fix(v2): removed irrelevant cra specific feature
* fix(v2): isolates feature and credits cra
* feat(v2): use relative routes path in postBuild hook
* feat(v2): use relativeRoutesPath in other methods and modify tests
* fix(v2): fix D2 client redirects and tests
* feat(v2): add tests for relativeRoutesPaths
* fix(v2): fix some typos in configValidation
* fix(v2): fix an eslint warning and restart github action
* refactor(v2): create a removePrefix method
* refactor(v2): inline unnecessary method
* use joi for validation
* fix theme validation
* add test for required fields
* format errors
* a little better format errors
* fix config file
* try to rerun action
* Fix typo in markdown-features
The code needed to be in npm syntax in order to work with npm2yarn
* Update markdown-features.mdx
Co-authored-by: Sébastien Lorber <slorber@users.noreply.github.com>
* 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