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

7414 Commits

Author SHA1 Message Date
GitHub Actions Bot
200cfd284b 4.21.0-beta.1 2023-01-27 11:22:45 +00:00
sjaanus
e226e31ad5
Export variants env (#3008)
Export variants env
2023-01-27 13:20:32 +02:00
Mateusz Kwasniewski
f8473a243f
exclude tags for other features (#3007) 2023-01-27 11:34:20 +01:00
Gastón Fournier
d821b1ead1
fix: missing formatApiPath (#3006)
## About the changes
Archive page is not loading archived feature toggles.

When fetching from the server is not including the baseUrl
2023-01-27 11:18:32 +01:00
Nuno Góis
816c8dbb46
feat: new variants per env form (#3004)
https://linear.app/unleash/issue/2-647/adapt-current-variants-ui-to-better-align-with-cr

## About the changes
Big refactor to the variants per environment UI/UX logic, making the
variants management happen on a side modal. This makes it so variants
per environment play a lot nicer with change requests.


![image](https://user-images.githubusercontent.com/14320932/214972213-32b9aba9-1390-47b3-a00a-8c4ada359953.png)


<!-- (For internal contributors): Does it relate to an issue on public
roadmap? -->
Relates to [roadmap](https://github.com/orgs/Unleash/projects/10) item:
[#2254](https://github.com/Unleash/unleash/issues/2254)

### Important files
A big chunk of the changes is mostly moving things around or straight up
removing them.

- EnvironmentVariantModal - The modal itself that controls all of the
variants that you're editing;
 - VariantForm - The extracted form for editing each of the variants;
2023-01-27 08:13:57 +00:00
Thomas Heartman
f1984080a9
docs: add next.js docs (#3002)
## What

This change adds the next.js sdk's readme to the client-side SDKs
section in the docs.

## Why

Because we have a new and official SDK 🙌🏼
2023-01-27 07:33:19 +00:00
Fredrik Strand Oseberg
d8a250dc9c
Feat/project status monthly (#2986)
This PR takes the project status API a step further by adding the
capability of providing a date to control the selection. We are
currently making calculations based on a gliding 30 day window, updated
once a day. The initial database structure and method for updating the
UI is outlined in this PR.
2023-01-26 16:13:15 +01:00
sjaanus
b80e84b438
Revert "formatApiPath / formatAssetPath - Implement smart functionality to detect double subpath" (#3001)
Reverts Unleash/unleash#2777
2023-01-26 15:34:42 +01:00
GitHub Actions Bot
04dad9e33e 4.21.0-beta.0 2023-01-26 11:42:51 +00:00
Mateusz Kwasniewski
6b9a242be5
upload limit and import ui tweaks (#2998) 2023-01-26 12:36:45 +01:00
Mateusz Kwasniewski
527ed5feaf
filter out unused fields as they fail import validation (#2997) 2023-01-26 09:48:10 +01:00
Mateusz Kwasniewski
ee0d3f7f6f
change request import banner (#2992) 2023-01-26 08:49:17 +01:00
andreas-unleash
6a6fbfad1e
Feat/po_project_members (#2994)
<!-- Thanks for creating a PR! To make it easier for reviewers and
everyone else to understand what your changes relate to, please add some
relevant content to the headings below. Feel free to ignore or delete
sections that you don't think are relevant. Thank you! ❤️ -->

- Initial separation on project members into it's own component
- Styling fixes
- Hide new ToggleTypesWidget behind a flag

Members widget:
https://linear.app/unleash/issue/1-586/project-overview-members-widget
## About the changes
<!-- Describe the changes introduced. What are they and why are they
being introduced? Feel free to also add screenshots or steps to view the
changes if they're visual. -->

<!-- Does it close an issue? Multiple? -->
Closes #

<!-- (For internal contributors): Does it relate to an issue on public
roadmap? -->
<!--
Relates to [roadmap](https://github.com/orgs/Unleash/projects/10) item:
#
-->

### Important files
<!-- PRs can contain a lot of changes, but not all changes are equally
important. Where should a reviewer start looking to get an overview of
the changes? Are any files particularly important? -->


## Discussion points
<!-- Anything about the PR you'd like to discuss before it gets merged?
Got any questions or doubts? -->

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-01-26 08:26:43 +02:00
Tymoteusz Czech
bc46918f66
fix: project without potential actions health items separation 2023-01-25 16:29:51 +01:00
Gastón Fournier
8589d59e4b
fix: check is flag enabled! (#2993)
## About the changes
This checks the feature toggle to see if change request is enabled for
variants

Tested  locally
2023-01-25 15:28:25 +00:00
Nuno Góis
7d814a623f
fix: small fixes on variants push to env UI (#2991)
https://linear.app/unleash/issue/2-652/slight-improvements-and-fixes-on-the-push-to-environment-feature

Includes:

- Hover effect on the items should cover the full width of the menu;
- Clicking anywhere on the item should toggle the check;
- Small refactoring


![image](https://user-images.githubusercontent.com/14320932/214592250-05ecc584-3b6b-49f4-93a5-4d3323cd9cde.png)
2023-01-25 14:49:01 +00:00
Nuno Góis
436849edf3
fix: revert table virtualization in variants per env (#2990)
Fixes a bug where some variant tables did not render properly if
scrolled all the way down.

Since we are not expecting to need virtualisation in these tables
anyways (each table should hopefully have a relatively low amount of
variants), reverting the `VirtualizedTable` usage to a normal one seemed
like the most straightforward solution at this stage, fixing the issue
without any noticeable side effects.


![image](https://user-images.githubusercontent.com/14320932/214568043-038ca72e-7f23-4114-8415-fb4eb287154e.png)
2023-01-25 14:23:45 +00:00
Nuno Góis
4d1a004b5d
feat: adds CR to variants per env UI (#2989)
https://linear.app/unleash/issue/2-585/add-cr-to-variants-per-environment-ui

Adds CR to the variants per environment UI. This is basically the point
where we have CRs integrated but can e.g. only update the weight once
per CR. Adapting the UI to better fit CR logic will come next.


![image](https://user-images.githubusercontent.com/14320932/214563512-664a432f-f2eb-49f7-9721-cbd6785a9320.png)
2023-01-25 14:10:35 +00:00
Thomas Heartman
247f751fea
docs: generate client-side SDK docs from readme (#2949)
## What

Delete static client-side SDK docs in favor of generating them at
build time.

- Add a separate list of `clientSideSdks` to `readme-fns`.
- Use sdk type to determine which generation directory it goes into
- Replace manual sidebar category with autogenerated one

## Why

This does the same for client-side SDKs as was done for server-side
SDKs in https://github.com/Unleash/unleash/pull/2858

(Supersedes #2859)
2023-01-25 14:36:50 +01:00
Tymoteusz Czech
96d4d355b1
fix: project table overflow (#2987) 2023-01-25 13:03:36 +00:00
Thomas Heartman
502a0759a5
Docs: fix typo in front-end api url
Seems my autocorrect was a bit overzealous.
2023-01-25 13:30:43 +01:00
Fredrik Strand Oseberg
38be01f506
fix: redirect only happening on root path with replace (#2981)
Adds a fix for overeager redirects, now we will redirect on the root
path and replace on our redirects from login.

Co-authored-by: Gastón Fournier <gaston@getunleash.ai>
2023-01-25 13:12:31 +01:00
Thomas Heartman
99f45b4248
docs: Add front-end API setup to the quickstart guide (#2984)
## What

This change adds instructions on how to use the front-end API for
client-side SDKs to the quickstart guide. It also organizes the content
so that this info is presented before the proxy info.

## Why

The front-end API is easier to use, so it should be preferred over the
proxy for people who are just getting started.
2023-01-25 12:11:23 +00:00
andreas-unleash
1e7636283f
ToggleTypesWidget (#2983)
Implements ToggleTypeWidget

Refactored HealthWidget to it's own component

Signed-off-by: andreas-unleash <andreas@getunleash.ai>

<!-- Thanks for creating a PR! To make it easier for reviewers and
everyone else to understand what your changes relate to, please add some
relevant content to the headings below. Feel free to ignore or delete
sections that you don't think are relevant. Thank you! ❤️ -->

## About the changes
<!-- Describe the changes introduced. What are they and why are they
being introduced? Feel free to also add screenshots or steps to view the
changes if they're visual. -->

<!-- Does it close an issue? Multiple? -->
Closes #

<!-- (For internal contributors): Does it relate to an issue on public
roadmap? -->
<!--
Relates to [roadmap](https://github.com/orgs/Unleash/projects/10) item:
#
-->

### Important files
<!-- PRs can contain a lot of changes, but not all changes are equally
important. Where should a reviewer start looking to get an overview of
the changes? Are any files particularly important? -->

![Screenshot 2023-01-25 at 11 38
07](https://user-images.githubusercontent.com/104830839/214531944-c7007192-e93f-48fc-8ee1-f44930f873d2.png)

## Discussion points
<!-- Anything about the PR you'd like to discuss before it gets merged?
Got any questions or doubts? -->

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-01-25 13:52:36 +02:00
Mateusz Kwasniewski
decb7f320d
feat: import stage (#2985) 2023-01-25 12:34:28 +01:00
Mateusz Kwasniewski
e2e7f64b5b
feat: back transition from validate to configure (#2982) 2023-01-25 10:11:08 +01:00
Mateusz Kwasniewski
85566b1431
fix: preload error (#2980) 2023-01-24 20:40:03 +01:00
Nuno Góis
c5fced89fb
feat: visualize variants diff in CR (#2979)
https://linear.app/unleash/issue/2-582/display-the-change-request-created-with-variants-in-the-ui


![image](https://user-images.githubusercontent.com/14320932/214341314-c4f1aefb-fada-4d59-9d40-86f8dce98b76.png)

Includes a basic diff visualisation on variants change requests.

It seems like components like `CodeSnippetPopover` and `PopoverDiff` are
currently very tightly coupled together with strategies, so I preferred
to follow my own approach and leave those alone for now instead of
trying to refactor them. `patchVariant` could also be renamed to a more
fitting name in the future as well, since we're now doing more of an
override than applying a patch.

`Diff` is a generic diff component that uses `EventDiff` internally and
simply takes into account a "before" and "after" state, as `preData` and
`data`.

I made some changes to `EventDiff` that made some sense to me:
- Cover edge cases where `path` is undefined and `.join` crashes, also
fallback to the diff index (or undefined);
 - Leverage the key to correctly sort the change items in the diff;
2023-01-24 16:06:53 +00:00
Mateusz Kwasniewski
80c444aa99
cleanup in export and import (#2973) 2023-01-24 14:29:59 +01:00
dependabot[bot]
6b22e2eb61
chore(deps): bump cookiejar from 2.1.3 to 2.1.4 in /website (#2977)
[//]: # (dependabot-start)
⚠️  **Dependabot is rebasing this PR** ⚠️ 

Rebasing might not happen immediately, so don't worry if this takes some
time.

Note: if you make any changes to this PR yourself, they will take
precedence over the rebase.

---

[//]: # (dependabot-end)

Bumps [cookiejar](https://github.com/bmeck/node-cookiejar) from 2.1.3 to
2.1.4.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/bmeck/node-cookiejar/commits">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=cookiejar&package-manager=npm_and_yarn&previous-version=2.1.3&new-version=2.1.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the
default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as
the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as
the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the
default for future PRs for this repo and language

You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/Unleash/unleash/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-24 14:24:12 +01:00
dependabot[bot]
fba5911c53
chore(deps): bump cookiejar from 2.1.3 to 2.1.4 (#2972)
Bumps [cookiejar](https://github.com/bmeck/node-cookiejar) from 2.1.3 to
2.1.4.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/bmeck/node-cookiejar/commits">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=cookiejar&package-manager=npm_and_yarn&previous-version=2.1.3&new-version=2.1.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the
default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as
the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as
the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the
default for future PRs for this repo and language

You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/Unleash/unleash/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-24 14:23:38 +01:00
Christopher Kolstad
c961374b24
task: changing variants blocked by cr (#2966)
## About the changes
This PR adds two new functions that is protected by CR. When used
instead of the current setVariantOnEnv and setVariantsOnEnv if the flag
UNLEASH_EXPERIMENTAL_CR_ON_VARIANTS is set, the call is blocked. This
leaves the old functions, which is used from the CR flow in place, and
adds new methods protected by CR.

Also adds e2e tests verifying that the methods will block requests if CR
is enabled for project:environment pair, as well as not block if CR is
not enabled. Tests already in place should confirm that the default
flow, without the flag enabled just works.
2023-01-24 10:43:10 +01:00
Gastón Fournier
3713764a4b
feat: add push to all button to UI (#2969)
## About the changes
This adds the push to all button to the UI


Relates to [roadmap](https://github.com/orgs/Unleash/projects/10) item:
#2254

### UI
![Screenshot from 2023-01-16
12-25-49](https://user-images.githubusercontent.com/455064/214073136-999c32f3-d119-4d55-ae29-47f6a9304e84.png)

Co-authored-by: Nuno Góis <github@nunogois.com>
2023-01-24 10:22:02 +01:00
Simon Hornby
c71c0bb3ac
fix: prevent deleting the last variable variant on the ui (#2964) 2023-01-24 09:48:53 +02:00
Gastón Fournier
a3c706d7ce
chore: ignore Twitter link from being checked (#2971)
## About the changes
Removing perfect match on our Twitter account URL

Closes #2958
2023-01-23 22:09:28 +01:00
Mateusz Kwasniewski
a3404328ea
validation stage (#2970) 2023-01-23 20:02:05 +01:00
Simon Hornby
515845edd1
chore: increase max number of environments from 15 to 50 (#2968) 2023-01-23 17:28:31 +02:00
GitHub Actions Bot
f0b119f2f7 4.20.0-beta.6 2023-01-23 14:28:28 +00:00
Mateusz Kwasniewski
d4a0a3c11d
Validate stage transition (#2967) 2023-01-23 15:04:56 +01:00
Nuno Góis
ccfc046937
feat: adds the PAT_DELETE event (#2965)
<img width="973" alt="image"
src="https://user-images.githubusercontent.com/14320932/214047789-830adae4-daf1-4761-9b77-a49c9b92d0d8.png">

Adds the `PAT_DELETE` event so we can log the relevant information when
a PAT is deleted.

Should cover the following scenarios:

- User deletes their own PAT;
- Admin deletes another user's PAT;
- Admin deletes a Service Account token;
2023-01-23 15:11:16 +02:00
Mateusz Kwasniewski
bc627b428e
timeline component (#2963) 2023-01-23 13:06:24 +01:00
Mateusz Kwasniewski
bfb038c725
feat: pulsing avatar for import (#2961) 2023-01-23 10:44:25 +01:00
renovate[bot]
c41f888810
chore(deps): update dependency eslint-plugin-import to v2.27.4 (#2955)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[eslint-plugin-import](https://togithub.com/import-js/eslint-plugin-import)
| [`2.26.0` ->
`2.27.4`](https://renovatebot.com/diffs/npm/eslint-plugin-import/2.26.0/2.27.4)
|
[![age](https://badges.renovateapi.com/packages/npm/eslint-plugin-import/2.27.4/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/eslint-plugin-import/2.27.4/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/eslint-plugin-import/2.27.4/compatibility-slim/2.26.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/eslint-plugin-import/2.27.4/confidence-slim/2.26.0)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>import-js/eslint-plugin-import</summary>

###
[`v2.27.4`](https://togithub.com/import-js/eslint-plugin-import/blob/HEAD/CHANGELOG.md#&#8203;2274---2023-01-11)

[Compare
Source](https://togithub.com/import-js/eslint-plugin-import/compare/v2.27.3...v2.27.4)

##### Fixed

- `semver` should be a prod dep
(\[[#&#8203;2668](https://togithub.com/import-js/eslint-plugin-import/issues/2668)])

###
[`v2.27.3`](https://togithub.com/import-js/eslint-plugin-import/blob/HEAD/CHANGELOG.md#&#8203;2273---2023-01-11)

[Compare
Source](https://togithub.com/import-js/eslint-plugin-import/compare/v2.27.2...v2.27.3)

##### Fixed

- \[`no-empty-named-blocks`]: rewrite rule to only check import
declarations
(\[[#&#8203;2666](https://togithub.com/import-js/eslint-plugin-import/issues/2666)])

###
[`v2.27.2`](https://togithub.com/import-js/eslint-plugin-import/blob/HEAD/CHANGELOG.md#&#8203;2272---2023-01-11)

[Compare
Source](https://togithub.com/import-js/eslint-plugin-import/compare/v2.27.1...v2.27.2)

##### Fixed

- \[`no-duplicates`]: do not unconditionally require `typescript`
(\[[#&#8203;2665](https://togithub.com/import-js/eslint-plugin-import/issues/2665)])

###
[`v2.27.1`](https://togithub.com/import-js/eslint-plugin-import/blob/HEAD/CHANGELOG.md#&#8203;2271---2023-01-11)

[Compare
Source](https://togithub.com/import-js/eslint-plugin-import/compare/v2.27.0...v2.27.1)

##### Fixed

- `array.prototype.flatmap` should be a prod dep
(\[[#&#8203;2664](https://togithub.com/import-js/eslint-plugin-import/issues/2664)],
thanks \[[@&#8203;cristobal](https://togithub.com/cristobal)])

###
[`v2.27.0`](https://togithub.com/import-js/eslint-plugin-import/blob/HEAD/CHANGELOG.md#&#8203;2270---2023-01-11)

[Compare
Source](https://togithub.com/import-js/eslint-plugin-import/compare/v2.26.0...v2.27.0)

##### Added

- \[`newline-after-import`]: add `considerComments` option
(\[[#&#8203;2399](https://togithub.com/import-js/eslint-plugin-import/issues/2399)],
thanks \[[@&#8203;pri1311](https://togithub.com/pri1311)])
- \[`no-cycle`]: add `allowUnsafeDynamicCyclicDependency` option
(\[[#&#8203;2387](https://togithub.com/import-js/eslint-plugin-import/issues/2387)],
thanks \[[@&#8203;GerkinDev](https://togithub.com/GerkinDev)])
- \[`no-restricted-paths`]: support arrays for `from` and `target`
options
(\[[#&#8203;2466](https://togithub.com/import-js/eslint-plugin-import/issues/2466)],
thanks \[[@&#8203;AdriAt360](https://togithub.com/AdriAt360)])
- \[`no-anonymous-default-export`]: add `allowNew` option
(\[[#&#8203;2505](https://togithub.com/import-js/eslint-plugin-import/issues/2505)],
thanks \[[@&#8203;DamienCassou](https://togithub.com/DamienCassou)])
- \[`order`]: Add `distinctGroup` option
(\[[#&#8203;2395](https://togithub.com/import-js/eslint-plugin-import/issues/2395)],
thanks \[[@&#8203;hyperupcall](https://togithub.com/hyperupcall)])
- \[`no-extraneous-dependencies`]: Add `includeInternal` option
(\[[#&#8203;2541](https://togithub.com/import-js/eslint-plugin-import/issues/2541)],
thanks \[[@&#8203;bdwain](https://togithub.com/bdwain)])
- \[`no-extraneous-dependencies`]: Add `includeTypes` option
(\[[#&#8203;2543](https://togithub.com/import-js/eslint-plugin-import/issues/2543)],
thanks \[[@&#8203;bdwain](https://togithub.com/bdwain)])
- \[`order`]: new `alphabetize.orderImportKind` option to sort imports
with same path based on their kind (`type`, `typeof`)
(\[[#&#8203;2544](https://togithub.com/import-js/eslint-plugin-import/issues/2544)],
thanks \[[@&#8203;stropho](https://togithub.com/stropho)])
- \[`consistent-type-specifier-style`]: add rule
(\[[#&#8203;2473](https://togithub.com/import-js/eslint-plugin-import/issues/2473)],
thanks \[[@&#8203;bradzacher](https://togithub.com/bradzacher)])
- Add \[`no-empty-named-blocks`] rule
(\[[#&#8203;2568](https://togithub.com/import-js/eslint-plugin-import/issues/2568)],
thanks \[[@&#8203;guilhermelimak](https://togithub.com/guilhermelimak)])
- \[`prefer-default-export`]: add "target" option
(\[[#&#8203;2602](https://togithub.com/import-js/eslint-plugin-import/issues/2602)],
thanks \[[@&#8203;azyzz228](https://togithub.com/azyzz228)])
- \[`no-absolute-path`]: add fixer
(\[[#&#8203;2613](https://togithub.com/import-js/eslint-plugin-import/issues/2613)],
thanks \[[@&#8203;adipascu](https://togithub.com/adipascu)])
- \[`no-duplicates`]: support inline type import with `inlineTypeImport`
option
(\[[#&#8203;2475](https://togithub.com/import-js/eslint-plugin-import/issues/2475)],
thanks \[[@&#8203;snewcomer](https://togithub.com/snewcomer)])

##### Fixed

- \[`order`]: move nested imports closer to main import entry
(\[[#&#8203;2396](https://togithub.com/import-js/eslint-plugin-import/issues/2396)],
thanks \[[@&#8203;pri1311](https://togithub.com/pri1311)])
- \[`no-restricted-paths`]: fix an error message
(\[[#&#8203;2466](https://togithub.com/import-js/eslint-plugin-import/issues/2466)],
thanks \[[@&#8203;AdriAt360](https://togithub.com/AdriAt360)])
- \[`no-restricted-paths`]: use `Minimatch.match` instead of `minimatch`
to comply with Windows Native paths
(\[[#&#8203;2466](https://togithub.com/import-js/eslint-plugin-import/issues/2466)],
thanks \[[@&#8203;AdriAt360](https://togithub.com/AdriAt360)])
- \[`order`]: require with member expression could not be fixed if
alphabetize.order was used
(\[[#&#8203;2490](https://togithub.com/import-js/eslint-plugin-import/issues/2490)],
thanks \[[@&#8203;msvab](https://togithub.com/msvab)])
- \[`order`]: leave more space in rankings for consecutive path groups
(\[[#&#8203;2506](https://togithub.com/import-js/eslint-plugin-import/issues/2506)],
thanks \[[@&#8203;Pearce-Ropion](https://togithub.com/Pearce-Ropion)])
- \[`no-cycle`]: add ExportNamedDeclaration statements to dependencies
(\[[#&#8203;2511](https://togithub.com/import-js/eslint-plugin-import/issues/2511)],
thanks \[[@&#8203;BenoitZugmeyer](https://togithub.com/BenoitZugmeyer)])
- \[`dynamic-import-chunkname`]: prevent false report on a valid webpack
magic comment
(\[[#&#8203;2330](https://togithub.com/import-js/eslint-plugin-import/issues/2330)],
thanks \[[@&#8203;mhmadhamster](https://togithub.com/mhmadhamster)])
- \[`export`]: do not error on TS export overloads
(\[[#&#8203;1590](https://togithub.com/import-js/eslint-plugin-import/issues/1590)],
thanks \[[@&#8203;ljharb](https://togithub.com/ljharb)])
- \[`no-unresolved`], \[`extensions`]: ignore type only exports
(\[[#&#8203;2436](https://togithub.com/import-js/eslint-plugin-import/issues/2436)],
thanks \[[@&#8203;Lukas-Kullmann](https://togithub.com/Lukas-Kullmann)])
- `ExportMap`: add missing param to function
(\[[#&#8203;2589](https://togithub.com/import-js/eslint-plugin-import/issues/2589)],
thanks \[[@&#8203;Fdawgs](https://togithub.com/Fdawgs)])
- \[`no-unused-modules`]: `checkPkgFieldObject` filters boolean fields
from checks
(\[[#&#8203;2598](https://togithub.com/import-js/eslint-plugin-import/issues/2598)],
thanks \[[@&#8203;mpint](https://togithub.com/mpint)])
- \[`no-cycle`]: accept Flow `typeof` imports, just like `type`
(\[[#&#8203;2608](https://togithub.com/import-js/eslint-plugin-import/issues/2608)],
thanks \[[@&#8203;gnprice](https://togithub.com/gnprice)])
- \[`no-import-module-exports`]: avoid a false positive for import
variables
(\[[#&#8203;2315](https://togithub.com/import-js/eslint-plugin-import/issues/2315)],
thanks
\[[@&#8203;BarryThePenguin](https://togithub.com/BarryThePenguin)])

##### Changed

- \[Tests] \[`named`]: Run all TypeScript test
(\[[#&#8203;2427](https://togithub.com/import-js/eslint-plugin-import/issues/2427)],
thanks \[[@&#8203;ProdigySim](https://togithub.com/ProdigySim)])
- \[readme] note use of typescript in readme `import/extensions` section
(\[[#&#8203;2440](https://togithub.com/import-js/eslint-plugin-import/issues/2440)],
thanks
\[[@&#8203;OutdatedVersion](https://togithub.com/OutdatedVersion)])
- \[Docs] \[`order`]: use correct default value
(\[[#&#8203;2392](https://togithub.com/import-js/eslint-plugin-import/issues/2392)],
thanks \[[@&#8203;hyperupcall](https://togithub.com/hyperupcall)])
- \[meta] replace git.io link in comments with the original URL
(\[[#&#8203;2444](https://togithub.com/import-js/eslint-plugin-import/issues/2444)],
thanks \[[@&#8203;liby](https://togithub.com/liby)])
- \[Docs] remove global install in readme
(\[[#&#8203;2412](https://togithub.com/import-js/eslint-plugin-import/issues/2412)],
thanks \[[@&#8203;aladdin-add](https://togithub.com/aladdin-add)])
- \[readme] clarify `eslint-import-resolver-typescript` usage
(\[[#&#8203;2503](https://togithub.com/import-js/eslint-plugin-import/issues/2503)],
thanks \[[@&#8203;JounQin](https://togithub.com/JounQin)])
- \[Refactor] \[`no-cycle`]: Add per-run caching of traversed paths
(\[[#&#8203;2419](https://togithub.com/import-js/eslint-plugin-import/issues/2419)],
thanks \[[@&#8203;nokel81](https://togithub.com/nokel81)])
- \[Performance] `ExportMap`: add caching after parsing for an ambiguous
module
(\[[#&#8203;2531](https://togithub.com/import-js/eslint-plugin-import/issues/2531)],
thanks \[[@&#8203;stenin-nikita](https://togithub.com/stenin-nikita)])
- \[Docs] \[`no-useless-path-segments`]: fix paths
(\[[#&#8203;2424](https://togithub.com/import-js/eslint-plugin-import/issues/2424)],
thanks \[[@&#8203;s-h-a-d-o-w](https://togithub.com/s-h-a-d-o-w)])
- \[Tests] \[`no-cycle`]: add passing test cases
(\[[#&#8203;2438](https://togithub.com/import-js/eslint-plugin-import/issues/2438)],
thanks \[[@&#8203;georeith](https://togithub.com/georeith)])
- \[Refactor] \[`no-extraneous-dependencies`] improve performance using
cache
(\[[#&#8203;2374](https://togithub.com/import-js/eslint-plugin-import/issues/2374)],
thanks \[[@&#8203;meowtec](https://togithub.com/meowtec)])
- \[meta] `CONTRIBUTING.md`: mention inactive PRs
(\[[#&#8203;2546](https://togithub.com/import-js/eslint-plugin-import/issues/2546)],
thanks \[[@&#8203;stropho](https://togithub.com/stropho)])
- \[readme] make json for setting groups multiline
(\[[#&#8203;2570](https://togithub.com/import-js/eslint-plugin-import/issues/2570)],
thanks \[[@&#8203;bertyhell](https://togithub.com/bertyhell)])
- \[Tests] \[`no-restricted-paths`]: Tests for `import type` statements
(\[[#&#8203;2459](https://togithub.com/import-js/eslint-plugin-import/issues/2459)],
thanks \[[@&#8203;golergka](https://togithub.com/golergka)])
- \[Tests] \[`no-restricted-paths`]: fix one failing `import type` test
case, submitted by \[[@&#8203;golergka](https://togithub.com/golergka)],
thanks \[[@&#8203;azyzz228](https://togithub.com/azyzz228)]
- \[Docs] automate docs with eslint-doc-generator
(\[[#&#8203;2582](https://togithub.com/import-js/eslint-plugin-import/issues/2582)],
thanks \[[@&#8203;bmish](https://togithub.com/bmish)])
- \[readme] Increase clarity around typescript configuration
(\[[#&#8203;2588](https://togithub.com/import-js/eslint-plugin-import/issues/2588)],
thanks \[[@&#8203;Nfinished](https://togithub.com/Nfinished)])
- \[Docs] update `eslint-doc-generator` to v1.0.0
(\[[#&#8203;2605](https://togithub.com/import-js/eslint-plugin-import/issues/2605)],
thanks \[[@&#8203;bmish](https://togithub.com/bmish)])
- \[Perf] \[`no-cycle`], \[`no-internal-modules`],
\[`no-restricted-paths`]: use `anyOf` instead of `oneOf` (thanks
\[[@&#8203;ljharb](https://togithub.com/ljharb)],
\[[@&#8203;remcohaszing](https://togithub.com/remcohaszing)])

</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:eyJjcmVhdGVkSW5WZXIiOiIzNC4xMDUuNCIsInVwZGF0ZWRJblZlciI6IjM0LjEwNS40In0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-20 22:20:45 +00:00
Gastón Fournier
70d8f9e58a
feat: add warning hints on potential misconfiguration (#2948)
## About the changes
Add warnings when we detect something might be wrong with the customer
configuration, in particular with regard to variants configuration

## Rationale
Moving from variants per feature to variants per environment will allow
users to have fine-grained permissions and more control over variants on
different environments: #2254

But because this requires an additional step of copying variants to
other environments, we identified the potential risk of users forgetting
to follow this step. To keep them informed about this, we're introducing
a warning sign after a toggle is enabled when we detect that:
1. The environment is enabled without variants
2. Other enabled environments have variants

This situation would be a problem if you rely on `getVariant` method
from the SDK, because without variants you'll receive the default
variant. Probably, not what you'd expect after enabling the toggle, but
there are situations where this might be correct. Because of the latter,
we thought that adding a warning and letting the user handle the
situation was the best solution.

## UI sketches
![image
(6)](https://user-images.githubusercontent.com/455064/213676353-112639f0-7781-42c0-8c9d-8c7eba316bae.png)
![Screenshot from 2023-01-19
08-55-10](https://user-images.githubusercontent.com/455064/213664639-7b11ff4b-048a-4a36-aa71-7df2f889adff.png)

Co-authored-by: Nuno Góis <github@nunogois.com>
2023-01-20 18:09:01 +01:00
Mateusz Kwasniewski
287d28e91d
Batch import styling (#2959) 2023-01-20 15:01:40 +01:00
Thomas Heartman
a8a910a39f
docs: don't tell users to contact support for proxy hosting (#2933)
## What

This change removes a notice from the proxy documentation saying that
users should reach out to support@getunleash.io if they want the Unleash
team to host it.

## Why

Unleash ships with the front-end API now, so we don't want people
reaching out to support for this anymore.
2023-01-20 14:26:58 +01:00
Nuno Góis
342a6f6cbe
fix: filtering environments in the project features table (#2957)
![image](https://user-images.githubusercontent.com/14320932/213686971-dc612f72-d86e-414d-afee-23856b5add1a.png)

Fixes an issue where environments were not filtered correctly on the
search, most likely due to some regression accidentally introduced with
changes in the meantime.
2023-01-20 11:47:10 +00:00
Gastón Fournier
96c65fc10d
feat: Add ability to push variants to multiple environments (#2914)
## About the changes
This PR adds the ability to push variants to multiple environments
overriding the existing variants.

Relates to [roadmap](https://github.com/orgs/Unleash/projects/10) item:
#2254

**Note:** This won't fail if there are variants in other environments, because the operation wouldn't be idempotent. It should have that property because setting variants to 1 or more environments once or twice should not make a difference
2023-01-20 10:30:20 +01:00
Mateusz Kwasniewski
a67649347a
feat: file dropzone (#2939) 2023-01-20 09:50:24 +01:00
Gastón Fournier
30ed92cbbb
fix: Add missing sortOrder property (#2940)
Add sortOrder property to some OpenAPI schemas
2023-01-20 08:46:01 +01:00