1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-12-22 19:07:54 +01:00
Commit Graph

119 Commits

Author SHA1 Message Date
Thomas Heartman
29da625195
chore: update docusaurus/openapi integration to stable version (#2414)
## What

This PR updates the version of the docusaurus-openapi plugin we depend
on for openapi docs generation from canary version 0.0.0-514 to stable
release 1.4.4.

Also removes the manual file cleanup that was created as a workaround to
solve the issues we were having.

## Why

When we set the canary version before the weekend it was because it
contained a fix of some of the issues we were having with our docs.

That issue (and the one about file cleanup) have now been released in
v1.4.4, so we can upgrade to a stable version and remove now-redundant
cleanup code.
2022-11-14 08:52:46 +01:00
renovate[bot]
ca2c96de52
chore(deps): update dependency @babel/core to v7.20.2 (#2371)
[![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.19.6` ->
`7.20.2`](https://renovatebot.com/diffs/npm/@babel%2fcore/7.19.6/7.20.2)
|
[![age](https://badges.renovateapi.com/packages/npm/@babel%2fcore/7.20.2/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@babel%2fcore/7.20.2/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@babel%2fcore/7.20.2/compatibility-slim/7.19.6)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@babel%2fcore/7.20.2/confidence-slim/7.19.6)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>babel/babel</summary>

###
[`v7.20.2`](https://togithub.com/babel/babel/blob/HEAD/CHANGELOG.md#v7202-2022-11-04)

[Compare
Source](https://togithub.com/babel/babel/compare/v7.19.6...v7.20.2)

##### 🐛 Bug Fix

- `babel-core`, `babel-helper-create-class-features-plugin`,
`babel-helper-module-transforms`, `babel-helper-plugin-utils`,
`babel-helper-simple-access`, `babel-node`,
`babel-plugin-transform-block-scoping`,
`babel-plugin-transform-classes`,
`babel-plugin-transform-react-constant-elements`, `babel-preset-env`,
`babel-standalone`, `babel-types`
- [#&#8203;15124](https://togithub.com/babel/babel/pull/15124) fix:
`@babel/node` repl and enable `no-use-before-define` rule
([@&#8203;liuxingbaoyu](https://togithub.com/liuxingbaoyu))
-   `babel-plugin-transform-typescript`
- [#&#8203;15121](https://togithub.com/babel/babel/pull/15121) fix:
`tsSatisfiesExpression` check with different duplicated `@babel/types`
versions ([@&#8203;liuxingbaoyu](https://togithub.com/liuxingbaoyu))
-   `babel-parser`
- [#&#8203;15094](https://togithub.com/babel/babel/pull/15094) fix:
`parser` typings for plugins
([@&#8203;liuxingbaoyu](https://togithub.com/liuxingbaoyu))
-   `babel-generator`
- [#&#8203;15118](https://togithub.com/babel/babel/pull/15118) Improve
printing of \[no LineTerminator here] with comments
([@&#8203;nicolo-ribaudo](https://togithub.com/nicolo-ribaudo))
- `babel-plugin-proposal-decorators`,
`babel-plugin-proposal-object-rest-spread`,
`babel-plugin-transform-jscript`
- [#&#8203;15113](https://togithub.com/babel/babel/pull/15113) fix: wrap
anonymous class expression within statement
([@&#8203;JLHwung](https://togithub.com/JLHwung))
-   `babel-plugin-transform-destructuring`
- [#&#8203;15104](https://togithub.com/babel/babel/pull/15104) fix:
Destructuring exceptions ` for ( let { } = 0 ; 0 ; ) `
([@&#8203;liuxingbaoyu](https://togithub.com/liuxingbaoyu))

</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:eyJjcmVhdGVkSW5WZXIiOiIzNC4xOS4wIiwidXBkYXRlZEluVmVyIjoiMzQuMTkuMCJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-12 08:24:41 +00:00
renovate[bot]
5988148e13
fix(deps): update dependency docusaurus-theme-openapi-docs to v0.0.0-514 (#2409)
[![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)
| [`0.0.0-507` ->
`0.0.0-514`](https://renovatebot.com/diffs/npm/docusaurus-theme-openapi-docs/0.0.0-507/0.0.0-514)
|
[![age](https://badges.renovateapi.com/packages/npm/docusaurus-theme-openapi-docs/0.0.0-514/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/docusaurus-theme-openapi-docs/0.0.0-514/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/docusaurus-theme-openapi-docs/0.0.0-514/compatibility-slim/0.0.0-507)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/docusaurus-theme-openapi-docs/0.0.0-514/confidence-slim/0.0.0-507)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>PaloAltoNetworks/docusaurus-openapi-docs</summary>

###
[`v0.0.0-514`](795da2f81a...a8ae6e77f4)

[Compare
Source](795da2f81a...a8ae6e77f4)

###
[`v0.0.0-513`](e32c9361d2...795da2f81a)

[Compare
Source](e32c9361d2...795da2f81a)

</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:eyJjcmVhdGVkSW5WZXIiOiIzNC4yMS42IiwidXBkYXRlZEluVmVyIjoiMzQuMjEuNiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-12 05:54:51 +00:00
renovate[bot]
167ad82a4f
chore(deps): update react-router monorepo to v6.4.3 (#2368)
[![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.4.2`
-> `6.4.3`](https://renovatebot.com/diffs/npm/react-router/6.4.2/6.4.3)
|
[![age](https://badges.renovateapi.com/packages/npm/react-router/6.4.3/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/react-router/6.4.3/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/react-router/6.4.3/compatibility-slim/6.4.2)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/react-router/6.4.3/confidence-slim/6.4.2)](https://docs.renovatebot.com/merge-confidence/)
|
| [react-router-dom](https://togithub.com/remix-run/react-router) |
[`6.4.2` ->
`6.4.3`](https://renovatebot.com/diffs/npm/react-router-dom/6.4.2/6.4.3)
|
[![age](https://badges.renovateapi.com/packages/npm/react-router-dom/6.4.3/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/react-router-dom/6.4.3/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/react-router-dom/6.4.3/compatibility-slim/6.4.2)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/react-router-dom/6.4.3/confidence-slim/6.4.2)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>remix-run/react-router (react-router)</summary>

###
[`v6.4.3`](https://togithub.com/remix-run/react-router/blob/HEAD/packages/react-router/CHANGELOG.md#&#8203;643)

[Compare
Source](https://togithub.com/remix-run/react-router/compare/react-router@6.4.2...react-router@6.4.3)

##### Patch Changes

- `useRoutes` should be able to return `null` when passing `locationArg`
([#&#8203;9485](https://togithub.com/remix-run/react-router/pull/9485))
- fix `initialEntries` type in `createMemoryRouter`
([#&#8203;9498](https://togithub.com/remix-run/react-router/pull/9498))
-   Updated dependencies:
    -   `@remix-run/router@1.0.3`

</details>

<details>
<summary>remix-run/react-router (react-router-dom)</summary>

###
[`v6.4.3`](https://togithub.com/remix-run/react-router/blob/HEAD/packages/react-router-dom/CHANGELOG.md#&#8203;643)

[Compare
Source](https://togithub.com/remix-run/react-router/compare/react-router-dom@6.4.2...react-router-dom@6.4.3)

##### Patch Changes

- Fix hrefs generated for `createHashRouter`
([#&#8203;9409](https://togithub.com/remix-run/react-router/pull/9409))
- fix encoding/matching issues with special chars
([#&#8203;9477](https://togithub.com/remix-run/react-router/pull/9477),
[#&#8203;9496](https://togithub.com/remix-run/react-router/pull/9496))
- Properly support `index` routes with a `path` in `useResolvedPath`
([#&#8203;9486](https://togithub.com/remix-run/react-router/pull/9486))
- Respect `relative=path` prop on `NavLink`
([#&#8203;9453](https://togithub.com/remix-run/react-router/pull/9453))
- Fix `NavLink` behavior for root urls
([#&#8203;9497](https://togithub.com/remix-run/react-router/pull/9497))
-   Updated dependencies:
    -   `@remix-run/router@1.0.3`
    -   `react-router@6.4.3`

</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:eyJjcmVhdGVkSW5WZXIiOiIzNC4xOS4wIiwidXBkYXRlZEluVmVyIjoiMzQuMTkuMCJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-12 03:27:44 +00:00
renovate[bot]
e924d9da57
fix(deps): update dependency docusaurus-plugin-openapi-docs to v0.0.0-514 (#2408)
[![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)
| [`0.0.0-507` ->
`0.0.0-514`](https://renovatebot.com/diffs/npm/docusaurus-plugin-openapi-docs/0.0.0-507/0.0.0-514)
|
[![age](https://badges.renovateapi.com/packages/npm/docusaurus-plugin-openapi-docs/0.0.0-514/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/docusaurus-plugin-openapi-docs/0.0.0-514/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/docusaurus-plugin-openapi-docs/0.0.0-514/compatibility-slim/0.0.0-507)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/docusaurus-plugin-openapi-docs/0.0.0-514/confidence-slim/0.0.0-507)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>PaloAltoNetworks/docusaurus-openapi-docs</summary>

###
[`v0.0.0-514`](795da2f81a...a8ae6e77f4)

[Compare
Source](795da2f81a...a8ae6e77f4)

###
[`v0.0.0-513`](e32c9361d2...795da2f81a)

[Compare
Source](e32c9361d2...795da2f81a)

</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:eyJjcmVhdGVkSW5WZXIiOiIzNC4yMS42IiwidXBkYXRlZEluVmVyIjoiMzQuMjEuNiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-12 00:16:33 +00:00
Thomas Heartman
0cd04fc882
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 15:01:54 +02:00
renovate[bot]
7207f1b572
chore(deps): update dependency minimatch to v5 (#2400)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [minimatch](https://togithub.com/isaacs/minimatch) | [`^3.0.5` ->
`^5.0.0`](https://renovatebot.com/diffs/npm/minimatch/3.1.2/5.1.0) |
[![age](https://badges.renovateapi.com/packages/npm/minimatch/5.1.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/minimatch/5.1.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/minimatch/5.1.0/compatibility-slim/3.1.2)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/minimatch/5.1.0/confidence-slim/3.1.2)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>isaacs/minimatch</summary>

###
[`v5.1.0`](https://togithub.com/isaacs/minimatch/compare/v5.0.1...v5.1.0)

[Compare
Source](https://togithub.com/isaacs/minimatch/compare/v5.0.1...v5.1.0)

###
[`v5.0.1`](https://togithub.com/isaacs/minimatch/compare/v5.0.0...v5.0.1)

[Compare
Source](https://togithub.com/isaacs/minimatch/compare/v5.0.0...v5.0.1)

###
[`v5.0.0`](https://togithub.com/isaacs/minimatch/compare/v4.2.1...v5.0.0)

[Compare
Source](https://togithub.com/isaacs/minimatch/compare/v4.2.1...v5.0.0)

###
[`v4.2.1`](https://togithub.com/isaacs/minimatch/compare/v4.2.0...v4.2.1)

[Compare
Source](https://togithub.com/isaacs/minimatch/compare/v4.2.0...v4.2.1)

###
[`v4.2.0`](https://togithub.com/isaacs/minimatch/compare/v4.1.1...v4.2.0)

[Compare
Source](https://togithub.com/isaacs/minimatch/compare/v4.1.1...v4.2.0)

###
[`v4.1.1`](https://togithub.com/isaacs/minimatch/compare/v4.1.0...v4.1.1)

[Compare
Source](https://togithub.com/isaacs/minimatch/compare/v4.1.0...v4.1.1)

###
[`v4.1.0`](https://togithub.com/isaacs/minimatch/compare/v4.0.0...v4.1.0)

[Compare
Source](https://togithub.com/isaacs/minimatch/compare/v4.0.0...v4.1.0)

###
[`v4.0.0`](https://togithub.com/isaacs/minimatch/compare/v3.1.2...v4.0.0)

[Compare
Source](https://togithub.com/isaacs/minimatch/compare/v3.1.2...v4.0.0)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **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:eyJjcmVhdGVkSW5WZXIiOiIzNC4yMS42IiwidXBkYXRlZEluVmVyIjoiMzQuMjEuNiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-10 21:36:46 +00:00
renovate[bot]
f71f9179a9
chore(deps): update dependency babel-loader to v9 (#2293)
[![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) | [`8.2.5` ->
`9.1.0`](https://renovatebot.com/diffs/npm/babel-loader/8.2.5/9.1.0) |
[![age](https://badges.renovateapi.com/packages/npm/babel-loader/9.1.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/babel-loader/9.1.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/babel-loader/9.1.0/compatibility-slim/8.2.5)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/babel-loader/9.1.0/confidence-slim/8.2.5)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>babel/babel-loader</summary>

###
[`v9.1.0`](https://togithub.com/babel/babel-loader/releases/tag/v9.1.0)

[Compare
Source](https://togithub.com/babel/babel-loader/compare/v9.0.1...v9.1.0)

#### New features

- Pass external dependencies from Babel to Webpack by
[@&#8203;nicolo-ribaudo](https://togithub.com/nicolo-ribaudo) in
[https://github.com/babel/babel-loader/pull/971](https://togithub.com/babel/babel-loader/pull/971)

**Full Changelog**:
https://github.com/babel/babel-loader/compare/v9.0.1...v9.1.0

###
[`v9.0.1`](https://togithub.com/babel/babel-loader/releases/tag/v9.0.1)

[Compare
Source](https://togithub.com/babel/babel-loader/compare/v9.0.0...v9.0.1)

##### Bug Fixes

- remove "node:" builtin prefix by
[@&#8203;JLHwung](https://togithub.com/JLHwung) in
[https://github.com/babel/babel-loader/pull/970](https://togithub.com/babel/babel-loader/pull/970)

**Full Changelog**:
https://github.com/babel/babel-loader/compare/v9.0.0...v9.0.1

###
[`v9.0.0`](https://togithub.com/babel/babel-loader/releases/tag/v9.0.0)

[Compare
Source](https://togithub.com/babel/babel-loader/compare/v8.3.0...v9.0.0)

#### What's Changed

- update hash method mechanism so it doesn't fail on a fips enabled
machine by [@&#8203;darmbrust](https://togithub.com/darmbrust) in
[https://github.com/babel/babel-loader/pull/939](https://togithub.com/babel/babel-loader/pull/939)
- Require babel ^7.12.0 and Node.js >= 14.15.0 versions by
[@&#8203;JLHwung](https://togithub.com/JLHwung) in
[https://github.com/babel/babel-loader/pull/956](https://togithub.com/babel/babel-loader/pull/956)
- Remove dependency on loader-utils and drop webpack 4 support by
[@&#8203;nied](https://togithub.com/nied) in
[https://github.com/babel/babel-loader/pull/942](https://togithub.com/babel/babel-loader/pull/942)

#### New Contributors

- [@&#8203;darmbrust](https://togithub.com/darmbrust) made their first
contribution in
[https://github.com/babel/babel-loader/pull/939](https://togithub.com/babel/babel-loader/pull/939)
- [@&#8203;nied](https://togithub.com/nied) made their first
contribution in
[https://github.com/babel/babel-loader/pull/942](https://togithub.com/babel/babel-loader/pull/942)

**Full Changelog**:
https://github.com/babel/babel-loader/compare/v8.2.5...v9.0.0

###
[`v8.3.0`](https://togithub.com/babel/babel-loader/releases/tag/v8.3.0)

[Compare
Source](https://togithub.com/babel/babel-loader/compare/v8.2.5...v8.3.0)

#### New features

- Pass external dependencies from Babel to Webpack by
[@&#8203;nicolo-ribaudo](https://togithub.com/nicolo-ribaudo) in
[https://github.com/babel/babel-loader/pull/971](https://togithub.com/babel/babel-loader/pull/971)

**Full Changelog**:
https://github.com/babel/babel-loader/compare/v8.2.5...v8.3.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **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:eyJjcmVhdGVkSW5WZXIiOiIzNC42LjEiLCJ1cGRhdGVkSW5WZXIiOiIzNC4xNy4xIn0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-10 00:00:13 +01:00
Ivar Conradi Østhus
ae0006b839
fix: require minimatch 3.0.5 or higher 2022-11-03 14:43:36 +01:00
renovate[bot]
2a299d47bb
fix(deps): update dependency docusaurus-theme-openapi-docs to v1.4.1 (#2292)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-29 04:42:31 +00:00
renovate[bot]
e0ad3806aa
fix(deps): update dependency docusaurus-plugin-openapi-docs to v1.4.1 (#2288)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-29 02:56:05 +00:00
renovate[bot]
c62087d035
fix(deps): update dependency @svgr/webpack to v6.5.1 (#2280)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-28 12:45:24 +00:00
renovate[bot]
95da63c8c7
chore(deps): update storybook monorepo to v6.5.13 (#2270)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-28 05:26:18 +00:00
renovate[bot]
da02a040fe
fix(deps): update docusaurus monorepo to v2.1.0 (#2237)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-23 04:07:15 +00:00
renovate[bot]
e62be22daa
fix(deps): update dependency unleash-proxy-client to v2.3.0 (#2236)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-23 01:34:06 +00:00
renovate[bot]
384e97da14
fix(deps): update dependency docusaurus-theme-openapi-docs to v1.3.2 (#2234)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-23 00:00:57 +00:00
renovate[bot]
d1b754c2a2
fix(deps): update dependency docusaurus-plugin-openapi-docs to v1.3.2 (#2232)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-22 21:49:37 +00:00
renovate[bot]
d478387bb2
fix(deps): update dependency @svgr/webpack to v6.5.0 (#2231)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-22 16:13:34 +00:00
renovate[bot]
0aea76f968
chore(deps): update react-router monorepo to v6.4.2 (#2228)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-22 10:24:45 +00:00
renovate[bot]
a1dc8339aa
chore(deps): update dependency @babel/core to v7.19.6 (#2216)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-21 04:41:39 +00:00
renovate[bot]
5535a1769d
chore(deps): update dependency @babel/core to v7.19.3 (#2160)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-10 08:13:08 +00:00
renovate[bot]
b54b956895
chore(deps): update storybook monorepo to v6.5.12 (#2159)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-10 05:24:51 +00:00
renovate[bot]
9477babb3f
chore(deps): update dependency typescript to v4.8.4 (#2154)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-07 17:54:29 +00:00
renovate[bot]
1ee64170b9
fix(deps): pin dependencies (#2139)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-05 23:33:51 +02:00
Thomas Heartman
0a99dfd6e3
#1391: add generated doc cleaning script (#2077)
* #1391: add generated doc cleaning script

## What

The cleaning script replaces all references to the Unleash ushosted instance in the
generated OpenAPI docs. It removes extra path segments (such as leading
`/ushosted` instances) and replaces the ushosted base url with something
user-agnostic.

## Why

When we host the OpenAPI docs in our official documentation, the generated
docs shouldn't necessarily point at _one specific instance_, and especially
not one that the reader is unlikely to ever use. Instead, we can remove all
the bits that are specific to the generation source we use, and make the docs
easier to use. In particular, removing the leading `/ushosted` is likely to
save us loooots of questions.

* #1391: change env var used for generating openapi from localhost

Using NODE_ENV=development doesn't necessarily make sense, so adding
an extra variable sounds reasonable to me.

* #1391: ensure that all generation commands also clean docs

* #1391: change <your-unleash-instance-url> to <your-unleash-url>

* #1391: fix ushosted replacement: not all paths start with /api

* #1391: chore: remove potential `ushosted` ending of api url

In the event that we change the base URL of OpenAPI, so that paths
don't start with `/ushosted/`, the script should still work, changing
those paths into <your-unleash-url> too.

Additionally, remove all instances of `/ushosted` that we find. In the
event that some things switch around or whatever.
2022-09-20 12:43:39 +02:00
Thomas Heartman
1b1dcea769 Docs(fix): update docusaurus deploy command to generate openapi docs
Without this, the build fails 🙈
2022-09-19 14:53:34 +02:00
Thomas Heartman
2d04bd9ea2
Add OpenAPI docs (#1391) (#2066)
## What

This PR (finally 🎉) adds generated OpenAPI docs to the official Unleash documentation. In addition to generating docs when things get merged to main, it also pushes new doc updates every day at 12:00 AM (cron `@daily`).

## Why

Now that we have OpenAPI'd all the things, we can finally start using it. This will allow us to remove hand-written api docs from the documentation and should make sure everything is always kept up to date.

### Generating from us-hosted (Unleash enterprise)

Unleash has several different versions (open source, pro, enterprise). The versions do not necessarily have the exact same api surface. In fact, the enterprise version has a few endpoints that open source does not.

Because we want to have _all_ endpoints listed in the documentation we need to generated the docs from an enterprise spec. Which brings us into the next point:

### The need for scheduled jobs

Regarding the daily scheduled tasks to update the documentation: why do we need that?

The docs are generated from the tip of the main branch. For most of the docs, this is good and something that we want. However, because the OpenAPI docs are generated from the enterprise edition, it _will not be in sync_ with the open source main branch.

Also, we probably do not want the docs to list the current bleeding edge api changes. Instead, we should prefer to use the latest enterprise release (roughly). However, because we don't get notified when this version is released and deployed, we'll instead run the API generation on a daily cadence.

This isn't the perfect solution, but it's simple and gets us 80% of the way there. More intricate solutions can be set up later.

## How

-   By adding a scheduled workflow to the generate docs config.
-   By adding .gitignore entries for the generated files

There's also some minor changes in styling etc.

## Dependencies

This is dependent on the changes introduced in #2062 having propagated to the enterprise release, which will probably not be for another week or so.

## Discussion

What should the API reference docs url be? I've set it to be `/reference/api/unleash/*` for now, but I'm on the fence about whether it should be `apis` or `api` in there. I also want to get the proxy and other APIs in there as we grow.

-------

## Commits

* docs: style openapi operation buttons

* docs: minor operation badge adjustments

* docs: use permalink to css snippet i copied

* docs: ignore files related to openapi generation

* docs: re-enable openapi docs

* Docs(#1391): prep for integration

* docs(#1391): run docs generation daily

* docs(#1391): add generation step to doc prs too

* docs(#1391): use the US hosted instance to generate docs

* docs(#1391): move doc generation into build command

* docs(#1391): use `/reference/api/*` instead of `/reference/apis/*`
2022-09-19 14:50:24 +02:00
renovate[bot]
9f92d5045e
fix(deps): update dependency docusaurus-theme-openapi-docs to v1.1.9 (#2032)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-31 22:55:20 +00:00
renovate[bot]
5c003e3b2e
fix(deps): update dependency docusaurus-plugin-openapi-docs to v1.1.9 (#2011)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-31 03:26:19 +00:00
Ivar Conradi Østhus
23e43b9114
fix(docs): pin got dependency to v11.8.5 2022-08-30 09:52:54 +02:00
renovate[bot]
6b30967ae0
chore(deps): update dependency trim-newlines to v4 (#1969)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-26 12:21:47 +02:00
Ivar Conradi Østhus
9e23c4e969
fix: website dependencies 2022-08-26 10:27:30 +02:00
renovate[bot]
b3949dc9f5
chore(deps): update dependency typescript to v4.8.2 (#1967)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-26 03:45:26 +00:00
renovate[bot]
976226d27e
chore(deps): update dependency @babel/core to v7.18.13 (#1954)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-23 01:56:01 +00:00
renovate[bot]
b7c59e1733
fix(deps): update dependency docusaurus-theme-openapi-docs to v1.1.8 (#1938)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-19 17:35:51 +00:00
renovate[bot]
a6c524c251
fix(deps): update dependency docusaurus-plugin-openapi-docs to v1.1.8 (#1937)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-19 14:14:52 +00:00
renovate[bot]
c8f0283049
fix(deps): update dependency docusaurus-theme-openapi-docs to v1.1.7 (#1925)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-16 02:30:05 +00:00
renovate[bot]
c6fc4a1b9b
fix(deps): update dependency docusaurus-plugin-openapi-docs to v1.1.7 (#1924)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-16 00:07:05 +00:00
renovate[bot]
32a5e3c4f5
fix(deps): update dependency docusaurus-theme-openapi-docs to v1.1.6 (#1919)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-13 04:21:33 +00:00
renovate[bot]
53853203bc
fix(deps): update dependency docusaurus-plugin-openapi-docs to v1.1.6 (#1918)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-13 01:18:21 +00:00
Thomas Heartman
9448461aaa
docs: prep to add OpenAPI spec to Unleash docs (#1907)
* Docs: start experimenting with OpenAPI and docusaurus

* Docs: add docusaurus-theme-openapi-docs pkg

* Wip: current status

* Docs: Add 'docusaurus-plugin-api-docs'

* Move openapi into own sidebar; generate from localhost

* Chore: Update docusaurus plugin for OpenAPI

* Add website/yarn.lock to git

* Fix: fix CSS warning by using flex-end instead of end

* docs: make openapi generated code work again

* docs: make tags work properly with openapi sidebar

* Docs/chore: update OpenAPI tag scheme.

Add a whole bunch of new tags to make it easier to understand
available tags in OpenAPI.

* docs: point to new openapi docs from old api docs

* docs: typo

* Docs:  link restructure

* docs: add operation indicators to openapi docs

* docs: change badge color for operations

* docs: update openapi-docs package

It now sorts tags the same as the schema

* docs: pluralize APIs in slug

* docs: update links to generated api docs

* docs: update openapi snapshot tests with new tags

* docs: conditionally load spec from localhost or from file

* docs: Remove changes relating to immediate switchover

* refactor: rename types; extract into separate file

* docs: fix api doc links
2022-08-12 11:37:57 +02:00
renovate[bot]
82c83b5611
fix(deps): update dependency unleash-proxy-client to v2.1.0 (#1908)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-10 15:36:33 +00:00
renovate[bot]
cd5e1a37d5
chore(deps): update storybook monorepo to v6.5.10 (#1885)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-04 04:58:18 +00:00
renovate[bot]
d922ea1225
chore(deps): update dependency @babel/core to v7.18.10 (#1872)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-02 00:25:58 +00:00
renovate[bot]
e43be56f13
fix(deps): update docusaurus monorepo to v2.0.1 (#1871)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-01 19:41:04 +00:00
renovate[bot]
f6192b50b0
fix(deps): update dependency unleash-proxy-client to v2.0.3 (#1841)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-27 13:44:00 +00:00
renovate[bot]
cc341e7913
fix(deps): update dependency @svgr/webpack to v6.3.1 (#1851)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-22 17:50:19 +00:00
Thomas Heartman
4332072db4
docs: Update docusaurus to 2.0.0-rc.1 (#1831)
* Chore: update docusaurus packages

* Docs: add algolia doc search app id

* Chore: update/specify node engine version: 16.14
2022-07-19 07:57:03 +02:00
renovate[bot]
29b8223718
fix(deps): update dependency @svgr/webpack to v6.3.0 (#1833)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-19 01:09:47 +00:00
renovate[bot]
87cf6e58a2
chore(deps): update dependency @babel/core to v7.18.9 (#1830)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-18 12:11:16 +00:00