1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-12-22 19:07:54 +01:00
unleash.unleash/website
Gastón Fournier 142e322589
docs: POST and PUT body handling (#5319)
## About the changes
While working on Terraform I identified some issues with how our backend
handled some requests. This happened because the Terraform client was
unaware of new fields and was not sending them. This resulted in bad
behavior as some of those missing fields were treated in the backend as
`null` and removed existing data from the DB.

This ADR aims to shed some light on the problem and specifies how our
server should handle these requests.

---------

Co-authored-by: Nuno Góis <github@nunogois.com>
2023-11-14 07:56:58 -06:00
..
docs docs: POST and PUT body handling (#5319) 2023-11-14 07:56:58 -06:00
remote-content fix(docs): lowercase internal markdown links (#4963) 2023-11-02 10:45:47 +01:00
src chore: remove storybook (#5091) 2023-10-19 10:22:20 +03:00
static Updating the docs - how to add strategy constraints (#5256) 2023-11-06 10:24:52 +01:00
.gitignore
babel.config.js
clean-generated-docs.js chore: update docusaurus/openapi integration to stable version (#2414) 2022-11-14 08:52:46 +01:00
docusaurus.config.js docs: add slack app redirect (#5282) 2023-11-06 16:20:00 +02:00
global.js fix: do not include rio server-side 2023-07-07 14:08:50 +02:00
package.json chore(deps): update dependency replace-in-file to v7.0.2 (#5278) 2023-11-06 12:39:01 +00:00
README.md meta: add note to generate openapi docs before starting local dev (#4976) 2023-10-16 07:49:42 -05:00
sidebars.js docs: troubleshooting email service (#5333) 2023-11-14 12:53:34 +00:00
tsconfig.json
yarn.lock chore(deps): update dependency replace-in-file to v7.0.2 (#5278) 2023-11-06 12:39:01 +00:00

Website

This website is built using Docusaurus 2, a modern static website generator.

Installation

yarn install

Generate OpenAPI docs

yarn generate

Generate the Open API docs that live at Reference documentation > APIs > OpenAPI

Local Development

Before running the docs the first time, you'll need to generate external documentation, as described in the generate OpenAPI docs section.

yarn start

Start a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.

Build

yarn build

This command generates static content into the build directory and can be served using any static contents hosting service.

Deployment

GIT_USER=<Your GitHub username> USE_SSH=true yarn deploy

If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the gh-pages branch.

Troubleshooting

TypeError: source_default(...).bold is not a function

If you get an error like this, it's probably due to a formatting issue within one of the markdown files. It could be

  • unescaped angle brackets (markdown will try to parse <your-key> (when it's not quoted) as HTML, which breaks the build)
  • incorrectly formatted titles or missing pieces of files
  • a lot of other stuff.
Component Figure was not imported, exported, or provided by MDXProvider as global scope

TypeError: source_default(...).bold is not a function
[ERROR] Unable to build website for locale en.

This error is very hard to debug, but there is a trick that appears to work (as shared in this discussion on docusaurus' repo):

In node_modules/@docusaurus/core/lib/client/serverEntry.js, remove all references to chalk. You can use a regex replace for that, by replacing chalk(\w|\.)+ with the empty string.

Depending on your editor, that regex might need more escapes. For instance, here's a command to run with evil-ex in Emacs:

%s/chalk\(\w\|\.\)+//g

For macOS sed, it'd be:

sed -i '' 's/chalk\(\w\|\.\)\+//g' node_modules/@docusaurus/core/lib/client/serverEntry.js

For GNU sed:

sed -i 's/chalk\(\w\|\.\)\+//g' node_modules/@docusaurus/core/lib/client/serverEntry.js

That might turn your error into something like this:

[ERROR] Docusaurus server-side rendering could not render static page with path /reference/api/unleash/change-requests.
[ERROR] Docusaurus server-side rendering could not render static page with path /reference/api/unleash/feature-types.
[ERROR] Docusaurus server-side rendering could not render static page with path /reference/api/unleash/frontend-api.
[ERROR] Docusaurus server-side rendering could not render static page with path /reference/api/unleash/maintenance.
[ERROR] Docusaurus server-side rendering could not render static page with path /reference/api/unleash/notifications.
[ERROR] Docusaurus server-side rendering could not render static page with path /reference/api/unleash/personal-access-tokens.
[ERROR] Docusaurus server-side rendering could not render static page with path /reference/api/unleash/segments.
[ERROR] Docusaurus server-side rendering could not render static page with path /reference/api/unleash/service-accounts.
[ERROR] Docusaurus server-side rendering could not render static page with path /reference/api/unleash/telemetry.
[ERROR] Docusaurus server-side rendering could not render static page with path /reference/api/unleash/unstable.
Component Figure was not imported, exported, or provided by MDXProvider as global scope

Error: Unexpected: cant find current sidebar in context
[ERROR] Unable to build website for locale en.