1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-12-28 00:06:53 +01:00
unleash.unleash/website/package.json

89 lines
2.6 KiB
JSON
Raw Normal View History

{
"name": "websitev-2",
"version": "0.0.0",
"private": true,
"engines": {
"node": ">=18"
},
"scripts": {
"docusaurus": "docusaurus",
"start": "docusaurus start",
2022-09-20 12:43:39 +02:00
"build": "yarn generate && docusaurus build",
"swizzle": "docusaurus swizzle",
2022-09-20 12:43:39 +02:00
"generate": "docusaurus gen-api-docs all && node clean-generated-docs.js",
"deploy": "yarn generate && docusaurus deploy",
"clear": "docusaurus clear",
"serve": "docusaurus serve",
"write-translations": "docusaurus write-translations",
2022-02-17 12:30:49 +01:00
"write-heading-ids": "docusaurus write-heading-ids",
"storybook": "start-storybook -p 6006",
"build-storybook": "build-storybook"
},
"dependencies": {
"@docusaurus/core": "2.3.1",
"@docusaurus/plugin-client-redirects": "2.3.1",
"@docusaurus/plugin-google-analytics": "2.3.1",
"@docusaurus/preset-classic": "2.3.1",
"@docusaurus/remark-plugin-npm2yarn": "2.3.1",
"@docusaurus/theme-mermaid": "2.3.1",
"@mdx-js/react": "1.6.22",
"@svgr/webpack": "6.5.1",
chore: fix broken docs build / remove unused tag files (#2402) ## Issue So, we've got an issue with our docs build not working. When building for production, we get an error that looks a little bit like this: ``` $ docusaurus build [INFO] [en] Creating an optimized production build... ✔ Client ✖ Server Compiled with some errors in 40.85s TypeError: source_default(...).bold is not a function TypeError: source_default(...).bold is not a function [ERROR] Unable to build website for locale en. [ERROR] Error: Failed to compile with errors. at /Users/thomas/projects/work/unleash/website/node_modules/@docusaurus/core/lib/webpack/utils.js:180:24 at /Users/thomas/projects/work/unleash/website/node_modules/webpack/lib/MultiCompiler.js:554:14 at processQueueWorker (/Users/thomas/projects/work/unleash/website/node_modules/webpack/lib/MultiCompiler.js:491:6) at processTicksAndRejections (node:internal/process/task_queues:78:11) [INFO] Docusaurus version: 2.2.0 Node version: v16.14.0 error Command failed with exit code 1. ``` Which isn't very helpful at all. If you go into `/node_modules/@docusaurus/core/lib/client/serverEntry.js` and modify the `render` function to log the actual error and remove anything chalk-related, you get this instead: ``` $ docusaurus build [INFO] [en] Creating an optimized production build... ✔ Client ✖ Server Compiled with some errors in 44.62s Actual error: Error: Unexpected: cant find current sidebar in context at useCurrentSidebarCategory (main:11618:247) at MDXContent (main:38139:1593) at Fb (main:149154:44) at Ib (main:149156:254) at W (main:149162:89) at Jb (main:149165:98) at Ib (main:149157:145) at W (main:149162:89) at Jb (main:149165:98) at Ib (main:149157:145) Actual error: Error: Unexpected: cant find current sidebar in context at useCurrentSidebarCategory (main:11618:247) at MDXContent (main:38513:1469) at Fb (main:149154:44) at Ib (main:149156:254) at W (main:149162:89) at Jb (main:149165:98) at Ib (main:149157:145) at W (main:149162:89) at Jb (main:149165:98) at Ib (main:149157:145) Error: Unexpected: cant find current sidebar in context Error: Unexpected: cant find current sidebar in context [ERROR] Unable to build website for locale en. [ERROR] Error: Failed to compile with errors. at /Users/thomas/projects/work/unleash/website/node_modules/@docusaurus/core/lib/webpack/utils.js:180:24 at /Users/thomas/projects/work/unleash/website/node_modules/webpack/lib/MultiCompiler.js:554:14 at processQueueWorker (/Users/thomas/projects/work/unleash/website/node_modules/webpack/lib/MultiCompiler.js:491:6) at processTicksAndRejections (node:internal/process/task_queues:78:11) [INFO] Docusaurus version: 2.2.0 Node version: v16.14.0 error Command failed with exit code 1. ``` That's better, but it's still not very clear. ## Getting more info We've had problems with a similar error message before. Last time it was caused by an empty file that docusaurus couldn't process. A similar issue has also been described in [ this docusaurus GitHub issue ](https://github.com/facebook/docusaurus/issues/7686). That's also what gave me the idea of changing the logging in the dependency. I'm currently unsure whether this is caused by the openapi docs or something else. I've been in touch with the [openapi plugin maintainer](https://github.com/PaloAltoNetworks/docusaurus-openapi-docs/issues/323) and he has been able to see the same error when building for prod locally, but it was due to some old generated files. Worth noting: this only seems to affect the prod build. Building for dev (`yarn docusaurus start`) works just fine. It also fails locally **and** in CI, so it _is_ an issue. ## Updating the logging To get better logging, you can go into the `/node_modules/@docusaurus/core/lib/client/serverEntry.js` file and update the `render` function from ```js export default async function render(locals) { try { return await doRender(locals); } catch (err) { // We are not using logger in this file, because it seems to fail with some // compilers / some polyfill methods. This is very likely a bug, but in the // long term, when we output native ES modules in SSR, the bug will be gone. // prettier-ignore console.error(chalk.red(`${chalk.bold('[ERROR]')} Docusaurus server-side rendering could not render static page with path ${chalk.cyan.underline(locals.path)}.`)); const isNotDefinedErrorRegex = /(?:window|document|localStorage|navigator|alert|location|buffer|self) is not defined/i; if (isNotDefinedErrorRegex.test(err.message)) { // prettier-ignore console.info(`${chalk.cyan.bold('[INFO]')} It looks like you are using code that should run on the client-side only. To get around it, try using ${chalk.cyan('`<BrowserOnly>`')} (${chalk.cyan.underline('https://docusaurus.io/docs/docusaurus-core/#browseronly')}) or ${chalk.cyan('`ExecutionEnvironment`')} (${chalk.cyan.underline('https://docusaurus.io/docs/docusaurus-core/#executionenvironment')}). It might also require to wrap your client code in ${chalk.cyan('`useEffect`')} hook and/or import a third-party library dynamically (if any).`); } throw err; } } ``` to ```js export default async function render(locals) { try { return await doRender(locals); } catch (err) { console.error(err) throw err; } } ``` That'll yield the errors about the current sidebar in context. ## Root cause Found the issue! 🙋🏼 It's explained in [this comment on the openapi docs integration](https://github.com/PaloAltoNetworks/docusaurus-openapi-docs/issues/323#issuecomment-1311549864) for now, but in short: we have tags defined that we don't use. They're being picked up by docusaurus, but don't have the proper context. That's causing this. The previously mentioned comment is included here for easy finding in the future: ### Root cause explanation The OpenAPI spec we use to generate the docs has a number of tags listed at the root level. This is necessary for this plugin to pick up tag categories and is, as far as I can tell, also how it _should_ be done. However, not all of those tags are in use. Specifically, there's 2 tags that are not. When the plugin generates docs from the spec, it generates pages for all endpoints and all tags and groups them by tag. However, it seems likely that if a tag doesn't have any associated endpoints, then it won't get added to the sidebar because there's no endpoint that references it. But the doc files for these tags do end up lying around in the directory regardless, and when docusaurus tries to pick up the files in the generated directory, it also tries to pick up the unused tag files. But because they're not part of a sidebar, they end up throwing errors because they can't find the sidebar context. ### How I found it The fact that I got more instances of the error message without the sidebar ref than with it made me pay more attention to the number of errors. I decided to check how many files were in the generated directory and how many files were referenced from the generated sidebar. Turns out the difference there was **2**: there were two generated files in the directory that the sidebar didn't reference. At this point, it was easy enough to try and delete those files before rebuilding, and wouldn't you know: it worked! ### Our use case Now, why do we have tags that are unused in the root spec? Can't we just remove them? That's a good question with a bit of a complicated answer. Unleash uses an open core model and the OpenAPI integration is part of that open core. The closed-source parts of Unleash are located in another repo and extend the open-source distribution. Because the OpenAPI spec is configured in the open-source part, enterprise-only tags etc also need to be configured there. Then, when the changes are absorbed into enterprise, we can use the tags there. It gets more complicated because we use an enterprise instance to generate the docs (because we want enterprise-endpoints to be listed too). The instance uses the latest released instance of Unleash to have the docs most accurately reflect the current state of things. So, in this case, the tags have been added, but not yet used by any endpoints, which suddenly causes this build failure. We can add the tags to the enterprise-version, but the spec wouldn't be updated before the next release regardless, which will probably be in a week or so. This isn't an ideal setup, but .. it is what it is. ## Solutions and workarounds As mentioned in the previous section, the reason the build was failing was that there were unused tag files that docusaurus tried to include in the build. Because they don't belong to a sidebar, the compilation failed. I've reported the issue to the openapi plugin maintainers and am waiting for a response. However, it seems that having unused root tags declared is invalid according to the spec, so it's something we should look into fixing in the future. ### Current workaround: cleaning script The current workaround is to extend the api cleaning script to manually remove the unused tag files. ### Ideal solution: filter root-level tags Ideally, we shouldn't list unused OpenAPI tags on the root level at all. However, because of the way we add root-level tags (as a predefined, static lists, refer to `src/lib/openapi/index.ts`) and endpoints (dynamically added at runtime) today, we don't really have a clear way to filter the list of tags. This gets even more complicated when taking the enterprise functionality and the potential extra tags they must have. This is, however, something that should definitely be looked into. Working with OpenAPI across multipile repos is already troublesome, so this is just yet another thing to look into.
2022-11-11 14:01:54 +01:00
"browserslist": "^4.16.5",
"clsx": "1.2.1",
fix(deps): update dependency docusaurus-plugin-openapi-docs to v2.0.0-beta.2 (#3593) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [docusaurus-plugin-openapi-docs](https://togithub.com/PaloAltoNetworks/docusaurus-openapi-docs) | [`2.0.0-beta.1` -> `2.0.0-beta.2`](https://renovatebot.com/diffs/npm/docusaurus-plugin-openapi-docs/2.0.0-beta.1/2.0.0-beta.2) | [![age](https://badges.renovateapi.com/packages/npm/docusaurus-plugin-openapi-docs/2.0.0-beta.2/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/docusaurus-plugin-openapi-docs/2.0.0-beta.2/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/docusaurus-plugin-openapi-docs/2.0.0-beta.2/compatibility-slim/2.0.0-beta.1)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/docusaurus-plugin-openapi-docs/2.0.0-beta.2/confidence-slim/2.0.0-beta.1)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>PaloAltoNetworks/docusaurus-openapi-docs</summary> ### [`v2.0.0-beta.2`](https://togithub.com/PaloAltoNetworks/docusaurus-openapi-docs/releases/tag/v2.0.0-beta.2) [Compare Source](https://togithub.com/PaloAltoNetworks/docusaurus-openapi-docs/compare/v2.0.0-beta.1...v2.0.0-beta.2) #### What's Changed - \[UI Enhancement] Restyle tree lines by [@&#8203;sserrata](https://togithub.com/sserrata) in [https://github.com/PaloAltoNetworks/docusaurus-openapi-docs/pull/489](https://togithub.com/PaloAltoNetworks/docusaurus-openapi-docs/pull/489) - \[UI Enhancement] Hide details marker by [@&#8203;sserrata](https://togithub.com/sserrata) in [https://github.com/PaloAltoNetworks/docusaurus-openapi-docs/pull/497](https://togithub.com/PaloAltoNetworks/docusaurus-openapi-docs/pull/497) - Breaking: Default categoryLinkSource to none, add `auto` option by [@&#8203;IanVS](https://togithub.com/IanVS) in [https://github.com/PaloAltoNetworks/docusaurus-openapi-docs/pull/495](https://togithub.com/PaloAltoNetworks/docusaurus-openapi-docs/pull/495) - \[Bug] Add missing status/headers tabs and apply max-height to code by [@&#8203;sserrata](https://togithub.com/sserrata) in [https://github.com/PaloAltoNetworks/docusaurus-openapi-docs/pull/517](https://togithub.com/PaloAltoNetworks/docusaurus-openapi-docs/pull/517) - Prepare release v2.0.0-beta.2 by [@&#8203;sserrata](https://togithub.com/sserrata) in [https://github.com/PaloAltoNetworks/docusaurus-openapi-docs/pull/515](https://togithub.com/PaloAltoNetworks/docusaurus-openapi-docs/pull/515) **Full Changelog**: https://github.com/PaloAltoNetworks/docusaurus-openapi-docs/compare/v2.0.0-beta.1...v2.0.0-beta.2 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/Unleash/unleash). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS41Ny4wIiwidXBkYXRlZEluVmVyIjoiMzUuNTcuMCJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-23 00:49:13 +02:00
"docusaurus-plugin-openapi-docs": "2.0.0-beta.2",
docs: Use Go readme (#2816) # PR 1: add remote content plugin and rust readme ## What This PR does a few connected things: 1. It adds the ["docusaurus-plugin-remote-content" package](https://github.com/rdilweb/docusaurus-plugin-remote-content). 2. It adds configuration to make it work with Readmes found on GitHub. 3. It adds the Rust SDK's readme (replacing the link we used to have) as a proof of concept on how to do it. ## Why With documentation split between GitHub readmes and the official docs, it's hard to keep everything up to date and in sync. It's also quite confusing that some information is only available in some places, but not in others. We've talked about auto-including readmes from GitHub for a while, so here's a proof of concept (finally) 🥳 The intention is to get this merged and then to migrate the other SDK docs one by one, ensuring that everything in the documentation is also in the readme (so that no info is lost). ## Discussion points ### Generation directory The current generation method generates the files into `/reference/sdks/<sdk name>`. I think this works for now, but it means it adds auto-generated files into a directory that you can't ignore (at least not yet). We could instead generate them into `/generated/sdks` and update the slugs so that they still match the expected pattern. However, this would make the sidebar a little harder to work with (for now). That said, there may be ways around it. It's worth exploring. ### Generation method By default, this plugin will generate files whenever you build. That (probably) means that you need an internet connection _and_ that you'll end up with a bunch of untracked files. An option is to only generate the files "manually" and commit them to the repo. That would allow you to build the project without an internet connection and would also remove the need for ignoring the files. We could automate the generation if we wanted to. ## Preview / Screenies Visit [/reference/sdks/rust](https://unleash-docs-git-docs-include-sdk-readmes-unleash-team.vercel.app/reference/sdks/rust) in the preview to see what it looks like live. ![image](https://user-images.githubusercontent.com/17786332/210373446-784b7e69-0f36-4e9e-874a-2b06b863b603.png) # PR 2: add go readme This PR changes the docs generation to use the Go SDK's GitHub readme for the SDK docs instead of a separate document. ## What The changes in this PR are: - Delete the existing Go SDK documentation. All the content in this guide already exists in the Go readme. - Add the Go SDK to the list of auto-generated readme docs - Move the readme-related code into a separate module, `readme-fns.js` (I'm not bullish about the file name: we can change it if you have suggestions) - Add a note to the top of all generated readmes saying you'll need an API url and an API token. The note also links you to the relevant reference and how-to docs. ## Why Having two different bits of documentation for the same SDK is troublesome. By only having the data in one place, we can avoid it going out of sync and getting stale.
2023-01-05 10:47:49 +01:00
"docusaurus-plugin-remote-content": "^3.1.0",
fix(deps): update dependency docusaurus-theme-openapi-docs to v2.0.0-beta.2 (#3594) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [docusaurus-theme-openapi-docs](https://togithub.com/PaloAltoNetworks/docusaurus-openapi-docs) | [`2.0.0-beta.1` -> `2.0.0-beta.2`](https://renovatebot.com/diffs/npm/docusaurus-theme-openapi-docs/2.0.0-beta.1/2.0.0-beta.2) | [![age](https://badges.renovateapi.com/packages/npm/docusaurus-theme-openapi-docs/2.0.0-beta.2/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/docusaurus-theme-openapi-docs/2.0.0-beta.2/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/docusaurus-theme-openapi-docs/2.0.0-beta.2/compatibility-slim/2.0.0-beta.1)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/docusaurus-theme-openapi-docs/2.0.0-beta.2/confidence-slim/2.0.0-beta.1)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>PaloAltoNetworks/docusaurus-openapi-docs</summary> ### [`v2.0.0-beta.2`](https://togithub.com/PaloAltoNetworks/docusaurus-openapi-docs/releases/tag/v2.0.0-beta.2) [Compare Source](https://togithub.com/PaloAltoNetworks/docusaurus-openapi-docs/compare/v2.0.0-beta.1...v2.0.0-beta.2) ##### What's Changed - \[UI Enhancement] Restyle tree lines by [@&#8203;sserrata](https://togithub.com/sserrata) in [https://github.com/PaloAltoNetworks/docusaurus-openapi-docs/pull/489](https://togithub.com/PaloAltoNetworks/docusaurus-openapi-docs/pull/489) - \[UI Enhancement] Hide details marker by [@&#8203;sserrata](https://togithub.com/sserrata) in [https://github.com/PaloAltoNetworks/docusaurus-openapi-docs/pull/497](https://togithub.com/PaloAltoNetworks/docusaurus-openapi-docs/pull/497) - Breaking: Default categoryLinkSource to none, add `auto` option by [@&#8203;IanVS](https://togithub.com/IanVS) in [https://github.com/PaloAltoNetworks/docusaurus-openapi-docs/pull/495](https://togithub.com/PaloAltoNetworks/docusaurus-openapi-docs/pull/495) - \[Bug] Add missing status/headers tabs and apply max-height to code by [@&#8203;sserrata](https://togithub.com/sserrata) in [https://github.com/PaloAltoNetworks/docusaurus-openapi-docs/pull/517](https://togithub.com/PaloAltoNetworks/docusaurus-openapi-docs/pull/517) - Prepare release v2.0.0-beta.2 by [@&#8203;sserrata](https://togithub.com/sserrata) in [https://github.com/PaloAltoNetworks/docusaurus-openapi-docs/pull/515](https://togithub.com/PaloAltoNetworks/docusaurus-openapi-docs/pull/515) **Full Changelog**: https://github.com/PaloAltoNetworks/docusaurus-openapi-docs/compare/v2.0.0-beta.1...v2.0.0-beta.2 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/Unleash/unleash). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS41Ny4wIiwidXBkYXRlZEluVmVyIjoiMzUuNTcuMCJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-23 05:38:22 +02:00
"docusaurus-theme-openapi-docs": "2.0.0-beta.2",
"file-loader": "6.2.0",
chore: fix broken docs build / remove unused tag files (#2402) ## Issue So, we've got an issue with our docs build not working. When building for production, we get an error that looks a little bit like this: ``` $ docusaurus build [INFO] [en] Creating an optimized production build... ✔ Client ✖ Server Compiled with some errors in 40.85s TypeError: source_default(...).bold is not a function TypeError: source_default(...).bold is not a function [ERROR] Unable to build website for locale en. [ERROR] Error: Failed to compile with errors. at /Users/thomas/projects/work/unleash/website/node_modules/@docusaurus/core/lib/webpack/utils.js:180:24 at /Users/thomas/projects/work/unleash/website/node_modules/webpack/lib/MultiCompiler.js:554:14 at processQueueWorker (/Users/thomas/projects/work/unleash/website/node_modules/webpack/lib/MultiCompiler.js:491:6) at processTicksAndRejections (node:internal/process/task_queues:78:11) [INFO] Docusaurus version: 2.2.0 Node version: v16.14.0 error Command failed with exit code 1. ``` Which isn't very helpful at all. If you go into `/node_modules/@docusaurus/core/lib/client/serverEntry.js` and modify the `render` function to log the actual error and remove anything chalk-related, you get this instead: ``` $ docusaurus build [INFO] [en] Creating an optimized production build... ✔ Client ✖ Server Compiled with some errors in 44.62s Actual error: Error: Unexpected: cant find current sidebar in context at useCurrentSidebarCategory (main:11618:247) at MDXContent (main:38139:1593) at Fb (main:149154:44) at Ib (main:149156:254) at W (main:149162:89) at Jb (main:149165:98) at Ib (main:149157:145) at W (main:149162:89) at Jb (main:149165:98) at Ib (main:149157:145) Actual error: Error: Unexpected: cant find current sidebar in context at useCurrentSidebarCategory (main:11618:247) at MDXContent (main:38513:1469) at Fb (main:149154:44) at Ib (main:149156:254) at W (main:149162:89) at Jb (main:149165:98) at Ib (main:149157:145) at W (main:149162:89) at Jb (main:149165:98) at Ib (main:149157:145) Error: Unexpected: cant find current sidebar in context Error: Unexpected: cant find current sidebar in context [ERROR] Unable to build website for locale en. [ERROR] Error: Failed to compile with errors. at /Users/thomas/projects/work/unleash/website/node_modules/@docusaurus/core/lib/webpack/utils.js:180:24 at /Users/thomas/projects/work/unleash/website/node_modules/webpack/lib/MultiCompiler.js:554:14 at processQueueWorker (/Users/thomas/projects/work/unleash/website/node_modules/webpack/lib/MultiCompiler.js:491:6) at processTicksAndRejections (node:internal/process/task_queues:78:11) [INFO] Docusaurus version: 2.2.0 Node version: v16.14.0 error Command failed with exit code 1. ``` That's better, but it's still not very clear. ## Getting more info We've had problems with a similar error message before. Last time it was caused by an empty file that docusaurus couldn't process. A similar issue has also been described in [ this docusaurus GitHub issue ](https://github.com/facebook/docusaurus/issues/7686). That's also what gave me the idea of changing the logging in the dependency. I'm currently unsure whether this is caused by the openapi docs or something else. I've been in touch with the [openapi plugin maintainer](https://github.com/PaloAltoNetworks/docusaurus-openapi-docs/issues/323) and he has been able to see the same error when building for prod locally, but it was due to some old generated files. Worth noting: this only seems to affect the prod build. Building for dev (`yarn docusaurus start`) works just fine. It also fails locally **and** in CI, so it _is_ an issue. ## Updating the logging To get better logging, you can go into the `/node_modules/@docusaurus/core/lib/client/serverEntry.js` file and update the `render` function from ```js export default async function render(locals) { try { return await doRender(locals); } catch (err) { // We are not using logger in this file, because it seems to fail with some // compilers / some polyfill methods. This is very likely a bug, but in the // long term, when we output native ES modules in SSR, the bug will be gone. // prettier-ignore console.error(chalk.red(`${chalk.bold('[ERROR]')} Docusaurus server-side rendering could not render static page with path ${chalk.cyan.underline(locals.path)}.`)); const isNotDefinedErrorRegex = /(?:window|document|localStorage|navigator|alert|location|buffer|self) is not defined/i; if (isNotDefinedErrorRegex.test(err.message)) { // prettier-ignore console.info(`${chalk.cyan.bold('[INFO]')} It looks like you are using code that should run on the client-side only. To get around it, try using ${chalk.cyan('`<BrowserOnly>`')} (${chalk.cyan.underline('https://docusaurus.io/docs/docusaurus-core/#browseronly')}) or ${chalk.cyan('`ExecutionEnvironment`')} (${chalk.cyan.underline('https://docusaurus.io/docs/docusaurus-core/#executionenvironment')}). It might also require to wrap your client code in ${chalk.cyan('`useEffect`')} hook and/or import a third-party library dynamically (if any).`); } throw err; } } ``` to ```js export default async function render(locals) { try { return await doRender(locals); } catch (err) { console.error(err) throw err; } } ``` That'll yield the errors about the current sidebar in context. ## Root cause Found the issue! 🙋🏼 It's explained in [this comment on the openapi docs integration](https://github.com/PaloAltoNetworks/docusaurus-openapi-docs/issues/323#issuecomment-1311549864) for now, but in short: we have tags defined that we don't use. They're being picked up by docusaurus, but don't have the proper context. That's causing this. The previously mentioned comment is included here for easy finding in the future: ### Root cause explanation The OpenAPI spec we use to generate the docs has a number of tags listed at the root level. This is necessary for this plugin to pick up tag categories and is, as far as I can tell, also how it _should_ be done. However, not all of those tags are in use. Specifically, there's 2 tags that are not. When the plugin generates docs from the spec, it generates pages for all endpoints and all tags and groups them by tag. However, it seems likely that if a tag doesn't have any associated endpoints, then it won't get added to the sidebar because there's no endpoint that references it. But the doc files for these tags do end up lying around in the directory regardless, and when docusaurus tries to pick up the files in the generated directory, it also tries to pick up the unused tag files. But because they're not part of a sidebar, they end up throwing errors because they can't find the sidebar context. ### How I found it The fact that I got more instances of the error message without the sidebar ref than with it made me pay more attention to the number of errors. I decided to check how many files were in the generated directory and how many files were referenced from the generated sidebar. Turns out the difference there was **2**: there were two generated files in the directory that the sidebar didn't reference. At this point, it was easy enough to try and delete those files before rebuilding, and wouldn't you know: it worked! ### Our use case Now, why do we have tags that are unused in the root spec? Can't we just remove them? That's a good question with a bit of a complicated answer. Unleash uses an open core model and the OpenAPI integration is part of that open core. The closed-source parts of Unleash are located in another repo and extend the open-source distribution. Because the OpenAPI spec is configured in the open-source part, enterprise-only tags etc also need to be configured there. Then, when the changes are absorbed into enterprise, we can use the tags there. It gets more complicated because we use an enterprise instance to generate the docs (because we want enterprise-endpoints to be listed too). The instance uses the latest released instance of Unleash to have the docs most accurately reflect the current state of things. So, in this case, the tags have been added, but not yet used by any endpoints, which suddenly causes this build failure. We can add the tags to the enterprise-version, but the spec wouldn't be updated before the next release regardless, which will probably be in a week or so. This isn't an ideal setup, but .. it is what it is. ## Solutions and workarounds As mentioned in the previous section, the reason the build was failing was that there were unused tag files that docusaurus tried to include in the build. Because they don't belong to a sidebar, the compilation failed. I've reported the issue to the openapi plugin maintainers and am waiting for a response. However, it seems that having unused root tags declared is invalid according to the spec, so it's something we should look into fixing in the future. ### Current workaround: cleaning script The current workaround is to extend the api cleaning script to manually remove the unused tag files. ### Ideal solution: filter root-level tags Ideally, we shouldn't list unused OpenAPI tags on the root level at all. However, because of the way we add root-level tags (as a predefined, static lists, refer to `src/lib/openapi/index.ts`) and endpoints (dynamically added at runtime) today, we don't really have a clear way to filter the list of tags. This gets even more complicated when taking the enterprise functionality and the potential extra tags they must have. This is, however, something that should definitely be looked into. Working with OpenAPI across multipile repos is already troublesome, so this is just yet another thing to look into.
2022-11-11 14:01:54 +01:00
"immer": "^9.0.6",
"react": "18.2.0",
"react-dom": "18.2.0",
fix(deps): update dependency unleash-proxy-client to v2.4.3 (#3226) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [unleash-proxy-client](https://togithub.com/unleash/unleash-proxy-client-js) | [`2.4.2` -> `2.4.3`](https://renovatebot.com/diffs/npm/unleash-proxy-client/2.4.2/2.4.3) | [![age](https://badges.renovateapi.com/packages/npm/unleash-proxy-client/2.4.3/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/unleash-proxy-client/2.4.3/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/unleash-proxy-client/2.4.3/compatibility-slim/2.4.2)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/unleash-proxy-client/2.4.3/confidence-slim/2.4.2)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>unleash/unleash-proxy-client-js</summary> ### [`v2.4.3`](https://togithub.com/Unleash/unleash-proxy-client-js/releases/tag/v2.4.3) [Compare Source](https://togithub.com/unleash/unleash-proxy-client-js/compare/v2.4.2...v2.4.3) - [`c4f5056`](http://github.com/Unleash/unleash-proxy-client-js/commit/c4f5056c22d6f46db21228716a741787c0a37afe) - docs: update readme with content from docs.getunleash.io ([#&#8203;136](https://togithub.com/unleash/unleash-proxy-client-js/issues/136)) - [`47bd1df`](http://github.com/Unleash/unleash-proxy-client-js/commit/47bd1df0d08fbb9c410519e1cec97add0c38824d) - fix: refetch after context update ([#&#8203;143](https://togithub.com/unleash/unleash-proxy-client-js/issues/143)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/Unleash/unleash). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4xNTMuMiIsInVwZGF0ZWRJblZlciI6IjM0LjE1My4yIn0=--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-01 23:47:47 +01:00
"unleash-proxy-client": "2.4.3",
"url-loader": "4.1.1"
},
"resolutions": {
2022-08-26 10:27:30 +02:00
"async": "^3.2.4",
"trim": "^1.0.0",
"got": "^11.8.5",
"glob-parent": "^6.0.0",
2021-09-20 12:37:53 +02:00
"browserslist": "^4.16.5",
"set-value": "^4.0.1",
2021-09-27 13:26:18 +02:00
"immer": "^9.0.6",
"ansi-regex": "^5.0.1",
2022-08-26 10:27:30 +02:00
"nth-check": "^2.0.1",
"shelljs": "^0.8.5",
2022-11-03 14:43:36 +01:00
"trim-newlines": "^4.0.0",
"minimatch": "^5.0.0",
chore(deps): update dependency decode-uri-component to ^0.4.0 (#2754) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [decode-uri-component](https://togithub.com/SamVerschueren/decode-uri-component) | [`^0.2.1` -> `^0.4.0`](https://renovatebot.com/diffs/npm/decode-uri-component/0.2.2/0.4.1) | [![age](https://badges.renovateapi.com/packages/npm/decode-uri-component/0.4.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/decode-uri-component/0.4.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/decode-uri-component/0.4.1/compatibility-slim/0.2.2)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/decode-uri-component/0.4.1/confidence-slim/0.2.2)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>SamVerschueren/decode-uri-component</summary> ### [`v0.4.1`](https://togithub.com/SamVerschueren/decode-uri-component/releases/tag/v0.4.1) [Compare Source](https://togithub.com/SamVerschueren/decode-uri-component/compare/v0.4.0...v0.4.1) - Add TypeScript type definitions [`c345b4c`](https://togithub.com/SamVerschueren/decode-uri-component/commit/c345b4c) ### [`v0.4.0`](https://togithub.com/SamVerschueren/decode-uri-component/releases/tag/v0.4.0) [Compare Source](https://togithub.com/SamVerschueren/decode-uri-component/compare/v0.3.0...v0.4.0) - Require Node.js 14 and move to ESM ([#&#8203;11](https://togithub.com/SamVerschueren/decode-uri-component/issues/11)) [`b09e39d`](https://togithub.com/SamVerschueren/decode-uri-component/commit/b09e39d) ### [`v0.3.0`](https://togithub.com/SamVerschueren/decode-uri-component/releases/tag/v0.3.0) [Compare Source](https://togithub.com/SamVerschueren/decode-uri-component/compare/v0.2.2...v0.3.0) - Do not decode + to a space - fixes [#&#8203;3](https://togithub.com/SamVerschueren/decode-uri-component/issues/3) [`3bbc879`](https://togithub.com/SamVerschueren/decode-uri-component/commit/3bbc879) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/Unleash/unleash). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC43My4zIiwidXBkYXRlZEluVmVyIjoiMzQuNzMuMyJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-28 02:40:24 +01:00
"decode-uri-component": "^0.4.0",
2022-12-08 11:32:22 +01:00
"qs": "^6.9.7"
},
"browserslist": {
"production": [
">0.5%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
2022-02-17 12:30:49 +01:00
},
"devDependencies": {
chore(deps): update dependency @babel/core to v7.21.5 (#3700) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@babel/core](https://babel.dev/docs/en/next/babel-core) ([source](https://togithub.com/babel/babel)) | [`7.21.4` -> `7.21.5`](https://renovatebot.com/diffs/npm/@babel%2fcore/7.21.4/7.21.5) | [![age](https://badges.renovateapi.com/packages/npm/@babel%2fcore/7.21.5/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@babel%2fcore/7.21.5/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@babel%2fcore/7.21.5/compatibility-slim/7.21.4)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@babel%2fcore/7.21.5/confidence-slim/7.21.4)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>babel/babel</summary> ### [`v7.21.5`](https://togithub.com/babel/babel/blob/HEAD/CHANGELOG.md#v7215-2023-04-28) [Compare Source](https://togithub.com/babel/babel/compare/v7.21.4...v7.21.5) ##### :eyeglasses: Spec Compliance - `babel-generator`, `babel-parser`, `babel-types` - [#&#8203;15539](https://togithub.com/babel/babel/pull/15539) fix: Remove `mixins` and `implements` for `DeclareInterface` and `InterfaceDeclaration` ([@&#8203;liuxingbaoyu](https://togithub.com/liuxingbaoyu)) ##### :bug: Bug Fix - `babel-core`, `babel-generator`, `babel-plugin-transform-modules-commonjs`, `babel-plugin-transform-react-jsx` - [#&#8203;15515](https://togithub.com/babel/babel/pull/15515) fix: `)` position with `createParenthesizedExpressions` ([@&#8203;liuxingbaoyu](https://togithub.com/liuxingbaoyu)) - `babel-preset-env` - [#&#8203;15580](https://togithub.com/babel/babel/pull/15580) Add syntax import meta to preset env ([@&#8203;JLHwung](https://togithub.com/JLHwung)) ##### :nail_care: Polish - `babel-types` - [#&#8203;15546](https://togithub.com/babel/babel/pull/15546) Improve the layout of generated validators ([@&#8203;liuxingbaoyu](https://togithub.com/liuxingbaoyu)) - `babel-core` - [#&#8203;15535](https://togithub.com/babel/babel/pull/15535) Use `lt` instead of `lte` to check TS version for .cts config ([@&#8203;nicolo-ribaudo](https://togithub.com/nicolo-ribaudo)) ##### :house: Internal - `babel-core` - [#&#8203;15575](https://togithub.com/babel/babel/pull/15575) Use synchronous `import.meta.resolve` ([@&#8203;nicolo-ribaudo](https://togithub.com/nicolo-ribaudo)) - `babel-helper-fixtures`, `babel-preset-typescript` - [#&#8203;15568](https://togithub.com/babel/babel/pull/15568) Handle `.overrides` and `.env` when resolving plugins/presets from fixture options ([@&#8203;JLHwung](https://togithub.com/JLHwung)) - `babel-helper-create-class-features-plugin`, `babel-helper-create-regexp-features-plugin` - [#&#8203;15548](https://togithub.com/babel/babel/pull/15548) Use `semver` package to compare versions ([@&#8203;nicolo-ribaudo](https://togithub.com/nicolo-ribaudo)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/Unleash/unleash). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS43MS40IiwidXBkYXRlZEluVmVyIjoiMzUuNzEuNCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-06 04:57:23 +02:00
"@babel/core": "7.21.5",
"@docusaurus/module-type-aliases": "2.3.1",
chore(deps): update storybook monorepo to v6.5.16 (#3093) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@storybook/addon-actions](https://togithub.com/storybookjs/storybook/tree/main/addons/actions) ([source](https://togithub.com/storybookjs/storybook)) | [`6.5.15` -> `6.5.16`](https://renovatebot.com/diffs/npm/@storybook%2faddon-actions/6.5.15/6.5.16) | [![age](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-actions/6.5.16/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-actions/6.5.16/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-actions/6.5.16/compatibility-slim/6.5.15)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-actions/6.5.16/confidence-slim/6.5.15)](https://docs.renovatebot.com/merge-confidence/) | | [@storybook/addon-essentials](https://togithub.com/storybookjs/storybook/tree/main/addons/essentials) ([source](https://togithub.com/storybookjs/storybook)) | [`6.5.15` -> `6.5.16`](https://renovatebot.com/diffs/npm/@storybook%2faddon-essentials/6.5.15/6.5.16) | [![age](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-essentials/6.5.16/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-essentials/6.5.16/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-essentials/6.5.16/compatibility-slim/6.5.15)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-essentials/6.5.16/confidence-slim/6.5.15)](https://docs.renovatebot.com/merge-confidence/) | | [@storybook/addon-interactions](https://togithub.com/storybookjs/storybook/tree/main/addons/interactions) ([source](https://togithub.com/storybookjs/storybook)) | [`6.5.15` -> `6.5.16`](https://renovatebot.com/diffs/npm/@storybook%2faddon-interactions/6.5.15/6.5.16) | [![age](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-interactions/6.5.16/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-interactions/6.5.16/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-interactions/6.5.16/compatibility-slim/6.5.15)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-interactions/6.5.16/confidence-slim/6.5.15)](https://docs.renovatebot.com/merge-confidence/) | | [@storybook/addon-links](https://togithub.com/storybookjs/storybook/tree/main/addons/links) ([source](https://togithub.com/storybookjs/storybook)) | [`6.5.15` -> `6.5.16`](https://renovatebot.com/diffs/npm/@storybook%2faddon-links/6.5.15/6.5.16) | [![age](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-links/6.5.16/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-links/6.5.16/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-links/6.5.16/compatibility-slim/6.5.15)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@storybook%2faddon-links/6.5.16/confidence-slim/6.5.15)](https://docs.renovatebot.com/merge-confidence/) | | [@storybook/react](https://togithub.com/storybookjs/storybook/tree/main/app/react) ([source](https://togithub.com/storybookjs/storybook)) | [`6.5.15` -> `6.5.16`](https://renovatebot.com/diffs/npm/@storybook%2freact/6.5.15/6.5.16) | [![age](https://badges.renovateapi.com/packages/npm/@storybook%2freact/6.5.16/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@storybook%2freact/6.5.16/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@storybook%2freact/6.5.16/compatibility-slim/6.5.15)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@storybook%2freact/6.5.16/confidence-slim/6.5.15)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>storybookjs/storybook</summary> ### [`v6.5.16`](https://togithub.com/storybookjs/storybook/releases/tag/v6.5.16) [Compare Source](https://togithub.com/storybookjs/storybook/compare/v6.5.15...v6.5.16) ##### Bug Fixes - Angular: Fix handling of docsMode option in angular builder [#&#8203;20608](https://togithub.com/storybooks/storybook/pull/20608) - Angular: Fix webpackStatsJson types in angular-builder [#&#8203;20296](https://togithub.com/storybooks/storybook/pull/20296) ##### Dependency Upgrades - Security: Upgrade json5 dependency [#&#8203;20526](https://togithub.com/storybooks/storybook/pull/20526) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/Unleash/unleash). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4xMzMuMCIsInVwZGF0ZWRJblZlciI6IjM0LjEzMy4wIn0=--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-13 13:23:59 +01:00
"@storybook/addon-actions": "6.5.16",
"@storybook/addon-essentials": "6.5.16",
"@storybook/addon-interactions": "6.5.16",
"@storybook/addon-links": "6.5.16",
"@storybook/react": "6.5.16",
chore(deps): update dependency @storybook/testing-library to v0.1.0 (#3595) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@storybook/testing-library](https://togithub.com/storybookjs/testing-library) | [`0.0.13` -> `0.1.0`](https://renovatebot.com/diffs/npm/@storybook%2ftesting-library/0.0.13/0.1.0) | [![age](https://badges.renovateapi.com/packages/npm/@storybook%2ftesting-library/0.1.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@storybook%2ftesting-library/0.1.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@storybook%2ftesting-library/0.1.0/compatibility-slim/0.0.13)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@storybook%2ftesting-library/0.1.0/confidence-slim/0.0.13)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>storybookjs/testing-library</summary> ### [`v0.1.0`](https://togithub.com/storybookjs/testing-library/blob/HEAD/CHANGELOG.md#v010-Mon-Apr-03-2023) [Compare Source](https://togithub.com/storybookjs/testing-library/compare/v0.0.13...v0.1.0) :tada: This release contains work from a new contributor! :tada: Thank you, Kasper Peulen ([@&#8203;kasperpeulen](https://togithub.com/kasperpeulen)), for all your work! ##### 🚀 Enhancement ##### 🐛 Bug Fix - Support Storybook 7.0.0 [#&#8203;34](https://togithub.com/storybookjs/testing-library/pull/34) ([@&#8203;yannbf](https://togithub.com/yannbf)) - Make `waitFor` interceptable and don't override interval/timeout [#&#8203;23](https://togithub.com/storybookjs/testing-library/pull/23) ([@&#8203;ghengeveld](https://togithub.com/ghengeveld) [@&#8203;yannbf](https://togithub.com/yannbf)) - support storybook 7.0 [#&#8203;30](https://togithub.com/storybookjs/testing-library/pull/30) ([@&#8203;yannbf](https://togithub.com/yannbf)) ##### Authors: 3 - Gert Hengeveld ([@&#8203;ghengeveld](https://togithub.com/ghengeveld)) - Kasper Peulen ([@&#8203;kasperpeulen](https://togithub.com/kasperpeulen)) - Yann Braga ([@&#8203;yannbf](https://togithub.com/yannbf)) *** </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/Unleash/unleash). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS41Ny4wIiwidXBkYXRlZEluVmVyIjoiMzUuNTcuMCJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-23 08:08:27 +02:00
"@storybook/testing-library": "0.1.0",
chore(deps): update dependency @tsconfig/docusaurus to v1.0.7 (#3394) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@tsconfig/docusaurus](https://togithub.com/tsconfig/bases) | [`1.0.6` -> `1.0.7`](https://renovatebot.com/diffs/npm/@tsconfig%2fdocusaurus/1.0.6/1.0.7) | [![age](https://badges.renovateapi.com/packages/npm/@tsconfig%2fdocusaurus/1.0.7/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@tsconfig%2fdocusaurus/1.0.7/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@tsconfig%2fdocusaurus/1.0.7/compatibility-slim/1.0.6)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@tsconfig%2fdocusaurus/1.0.7/confidence-slim/1.0.6)](https://docs.renovatebot.com/merge-confidence/) | --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/Unleash/unleash). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4yMy4zIiwidXBkYXRlZEluVmVyIjoiMzUuMjMuMyJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-28 05:04:52 +02:00
"@tsconfig/docusaurus": "1.0.7",
chore(deps): update dependency babel-loader to v9.1.2 (#2826) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [babel-loader](https://togithub.com/babel/babel-loader) | [`9.1.0` -> `9.1.2`](https://renovatebot.com/diffs/npm/babel-loader/9.1.0/9.1.2) | [![age](https://badges.renovateapi.com/packages/npm/babel-loader/9.1.2/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/babel-loader/9.1.2/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/babel-loader/9.1.2/compatibility-slim/9.1.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/babel-loader/9.1.2/confidence-slim/9.1.0)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>babel/babel-loader</summary> ### [`v9.1.2`](https://togithub.com/babel/babel-loader/releases/tag/v9.1.2) [Compare Source](https://togithub.com/babel/babel-loader/compare/v9.1.1...v9.1.2) 9.1.1 was a broken release, it didn't include all the commits. #### Dependencies updates - Bump qs from 6.5.2 to 6.5.3 by [@&#8203;dependabot](https://togithub.com/dependabot) in [https://github.com/babel/babel-loader/pull/977](https://togithub.com/babel/babel-loader/pull/977) - Bump json5 from 2.2.1 to 2.2.3 by [@&#8203;dependabot](https://togithub.com/dependabot) in [https://github.com/babel/babel-loader/pull/980](https://togithub.com/babel/babel-loader/pull/980) #### Misc - GitHub Workflows security hardening by [@&#8203;sashashura](https://togithub.com/sashashura) in [https://github.com/babel/babel-loader/pull/976](https://togithub.com/babel/babel-loader/pull/976) #### New Contributors - [@&#8203;sashashura](https://togithub.com/sashashura) made their first contribution in [https://github.com/babel/babel-loader/pull/976](https://togithub.com/babel/babel-loader/pull/976) **Full Changelog**: https://github.com/babel/babel-loader/compare/v9.1.0...v9.1.2 ### [`v9.1.1`](https://togithub.com/babel/babel-loader/compare/v9.1.0...v9.1.1) [Compare Source](https://togithub.com/babel/babel-loader/compare/v9.1.0...v9.1.1) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/Unleash/unleash). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC44MS4wIiwidXBkYXRlZEluVmVyIjoiMzQuODEuMCJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-05 02:53:41 +01:00
"babel-loader": "9.1.2",
chore(deps): update dependency enhanced-resolve to v5.13.0 (#3660) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [enhanced-resolve](https://togithub.com/webpack/enhanced-resolve) | [`5.12.0` -> `5.13.0`](https://renovatebot.com/diffs/npm/enhanced-resolve/5.12.0/5.13.0) | [![age](https://badges.renovateapi.com/packages/npm/enhanced-resolve/5.13.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/enhanced-resolve/5.13.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/enhanced-resolve/5.13.0/compatibility-slim/5.12.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/enhanced-resolve/5.13.0/confidence-slim/5.12.0)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>webpack/enhanced-resolve</summary> ### [`v5.13.0`](https://togithub.com/webpack/enhanced-resolve/releases/tag/v5.13.0) [Compare Source](https://togithub.com/webpack/enhanced-resolve/compare/v5.12.0...v5.13.0) #### Features - Add `withFileTypes` options from FileSystem API by [@&#8203;fu1996](https://togithub.com/fu1996) in [https://github.com/webpack/enhanced-resolve/pull/374](https://togithub.com/webpack/enhanced-resolve/pull/374) #### Bugfixes - Support wildcards pattern with common suffix in imports/exports field by [@&#8203;bvanjoi](https://togithub.com/bvanjoi) in [https://github.com/webpack/enhanced-resolve/pull/353](https://togithub.com/webpack/enhanced-resolve/pull/353) #### Dependencies - Bump minimist from 1.2.5 to 1.2.8 by [@&#8203;dependabot](https://togithub.com/dependabot) in [https://github.com/webpack/enhanced-resolve/pull/373](https://togithub.com/webpack/enhanced-resolve/pull/373) - Bump json5 from 2.1.3 to 2.2.3 by [@&#8203;dependabot](https://togithub.com/dependabot) in [https://github.com/webpack/enhanced-resolve/pull/371](https://togithub.com/webpack/enhanced-resolve/pull/371) #### Developer Experience - Clean up README example by [@&#8203;wtlin1228](https://togithub.com/wtlin1228) in [https://github.com/webpack/enhanced-resolve/pull/366](https://togithub.com/webpack/enhanced-resolve/pull/366) - Update README to reflect `conditionNames` default by [@&#8203;43081j](https://togithub.com/43081j) in [https://github.com/webpack/enhanced-resolve/pull/359](https://togithub.com/webpack/enhanced-resolve/pull/359) #### New Contributors - [@&#8203;fu1996](https://togithub.com/fu1996) made their first contribution in [https://github.com/webpack/enhanced-resolve/pull/374](https://togithub.com/webpack/enhanced-resolve/pull/374) - [@&#8203;wtlin1228](https://togithub.com/wtlin1228) made their first contribution in [https://github.com/webpack/enhanced-resolve/pull/366](https://togithub.com/webpack/enhanced-resolve/pull/366) - [@&#8203;43081j](https://togithub.com/43081j) made their first contribution in [https://github.com/webpack/enhanced-resolve/pull/359](https://togithub.com/webpack/enhanced-resolve/pull/359) - [@&#8203;bvanjoi](https://togithub.com/bvanjoi) made their first contribution in [https://github.com/webpack/enhanced-resolve/pull/353](https://togithub.com/webpack/enhanced-resolve/pull/353) **Full Changelog**: https://github.com/webpack/enhanced-resolve/compare/v5.12.0...v5.13.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/Unleash/unleash). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS42My4xIiwidXBkYXRlZEluVmVyIjoiMzUuNjMuMSJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-29 05:37:09 +02:00
"enhanced-resolve": "5.13.0",
chore(deps): update react-router monorepo to v6.11.0 (#3703) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [react-router](https://togithub.com/remix-run/react-router) | [`6.8.1` -> `6.11.0`](https://renovatebot.com/diffs/npm/react-router/6.8.1/6.11.0) | [![age](https://badges.renovateapi.com/packages/npm/react-router/6.11.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/react-router/6.11.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/react-router/6.11.0/compatibility-slim/6.8.1)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/react-router/6.11.0/confidence-slim/6.8.1)](https://docs.renovatebot.com/merge-confidence/) | | [react-router-dom](https://togithub.com/remix-run/react-router) | [`6.8.1` -> `6.11.0`](https://renovatebot.com/diffs/npm/react-router-dom/6.8.1/6.11.0) | [![age](https://badges.renovateapi.com/packages/npm/react-router-dom/6.11.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/react-router-dom/6.11.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/react-router-dom/6.11.0/compatibility-slim/6.8.1)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/react-router-dom/6.11.0/confidence-slim/6.8.1)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>remix-run/react-router (react-router)</summary> ### [`v6.11.0`](https://togithub.com/remix-run/react-router/blob/HEAD/packages/react-router/CHANGELOG.md#&#8203;6110) [Compare Source](https://togithub.com/remix-run/react-router/compare/react-router@6.10.0...react-router@6.11.0) ##### Patch Changes - Log loader/action errors to the console in dev for easier stack trace evaluation ([#&#8203;10286](https://togithub.com/remix-run/react-router/pull/10286)) - Fix bug preventing rendering of descendant `<Routes>` when `RouterProvider` errors existed ([#&#8203;10374](https://togithub.com/remix-run/react-router/pull/10374)) - Fix inadvertent re-renders when using `Component` instead of `element` on a route definition ([#&#8203;10287](https://togithub.com/remix-run/react-router/pull/10287)) - Fix detection of `useNavigate` in the render cycle by setting the `activeRef` in a layout effect, allowing the `navigate` function to be passed to child components and called in a `useEffect` there. ([#&#8203;10394](https://togithub.com/remix-run/react-router/pull/10394)) - Switched from `useSyncExternalStore` to `useState` for internal `@remix-run/router` router state syncing in `<RouterProvider>`. We found some [subtle bugs](https://codesandbox.io/s/use-sync-external-store-loop-9g7b81) where router state updates got propagated *before* other normal `useState` updates, which could lead to footguns in `useEffect` calls. ([#&#8203;10377](https://togithub.com/remix-run/react-router/pull/10377), [#&#8203;10409](https://togithub.com/remix-run/react-router/pull/10409)) - Allow `useRevalidator()` to resolve a loader-driven error boundary scenario ([#&#8203;10369](https://togithub.com/remix-run/react-router/pull/10369)) - Avoid unnecessary unsubscribe/resubscribes on router state changes ([#&#8203;10409](https://togithub.com/remix-run/react-router/pull/10409)) - When using a `RouterProvider`, `useNavigate`/`useSubmit`/`fetcher.submit` are now stable across location changes, since we can handle relative routing via the `@remix-run/router` instance and get rid of our dependence on `useLocation()`. When using `BrowserRouter`, these hooks remain unstable across location changes because they still rely on `useLocation()`. ([#&#8203;10336](https://togithub.com/remix-run/react-router/pull/10336)) - Updated dependencies: - `@remix-run/router@1.6.0` ### [`v6.10.0`](https://togithub.com/remix-run/react-router/blob/HEAD/packages/react-router/CHANGELOG.md#&#8203;6100) [Compare Source](https://togithub.com/remix-run/react-router/compare/react-router@6.9.0...react-router@6.10.0) ##### Minor Changes - Added support for [**Future Flags**](https://reactrouter.com/en/main/guides/api-development-strategy) in React Router. The first flag being introduced is `future.v7_normalizeFormMethod` which will normalize the exposed `useNavigation()/useFetcher()` `formMethod` fields as uppercase HTTP methods to align with the `fetch()` behavior. ([#&#8203;10207](https://togithub.com/remix-run/react-router/pull/10207)) - When `future.v7_normalizeFormMethod === false` (default v6 behavior), - `useNavigation().formMethod` is lowercase - `useFetcher().formMethod` is lowercase - When `future.v7_normalizeFormMethod === true`: - `useNavigation().formMethod` is uppercase - `useFetcher().formMethod` is uppercase ##### Patch Changes - Fix route ID generation when using Fragments in `createRoutesFromElements` ([#&#8203;10193](https://togithub.com/remix-run/react-router/pull/10193)) - Updated dependencies: - `@remix-run/router@1.5.0` ### [`v6.9.0`](https://togithub.com/remix-run/react-router/blob/HEAD/packages/react-router/CHANGELOG.md#&#8203;690) [Compare Source](https://togithub.com/remix-run/react-router/compare/react-router@6.8.2...react-router@6.9.0) ##### Minor Changes - React Router now supports an alternative way to define your route `element` and `errorElement` fields as React Components instead of React Elements. You can instead pass a React Component to the new `Component` and `ErrorBoundary` fields if you choose. There is no functional difference between the two, so use whichever approach you prefer 😀. You shouldn't be defining both, but if you do `Component`/`ErrorBoundary` will "win". ([#&#8203;10045](https://togithub.com/remix-run/react-router/pull/10045)) **Example JSON Syntax** ```jsx // Both of these work the same: const elementRoutes = [{ path: '/', element: <Home />, errorElement: <HomeError />, }] const componentRoutes = [{ path: '/', Component: Home, ErrorBoundary: HomeError, }] function Home() { ... } function HomeError() { ... } ``` **Example JSX Syntax** ```jsx // Both of these work the same: const elementRoutes = createRoutesFromElements( <Route path='/' element={<Home />} errorElement={<HomeError /> } /> ); const componentRoutes = createRoutesFromElements( <Route path='/' Component={Home} ErrorBoundary={HomeError} /> ); function Home() { ... } function HomeError() { ... } ``` - **Introducing Lazy Route Modules!** ([#&#8203;10045](https://togithub.com/remix-run/react-router/pull/10045)) In order to keep your application bundles small and support code-splitting of your routes, we've introduced a new `lazy()` route property. This is an async function that resolves the non-route-matching portions of your route definition (`loader`, `action`, `element`/`Component`, `errorElement`/`ErrorBoundary`, `shouldRevalidate`, `handle`). Lazy routes are resolved on initial load and during the `loading` or `submitting` phase of a navigation or fetcher call. You cannot lazily define route-matching properties (`path`, `index`, `children`) since we only execute your lazy route functions after we've matched known routes. Your `lazy` functions will typically return the result of a dynamic import. ```jsx // In this example, we assume most folks land on the homepage so we include that // in our critical-path bundle, but then we lazily load modules for /a and /b so // they don't load until the user navigates to those routes let routes = createRoutesFromElements( <Route path="/" element={<Layout />}> <Route index element={<Home />} /> <Route path="a" lazy={() => import("./a")} /> <Route path="b" lazy={() => import("./b")} /> </Route> ); ``` Then in your lazy route modules, export the properties you want defined for the route: ```jsx export async function loader({ request }) { let data = await fetchData(request); return json(data); } // Export a `Component` directly instead of needing to create a React Element from it export function Component() { let data = useLoaderData(); return ( <> <h1>You made it!</h1> <p>{data}</p> </> ); } // Export an `ErrorBoundary` directly instead of needing to create a React Element from it export function ErrorBoundary() { let error = useRouteError(); return isRouteErrorResponse(error) ? ( <h1> {error.status} {error.statusText} </h1> ) : ( <h1>{error.message || error}</h1> ); } ``` An example of this in action can be found in the [`examples/lazy-loading-router-provider`](https://togithub.com/remix-run/react-router/tree/main/examples/lazy-loading-router-provider) directory of the repository. 🙌 Huge thanks to [@&#8203;rossipedia](https://togithub.com/rossipedia) for the [Initial Proposal](https://togithub.com/remix-run/react-router/discussions/9826) and [POC Implementation](https://togithub.com/remix-run/react-router/pull/9830). - Updated dependencies: - `@remix-run/router@1.4.0` ##### Patch Changes - Fix `generatePath` incorrectly applying parameters in some cases ([#&#8203;10078](https://togithub.com/remix-run/react-router/pull/10078)) - Improve memoization for context providers to avoid unnecessary re-renders ([#&#8203;9983](https://togithub.com/remix-run/react-router/pull/9983)) ### [`v6.8.2`](https://togithub.com/remix-run/react-router/blob/HEAD/packages/react-router/CHANGELOG.md#&#8203;682) [Compare Source](https://togithub.com/remix-run/react-router/compare/react-router@6.8.1...react-router@6.8.2) ##### Patch Changes - Updated dependencies: - `@remix-run/router@1.3.3` </details> <details> <summary>remix-run/react-router (react-router-dom)</summary> ### [`v6.11.0`](https://togithub.com/remix-run/react-router/blob/HEAD/packages/react-router-dom/CHANGELOG.md#&#8203;6110) [Compare Source](https://togithub.com/remix-run/react-router/compare/react-router-dom@6.10.0...react-router-dom@6.11.0) ##### Minor Changes - Enable `basename` support in `useFetcher` ([#&#8203;10336](https://togithub.com/remix-run/react-router/pull/10336)) - If you were previously working around this issue by manually prepending the `basename` then you will need to remove the manually prepended `basename` from your `fetcher` calls (`fetcher.load('/basename/route') -> fetcher.load('/route')`) ##### Patch Changes - Fix inadvertent re-renders when using `Component` instead of `element` on a route definition ([#&#8203;10287](https://togithub.com/remix-run/react-router/pull/10287)) - Fail gracefully on `<Link to="//">` and other invalid URL values ([#&#8203;10367](https://togithub.com/remix-run/react-router/pull/10367)) - Switched from `useSyncExternalStore` to `useState` for internal `@remix-run/router` router state syncing in `<RouterProvider>`. We found some [subtle bugs](https://codesandbox.io/s/use-sync-external-store-loop-9g7b81) where router state updates got propagated *before* other normal `useState` updates, which could lead to footguns in `useEffect` calls. ([#&#8203;10377](https://togithub.com/remix-run/react-router/pull/10377), [#&#8203;10409](https://togithub.com/remix-run/react-router/pull/10409)) - Add static prop to `StaticRouterProvider`'s internal `Router` component ([#&#8203;10401](https://togithub.com/remix-run/react-router/pull/10401)) - When using a `RouterProvider`, `useNavigate`/`useSubmit`/`fetcher.submit` are now stable across location changes, since we can handle relative routing via the `@remix-run/router` instance and get rid of our dependence on `useLocation()`. When using `BrowserRouter`, these hooks remain unstable across location changes because they still rely on `useLocation()`. ([#&#8203;10336](https://togithub.com/remix-run/react-router/pull/10336)) - Updated dependencies: - `react-router@6.11.0` - `@remix-run/router@1.6.0` ### [`v6.10.0`](https://togithub.com/remix-run/react-router/blob/HEAD/packages/react-router-dom/CHANGELOG.md#&#8203;6100) [Compare Source](https://togithub.com/remix-run/react-router/compare/react-router-dom@6.9.0...react-router-dom@6.10.0) ##### Minor Changes - Added support for [**Future Flags**](https://reactrouter.com/en/main/guides/api-development-strategy) in React Router. The first flag being introduced is `future.v7_normalizeFormMethod` which will normalize the exposed `useNavigation()/useFetcher()` `formMethod` fields as uppercase HTTP methods to align with the `fetch()` behavior. ([#&#8203;10207](https://togithub.com/remix-run/react-router/pull/10207)) - When `future.v7_normalizeFormMethod === false` (default v6 behavior), - `useNavigation().formMethod` is lowercase - `useFetcher().formMethod` is lowercase - When `future.v7_normalizeFormMethod === true`: - `useNavigation().formMethod` is uppercase - `useFetcher().formMethod` is uppercase ##### Patch Changes - Fix `createStaticHandler` to also check for `ErrorBoundary` on routes in addition to `errorElement` ([#&#8203;10190](https://togithub.com/remix-run/react-router/pull/10190)) - Updated dependencies: - `@remix-run/router@1.5.0` - `react-router@6.10.0` ### [`v6.9.0`](https://togithub.com/remix-run/react-router/blob/HEAD/packages/react-router-dom/CHANGELOG.md#&#8203;690) [Compare Source](https://togithub.com/remix-run/react-router/compare/react-router-dom@6.8.2...react-router-dom@6.9.0) ##### Minor Changes - React Router now supports an alternative way to define your route `element` and `errorElement` fields as React Components instead of React Elements. You can instead pass a React Component to the new `Component` and `ErrorBoundary` fields if you choose. There is no functional difference between the two, so use whichever approach you prefer 😀. You shouldn't be defining both, but if you do `Component`/`ErrorBoundary` will "win". ([#&#8203;10045](https://togithub.com/remix-run/react-router/pull/10045)) **Example JSON Syntax** ```jsx // Both of these work the same: const elementRoutes = [{ path: '/', element: <Home />, errorElement: <HomeError />, }] const componentRoutes = [{ path: '/', Component: Home, ErrorBoundary: HomeError, }] function Home() { ... } function HomeError() { ... } ``` **Example JSX Syntax** ```jsx // Both of these work the same: const elementRoutes = createRoutesFromElements( <Route path='/' element={<Home />} errorElement={<HomeError /> } /> ); const componentRoutes = createRoutesFromElements( <Route path='/' Component={Home} ErrorBoundary={HomeError} /> ); function Home() { ... } function HomeError() { ... } ``` - **Introducing Lazy Route Modules!** ([#&#8203;10045](https://togithub.com/remix-run/react-router/pull/10045)) In order to keep your application bundles small and support code-splitting of your routes, we've introduced a new `lazy()` route property. This is an async function that resolves the non-route-matching portions of your route definition (`loader`, `action`, `element`/`Component`, `errorElement`/`ErrorBoundary`, `shouldRevalidate`, `handle`). Lazy routes are resolved on initial load and during the `loading` or `submitting` phase of a navigation or fetcher call. You cannot lazily define route-matching properties (`path`, `index`, `children`) since we only execute your lazy route functions after we've matched known routes. Your `lazy` functions will typically return the result of a dynamic import. ```jsx // In this example, we assume most folks land on the homepage so we include that // in our critical-path bundle, but then we lazily load modules for /a and /b so // they don't load until the user navigates to those routes let routes = createRoutesFromElements( <Route path="/" element={<Layout />}> <Route index element={<Home />} /> <Route path="a" lazy={() => import("./a")} /> <Route path="b" lazy={() => import("./b")} /> </Route> ); ``` Then in your lazy route modules, export the properties you want defined for the route: ```jsx export async function loader({ request }) { let data = await fetchData(request); return json(data); } // Export a `Component` directly instead of needing to create a React Element from it export function Component() { let data = useLoaderData(); return ( <> <h1>You made it!</h1> <p>{data}</p> </> ); } // Export an `ErrorBoundary` directly instead of needing to create a React Element from it export function ErrorBoundary() { let error = useRouteError(); return isRouteErrorResponse(error) ? ( <h1> {error.status} {error.statusText} </h1> ) : ( <h1>{error.message || error}</h1> ); } ``` An example of this in action can be found in the [`examples/lazy-loading-router-provider`](https://togithub.com/remix-run/react-router/tree/main/examples/lazy-loading-router-provider) directory of the repository. 🙌 Huge thanks to [@&#8203;rossipedia](https://togithub.com/rossipedia) for the [Initial Proposal](https://togithub.com/remix-run/react-router/discussions/9826) and [POC Implementation](https://togithub.com/remix-run/react-router/pull/9830). - Updated dependencies: - `react-router@6.9.0` - `@remix-run/router@1.4.0` ### [`v6.8.2`](https://togithub.com/remix-run/react-router/blob/HEAD/packages/react-router-dom/CHANGELOG.md#&#8203;682) [Compare Source](https://togithub.com/remix-run/react-router/compare/react-router-dom@6.8.1...react-router-dom@6.8.2) ##### Patch Changes - Treat same-origin absolute URLs in `<Link to>` as external if they are outside of the router `basename` ([#&#8203;10135](https://togithub.com/remix-run/react-router/pull/10135)) - Fix `useBlocker` to return `IDLE_BLOCKER` during SSR ([#&#8203;10046](https://togithub.com/remix-run/react-router/pull/10046)) - Fix SSR of absolute `<Link to>` urls ([#&#8203;10112](https://togithub.com/remix-run/react-router/pull/10112)) - Properly escape HTML characters in `StaticRouterProvider` serialized hydration data ([#&#8203;10068](https://togithub.com/remix-run/react-router/pull/10068)) - Updated dependencies: - `@remix-run/router@1.3.3` - `react-router@6.8.2` </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/Unleash/unleash). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS43MS40IiwidXBkYXRlZEluVmVyIjoiMzUuNzEuNCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-06 16:21:15 +02:00
"react-router": "6.11.0",
"replace-in-file": "6.3.5",
"storybook-addon-root-attribute": "1.0.2",
"typescript": "4.8.4"
}
}