* 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
* 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