Compare commits

...

547 Commits

Author SHA1 Message Date
Alejandro Celaya
5aa113ec16 Merge pull request #1387 from shlinkio/develop
Release 4.3.0
2024-11-30 10:48:52 +01:00
Alejandro Celaya
a390e1bdf9 Merge pull request #1386 from acelaya-forks/feature/vite-6
Update to vite 6
2024-11-30 10:42:28 +01:00
Alejandro Celaya
44e9a336aa Update to vite 6 2024-11-30 10:40:07 +01:00
Alejandro Celaya
8ac347f52d Merge pull request #1385 from acelaya-forks/feature/update-shlink-web-component
Update to shlink-web-component 0.11
2024-11-30 10:34:06 +01:00
Alejandro Celaya
a325af3cda Update to shlink-web-component 0.11 2024-11-30 10:31:42 +01:00
Alejandro Celaya
49ebfdbbaf Merge pull request #1378 from shlinkio/dependabot/npm_and_yarn/eslint-b9347fbce3
Bump the eslint group with 2 updates
2024-11-30 10:26:01 +01:00
Alejandro Celaya
742c7b9dd9 Merge pull request #1379 from shlinkio/dependabot/npm_and_yarn/shlink-e0384b93cb
Bump @shlinkio/shlink-js-sdk from 1.2.0 to 1.3.0 in the shlink group
2024-11-30 10:25:55 +01:00
Alejandro Celaya
558d2a09f7 Merge pull request #1381 from shlinkio/dependabot/npm_and_yarn/vitest-bbd5fc0bbb
Bump the vitest group with 2 updates
2024-11-30 10:25:47 +01:00
Alejandro Celaya
584362b426 Merge pull request #1382 from shlinkio/dependabot/npm_and_yarn/reduxjs/toolkit-2.4.0
Bump @reduxjs/toolkit from 2.3.0 to 2.4.0
2024-11-30 10:25:22 +01:00
Alejandro Celaya
0bcdcadee4 Merge pull request #1383 from shlinkio/dependabot/npm_and_yarn/vite-plugin-pwa-0.21.1
Bump vite-plugin-pwa from 0.21.0 to 0.21.1
2024-11-30 10:25:05 +01:00
dependabot[bot]
8ae6835a10 Bump vite-plugin-pwa from 0.21.0 to 0.21.1
Bumps [vite-plugin-pwa](https://github.com/vite-pwa/vite-plugin-pwa) from 0.21.0 to 0.21.1.
- [Release notes](https://github.com/vite-pwa/vite-plugin-pwa/releases)
- [Commits](https://github.com/vite-pwa/vite-plugin-pwa/compare/v0.21.0...v0.21.1)

---
updated-dependencies:
- dependency-name: vite-plugin-pwa
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-30 08:32:00 +00:00
dependabot[bot]
8addfbdb3d Bump @reduxjs/toolkit from 2.3.0 to 2.4.0
Bumps [@reduxjs/toolkit](https://github.com/reduxjs/redux-toolkit) from 2.3.0 to 2.4.0.
- [Release notes](https://github.com/reduxjs/redux-toolkit/releases)
- [Commits](https://github.com/reduxjs/redux-toolkit/compare/v2.3.0...v2.4.0)

---
updated-dependencies:
- dependency-name: "@reduxjs/toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-30 08:31:49 +00:00
dependabot[bot]
db59d55326 Bump the vitest group with 2 updates
Bumps the vitest group with 2 updates: [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) and [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).


Updates `@vitest/coverage-v8` from 2.1.5 to 2.1.6
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v2.1.6/packages/coverage-v8)

Updates `vitest` from 2.1.5 to 2.1.6
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v2.1.6/packages/vitest)

---
updated-dependencies:
- dependency-name: "@vitest/coverage-v8"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vitest
- dependency-name: vitest
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vitest
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-30 08:31:14 +00:00
dependabot[bot]
30ee16a9f6 Bump @shlinkio/shlink-js-sdk from 1.2.0 to 1.3.0 in the shlink group
Bumps the shlink group with 1 update: [@shlinkio/shlink-js-sdk](https://shlink.io).


Updates `@shlinkio/shlink-js-sdk` from 1.2.0 to 1.3.0

---
updated-dependencies:
- dependency-name: "@shlinkio/shlink-js-sdk"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: shlink
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-30 08:30:20 +00:00
dependabot[bot]
8c981811b3 Bump the eslint group with 2 updates
Bumps the eslint group with 2 updates: [eslint](https://github.com/eslint/eslint) and [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint).


Updates `eslint` from 9.15.0 to 9.16.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.15.0...v9.16.0)

Updates `typescript-eslint` from 8.15.0 to 8.16.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.16.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint
- dependency-name: typescript-eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-30 08:30:03 +00:00
Alejandro Celaya
975807c143 Merge pull request #1374 from shlinkio/dependabot/npm_and_yarn/eslint-25372b66e4
Bump the eslint group across 1 directory with 3 updates
2024-11-23 11:27:05 +01:00
Alejandro Celaya
5aaf9111fd Merge pull request #1375 from shlinkio/dependabot/npm_and_yarn/fontawesome-951ff399f8
Bump the fontawesome group with 5 updates
2024-11-23 11:26:56 +01:00
dependabot[bot]
a10898f662 Bump the eslint group across 1 directory with 3 updates
Bumps the eslint group with 3 updates in the / directory: [@stylistic/eslint-plugin](https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin), [eslint](https://github.com/eslint/eslint) and [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint).


Updates `@stylistic/eslint-plugin` from 2.10.1 to 2.11.0
- [Release notes](https://github.com/eslint-stylistic/eslint-stylistic/releases)
- [Changelog](https://github.com/eslint-stylistic/eslint-stylistic/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint-stylistic/eslint-stylistic/commits/v2.11.0/packages/eslint-plugin)

Updates `eslint` from 9.14.0 to 9.15.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.14.0...v9.15.0)

Updates `typescript-eslint` from 8.13.0 to 8.15.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.15.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: "@stylistic/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint
- dependency-name: typescript-eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-23 10:25:05 +00:00
Alejandro Celaya
a853078862 Merge pull request #1376 from shlinkio/dependabot/npm_and_yarn/typescript-5.7.2
Bump typescript from 5.6.3 to 5.7.2
2024-11-23 11:23:58 +01:00
Alejandro Celaya
b1c2b01998 Merge pull request #1377 from shlinkio/dependabot/docker/node-23.3-alpine
Bump node from 23.1-alpine to 23.3-alpine
2024-11-23 11:23:49 +01:00
dependabot[bot]
e0f5705c78 Bump node from 23.1-alpine to 23.3-alpine
Bumps node from 23.1-alpine to 23.3-alpine.

---
updated-dependencies:
- dependency-name: node
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-23 08:52:07 +00:00
dependabot[bot]
db1b58e32e Bump typescript from 5.6.3 to 5.7.2
Bumps [typescript](https://github.com/microsoft/TypeScript) from 5.6.3 to 5.7.2.
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml)
- [Commits](https://github.com/microsoft/TypeScript/compare/v5.6.3...v5.7.2)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-23 08:21:43 +00:00
dependabot[bot]
a777edb881 Bump the fontawesome group with 5 updates
Bumps the fontawesome group with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [@fortawesome/fontawesome-free](https://github.com/FortAwesome/Font-Awesome) | `6.6.0` | `6.7.1` |
| [@fortawesome/fontawesome-svg-core](https://github.com/FortAwesome/Font-Awesome) | `6.6.0` | `6.7.1` |
| [@fortawesome/free-brands-svg-icons](https://github.com/FortAwesome/Font-Awesome) | `6.6.0` | `6.7.1` |
| [@fortawesome/free-regular-svg-icons](https://github.com/FortAwesome/Font-Awesome) | `6.6.0` | `6.7.1` |
| [@fortawesome/free-solid-svg-icons](https://github.com/FortAwesome/Font-Awesome) | `6.6.0` | `6.7.1` |


Updates `@fortawesome/fontawesome-free` from 6.6.0 to 6.7.1
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.6.0...6.7.1)

Updates `@fortawesome/fontawesome-svg-core` from 6.6.0 to 6.7.1
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.6.0...6.7.1)

Updates `@fortawesome/free-brands-svg-icons` from 6.6.0 to 6.7.1
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.6.0...6.7.1)

Updates `@fortawesome/free-regular-svg-icons` from 6.6.0 to 6.7.1
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.6.0...6.7.1)

Updates `@fortawesome/free-solid-svg-icons` from 6.6.0 to 6.7.1
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.6.0...6.7.1)

---
updated-dependencies:
- dependency-name: "@fortawesome/fontawesome-free"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: fontawesome
- dependency-name: "@fortawesome/fontawesome-svg-core"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: fontawesome
- dependency-name: "@fortawesome/free-brands-svg-icons"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: fontawesome
- dependency-name: "@fortawesome/free-regular-svg-icons"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: fontawesome
- dependency-name: "@fortawesome/free-solid-svg-icons"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: fontawesome
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-23 08:20:55 +00:00
Alejandro Celaya
81434a5649 Merge pull request #1370 from shlinkio/dependabot/npm_and_yarn/vite-74cd45698c
Bump vite from 5.4.10 to 5.4.11 in the vite group
2024-11-16 10:24:51 +01:00
dependabot[bot]
62642d891f Bump vite from 5.4.10 to 5.4.11 in the vite group
Bumps the vite group with 1 update: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `vite` from 5.4.10 to 5.4.11
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.4.11/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.4.11/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vite
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-16 09:20:42 +00:00
Alejandro Celaya
68126aad88 Merge pull request #1371 from shlinkio/dependabot/npm_and_yarn/vitest-9196e89f7c
Bump the vitest group with 2 updates
2024-11-16 10:20:19 +01:00
Alejandro Celaya
7e8d85ca73 Merge pull request #1372 from shlinkio/dependabot/npm_and_yarn/sass-1.81.0
Bump sass from 1.80.6 to 1.81.0
2024-11-16 10:20:11 +01:00
Alejandro Celaya
b2205a6258 Merge pull request #1373 from shlinkio/dependabot/npm_and_yarn/vite-plugin-pwa-0.21.0
Bump vite-plugin-pwa from 0.20.5 to 0.21.0
2024-11-16 10:19:53 +01:00
dependabot[bot]
158702bdfc Bump vite-plugin-pwa from 0.20.5 to 0.21.0
Bumps [vite-plugin-pwa](https://github.com/vite-pwa/vite-plugin-pwa) from 0.20.5 to 0.21.0.
- [Release notes](https://github.com/vite-pwa/vite-plugin-pwa/releases)
- [Commits](https://github.com/vite-pwa/vite-plugin-pwa/compare/v0.20.5...v0.21.0)

---
updated-dependencies:
- dependency-name: vite-plugin-pwa
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-16 09:01:44 +00:00
dependabot[bot]
7220bf1ff4 Bump sass from 1.80.6 to 1.81.0
Bumps [sass](https://github.com/sass/dart-sass) from 1.80.6 to 1.81.0.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.80.6...1.81.0)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-16 09:01:26 +00:00
dependabot[bot]
03cb2d76d7 Bump the vitest group with 2 updates
Bumps the vitest group with 2 updates: [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) and [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).


Updates `@vitest/coverage-v8` from 2.1.4 to 2.1.5
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v2.1.5/packages/coverage-v8)

Updates `vitest` from 2.1.4 to 2.1.5
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v2.1.5/packages/vitest)

---
updated-dependencies:
- dependency-name: "@vitest/coverage-v8"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vitest
- dependency-name: vitest
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vitest
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-16 09:01:07 +00:00
Alejandro Celaya
d6350131e6 Merge pull request #1367 from shlinkio/dependabot/npm_and_yarn/eslint-b3b6cd0b9f
Bump typescript-eslint from 8.12.2 to 8.13.0 in the eslint group
2024-11-09 10:07:57 +01:00
Alejandro Celaya
27db3532d9 Merge pull request #1368 from shlinkio/dependabot/npm_and_yarn/react-router-dom-6.28.0
Bump react-router-dom from 6.27.0 to 6.28.0
2024-11-09 10:07:47 +01:00
dependabot[bot]
03f826ffeb Bump react-router-dom from 6.27.0 to 6.28.0
Bumps [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) from 6.27.0 to 6.28.0.
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@6.28.0/packages/react-router-dom)

---
updated-dependencies:
- dependency-name: react-router-dom
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-09 08:16:53 +00:00
dependabot[bot]
049a588287 Bump typescript-eslint from 8.12.2 to 8.13.0 in the eslint group
Bumps the eslint group with 1 update: [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint).


Updates `typescript-eslint` from 8.12.2 to 8.13.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.13.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-09 08:15:58 +00:00
Alejandro Celaya
3aeafec90f Merge pull request #1363 from shlinkio/dependabot/npm_and_yarn/eslint-479a1db07e
Bump the eslint group with 3 updates
2024-11-02 09:57:35 +01:00
dependabot[bot]
32ec9b98d4 Bump the eslint group with 3 updates
Bumps the eslint group with 3 updates: [@stylistic/eslint-plugin](https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin), [eslint](https://github.com/eslint/eslint) and [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint).


Updates `@stylistic/eslint-plugin` from 2.9.0 to 2.10.1
- [Release notes](https://github.com/eslint-stylistic/eslint-stylistic/releases)
- [Changelog](https://github.com/eslint-stylistic/eslint-stylistic/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint-stylistic/eslint-stylistic/commits/v2.10.1/packages/eslint-plugin)

Updates `eslint` from 9.13.0 to 9.14.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.13.0...v9.14.0)

Updates `typescript-eslint` from 8.11.0 to 8.12.2
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.12.2/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: "@stylistic/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint
- dependency-name: typescript-eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-02 08:53:35 +00:00
Alejandro Celaya
6646906d58 Merge pull request #1366 from shlinkio/dependabot/npm_and_yarn/sass-1.80.6
Bump sass from 1.80.4 to 1.80.6
2024-11-02 09:52:20 +01:00
Alejandro Celaya
31c3290aec Merge pull request #1365 from shlinkio/dependabot/npm_and_yarn/workbox-218dd4e85e
Bump the workbox group with 5 updates
2024-11-02 09:52:11 +01:00
Alejandro Celaya
31c4192c24 Merge pull request #1364 from shlinkio/dependabot/npm_and_yarn/vitest-8e6bbe5855
Bump the vitest group with 2 updates
2024-11-02 09:51:47 +01:00
Alejandro Celaya
d4f8fdbd83 Merge pull request #1362 from shlinkio/dependabot/npm_and_yarn/testing-8a261f7dc1
Bump @testing-library/jest-dom from 6.5.0 to 6.6.3 in the testing group across 1 directory
2024-11-02 09:51:32 +01:00
dependabot[bot]
877d951a1b Bump sass from 1.80.4 to 1.80.6
Bumps [sass](https://github.com/sass/dart-sass) from 1.80.4 to 1.80.6.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.80.4...1.80.6)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-02 08:21:03 +00:00
dependabot[bot]
3a6ee5e3c0 Bump the workbox group with 5 updates
Bumps the workbox group with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [workbox-core](https://github.com/googlechrome/workbox) | `7.1.0` | `7.3.0` |
| [workbox-expiration](https://github.com/googlechrome/workbox) | `7.1.0` | `7.3.0` |
| [workbox-precaching](https://github.com/googlechrome/workbox) | `7.1.0` | `7.3.0` |
| [workbox-routing](https://github.com/googlechrome/workbox) | `7.1.0` | `7.3.0` |
| [workbox-strategies](https://github.com/googlechrome/workbox) | `7.1.0` | `7.3.0` |


Updates `workbox-core` from 7.1.0 to 7.3.0
- [Release notes](https://github.com/googlechrome/workbox/releases)
- [Commits](https://github.com/googlechrome/workbox/compare/v7.1.0...v7.3.0)

Updates `workbox-expiration` from 7.1.0 to 7.3.0
- [Release notes](https://github.com/googlechrome/workbox/releases)
- [Commits](https://github.com/googlechrome/workbox/compare/v7.1.0...v7.3.0)

Updates `workbox-precaching` from 7.1.0 to 7.3.0
- [Release notes](https://github.com/googlechrome/workbox/releases)
- [Commits](https://github.com/googlechrome/workbox/compare/v7.1.0...v7.3.0)

Updates `workbox-routing` from 7.1.0 to 7.3.0
- [Release notes](https://github.com/googlechrome/workbox/releases)
- [Commits](https://github.com/googlechrome/workbox/compare/v7.1.0...v7.3.0)

Updates `workbox-strategies` from 7.1.0 to 7.3.0
- [Release notes](https://github.com/googlechrome/workbox/releases)
- [Commits](https://github.com/googlechrome/workbox/compare/v7.1.0...v7.3.0)

---
updated-dependencies:
- dependency-name: workbox-core
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: workbox
- dependency-name: workbox-expiration
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: workbox
- dependency-name: workbox-precaching
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: workbox
- dependency-name: workbox-routing
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: workbox
- dependency-name: workbox-strategies
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: workbox
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-02 08:20:49 +00:00
dependabot[bot]
ca980b96fa Bump the vitest group with 2 updates
Bumps the vitest group with 2 updates: [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) and [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).


Updates `@vitest/coverage-v8` from 2.1.3 to 2.1.4
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v2.1.4/packages/coverage-v8)

Updates `vitest` from 2.1.3 to 2.1.4
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v2.1.4/packages/vitest)

---
updated-dependencies:
- dependency-name: "@vitest/coverage-v8"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vitest
- dependency-name: vitest
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vitest
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-02 08:19:58 +00:00
dependabot[bot]
a5a0f36166 Bump @testing-library/jest-dom in the testing group across 1 directory
Bumps the testing group with 1 update in the / directory: [@testing-library/jest-dom](https://github.com/testing-library/jest-dom).


Updates `@testing-library/jest-dom` from 6.5.0 to 6.6.3
- [Release notes](https://github.com/testing-library/jest-dom/releases)
- [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/jest-dom/compare/v6.5.0...v6.6.3)

---
updated-dependencies:
- dependency-name: "@testing-library/jest-dom"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: testing
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-02 08:18:47 +00:00
Alejandro Celaya
238cefde73 Merge pull request #1361 from acelaya-forks/feature/predictable-server-ids
Feature/predictable server ids
2024-11-01 12:51:47 +01:00
Alejandro Celaya
b31949b468 Ensure generating server IDs work even if server URLs are invalid 2024-11-01 12:49:20 +01:00
Alejandro Celaya
645abea72a Add test for servers helpers 2024-11-01 12:21:42 +01:00
Alejandro Celaya
7a9209af03 Use better names for remoteServers test datasets 2024-11-01 12:15:15 +01:00
Alejandro Celaya
c83abc6e9a Update Bluesky handle 2024-11-01 12:11:38 +01:00
Alejandro Celaya
9b891c83fa Delete unused FormText component 2024-11-01 12:11:12 +01:00
Alejandro Celaya
dc8c749212 Remove dependency on uuid package 2024-11-01 12:09:13 +01:00
Alejandro Celaya
88ad2e7fc2 Fix serversReducer test 2024-11-01 12:01:58 +01:00
Alejandro Celaya
44fb07840e Fix remoteServers test 2024-11-01 11:59:54 +01:00
Alejandro Celaya
e786f9d21f Update CreateServer logic so that it ensures a unique human-friendly ID is set 2024-11-01 11:52:05 +01:00
Alejandro Celaya
9134d07969 Extract logic to determine if a list of servers contains duplicates 2024-10-31 09:36:18 +01:00
Alejandro Celaya
913264b0db Merge pull request #1359 from acelaya-forks/feature/improve-dev-setup
Simplify local dev setup, update CONTRIBUTING.md and recommend running scripts with node --run
2024-10-26 13:23:14 +02:00
Alejandro Celaya
2bbc3e6426 Update node version used during ci 2024-10-26 13:20:28 +02:00
Alejandro Celaya
4c74aec703 Simplify local dev setup, update CONTRIBUTING.md and recommend running scripts with node --run 2024-10-26 13:12:37 +02:00
Alejandro Celaya
83ca5b23f5 Add workflow to build docker image during PRs if Dockerfile changed 2024-10-26 10:32:28 +02:00
Alejandro Celaya
61a679b7cb Merge pull request #1354 from shlinkio/dependabot/npm_and_yarn/eslint-bddec486b2
Bump the eslint group with 4 updates
2024-10-26 09:34:14 +02:00
dependabot[bot]
fdbf094893 Bump the eslint group with 4 updates
Bumps the eslint group with 4 updates: [@shlinkio/eslint-config-js-coding-standard](https://github.com/shlinkio/js-coding-standard), [eslint-plugin-jsx-a11y](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y), [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint).


Updates `@shlinkio/eslint-config-js-coding-standard` from 3.2.0 to 3.2.1
- [Release notes](https://github.com/shlinkio/js-coding-standard/releases)
- [Changelog](https://github.com/shlinkio/js-coding-standard/blob/main/CHANGELOG.md)
- [Commits](https://github.com/shlinkio/js-coding-standard/compare/v3.2.0...v3.2.1)

Updates `eslint-plugin-jsx-a11y` from 6.10.0 to 6.10.2
- [Release notes](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/releases)
- [Changelog](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/compare/v6.10.0...v6.10.2)

Updates `eslint-plugin-react` from 7.37.1 to 7.37.2
- [Release notes](https://github.com/jsx-eslint/eslint-plugin-react/releases)
- [Changelog](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jsx-eslint/eslint-plugin-react/compare/v7.37.1...v7.37.2)

Updates `typescript-eslint` from 8.10.0 to 8.11.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.11.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: "@shlinkio/eslint-config-js-coding-standard"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: eslint
- dependency-name: eslint-plugin-jsx-a11y
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: eslint
- dependency-name: eslint-plugin-react
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: eslint
- dependency-name: typescript-eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-26 07:31:58 +00:00
Alejandro Celaya
fad0dfbe43 Merge pull request #1353 from shlinkio/dependabot/docker/node-23.1-alpine
Bump node from 23.0-alpine to 23.1-alpine
2024-10-26 09:30:20 +02:00
Alejandro Celaya
7ae8e52da8 Merge pull request #1355 from shlinkio/dependabot/npm_and_yarn/types-30814940ba
Bump @types/react from 18.3.11 to 18.3.12 in the types group
2024-10-26 09:29:59 +02:00
Alejandro Celaya
6a1f25ecf6 Merge pull request #1356 from shlinkio/dependabot/npm_and_yarn/vite-19a79babb4
Bump the vite group with 2 updates
2024-10-26 09:29:50 +02:00
Alejandro Celaya
10ba6cb51b Merge pull request #1357 from shlinkio/dependabot/npm_and_yarn/sass-1.80.4
Bump sass from 1.80.3 to 1.80.4
2024-10-26 09:29:43 +02:00
Alejandro Celaya
5943d2aaa6 Merge pull request #1358 from shlinkio/dependabot/npm_and_yarn/axe-core-4.10.2
Bump axe-core from 4.10.1 to 4.10.2
2024-10-26 09:29:36 +02:00
dependabot[bot]
c434b54969 Bump axe-core from 4.10.1 to 4.10.2
Bumps [axe-core](https://github.com/dequelabs/axe-core) from 4.10.1 to 4.10.2.
- [Release notes](https://github.com/dequelabs/axe-core/releases)
- [Changelog](https://github.com/dequelabs/axe-core/blob/v4.10.2/CHANGELOG.md)
- [Commits](https://github.com/dequelabs/axe-core/compare/v4.10.1...v4.10.2)

---
updated-dependencies:
- dependency-name: axe-core
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-26 07:13:10 +00:00
dependabot[bot]
3840d4a1be Bump sass from 1.80.3 to 1.80.4
Bumps [sass](https://github.com/sass/dart-sass) from 1.80.3 to 1.80.4.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.80.3...1.80.4)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-26 07:12:49 +00:00
dependabot[bot]
2b77b2411c Bump the vite group with 2 updates
Bumps the vite group with 2 updates: [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) and [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `@vitejs/plugin-react` from 4.3.2 to 4.3.3
- [Release notes](https://github.com/vitejs/vite-plugin-react/releases)
- [Changelog](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite-plugin-react/commits/v4.3.3/packages/plugin-react)

Updates `vite` from 5.4.9 to 5.4.10
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.4.10/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.4.10/packages/vite)

---
updated-dependencies:
- dependency-name: "@vitejs/plugin-react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vite
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vite
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-26 07:12:26 +00:00
dependabot[bot]
714474d406 Bump @types/react from 18.3.11 to 18.3.12 in the types group
Bumps the types group with 1 update: [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react).


Updates `@types/react` from 18.3.11 to 18.3.12
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: types
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-26 07:12:00 +00:00
dependabot[bot]
a1a1bc44ae Bump node from 23.0-alpine to 23.1-alpine
Bumps node from 23.0-alpine to 23.1-alpine.

---
updated-dependencies:
- dependency-name: node
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-26 07:05:01 +00:00
Alejandro Celaya
18d9ed7b0d Merge pull request #1352 from acelaya-forks/feature/remove-rows
Feature/remove rows
2024-10-19 14:17:36 +02:00
Alejandro Celaya
9094c1d23f Simplify styles in home page with flex utilities 2024-10-19 14:15:53 +02:00
Alejandro Celaya
dcac312d86 Use more flex utilities in ManageServers component 2024-10-19 13:35:20 +02:00
Alejandro Celaya
2e438f9814 Merge pull request #1351 from shlinkio/develop
Release 4.2.2
2024-10-19 12:15:18 +02:00
Alejandro Celaya
ae014e2a14 Update to @shlinkio/shlink-web-component 0.10.1 2024-10-19 12:13:34 +02:00
Alejandro Celaya
5f5b66a21e Merge pull request #1350 from acelaya-forks/feature/update-packages
Update to latest shlink-web-component and shlink-frontend-kit
2024-10-19 11:32:27 +02:00
Alejandro Celaya
723e8696af Update to latest shlink-web-component and shlink-frontend-kit 2024-10-19 11:23:20 +02:00
Alejandro Celaya
32c3c9955c Merge pull request #1346 from shlinkio/dependabot/npm_and_yarn/eslint-9.13.0
Bump eslint from 9.12.0 to 9.13.0
2024-10-19 11:15:19 +02:00
Alejandro Celaya
847a23ddeb Merge pull request #1343 from shlinkio/dependabot/npm_and_yarn/vite-dddd68210b
Bump vite from 5.4.8 to 5.4.9 in the vite group
2024-10-19 11:15:11 +02:00
dependabot[bot]
08e3e01526 Bump vite from 5.4.8 to 5.4.9 in the vite group
Bumps the vite group with 1 update: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `vite` from 5.4.8 to 5.4.9
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.4.9/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.4.9/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vite
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-19 09:12:14 +00:00
dependabot[bot]
82b26add88 Bump eslint from 9.12.0 to 9.13.0
Bumps [eslint](https://github.com/eslint/eslint) from 9.12.0 to 9.13.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.12.0...v9.13.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-19 09:12:01 +00:00
Alejandro Celaya
e3ab34eae1 Merge pull request #1341 from shlinkio/dependabot/npm_and_yarn/eslint-plugins-6f16f7b45b
Bump typescript-eslint from 8.8.1 to 8.10.0 in the eslint-plugins group
2024-10-19 11:11:25 +02:00
Alejandro Celaya
65d9a4125f Merge pull request #1344 from shlinkio/dependabot/npm_and_yarn/vitest-704a82ba63
Bump the vitest group with 2 updates
2024-10-19 11:10:34 +02:00
Alejandro Celaya
d05344eea7 Merge pull request #1345 from shlinkio/dependabot/npm_and_yarn/axe-core-4.10.1
Bump axe-core from 4.10.0 to 4.10.1
2024-10-19 11:10:23 +02:00
dependabot[bot]
47a2d981c8 Bump typescript-eslint from 8.8.1 to 8.10.0 in the eslint-plugins group
Bumps the eslint-plugins group with 1 update: [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint).


Updates `typescript-eslint` from 8.8.1 to 8.10.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.10.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint-plugins
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-19 09:02:49 +00:00
Alejandro Celaya
2229573101 Merge pull request #1347 from shlinkio/dependabot/npm_and_yarn/reduxjs/toolkit-2.3.0
Bump @reduxjs/toolkit from 2.2.8 to 2.3.0
2024-10-19 11:02:00 +02:00
Alejandro Celaya
a8059c6f1f Merge pull request #1348 from shlinkio/dependabot/npm_and_yarn/sass-1.80.3
Bump sass from 1.79.5 to 1.80.3
2024-10-19 11:01:54 +02:00
Alejandro Celaya
51c1963f4b Merge pull request #1349 from shlinkio/dependabot/docker/node-23.0-alpine
Bump node from 22.9-alpine to 23.0-alpine
2024-10-19 11:01:44 +02:00
dependabot[bot]
8c10daeddd Bump node from 22.9-alpine to 23.0-alpine
Bumps node from 22.9-alpine to 23.0-alpine.

---
updated-dependencies:
- dependency-name: node
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-19 07:57:04 +00:00
dependabot[bot]
d168e98607 Bump sass from 1.79.5 to 1.80.3
Bumps [sass](https://github.com/sass/dart-sass) from 1.79.5 to 1.80.3.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.79.5...1.80.3)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-19 07:12:39 +00:00
dependabot[bot]
a45d990eb7 Bump @reduxjs/toolkit from 2.2.8 to 2.3.0
Bumps [@reduxjs/toolkit](https://github.com/reduxjs/redux-toolkit) from 2.2.8 to 2.3.0.
- [Release notes](https://github.com/reduxjs/redux-toolkit/releases)
- [Commits](https://github.com/reduxjs/redux-toolkit/compare/v2.2.8...v2.3.0)

---
updated-dependencies:
- dependency-name: "@reduxjs/toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-19 07:12:28 +00:00
dependabot[bot]
31ae43708a Bump axe-core from 4.10.0 to 4.10.1
Bumps [axe-core](https://github.com/dequelabs/axe-core) from 4.10.0 to 4.10.1.
- [Release notes](https://github.com/dequelabs/axe-core/releases)
- [Changelog](https://github.com/dequelabs/axe-core/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/dequelabs/axe-core/compare/v4.10.0...v4.10.1)

---
updated-dependencies:
- dependency-name: axe-core
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-19 07:12:03 +00:00
dependabot[bot]
cefe327251 Bump the vitest group with 2 updates
Bumps the vitest group with 2 updates: [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) and [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).


Updates `@vitest/coverage-v8` from 2.1.2 to 2.1.3
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v2.1.3/packages/coverage-v8)

Updates `vitest` from 2.1.2 to 2.1.3
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v2.1.3/packages/vitest)

---
updated-dependencies:
- dependency-name: "@vitest/coverage-v8"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vitest
- dependency-name: vitest
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vitest
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-19 07:11:38 +00:00
Alejandro Celaya
22280e9d89 Remove twitter badge from readme 2024-10-17 16:26:41 +02:00
Alejandro Celaya
c73ece41f0 Merge pull request #1339 from acelaya-forks/feature/avoid-side-effects
Remove not needed usages of useEffect
2024-10-14 18:02:04 +02:00
Alejandro Celaya
7825f7666f Remove not needed usages of useEffect 2024-10-14 17:59:56 +02:00
Alejandro Celaya
fc6901ee65 Merge pull request #1338 from shlinkio/dependabot/npm_and_yarn/eslint-plugins-0f7f25a9f5
Bump typescript-eslint from 8.8.0 to 8.8.1 in the eslint-plugins group across 1 directory
2024-10-12 20:21:15 +02:00
dependabot[bot]
1794a07204 Bump typescript-eslint in the eslint-plugins group across 1 directory
Bumps the eslint-plugins group with 1 update in the / directory: [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint).


Updates `typescript-eslint` from 8.8.0 to 8.8.1
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.8.1/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: eslint-plugins
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-12 18:11:31 +00:00
Alejandro Celaya
7215d188a2 Merge pull request #1337 from acelaya-forks/feature/eslint-9
Feature/eslint 9
2024-10-12 20:10:31 +02:00
Alejandro Celaya
94890da48f Update to ESLint 9 2024-10-12 20:09:02 +02:00
Alejandro Celaya
078c5c8889 Merge pull request #1332 from shlinkio/dependabot/npm_and_yarn/types-0d175a54fb
Bump @types/react-dom from 18.3.0 to 18.3.1 in the types group
2024-10-12 10:34:11 +02:00
Alejandro Celaya
23a0cb1245 Merge pull request #1333 from shlinkio/dependabot/npm_and_yarn/react-router-dom-6.27.0
Bump react-router-dom from 6.26.2 to 6.27.0
2024-10-12 10:34:03 +02:00
Alejandro Celaya
b4015bd8d1 Merge pull request #1334 from shlinkio/dependabot/npm_and_yarn/typescript-5.6.3
Bump typescript from 5.6.2 to 5.6.3
2024-10-12 10:33:51 +02:00
dependabot[bot]
3cffaa6e32 Bump typescript from 5.6.2 to 5.6.3
Bumps [typescript](https://github.com/microsoft/TypeScript) from 5.6.2 to 5.6.3.
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml)
- [Commits](https://github.com/microsoft/TypeScript/compare/v5.6.2...v5.6.3)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-12 08:33:32 +00:00
Alejandro Celaya
e68faa63c5 Merge pull request #1335 from shlinkio/dependabot/npm_and_yarn/reduxjs/toolkit-2.2.8
Bump @reduxjs/toolkit from 2.2.7 to 2.2.8
2024-10-12 10:32:54 +02:00
Alejandro Celaya
e0706a6a89 Merge pull request #1336 from shlinkio/dependabot/npm_and_yarn/sass-1.79.5
Bump sass from 1.79.4 to 1.79.5
2024-10-12 10:32:43 +02:00
dependabot[bot]
adcb405643 Bump sass from 1.79.4 to 1.79.5
Bumps [sass](https://github.com/sass/dart-sass) from 1.79.4 to 1.79.5.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.79.4...1.79.5)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-12 07:30:03 +00:00
dependabot[bot]
63df7db2f5 Bump @reduxjs/toolkit from 2.2.7 to 2.2.8
Bumps [@reduxjs/toolkit](https://github.com/reduxjs/redux-toolkit) from 2.2.7 to 2.2.8.
- [Release notes](https://github.com/reduxjs/redux-toolkit/releases)
- [Commits](https://github.com/reduxjs/redux-toolkit/compare/v2.2.7...v2.2.8)

---
updated-dependencies:
- dependency-name: "@reduxjs/toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-12 07:29:47 +00:00
dependabot[bot]
04eb1b1b0e Bump react-router-dom from 6.26.2 to 6.27.0
Bumps [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) from 6.26.2 to 6.27.0.
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/react-router-dom@6.27.0/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@6.27.0/packages/react-router-dom)

---
updated-dependencies:
- dependency-name: react-router-dom
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-12 07:29:10 +00:00
dependabot[bot]
40bf57882a Bump @types/react-dom from 18.3.0 to 18.3.1 in the types group
Bumps the types group with 1 update: [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom).


Updates `@types/react-dom` from 18.3.0 to 18.3.1
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom)

---
updated-dependencies:
- dependency-name: "@types/react-dom"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: types
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-12 07:28:32 +00:00
Alejandro Celaya
9a798c20c0 Merge pull request #1329 from shlinkio/develop
Release 4.2.1
2024-10-09 14:33:56 +02:00
Alejandro Celaya
45a9783e04 Remove extra empty line from changelog 2024-10-09 14:32:29 +02:00
Alejandro Celaya
ac95ff0166 Merge pull request #1328 from acelaya-forks/feature/web-client-0.8.1
Update to shlink-web-client 0.8.1
2024-10-09 14:31:40 +02:00
Alejandro Celaya
a0df3eeb93 Update to shlink-web-client 0.8.1 2024-10-09 14:29:47 +02:00
Alejandro Celaya
e8c5ac8320 Merge pull request #1327 from acelaya-forks/feature/uuid-fix
Get dependency on uuid package back to fix error on non-secure contexts
2024-10-09 09:30:10 +02:00
Alejandro Celaya
453d245924 Get dependency on uuid package back to fix error on non-secure contexts 2024-10-09 09:27:08 +02:00
Alejandro Celaya
9e1a803b8d Merge pull request #1324 from shlinkio/develop
Release 4.2.0
2024-10-07 09:54:43 +02:00
Alejandro Celaya
1ba2241203 Merge pull request #1323 from acelaya-forks/feature/shlink-web-component-0.8
Update to shlink-web-component 0.8.0
2024-10-07 09:52:30 +02:00
Alejandro Celaya
b0aff16779 Update to shlink-web-component 0.8.0 2024-10-07 09:50:16 +02:00
Alejandro Celaya
ec58e596e0 Merge pull request #1318 from shlinkio/dependabot/npm_and_yarn/types-ab94fefaf6
Bump @types/react from 18.3.10 to 18.3.11 in the types group
2024-10-05 11:50:12 +02:00
Alejandro Celaya
3ba672bd3f Merge pull request #1319 from shlinkio/dependabot/npm_and_yarn/vite-c328117c2b
Bump @vitejs/plugin-react from 4.3.1 to 4.3.2 in the vite group
2024-10-05 11:49:55 +02:00
dependabot[bot]
aa7b1bbf1b Bump @vitejs/plugin-react from 4.3.1 to 4.3.2 in the vite group
Bumps the vite group with 1 update: [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react).


Updates `@vitejs/plugin-react` from 4.3.1 to 4.3.2
- [Release notes](https://github.com/vitejs/vite-plugin-react/releases)
- [Changelog](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite-plugin-react/commits/v4.3.2/packages/plugin-react)

---
updated-dependencies:
- dependency-name: "@vitejs/plugin-react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vite
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-05 09:37:22 +00:00
dependabot[bot]
7f2483659a Bump @types/react from 18.3.10 to 18.3.11 in the types group
Bumps the types group with 1 update: [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react).


Updates `@types/react` from 18.3.10 to 18.3.11
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: types
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-05 09:37:19 +00:00
Alejandro Celaya
857cd87607 Merge pull request #1317 from shlinkio/dependabot/npm_and_yarn/eslint-plugins-4bb75d178e
Bump the eslint-plugins group with 3 updates
2024-10-05 11:37:12 +02:00
Alejandro Celaya
4758fa18e2 Merge pull request #1320 from shlinkio/dependabot/npm_and_yarn/vitest-d433cb610b
Bump the vitest group with 2 updates
2024-10-05 11:35:57 +02:00
dependabot[bot]
34ec6fabb3 Bump the vitest group with 2 updates
Bumps the vitest group with 2 updates: [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) and [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).


Updates `@vitest/coverage-v8` from 2.1.1 to 2.1.2
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v2.1.2/packages/coverage-v8)

Updates `vitest` from 2.1.1 to 2.1.2
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v2.1.2/packages/vitest)

---
updated-dependencies:
- dependency-name: "@vitest/coverage-v8"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vitest
- dependency-name: vitest
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vitest
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-05 07:54:26 +00:00
dependabot[bot]
00524c6157 Bump the eslint-plugins group with 3 updates
Bumps the eslint-plugins group with 3 updates: [@stylistic/eslint-plugin](https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin), [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint).


Updates `@stylistic/eslint-plugin` from 2.8.0 to 2.9.0
- [Release notes](https://github.com/eslint-stylistic/eslint-stylistic/releases)
- [Changelog](https://github.com/eslint-stylistic/eslint-stylistic/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint-stylistic/eslint-stylistic/commits/v2.9.0/packages/eslint-plugin)

Updates `eslint-plugin-react` from 7.37.0 to 7.37.1
- [Release notes](https://github.com/jsx-eslint/eslint-plugin-react/releases)
- [Changelog](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jsx-eslint/eslint-plugin-react/compare/v7.37.0...v7.37.1)

Updates `typescript-eslint` from 8.7.0 to 8.8.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.8.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: "@stylistic/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint-plugins
- dependency-name: eslint-plugin-react
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: eslint-plugins
- dependency-name: typescript-eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint-plugins
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-05 07:53:22 +00:00
Alejandro Celaya
e66e2ad858 Merge pull request #1316 from acelaya-forks/feature/crypto-uuid
Remove dependency on uuid package, and use crypto.randomUUID() instead
2024-10-02 12:08:04 +02:00
Alejandro Celaya
69344a01ac Remove dependency on uuid package, and use crypto.randomUUID() instead 2024-10-02 12:06:22 +02:00
Alejandro Celaya
a90ef56eb8 Merge pull request #1309 from shlinkio/dependabot/npm_and_yarn/eslint-plugins-d2395df1c9
Bump the eslint-plugins group with 2 updates
2024-09-28 09:49:19 +02:00
Alejandro Celaya
947c7d0b3f Merge pull request #1314 from shlinkio/dependabot/npm_and_yarn/jsdom-25.0.1
Bump jsdom from 25.0.0 to 25.0.1
2024-09-28 09:49:10 +02:00
dependabot[bot]
8d66edf75b Bump the eslint-plugins group with 2 updates
Bumps the eslint-plugins group with 2 updates: [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint).


Updates `eslint-plugin-react` from 7.36.1 to 7.37.0
- [Release notes](https://github.com/jsx-eslint/eslint-plugin-react/releases)
- [Changelog](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jsx-eslint/eslint-plugin-react/compare/v7.36.1...v7.37.0)

Updates `typescript-eslint` from 8.6.0 to 8.7.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.7.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: eslint-plugin-react
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint-plugins
- dependency-name: typescript-eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint-plugins
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-28 07:42:24 +00:00
dependabot[bot]
d483a04543 Bump jsdom from 25.0.0 to 25.0.1
Bumps [jsdom](https://github.com/jsdom/jsdom) from 25.0.0 to 25.0.1.
- [Release notes](https://github.com/jsdom/jsdom/releases)
- [Changelog](https://github.com/jsdom/jsdom/blob/main/Changelog.md)
- [Commits](https://github.com/jsdom/jsdom/compare/25.0.0...25.0.1)

---
updated-dependencies:
- dependency-name: jsdom
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-28 07:41:32 +00:00
Alejandro Celaya
c6790b1617 Merge pull request #1308 from shlinkio/dependabot/npm_and_yarn/multi-629b308194
Bump rollup
2024-09-28 09:41:30 +02:00
Alejandro Celaya
43649ae188 Merge pull request #1310 from shlinkio/dependabot/npm_and_yarn/types-ea80e67364
Bump @types/react from 18.3.8 to 18.3.10 in the types group
2024-09-28 09:41:12 +02:00
Alejandro Celaya
a865824b0c Merge pull request #1311 from shlinkio/dependabot/npm_and_yarn/vite-f252b592e2
Bump vite from 5.4.7 to 5.4.8 in the vite group
2024-09-28 09:41:02 +02:00
Alejandro Celaya
f69bb83256 Merge pull request #1312 from shlinkio/dependabot/npm_and_yarn/reactstrap-9.2.3
Bump reactstrap from 9.2.2 to 9.2.3
2024-09-28 09:40:51 +02:00
Alejandro Celaya
7efe9ba3ca Merge pull request #1315 from shlinkio/dependabot/npm_and_yarn/sass-1.79.4
Bump sass from 1.79.3 to 1.79.4
2024-09-28 09:40:34 +02:00
dependabot[bot]
7a7956e25f Bump sass from 1.79.3 to 1.79.4
Bumps [sass](https://github.com/sass/dart-sass) from 1.79.3 to 1.79.4.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.79.3...1.79.4)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-28 07:10:32 +00:00
dependabot[bot]
1d33275eb1 Bump reactstrap from 9.2.2 to 9.2.3
Bumps [reactstrap](https://github.com/reactstrap/reactstrap) from 9.2.2 to 9.2.3.
- [Release notes](https://github.com/reactstrap/reactstrap/releases)
- [Changelog](https://github.com/reactstrap/reactstrap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/reactstrap/reactstrap/compare/v9.2.2...v9.2.3)

---
updated-dependencies:
- dependency-name: reactstrap
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-28 07:09:49 +00:00
dependabot[bot]
d4149e14b5 Bump vite from 5.4.7 to 5.4.8 in the vite group
Bumps the vite group with 1 update: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `vite` from 5.4.7 to 5.4.8
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.4.8/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.4.8/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vite
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-28 07:09:29 +00:00
dependabot[bot]
069301492d Bump @types/react from 18.3.8 to 18.3.10 in the types group
Bumps the types group with 1 update: [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react).


Updates `@types/react` from 18.3.8 to 18.3.10
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: types
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-28 07:09:10 +00:00
dependabot[bot]
b457996c52 Bump rollup
Bumps  and [rollup](https://github.com/rollup/rollup). These dependencies needed to be updated together.

Updates `rollup` from 4.21.0 to 4.22.5
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v4.21.0...v4.22.5)

Updates `rollup` from 2.79.1 to 4.22.5
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v4.21.0...v4.22.5)

---
updated-dependencies:
- dependency-name: rollup
  dependency-type: indirect
- dependency-name: rollup
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-27 17:10:25 +00:00
Alejandro Celaya
f5d4512d5d Merge pull request #1301 from shlinkio/dependabot/docker/node-22.9-alpine
Bump node from 22.8-alpine to 22.9-alpine
2024-09-21 15:22:21 +02:00
Alejandro Celaya
ad5f43c74d Merge pull request #1302 from shlinkio/dependabot/npm_and_yarn/eslint-plugins-222c5ca444
Bump typescript-eslint from 8.5.0 to 8.6.0 in the eslint-plugins group
2024-09-21 15:22:10 +02:00
dependabot[bot]
3510e0fbb5 Bump typescript-eslint from 8.5.0 to 8.6.0 in the eslint-plugins group
Bumps the eslint-plugins group with 1 update: [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint).


Updates `typescript-eslint` from 8.5.0 to 8.6.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.6.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint-plugins
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-21 13:21:54 +00:00
Alejandro Celaya
dd62267422 Merge pull request #1303 from shlinkio/dependabot/npm_and_yarn/types-ffc8ca0122
Bump @types/react from 18.3.5 to 18.3.8 in the types group
2024-09-21 15:21:19 +02:00
Alejandro Celaya
ff5670fdbc Merge pull request #1304 from shlinkio/dependabot/npm_and_yarn/vite-e4db97b018
Bump vite from 5.4.6 to 5.4.7 in the vite group
2024-09-21 15:20:54 +02:00
Alejandro Celaya
cdb474890b Merge pull request #1305 from shlinkio/dependabot/npm_and_yarn/date-fns-4.1.0
Bump date-fns from 3.6.0 to 4.1.0
2024-09-21 15:20:25 +02:00
Alejandro Celaya
5e235ac76f Merge pull request #1306 from shlinkio/dependabot/npm_and_yarn/sass-1.79.3
Bump sass from 1.78.0 to 1.79.3
2024-09-21 15:20:12 +02:00
dependabot[bot]
115e5eec50 Bump sass from 1.78.0 to 1.79.3
Bumps [sass](https://github.com/sass/dart-sass) from 1.78.0 to 1.79.3.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.78.0...1.79.3)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-21 08:01:10 +00:00
dependabot[bot]
ab15812c9f Bump date-fns from 3.6.0 to 4.1.0
Bumps [date-fns](https://github.com/date-fns/date-fns) from 3.6.0 to 4.1.0.
- [Release notes](https://github.com/date-fns/date-fns/releases)
- [Changelog](https://github.com/date-fns/date-fns/blob/main/CHANGELOG.md)
- [Commits](https://github.com/date-fns/date-fns/compare/v3.6.0...v4.1.0)

---
updated-dependencies:
- dependency-name: date-fns
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-21 08:00:57 +00:00
dependabot[bot]
864b57760b Bump vite from 5.4.6 to 5.4.7 in the vite group
Bumps the vite group with 1 update: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `vite` from 5.4.6 to 5.4.7
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.4.7/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.4.7/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vite
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-21 08:00:26 +00:00
dependabot[bot]
7df60fd821 Bump @types/react from 18.3.5 to 18.3.8 in the types group
Bumps the types group with 1 update: [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react).


Updates `@types/react` from 18.3.5 to 18.3.8
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: types
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-21 08:00:05 +00:00
dependabot[bot]
7d6b43537d Bump node from 22.8-alpine to 22.9-alpine
Bumps node from 22.8-alpine to 22.9-alpine.

---
updated-dependencies:
- dependency-name: node
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-21 07:49:50 +00:00
Alejandro Celaya
329f68879c Merge pull request #1298 from shlinkio/dependabot/npm_and_yarn/vite-5.4.6
Bump vite from 5.4.5 to 5.4.6
2024-09-17 22:16:14 +02:00
dependabot[bot]
9ddbbd45fa Bump vite from 5.4.5 to 5.4.6
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.4.5 to 5.4.6.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.4.6/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.4.6/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-17 19:45:25 +00:00
Alejandro Celaya
ff86233381 Merge pull request #1293 from shlinkio/dependabot/npm_and_yarn/vite-3834ac2acb
Bump vite from 5.4.3 to 5.4.5 in the vite group
2024-09-14 10:15:24 +02:00
Alejandro Celaya
37f6e1c51b Merge pull request #1295 from shlinkio/dependabot/npm_and_yarn/typescript-5.6.2
Bump typescript from 5.5.4 to 5.6.2
2024-09-14 10:15:17 +02:00
dependabot[bot]
592647eab1 Bump vite from 5.4.3 to 5.4.5 in the vite group
Bumps the vite group with 1 update: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `vite` from 5.4.3 to 5.4.5
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.4.5/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.4.5/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vite
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-14 08:04:45 +00:00
dependabot[bot]
9e7cb0e70a Bump typescript from 5.5.4 to 5.6.2
Bumps [typescript](https://github.com/microsoft/TypeScript) from 5.5.4 to 5.6.2.
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml)
- [Commits](https://github.com/microsoft/TypeScript/compare/v5.5.4...v5.6.2)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-14 08:04:41 +00:00
Alejandro Celaya
91f244ef08 Merge pull request #1294 from shlinkio/dependabot/npm_and_yarn/vitest-6a0b265b87
Bump the vitest group with 2 updates
2024-09-14 10:04:22 +02:00
Alejandro Celaya
3ca4faf066 Merge pull request #1296 from shlinkio/dependabot/npm_and_yarn/react-router-dom-6.26.2
Bump react-router-dom from 6.26.1 to 6.26.2
2024-09-14 10:04:10 +02:00
Alejandro Celaya
3ea4e3a4f1 Merge pull request #1292 from shlinkio/dependabot/npm_and_yarn/eslint-plugins-ffc2b2f23a
Bump the eslint-plugins group with 4 updates
2024-09-14 10:03:57 +02:00
dependabot[bot]
4d2c2d0c57 Bump react-router-dom from 6.26.1 to 6.26.2
Bumps [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) from 6.26.1 to 6.26.2.
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@6.26.2/packages/react-router-dom)

---
updated-dependencies:
- dependency-name: react-router-dom
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-14 07:05:30 +00:00
dependabot[bot]
68464ef1eb Bump the vitest group with 2 updates
Bumps the vitest group with 2 updates: [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) and [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).


Updates `@vitest/coverage-v8` from 2.0.5 to 2.1.1
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v2.1.1/packages/coverage-v8)

Updates `vitest` from 2.0.5 to 2.1.1
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v2.1.1/packages/vitest)

---
updated-dependencies:
- dependency-name: "@vitest/coverage-v8"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: vitest
- dependency-name: vitest
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: vitest
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-14 07:04:49 +00:00
dependabot[bot]
8877c5a4e4 Bump the eslint-plugins group with 4 updates
Bumps the eslint-plugins group with 4 updates: [@shlinkio/eslint-config-js-coding-standard](https://github.com/shlinkio/js-coding-standard), [@stylistic/eslint-plugin](https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin), [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint).


Updates `@shlinkio/eslint-config-js-coding-standard` from 3.0.1 to 3.1.0
- [Release notes](https://github.com/shlinkio/js-coding-standard/releases)
- [Changelog](https://github.com/shlinkio/js-coding-standard/blob/main/CHANGELOG.md)
- [Commits](https://github.com/shlinkio/js-coding-standard/compare/v3.0.1...v3.1.0)

Updates `@stylistic/eslint-plugin` from 2.7.2 to 2.8.0
- [Release notes](https://github.com/eslint-stylistic/eslint-stylistic/releases)
- [Changelog](https://github.com/eslint-stylistic/eslint-stylistic/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint-stylistic/eslint-stylistic/commits/v2.8.0/packages/eslint-plugin)

Updates `eslint-plugin-react` from 7.35.2 to 7.36.1
- [Release notes](https://github.com/jsx-eslint/eslint-plugin-react/releases)
- [Changelog](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jsx-eslint/eslint-plugin-react/compare/v7.35.2...v7.36.1)

Updates `typescript-eslint` from 8.4.0 to 8.5.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.5.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: "@shlinkio/eslint-config-js-coding-standard"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint-plugins
- dependency-name: "@stylistic/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint-plugins
- dependency-name: eslint-plugin-react
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint-plugins
- dependency-name: typescript-eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint-plugins
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-14 07:03:49 +00:00
Alejandro Celaya
1b4989f418 Merge pull request #1289 from shlinkio/dependabot/npm_and_yarn/vite-0a96078de5
Bump vite from 5.4.2 to 5.4.3 in the vite group
2024-09-07 09:56:01 +02:00
dependabot[bot]
f24e363ce3 Bump vite from 5.4.2 to 5.4.3 in the vite group
Bumps the vite group with 1 update: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `vite` from 5.4.2 to 5.4.3
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.4.3/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vite
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-07 07:55:07 +00:00
Alejandro Celaya
3b402f6ee9 Merge pull request #1288 from shlinkio/dependabot/npm_and_yarn/eslint-plugins-29a0322f73
Bump the eslint-plugins group with 3 updates
2024-09-07 09:54:36 +02:00
Alejandro Celaya
370c06a77b Merge pull request #1290 from shlinkio/dependabot/npm_and_yarn/vite-plugin-pwa-0.20.5
Bump vite-plugin-pwa from 0.20.2 to 0.20.5
2024-09-07 09:54:25 +02:00
Alejandro Celaya
d760808928 Merge pull request #1291 from shlinkio/dependabot/npm_and_yarn/sass-1.78.0
Bump sass from 1.77.8 to 1.78.0
2024-09-07 09:54:18 +02:00
dependabot[bot]
c71569f9d9 Bump sass from 1.77.8 to 1.78.0
Bumps [sass](https://github.com/sass/dart-sass) from 1.77.8 to 1.78.0.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.77.8...1.78.0)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-07 07:50:52 +00:00
dependabot[bot]
ec378963c0 Bump vite-plugin-pwa from 0.20.2 to 0.20.5
Bumps [vite-plugin-pwa](https://github.com/vite-pwa/vite-plugin-pwa) from 0.20.2 to 0.20.5.
- [Release notes](https://github.com/vite-pwa/vite-plugin-pwa/releases)
- [Commits](https://github.com/vite-pwa/vite-plugin-pwa/compare/v0.20.2...v0.20.5)

---
updated-dependencies:
- dependency-name: vite-plugin-pwa
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-07 07:50:25 +00:00
dependabot[bot]
03002ed291 Bump the eslint-plugins group with 3 updates
Bumps the eslint-plugins group with 3 updates: [eslint-plugin-jsx-a11y](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y), [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint).


Updates `eslint-plugin-jsx-a11y` from 6.9.0 to 6.10.0
- [Release notes](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/releases)
- [Changelog](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/compare/v6.9.0...v6.10.0)

Updates `eslint-plugin-react` from 7.35.0 to 7.35.2
- [Release notes](https://github.com/jsx-eslint/eslint-plugin-react/releases)
- [Changelog](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jsx-eslint/eslint-plugin-react/compare/v7.35.0...v7.35.2)

Updates `typescript-eslint` from 8.3.0 to 8.4.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.4.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: eslint-plugin-jsx-a11y
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint-plugins
- dependency-name: eslint-plugin-react
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: eslint-plugins
- dependency-name: typescript-eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint-plugins
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-07 07:49:28 +00:00
Alejandro Celaya
77db855785 Merge pull request #1287 from shlinkio/dependabot/docker/node-22.8-alpine
Bump node from 22.7-alpine to 22.8-alpine
2024-09-07 09:48:04 +02:00
dependabot[bot]
7e23ad3d31 Bump node from 22.7-alpine to 22.8-alpine
Bumps node from 22.7-alpine to 22.8-alpine.

---
updated-dependencies:
- dependency-name: node
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-07 07:10:46 +00:00
Alejandro Celaya
e6bee4ff40 Merge pull request #1281 from shlinkio/dependabot/npm_and_yarn/eslint-plugins-3f266b2cd8
Bump the eslint-plugins group with 2 updates
2024-08-31 09:41:34 +02:00
Alejandro Celaya
67c59b2a6f Merge pull request #1282 from shlinkio/dependabot/npm_and_yarn/types-59faa2a978
Bump @types/react from 18.3.4 to 18.3.5 in the types group
2024-08-31 09:41:22 +02:00
Alejandro Celaya
818b5f6c97 Merge pull request #1283 from shlinkio/dependabot/npm_and_yarn/testing-a225d2e67e
Bump @testing-library/react from 16.0.0 to 16.0.1 in the testing group
2024-08-31 09:41:13 +02:00
Alejandro Celaya
c5d99d22e5 Merge pull request #1284 from shlinkio/dependabot/npm_and_yarn/vite-plugin-pwa-0.20.2
Bump vite-plugin-pwa from 0.20.1 to 0.20.2
2024-08-31 09:40:57 +02:00
Alejandro Celaya
0fd0e9b083 Merge pull request #1285 from shlinkio/dependabot/npm_and_yarn/jsdom-25.0.0
Bump jsdom from 24.1.1 to 25.0.0
2024-08-31 09:40:46 +02:00
Alejandro Celaya
6838f53733 Merge pull request #1286 from shlinkio/dependabot/npm_and_yarn/adm-zip-0.5.16
Bump adm-zip from 0.5.15 to 0.5.16
2024-08-31 09:39:51 +02:00
dependabot[bot]
4aa8fc3980 Bump adm-zip from 0.5.15 to 0.5.16
Bumps [adm-zip](https://github.com/cthackers/adm-zip) from 0.5.15 to 0.5.16.
- [Release notes](https://github.com/cthackers/adm-zip/releases)
- [Changelog](https://github.com/cthackers/adm-zip/blob/master/history.md)
- [Commits](https://github.com/cthackers/adm-zip/compare/v0.5.15...v0.5.16)

---
updated-dependencies:
- dependency-name: adm-zip
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-31 07:31:53 +00:00
dependabot[bot]
24be2a7c3a Bump jsdom from 24.1.1 to 25.0.0
Bumps [jsdom](https://github.com/jsdom/jsdom) from 24.1.1 to 25.0.0.
- [Release notes](https://github.com/jsdom/jsdom/releases)
- [Changelog](https://github.com/jsdom/jsdom/blob/main/Changelog.md)
- [Commits](https://github.com/jsdom/jsdom/compare/24.1.1...25.0.0)

---
updated-dependencies:
- dependency-name: jsdom
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-31 07:31:28 +00:00
dependabot[bot]
1f979ec2d6 Bump vite-plugin-pwa from 0.20.1 to 0.20.2
Bumps [vite-plugin-pwa](https://github.com/vite-pwa/vite-plugin-pwa) from 0.20.1 to 0.20.2.
- [Release notes](https://github.com/vite-pwa/vite-plugin-pwa/releases)
- [Commits](https://github.com/vite-pwa/vite-plugin-pwa/compare/v0.20.1...v0.20.2)

---
updated-dependencies:
- dependency-name: vite-plugin-pwa
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-31 07:31:18 +00:00
dependabot[bot]
5f6d808615 Bump @testing-library/react from 16.0.0 to 16.0.1 in the testing group
Bumps the testing group with 1 update: [@testing-library/react](https://github.com/testing-library/react-testing-library).


Updates `@testing-library/react` from 16.0.0 to 16.0.1
- [Release notes](https://github.com/testing-library/react-testing-library/releases)
- [Changelog](https://github.com/testing-library/react-testing-library/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/react-testing-library/compare/v16.0.0...v16.0.1)

---
updated-dependencies:
- dependency-name: "@testing-library/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: testing
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-31 07:30:50 +00:00
dependabot[bot]
c3aecddb51 Bump @types/react from 18.3.4 to 18.3.5 in the types group
Bumps the types group with 1 update: [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react).


Updates `@types/react` from 18.3.4 to 18.3.5
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: types
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-31 07:30:35 +00:00
dependabot[bot]
82cfce431d Bump the eslint-plugins group with 2 updates
Bumps the eslint-plugins group with 2 updates: [@stylistic/eslint-plugin](https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin) and [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint).


Updates `@stylistic/eslint-plugin` from 2.6.4 to 2.7.2
- [Release notes](https://github.com/eslint-stylistic/eslint-stylistic/releases)
- [Changelog](https://github.com/eslint-stylistic/eslint-stylistic/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint-stylistic/eslint-stylistic/commits/v2.7.2/packages/eslint-plugin)

Updates `typescript-eslint` from 8.2.0 to 8.3.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.3.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: "@stylistic/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint-plugins
- dependency-name: typescript-eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint-plugins
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-31 07:30:07 +00:00
Alejandro Celaya
bba730582c Merge pull request #1276 from shlinkio/dependabot/npm_and_yarn/eslint-plugins-fad35f0aa5
Bump typescript-eslint from 8.1.0 to 8.2.0 in the eslint-plugins group
2024-08-24 11:07:16 +02:00
dependabot[bot]
08a6176bcd Bump typescript-eslint from 8.1.0 to 8.2.0 in the eslint-plugins group
Bumps the eslint-plugins group with 1 update: [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint).


Updates `typescript-eslint` from 8.1.0 to 8.2.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.2.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint-plugins
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-24 09:00:21 +00:00
Alejandro Celaya
719e345d06 Merge pull request #1277 from shlinkio/dependabot/npm_and_yarn/types-87a95009a1
Bump @types/react from 18.3.3 to 18.3.4 in the types group
2024-08-24 10:59:41 +02:00
Alejandro Celaya
0cbdb2fb99 Merge pull request #1278 from shlinkio/dependabot/npm_and_yarn/testing-bb8a1b1524
Bump @testing-library/jest-dom from 6.4.8 to 6.5.0 in the testing group
2024-08-24 10:59:33 +02:00
Alejandro Celaya
f6526de9db Merge pull request #1279 from shlinkio/dependabot/npm_and_yarn/vite-8212852161
Bump vite from 5.4.1 to 5.4.2 in the vite group
2024-08-24 10:59:24 +02:00
Alejandro Celaya
23de347f4a Merge pull request #1280 from shlinkio/dependabot/docker/node-22.7-alpine
Bump node from 22.6-alpine to 22.7-alpine
2024-08-24 10:59:16 +02:00
dependabot[bot]
a5225716fe Bump node from 22.6-alpine to 22.7-alpine
Bumps node from 22.6-alpine to 22.7-alpine.

---
updated-dependencies:
- dependency-name: node
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-24 07:59:26 +00:00
dependabot[bot]
5ed8d9ab35 Bump vite from 5.4.1 to 5.4.2 in the vite group
Bumps the vite group with 1 update: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `vite` from 5.4.1 to 5.4.2
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.4.2/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vite
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-24 07:36:00 +00:00
dependabot[bot]
054233d427 Bump @testing-library/jest-dom from 6.4.8 to 6.5.0 in the testing group
Bumps the testing group with 1 update: [@testing-library/jest-dom](https://github.com/testing-library/jest-dom).


Updates `@testing-library/jest-dom` from 6.4.8 to 6.5.0
- [Release notes](https://github.com/testing-library/jest-dom/releases)
- [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/jest-dom/compare/v6.4.8...v6.5.0)

---
updated-dependencies:
- dependency-name: "@testing-library/jest-dom"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: testing
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-24 07:35:43 +00:00
dependabot[bot]
a4bde0562c Bump @types/react from 18.3.3 to 18.3.4 in the types group
Bumps the types group with 1 update: [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react).


Updates `@types/react` from 18.3.3 to 18.3.4
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: types
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-24 07:35:30 +00:00
Alejandro Celaya
1f4170f98c Merge pull request #1269 from shlinkio/dependabot/npm_and_yarn/eslint-plugins-761516ad3e
Bump the eslint-plugins group with 2 updates
2024-08-17 10:03:17 +02:00
dependabot[bot]
26bd45a9ca Bump the eslint-plugins group with 2 updates
Bumps the eslint-plugins group with 2 updates: [@stylistic/eslint-plugin](https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin) and [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint).


Updates `@stylistic/eslint-plugin` from 2.6.2 to 2.6.4
- [Release notes](https://github.com/eslint-stylistic/eslint-stylistic/releases)
- [Changelog](https://github.com/eslint-stylistic/eslint-stylistic/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint-stylistic/eslint-stylistic/commits/v2.6.4/packages/eslint-plugin)

Updates `typescript-eslint` from 8.0.1 to 8.1.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.1.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: "@stylistic/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: eslint-plugins
- dependency-name: typescript-eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint-plugins
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-17 07:57:25 +00:00
Alejandro Celaya
41e67db8fc Merge pull request #1270 from shlinkio/dependabot/npm_and_yarn/shlink-f3e521f8dd
Bump @shlinkio/shlink-js-sdk from 1.1.0 to 1.2.0 in the shlink group
2024-08-17 09:56:49 +02:00
Alejandro Celaya
c215ff486a Merge pull request #1271 from shlinkio/dependabot/npm_and_yarn/vite-8bd461ade9
Bump vite from 5.4.0 to 5.4.1 in the vite group
2024-08-17 09:56:37 +02:00
Alejandro Celaya
379920445f Merge pull request #1272 from shlinkio/dependabot/npm_and_yarn/react-router-dom-6.26.1
Bump react-router-dom from 6.26.0 to 6.26.1
2024-08-17 09:56:25 +02:00
dependabot[bot]
f1bfff8bd9 Bump react-router-dom from 6.26.0 to 6.26.1
Bumps [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) from 6.26.0 to 6.26.1.
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@6.26.1/packages/react-router-dom)

---
updated-dependencies:
- dependency-name: react-router-dom
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-17 07:24:58 +00:00
dependabot[bot]
ae15133420 Bump vite from 5.4.0 to 5.4.1 in the vite group
Bumps the vite group with 1 update: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `vite` from 5.4.0 to 5.4.1
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.4.1/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vite
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-17 07:24:24 +00:00
dependabot[bot]
544406611c Bump @shlinkio/shlink-js-sdk from 1.1.0 to 1.2.0 in the shlink group
Bumps the shlink group with 1 update: [@shlinkio/shlink-js-sdk](https://shlink.io).


Updates `@shlinkio/shlink-js-sdk` from 1.1.0 to 1.2.0

---
updated-dependencies:
- dependency-name: "@shlinkio/shlink-js-sdk"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: shlink
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-17 07:23:59 +00:00
Alejandro Celaya
be2c90a443 Merge pull request #1266 from shlinkio/dependabot/npm_and_yarn/eslint-plugins-5909f74059
Bump the eslint-plugins group with 2 updates
2024-08-10 10:02:24 +02:00
dependabot[bot]
122bf47f71 Bump the eslint-plugins group with 2 updates
Bumps the eslint-plugins group with 2 updates: [@stylistic/eslint-plugin](https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin) and [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint).


Updates `@stylistic/eslint-plugin` from 2.6.1 to 2.6.2
- [Release notes](https://github.com/eslint-stylistic/eslint-stylistic/releases)
- [Changelog](https://github.com/eslint-stylistic/eslint-stylistic/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint-stylistic/eslint-stylistic/commits/v2.6.2/packages/eslint-plugin)

Updates `typescript-eslint` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.0.1/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: "@stylistic/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: eslint-plugins
- dependency-name: typescript-eslint
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: eslint-plugins
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-10 07:57:49 +00:00
Alejandro Celaya
0c11d8b9c1 Merge pull request #1265 from shlinkio/dependabot/docker/node-22.6-alpine
Bump node from 22.4-alpine to 22.6-alpine
2024-08-10 09:56:34 +02:00
Alejandro Celaya
d9afee4ffb Merge pull request #1267 from shlinkio/dependabot/npm_and_yarn/vite-b142e56e55
Bump vite from 5.3.5 to 5.4.0 in the vite group
2024-08-10 09:56:10 +02:00
Alejandro Celaya
849c23e3aa Merge pull request #1268 from shlinkio/dependabot/npm_and_yarn/adm-zip-0.5.15
Bump adm-zip from 0.5.14 to 0.5.15
2024-08-10 09:56:02 +02:00
dependabot[bot]
b6c9026ba1 Bump adm-zip from 0.5.14 to 0.5.15
Bumps [adm-zip](https://github.com/cthackers/adm-zip) from 0.5.14 to 0.5.15.
- [Release notes](https://github.com/cthackers/adm-zip/releases)
- [Changelog](https://github.com/cthackers/adm-zip/blob/master/history.md)
- [Commits](https://github.com/cthackers/adm-zip/compare/v0.5.14...v0.5.15)

---
updated-dependencies:
- dependency-name: adm-zip
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-10 07:35:37 +00:00
dependabot[bot]
4a8854655c Bump vite from 5.3.5 to 5.4.0 in the vite group
Bumps the vite group with 1 update: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `vite` from 5.3.5 to 5.4.0
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/create-vite@5.4.0/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: vite
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-10 07:35:17 +00:00
dependabot[bot]
bb4916f6b5 Bump node from 22.4-alpine to 22.6-alpine
Bumps node from 22.4-alpine to 22.6-alpine.

---
updated-dependencies:
- dependency-name: node
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-10 07:12:36 +00:00
Alejandro Celaya
34183ffa4a Merge pull request #1258 from shlinkio/dependabot/npm_and_yarn/eslint-plugins-5b4dfef153
Bump the eslint-plugins group with 3 updates
2024-08-07 12:38:00 +02:00
Alejandro Celaya
a8258ff2cc Fix coding standards for typescript-eslint 8 2024-08-07 12:35:57 +02:00
Alejandro Celaya
f9c6e75591 Merge pull request #1259 from shlinkio/dependabot/npm_and_yarn/vitest-daf8dbcb40
Bump the vitest group with 2 updates
2024-08-03 12:04:36 +02:00
Alejandro Celaya
66ecddd5aa Merge pull request #1260 from shlinkio/dependabot/npm_and_yarn/axe-core-4.10.0
Bump axe-core from 4.9.1 to 4.10.0
2024-08-03 12:04:24 +02:00
Alejandro Celaya
7d5781b16e Merge pull request #1261 from shlinkio/dependabot/npm_and_yarn/reduxjs/toolkit-2.2.7
Bump @reduxjs/toolkit from 2.2.6 to 2.2.7
2024-08-03 12:04:15 +02:00
Alejandro Celaya
b6ff8bd659 Merge pull request #1262 from shlinkio/dependabot/npm_and_yarn/react-router-dom-6.26.0
Bump react-router-dom from 6.25.1 to 6.26.0
2024-08-03 12:04:04 +02:00
dependabot[bot]
edebd158ee Bump react-router-dom from 6.25.1 to 6.26.0
Bumps [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) from 6.25.1 to 6.26.0.
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@6.26.0/packages/react-router-dom)

---
updated-dependencies:
- dependency-name: react-router-dom
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-03 07:04:09 +00:00
dependabot[bot]
4b0383f911 Bump @reduxjs/toolkit from 2.2.6 to 2.2.7
Bumps [@reduxjs/toolkit](https://github.com/reduxjs/redux-toolkit) from 2.2.6 to 2.2.7.
- [Release notes](https://github.com/reduxjs/redux-toolkit/releases)
- [Commits](https://github.com/reduxjs/redux-toolkit/compare/v2.2.6...v2.2.7)

---
updated-dependencies:
- dependency-name: "@reduxjs/toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-03 07:03:55 +00:00
dependabot[bot]
cbe61578bc Bump axe-core from 4.9.1 to 4.10.0
Bumps [axe-core](https://github.com/dequelabs/axe-core) from 4.9.1 to 4.10.0.
- [Release notes](https://github.com/dequelabs/axe-core/releases)
- [Changelog](https://github.com/dequelabs/axe-core/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/dequelabs/axe-core/compare/v4.9.1...v4.10.0)

---
updated-dependencies:
- dependency-name: axe-core
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-03 07:03:28 +00:00
dependabot[bot]
0605dbdb75 Bump the vitest group with 2 updates
Bumps the vitest group with 2 updates: [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) and [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).


Updates `@vitest/coverage-v8` from 2.0.4 to 2.0.5
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v2.0.5/packages/coverage-v8)

Updates `vitest` from 2.0.4 to 2.0.5
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v2.0.5/packages/vitest)

---
updated-dependencies:
- dependency-name: "@vitest/coverage-v8"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vitest
- dependency-name: vitest
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vitest
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-03 07:03:10 +00:00
dependabot[bot]
81ea262999 Bump the eslint-plugins group with 3 updates
Bumps the eslint-plugins group with 3 updates: [@shlinkio/eslint-config-js-coding-standard](https://github.com/shlinkio/js-coding-standard), [@stylistic/eslint-plugin](https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin) and [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint).


Updates `@shlinkio/eslint-config-js-coding-standard` from 3.0.0 to 3.0.1
- [Release notes](https://github.com/shlinkio/js-coding-standard/releases)
- [Changelog](https://github.com/shlinkio/js-coding-standard/blob/main/CHANGELOG.md)
- [Commits](https://github.com/shlinkio/js-coding-standard/compare/v3.0.0...v3.0.1)

Updates `@stylistic/eslint-plugin` from 2.3.0 to 2.6.1
- [Release notes](https://github.com/eslint-stylistic/eslint-stylistic/releases)
- [Changelog](https://github.com/eslint-stylistic/eslint-stylistic/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint-stylistic/eslint-stylistic/commits/v2.6.1/packages/eslint-plugin)

Updates `typescript-eslint` from 7.17.0 to 8.0.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.0.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: "@shlinkio/eslint-config-js-coding-standard"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: eslint-plugins
- dependency-name: "@stylistic/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint-plugins
- dependency-name: typescript-eslint
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: eslint-plugins
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-03 07:02:25 +00:00
Alejandro Celaya
2cf227210a Merge pull request #1256 from laymonage/patch-1
Update port information in README to 8080
2024-07-27 22:53:19 +02:00
sag​e
bab2d368f9 Update port information in README to 8080
Ref: https://github.com/shlinkio/shlink-web-client/pull/902
2024-07-27 21:47:56 +01:00
Alejandro Celaya
b1119d1eea Merge pull request #1251 from shlinkio/dependabot/npm_and_yarn/vite-5f3f135576
Bump vite from 5.3.4 to 5.3.5 in the vite group
2024-07-27 15:23:00 +02:00
Alejandro Celaya
fb8de00b4b Merge pull request #1254 from shlinkio/dependabot/npm_and_yarn/typescript-5.5.4
Bump typescript from 5.5.3 to 5.5.4
2024-07-27 15:22:54 +02:00
dependabot[bot]
e8b522dc76 Bump vite from 5.3.4 to 5.3.5 in the vite group
Bumps the vite group with 1 update: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `vite` from 5.3.4 to 5.3.5
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.3.5/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vite
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-27 09:27:13 +00:00
dependabot[bot]
5141f5445c Bump typescript from 5.5.3 to 5.5.4
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 5.5.3 to 5.5.4.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v5.5.3...v5.5.4)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-27 09:27:10 +00:00
Alejandro Celaya
2debbc427a Merge pull request #1255 from shlinkio/dependabot/npm_and_yarn/jsdom-24.1.1
Bump jsdom from 24.1.0 to 24.1.1
2024-07-27 11:26:32 +02:00
Alejandro Celaya
5edca16c54 Merge pull request #1250 from shlinkio/dependabot/npm_and_yarn/testing-4ca17ae2b7
Bump @testing-library/jest-dom from 6.4.6 to 6.4.8 in the testing group
2024-07-27 11:26:20 +02:00
Alejandro Celaya
10495c769c Merge pull request #1252 from shlinkio/dependabot/npm_and_yarn/vitest-ca8c3291f3
Bump the vitest group with 2 updates
2024-07-27 11:26:05 +02:00
Alejandro Celaya
2b2e1843f6 Merge pull request #1253 from shlinkio/dependabot/npm_and_yarn/vite-plugin-pwa-0.20.1
Bump vite-plugin-pwa from 0.20.0 to 0.20.1
2024-07-27 11:25:56 +02:00
Alejandro Celaya
f900e93cad Merge pull request #1249 from shlinkio/dependabot/npm_and_yarn/eslint-plugins-692f1e4031
Bump typescript-eslint from 7.16.1 to 7.17.0 in the eslint-plugins group
2024-07-27 11:25:42 +02:00
dependabot[bot]
5a30df7dce Bump jsdom from 24.1.0 to 24.1.1
Bumps [jsdom](https://github.com/jsdom/jsdom) from 24.1.0 to 24.1.1.
- [Release notes](https://github.com/jsdom/jsdom/releases)
- [Changelog](https://github.com/jsdom/jsdom/blob/main/Changelog.md)
- [Commits](https://github.com/jsdom/jsdom/compare/24.1.0...24.1.1)

---
updated-dependencies:
- dependency-name: jsdom
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-27 07:38:43 +00:00
dependabot[bot]
cc3c88f18c Bump vite-plugin-pwa from 0.20.0 to 0.20.1
Bumps [vite-plugin-pwa](https://github.com/vite-pwa/vite-plugin-pwa) from 0.20.0 to 0.20.1.
- [Release notes](https://github.com/vite-pwa/vite-plugin-pwa/releases)
- [Commits](https://github.com/vite-pwa/vite-plugin-pwa/compare/v0.20.0...v0.20.1)

---
updated-dependencies:
- dependency-name: vite-plugin-pwa
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-27 07:38:11 +00:00
dependabot[bot]
e18b2a4b8d Bump the vitest group with 2 updates
Bumps the vitest group with 2 updates: [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) and [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).


Updates `@vitest/coverage-v8` from 2.0.3 to 2.0.4
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v2.0.4/packages/coverage-v8)

Updates `vitest` from 2.0.3 to 2.0.4
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v2.0.4/packages/vitest)

---
updated-dependencies:
- dependency-name: "@vitest/coverage-v8"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vitest
- dependency-name: vitest
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vitest
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-27 07:37:53 +00:00
dependabot[bot]
9b4179e29d Bump @testing-library/jest-dom from 6.4.6 to 6.4.8 in the testing group
Bumps the testing group with 1 update: [@testing-library/jest-dom](https://github.com/testing-library/jest-dom).


Updates `@testing-library/jest-dom` from 6.4.6 to 6.4.8
- [Release notes](https://github.com/testing-library/jest-dom/releases)
- [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/jest-dom/compare/v6.4.6...v6.4.8)

---
updated-dependencies:
- dependency-name: "@testing-library/jest-dom"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: testing
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-27 07:37:18 +00:00
dependabot[bot]
dfc2ca183b Bump typescript-eslint from 7.16.1 to 7.17.0 in the eslint-plugins group
Bumps the eslint-plugins group with 1 update: [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint).


Updates `typescript-eslint` from 7.16.1 to 7.17.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v7.17.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint-plugins
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-27 07:36:49 +00:00
Alejandro Celaya
746003d19b Merge pull request #1248 from acelaya-forks/feature/update-fe-kit
Update to latest frontend-kit
2024-07-22 18:53:11 +02:00
Alejandro Celaya
fa10aebeab Update to latest frontend-kit 2024-07-22 18:50:36 +02:00
Alejandro Celaya
7039e11f3f Merge pull request #1241 from shlinkio/dependabot/npm_and_yarn/fontawesome-105defe856
Bump the fontawesome group with 5 updates
2024-07-20 10:13:48 +02:00
Alejandro Celaya
bd0dece878 Update snapshots 2024-07-20 10:12:02 +02:00
Alejandro Celaya
950858f217 Merge pull request #1243 from shlinkio/dependabot/npm_and_yarn/vite-76f0629fb9
Bump vite from 5.3.3 to 5.3.4 in the vite group
2024-07-20 10:09:03 +02:00
dependabot[bot]
ff70c9924c Bump the fontawesome group with 5 updates
Bumps the fontawesome group with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [@fortawesome/fontawesome-free](https://github.com/FortAwesome/Font-Awesome) | `6.5.2` | `6.6.0` |
| [@fortawesome/fontawesome-svg-core](https://github.com/FortAwesome/Font-Awesome) | `6.5.2` | `6.6.0` |
| [@fortawesome/free-brands-svg-icons](https://github.com/FortAwesome/Font-Awesome) | `6.5.2` | `6.6.0` |
| [@fortawesome/free-regular-svg-icons](https://github.com/FortAwesome/Font-Awesome) | `6.5.2` | `6.6.0` |
| [@fortawesome/free-solid-svg-icons](https://github.com/FortAwesome/Font-Awesome) | `6.5.2` | `6.6.0` |


Updates `@fortawesome/fontawesome-free` from 6.5.2 to 6.6.0
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.5.2...6.6.0)

Updates `@fortawesome/fontawesome-svg-core` from 6.5.2 to 6.6.0
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.5.2...6.6.0)

Updates `@fortawesome/free-brands-svg-icons` from 6.5.2 to 6.6.0
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.5.2...6.6.0)

Updates `@fortawesome/free-regular-svg-icons` from 6.5.2 to 6.6.0
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.5.2...6.6.0)

Updates `@fortawesome/free-solid-svg-icons` from 6.5.2 to 6.6.0
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.5.2...6.6.0)

---
updated-dependencies:
- dependency-name: "@fortawesome/fontawesome-free"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: fontawesome
- dependency-name: "@fortawesome/fontawesome-svg-core"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: fontawesome
- dependency-name: "@fortawesome/free-brands-svg-icons"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: fontawesome
- dependency-name: "@fortawesome/free-regular-svg-icons"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: fontawesome
- dependency-name: "@fortawesome/free-solid-svg-icons"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: fontawesome
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-20 08:08:45 +00:00
dependabot[bot]
a3f2472cbb Bump vite from 5.3.3 to 5.3.4 in the vite group
Bumps the vite group with 1 update: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `vite` from 5.3.3 to 5.3.4
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.3.4/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vite
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-20 08:07:41 +00:00
Alejandro Celaya
919c5907ed Merge pull request #1244 from shlinkio/dependabot/npm_and_yarn/vitest-9e5d52b39a
Bump the vitest group with 2 updates
2024-07-20 10:07:03 +02:00
Alejandro Celaya
0203ac11e7 Merge pull request #1242 from shlinkio/dependabot/npm_and_yarn/eslint-plugins-9f3e241f2e
Bump the eslint-plugins group with 2 updates
2024-07-20 10:06:57 +02:00
Alejandro Celaya
fc5a67317e Merge pull request #1245 from shlinkio/dependabot/npm_and_yarn/react-router-dom-6.25.1
Bump react-router-dom from 6.24.1 to 6.25.1
2024-07-20 10:06:50 +02:00
Alejandro Celaya
65fb8c9c1f Merge pull request #1246 from shlinkio/dependabot/npm_and_yarn/compare-versions-6.1.1
Bump compare-versions from 6.1.0 to 6.1.1
2024-07-20 10:06:37 +02:00
dependabot[bot]
071934b1a0 Bump compare-versions from 6.1.0 to 6.1.1
Bumps [compare-versions](https://github.com/omichelsen/compare-versions) from 6.1.0 to 6.1.1.
- [Changelog](https://github.com/omichelsen/compare-versions/blob/main/CHANGELOG.md)
- [Commits](https://github.com/omichelsen/compare-versions/compare/v6.1.0...v6.1.1)

---
updated-dependencies:
- dependency-name: compare-versions
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-20 07:16:39 +00:00
dependabot[bot]
85dcd5d600 Bump react-router-dom from 6.24.1 to 6.25.1
Bumps [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) from 6.24.1 to 6.25.1.
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@6.25.1/packages/react-router-dom)

---
updated-dependencies:
- dependency-name: react-router-dom
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-20 07:16:29 +00:00
dependabot[bot]
bc3b548362 Bump the vitest group with 2 updates
Bumps the vitest group with 2 updates: [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) and [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).


Updates `@vitest/coverage-v8` from 2.0.2 to 2.0.3
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v2.0.3/packages/coverage-v8)

Updates `vitest` from 2.0.2 to 2.0.3
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v2.0.3/packages/vitest)

---
updated-dependencies:
- dependency-name: "@vitest/coverage-v8"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vitest
- dependency-name: vitest
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vitest
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-20 07:16:11 +00:00
dependabot[bot]
e3f428287d Bump the eslint-plugins group with 2 updates
Bumps the eslint-plugins group with 2 updates: [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint).


Updates `eslint-plugin-react` from 7.34.3 to 7.35.0
- [Release notes](https://github.com/jsx-eslint/eslint-plugin-react/releases)
- [Changelog](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jsx-eslint/eslint-plugin-react/compare/v7.34.3...v7.35.0)

Updates `typescript-eslint` from 7.16.0 to 7.16.1
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v7.16.1/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: eslint-plugin-react
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint-plugins
- dependency-name: typescript-eslint
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: eslint-plugins
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-20 07:15:18 +00:00
Alejandro Celaya
3b58a0c028 Merge pull request #1237 from shlinkio/dependabot/npm_and_yarn/eslint-plugins-2ef52aae12
Bump typescript-eslint from 7.15.0 to 7.16.0 in the eslint-plugins group
2024-07-13 10:01:42 +02:00
dependabot[bot]
1517a86c44 Bump typescript-eslint from 7.15.0 to 7.16.0 in the eslint-plugins group
Bumps the eslint-plugins group with 1 update: [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint).


Updates `typescript-eslint` from 7.15.0 to 7.16.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v7.16.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint-plugins
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-13 07:57:41 +00:00
Alejandro Celaya
992cd2fcff Merge pull request #1233 from shlinkio/dependabot/npm_and_yarn/vite-8fdb29bdc7
Bump vite from 5.3.2 to 5.3.3 in the vite group
2024-07-13 09:56:52 +02:00
Alejandro Celaya
92251945d6 Merge pull request #1238 from shlinkio/dependabot/npm_and_yarn/vitest-b1434a7ba9
Bump the vitest group with 2 updates
2024-07-13 09:56:38 +02:00
Alejandro Celaya
082bb42aad Merge pull request #1239 from shlinkio/dependabot/npm_and_yarn/sass-1.77.8
Bump sass from 1.77.6 to 1.77.8
2024-07-13 09:56:08 +02:00
dependabot[bot]
b887c60977 Bump sass from 1.77.6 to 1.77.8
Bumps [sass](https://github.com/sass/dart-sass) from 1.77.6 to 1.77.8.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.77.6...1.77.8)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-13 07:24:37 +00:00
dependabot[bot]
de0bb31d88 Bump the vitest group with 2 updates
Bumps the vitest group with 2 updates: [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) and [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).


Updates `@vitest/coverage-v8` from 1.6.0 to 2.0.2
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v2.0.2/packages/coverage-v8)

Updates `vitest` from 1.6.0 to 2.0.2
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v2.0.2/packages/vitest)

---
updated-dependencies:
- dependency-name: "@vitest/coverage-v8"
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: vitest
- dependency-name: vitest
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: vitest
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-13 07:23:59 +00:00
dependabot[bot]
dc238e7584 Bump vite from 5.3.2 to 5.3.3 in the vite group
Bumps the vite group with 1 update: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `vite` from 5.3.2 to 5.3.3
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.3.3/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vite
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-13 07:22:55 +00:00
Alejandro Celaya
68bf055c0f Merge pull request #1236 from shlinkio/dependabot/npm_and_yarn/typescript-5.5.3
Bump typescript from 5.5.2 to 5.5.3
2024-07-06 12:52:11 +02:00
dependabot[bot]
83709fc7b9 Bump typescript from 5.5.2 to 5.5.3
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 5.5.2 to 5.5.3.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v5.5.2...v5.5.3)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-06 10:44:13 +00:00
Alejandro Celaya
f33b356eef Merge pull request #1231 from shlinkio/dependabot/docker/node-22.4-alpine
Bump node from 22.3-alpine to 22.4-alpine
2024-07-06 11:48:09 +02:00
Alejandro Celaya
69ae237331 Merge pull request #1234 from shlinkio/dependabot/npm_and_yarn/react-router-dom-6.24.1
Bump react-router-dom from 6.24.0 to 6.24.1
2024-07-06 11:47:38 +02:00
Alejandro Celaya
d4bcf23d93 Merge pull request #1235 from shlinkio/dependabot/npm_and_yarn/reduxjs/toolkit-2.2.6
Bump @reduxjs/toolkit from 2.2.5 to 2.2.6
2024-07-06 11:46:57 +02:00
Alejandro Celaya
3964f66530 Merge pull request #1232 from shlinkio/dependabot/npm_and_yarn/eslint-plugins-1e613eab15
Bump the eslint-plugins group with 3 updates
2024-07-06 11:46:25 +02:00
dependabot[bot]
f177799f4a Bump @reduxjs/toolkit from 2.2.5 to 2.2.6
Bumps [@reduxjs/toolkit](https://github.com/reduxjs/redux-toolkit) from 2.2.5 to 2.2.6.
- [Release notes](https://github.com/reduxjs/redux-toolkit/releases)
- [Commits](https://github.com/reduxjs/redux-toolkit/compare/v2.2.5...v2.2.6)

---
updated-dependencies:
- dependency-name: "@reduxjs/toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-06 07:59:02 +00:00
dependabot[bot]
21dd0c474b Bump react-router-dom from 6.24.0 to 6.24.1
Bumps [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) from 6.24.0 to 6.24.1.
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@6.24.1/packages/react-router-dom)

---
updated-dependencies:
- dependency-name: react-router-dom
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-06 07:58:48 +00:00
dependabot[bot]
f8ed6d166d Bump the eslint-plugins group with 3 updates
Bumps the eslint-plugins group with 3 updates: [@stylistic/eslint-plugin](https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin), [eslint-plugin-simple-import-sort](https://github.com/lydell/eslint-plugin-simple-import-sort) and [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint).


Updates `@stylistic/eslint-plugin` from 2.2.2 to 2.3.0
- [Release notes](https://github.com/eslint-stylistic/eslint-stylistic/releases)
- [Changelog](https://github.com/eslint-stylistic/eslint-stylistic/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint-stylistic/eslint-stylistic/commits/v2.3.0/packages/eslint-plugin)

Updates `eslint-plugin-simple-import-sort` from 12.1.0 to 12.1.1
- [Changelog](https://github.com/lydell/eslint-plugin-simple-import-sort/blob/main/CHANGELOG.md)
- [Commits](https://github.com/lydell/eslint-plugin-simple-import-sort/compare/v12.1.0...v12.1.1)

Updates `typescript-eslint` from 7.13.1 to 7.15.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v7.15.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: "@stylistic/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint-plugins
- dependency-name: eslint-plugin-simple-import-sort
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: eslint-plugins
- dependency-name: typescript-eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint-plugins
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-06 07:57:51 +00:00
dependabot[bot]
c4fabe6057 Bump node from 22.3-alpine to 22.4-alpine
Bumps node from 22.3-alpine to 22.4-alpine.

---
updated-dependencies:
- dependency-name: node
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-06 07:31:30 +00:00
Alejandro Celaya
e87835c01e Merge pull request #1229 from shlinkio/dependabot/npm_and_yarn/vite-8b6fa68580
Bump vite from 5.3.1 to 5.3.2 in the vite group
2024-06-29 19:03:47 +02:00
Alejandro Celaya
64fabfeaea Merge pull request #1230 from shlinkio/dependabot/npm_and_yarn/react-router-dom-6.24.0
Bump react-router-dom from 6.23.1 to 6.24.0
2024-06-29 19:03:29 +02:00
dependabot[bot]
cd3f22a7db Bump react-router-dom from 6.23.1 to 6.24.0
Bumps [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) from 6.23.1 to 6.24.0.
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@6.24.0/packages/react-router-dom)

---
updated-dependencies:
- dependency-name: react-router-dom
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-29 07:34:48 +00:00
dependabot[bot]
956e021ccb Bump vite from 5.3.1 to 5.3.2 in the vite group
Bumps the vite group with 1 update: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `vite` from 5.3.1 to 5.3.2
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.3.2/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vite
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-29 07:34:26 +00:00
Alejandro Celaya
5230a28738 Merge pull request #1226 from shlinkio/dependabot/npm_and_yarn/types-32adc85bcf
Bump @types/uuid from 9.0.8 to 10.0.0 in the types group
2024-06-22 20:05:50 +02:00
dependabot[bot]
21ec867367 Bump @types/uuid from 9.0.8 to 10.0.0 in the types group
Bumps the types group with 1 update: [@types/uuid](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/uuid).


Updates `@types/uuid` from 9.0.8 to 10.0.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/uuid)

---
updated-dependencies:
- dependency-name: "@types/uuid"
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: types
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-22 07:51:54 +00:00
Alejandro Celaya
99b34af8df Merge pull request #1223 from shlinkio/dependabot/npm_and_yarn/eslint-plugins-088bb6859c
Bump the eslint-plugins group with 3 updates
2024-06-21 08:58:13 +02:00
Alejandro Celaya
c269354423 Merge pull request #1224 from shlinkio/dependabot/npm_and_yarn/typescript-5.5.2
Bump typescript from 5.4.5 to 5.5.2
2024-06-21 08:57:41 +02:00
Alejandro Celaya
e5384a3c40 Merge pull request #1225 from shlinkio/dependabot/npm_and_yarn/sass-1.77.6
Bump sass from 1.77.5 to 1.77.6
2024-06-21 08:57:32 +02:00
dependabot[bot]
3592fb532c Bump sass from 1.77.5 to 1.77.6
Bumps [sass](https://github.com/sass/dart-sass) from 1.77.5 to 1.77.6.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.77.5...1.77.6)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-20 17:43:51 +00:00
dependabot[bot]
9f2b07bbaa Bump typescript from 5.4.5 to 5.5.2
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 5.4.5 to 5.5.2.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml)
- [Commits](https://github.com/Microsoft/TypeScript/commits)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-20 17:43:40 +00:00
dependabot[bot]
f64cca5457 Bump the eslint-plugins group with 3 updates
Bumps the eslint-plugins group with 3 updates: [@stylistic/eslint-plugin](https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin), [eslint-plugin-jsx-a11y](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y) and [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react).


Updates `@stylistic/eslint-plugin` from 2.2.0 to 2.2.2
- [Release notes](https://github.com/eslint-stylistic/eslint-stylistic/releases)
- [Changelog](https://github.com/eslint-stylistic/eslint-stylistic/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint-stylistic/eslint-stylistic/commits/v2.2.2/packages/eslint-plugin)

Updates `eslint-plugin-jsx-a11y` from 6.8.0 to 6.9.0
- [Release notes](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/releases)
- [Changelog](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/compare/v6.8.0...v6.9.0)

Updates `eslint-plugin-react` from 7.34.2 to 7.34.3
- [Release notes](https://github.com/jsx-eslint/eslint-plugin-react/releases)
- [Changelog](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jsx-eslint/eslint-plugin-react/compare/v7.34.2...v7.34.3)

---
updated-dependencies:
- dependency-name: "@stylistic/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: eslint-plugins
- dependency-name: eslint-plugin-jsx-a11y
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint-plugins
- dependency-name: eslint-plugin-react
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: eslint-plugins
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-20 17:42:46 +00:00
Alejandro Celaya
a6ec7be0d7 Merge pull request #1222 from acelaya-forks/feature/update-coding-standard
Update coding standard to v3.0.0
2024-06-20 19:41:35 +02:00
Alejandro Celaya
f530fb4ceb Update coding standard to v3.0.0 2024-06-20 19:38:37 +02:00
Alejandro Celaya
e4fcfdbdcd Merge pull request #1221 from shlinkio/dependabot/npm_and_yarn/ws-8.17.1
Bump ws from 8.17.0 to 8.17.1
2024-06-19 07:51:25 +02:00
dependabot[bot]
87c0559407 Bump ws from 8.17.0 to 8.17.1
Bumps [ws](https://github.com/websockets/ws) from 8.17.0 to 8.17.1.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/8.17.0...8.17.1)

---
updated-dependencies:
- dependency-name: ws
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-19 03:11:12 +00:00
Alejandro Celaya
281bf1ec87 Merge pull request #1215 from shlinkio/dependabot/npm_and_yarn/eslint-plugins-70c83413d1
Bump the eslint-plugins group with 3 updates
2024-06-17 10:23:58 +02:00
Alejandro Celaya
3ee249daa5 Fix coding styles 2024-06-17 10:19:48 +02:00
dependabot[bot]
5b250b5e31 Bump the eslint-plugins group with 3 updates
Bumps the eslint-plugins group with 3 updates: [@shlinkio/eslint-config-js-coding-standard](https://github.com/shlinkio/js-coding-standard), [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) and [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser).


Updates `@shlinkio/eslint-config-js-coding-standard` from 2.5.0 to 2.5.1
- [Release notes](https://github.com/shlinkio/js-coding-standard/releases)
- [Changelog](https://github.com/shlinkio/js-coding-standard/blob/main/CHANGELOG.md)
- [Commits](https://github.com/shlinkio/js-coding-standard/compare/v2.5.0...v2.5.1)

Updates `@typescript-eslint/eslint-plugin` from 7.12.0 to 7.13.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v7.13.0/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 7.12.0 to 7.13.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v7.13.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@shlinkio/eslint-config-js-coding-standard"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: eslint-plugins
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint-plugins
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint-plugins
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-17 08:15:54 +00:00
Alejandro Celaya
fd1fcaa8ad Merge pull request #1220 from shlinkio/dependabot/npm_and_yarn/braces-3.0.3
Bump braces from 3.0.2 to 3.0.3
2024-06-15 10:27:00 +02:00
dependabot[bot]
b630662db6 Bump braces from 3.0.2 to 3.0.3
Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-15 08:24:01 +00:00
Alejandro Celaya
e29790072c Merge pull request #1214 from shlinkio/dependabot/npm_and_yarn/vite-f2e278806b
Bump the vite group across 1 directory with 2 updates
2024-06-15 10:23:56 +02:00
Alejandro Celaya
2521e94057 Merge pull request #1216 from shlinkio/dependabot/npm_and_yarn/testing-f694122557
Bump @testing-library/jest-dom from 6.4.5 to 6.4.6 in the testing group
2024-06-15 10:23:43 +02:00
Alejandro Celaya
20fa0c78fe Merge pull request #1217 from shlinkio/dependabot/npm_and_yarn/uuid-10.0.0
Bump uuid from 9.0.1 to 10.0.0
2024-06-15 10:23:35 +02:00
Alejandro Celaya
daa8513402 Merge pull request #1218 from shlinkio/dependabot/npm_and_yarn/sass-1.77.5
Bump sass from 1.77.4 to 1.77.5
2024-06-15 10:23:27 +02:00
Alejandro Celaya
88626e3d14 Merge pull request #1219 from shlinkio/dependabot/docker/node-22.3-alpine
Bump node from 22.2-alpine to 22.3-alpine
2024-06-15 10:23:19 +02:00
dependabot[bot]
257c4cc17d Bump node from 22.2-alpine to 22.3-alpine
Bumps node from 22.2-alpine to 22.3-alpine.

---
updated-dependencies:
- dependency-name: node
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-15 07:37:28 +00:00
dependabot[bot]
c9e57e64ef Bump sass from 1.77.4 to 1.77.5
Bumps [sass](https://github.com/sass/dart-sass) from 1.77.4 to 1.77.5.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.77.4...1.77.5)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-15 07:35:18 +00:00
dependabot[bot]
cf8383361e Bump uuid from 9.0.1 to 10.0.0
Bumps [uuid](https://github.com/uuidjs/uuid) from 9.0.1 to 10.0.0.
- [Changelog](https://github.com/uuidjs/uuid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/uuidjs/uuid/compare/v9.0.1...v10.0.0)

---
updated-dependencies:
- dependency-name: uuid
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-15 07:34:50 +00:00
dependabot[bot]
cc23cba520 Bump @testing-library/jest-dom from 6.4.5 to 6.4.6 in the testing group
Bumps the testing group with 1 update: [@testing-library/jest-dom](https://github.com/testing-library/jest-dom).


Updates `@testing-library/jest-dom` from 6.4.5 to 6.4.6
- [Release notes](https://github.com/testing-library/jest-dom/releases)
- [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/jest-dom/compare/v6.4.5...v6.4.6)

---
updated-dependencies:
- dependency-name: "@testing-library/jest-dom"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: testing
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-15 07:34:30 +00:00
dependabot[bot]
c19926b58e Bump the vite group across 1 directory with 2 updates
Bumps the vite group with 2 updates in the / directory: [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) and [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `@vitejs/plugin-react` from 4.3.0 to 4.3.1
- [Release notes](https://github.com/vitejs/vite-plugin-react/releases)
- [Changelog](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite-plugin-react/commits/v4.3.1/packages/plugin-react)

Updates `vite` from 5.2.12 to 5.3.1
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.3.1/packages/vite)

---
updated-dependencies:
- dependency-name: "@vitejs/plugin-react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vite
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: vite
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-15 07:33:24 +00:00
Alejandro Celaya
3b1b1421f9 Merge pull request #1209 from shlinkio/dependabot/docker/nginxinc/nginx-unprivileged-1.27-alpine
Bump nginxinc/nginx-unprivileged from 1.25-alpine to 1.27-alpine
2024-06-07 09:04:58 +02:00
Alejandro Celaya
dbfa41a5b2 Merge pull request #1211 from shlinkio/dependabot/npm_and_yarn/testing-43861c45c2
Bump @testing-library/react from 15.0.7 to 16.0.0 in the testing group
2024-06-07 09:04:49 +02:00
Alejandro Celaya
66bd5642a0 Merge pull request #1212 from shlinkio/dependabot/npm_and_yarn/adm-zip-0.5.14
Bump adm-zip from 0.5.12 to 0.5.14
2024-06-07 09:04:42 +02:00
Alejandro Celaya
5212272f4e Merge pull request #1210 from shlinkio/dependabot/npm_and_yarn/eslint-plugins-0d47e4c1a9
Bump the eslint-plugins group with 2 updates
2024-06-07 09:04:32 +02:00
dependabot[bot]
8a810555c2 Bump adm-zip from 0.5.12 to 0.5.14
Bumps [adm-zip](https://github.com/cthackers/adm-zip) from 0.5.12 to 0.5.14.
- [Release notes](https://github.com/cthackers/adm-zip/releases)
- [Changelog](https://github.com/cthackers/adm-zip/blob/master/history.md)
- [Commits](https://github.com/cthackers/adm-zip/compare/v0.5.12...v0.5.14)

---
updated-dependencies:
- dependency-name: adm-zip
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-07 06:58:52 +00:00
dependabot[bot]
340079ceed Bump @testing-library/react from 15.0.7 to 16.0.0 in the testing group
Bumps the testing group with 1 update: [@testing-library/react](https://github.com/testing-library/react-testing-library).


Updates `@testing-library/react` from 15.0.7 to 16.0.0
- [Release notes](https://github.com/testing-library/react-testing-library/releases)
- [Changelog](https://github.com/testing-library/react-testing-library/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/react-testing-library/compare/v15.0.7...v16.0.0)

---
updated-dependencies:
- dependency-name: "@testing-library/react"
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: testing
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-07 06:58:15 +00:00
dependabot[bot]
788eebc87d Bump the eslint-plugins group with 2 updates
Bumps the eslint-plugins group with 2 updates: [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) and [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser).


Updates `@typescript-eslint/eslint-plugin` from 7.5.0 to 7.12.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v7.12.0/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 7.5.0 to 7.12.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v7.12.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint-plugins
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint-plugins
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-07 06:57:48 +00:00
dependabot[bot]
9d26fd2974 Bump nginxinc/nginx-unprivileged from 1.25-alpine to 1.27-alpine
Bumps nginxinc/nginx-unprivileged from 1.25-alpine to 1.27-alpine.

---
updated-dependencies:
- dependency-name: nginxinc/nginx-unprivileged
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-07 06:57:01 +00:00
Alejandro Celaya
5549aaacbb Merge pull request #1208 from acelaya-forks/feature/update-coding-standard
Update to JS coding standard v2.5.0
2024-06-07 08:56:36 +02:00
Alejandro Celaya
aef74b80c2 Remove eslint from dependabot group 2024-06-07 08:52:14 +02:00
Alejandro Celaya
b2908d2b1f Update to JS coding standard v2.5.0 2024-06-06 17:49:12 +02:00
Alejandro Celaya
fa39302474 Merge pull request #1204 from shlinkio/dependabot/npm_and_yarn/jsdom-24.1.0
Bump jsdom from 24.0.0 to 24.1.0
2024-06-01 10:09:43 +02:00
dependabot[bot]
b568c300fc Bump jsdom from 24.0.0 to 24.1.0
Bumps [jsdom](https://github.com/jsdom/jsdom) from 24.0.0 to 24.1.0.
- [Release notes](https://github.com/jsdom/jsdom/releases)
- [Changelog](https://github.com/jsdom/jsdom/blob/main/Changelog.md)
- [Commits](https://github.com/jsdom/jsdom/compare/24.0.0...24.1.0)

---
updated-dependencies:
- dependency-name: jsdom
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-01 08:04:54 +00:00
Alejandro Celaya
c7c5875239 Merge pull request #1202 from shlinkio/dependabot/npm_and_yarn/vite-b8036cf615
Bump vite from 5.2.11 to 5.2.12 in the vite group
2024-06-01 10:04:12 +02:00
Alejandro Celaya
9824f2381d Merge pull request #1205 from shlinkio/dependabot/npm_and_yarn/sass-1.77.4
Bump sass from 1.77.2 to 1.77.4
2024-06-01 10:03:55 +02:00
dependabot[bot]
b9f59210b0 Bump sass from 1.77.2 to 1.77.4
Bumps [sass](https://github.com/sass/dart-sass) from 1.77.2 to 1.77.4.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.77.2...1.77.4)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-01 07:15:12 +00:00
dependabot[bot]
d53a2ae9b1 Bump vite from 5.2.11 to 5.2.12 in the vite group
Bumps the vite group with 1 update: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `vite` from 5.2.11 to 5.2.12
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.2.12/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vite
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-01 07:13:33 +00:00
Alejandro Celaya
4166831b6a Merge pull request #1198 from shlinkio/dependabot/npm_and_yarn/fontawesome-df6dfbe027
Bump @fortawesome/react-fontawesome from 0.2.1 to 0.2.2 in the fontawesome group
2024-05-25 09:47:13 +02:00
Alejandro Celaya
d20850e1d7 Merge pull request #1199 from shlinkio/dependabot/npm_and_yarn/types-7c237d0e20
Bump @types/react from 18.3.2 to 18.3.3 in the types group
2024-05-25 09:46:59 +02:00
Alejandro Celaya
652871a62f Merge pull request #1201 from shlinkio/dependabot/npm_and_yarn/vite-ad63f6f229
Bump @vitejs/plugin-react from 4.2.1 to 4.3.0 in the vite group
2024-05-25 09:46:51 +02:00
dependabot[bot]
afb9af473f Bump @vitejs/plugin-react from 4.2.1 to 4.3.0 in the vite group
Bumps the vite group with 1 update: [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react).


Updates `@vitejs/plugin-react` from 4.2.1 to 4.3.0
- [Release notes](https://github.com/vitejs/vite-plugin-react/releases)
- [Changelog](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite-plugin-react/commits/v4.3.0/packages/plugin-react)

---
updated-dependencies:
- dependency-name: "@vitejs/plugin-react"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: vite
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-25 07:39:54 +00:00
dependabot[bot]
16b70c8ab2 Bump @types/react from 18.3.2 to 18.3.3 in the types group
Bumps the types group with 1 update: [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react).


Updates `@types/react` from 18.3.2 to 18.3.3
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: types
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-25 07:39:10 +00:00
dependabot[bot]
04e826cecf Bump @fortawesome/react-fontawesome in the fontawesome group
Bumps the fontawesome group with 1 update: [@fortawesome/react-fontawesome](https://github.com/FortAwesome/react-fontawesome).


Updates `@fortawesome/react-fontawesome` from 0.2.1 to 0.2.2
- [Release notes](https://github.com/FortAwesome/react-fontawesome/releases)
- [Changelog](https://github.com/FortAwesome/react-fontawesome/blob/0.2.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/react-fontawesome/compare/0.2.1...0.2.2)

---
updated-dependencies:
- dependency-name: "@fortawesome/react-fontawesome"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: fontawesome
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-25 07:38:24 +00:00
Alejandro Celaya
4fc4e9cece Merge pull request #1196 from acelaya-forks/feature/decoupled-settings
Replace local settings UI with the one from shlink-web-component
2024-05-20 20:09:04 +02:00
Alejandro Celaya
3ba0f38f21 Reduce required branches coverage 2024-05-20 20:07:02 +02:00
Alejandro Celaya
202a69bdf5 Replace local settings UI with the one from shlink-web-component 2024-05-20 20:03:50 +02:00
Alejandro Celaya
d4bc9dd62a Merge pull request #1189 from shlinkio/dependabot/npm_and_yarn/fontawesome-3530c6805c
Bump @fortawesome/react-fontawesome from 0.2.0 to 0.2.1 in the fontawesome group
2024-05-18 10:41:14 +02:00
dependabot[bot]
bad3703ca6 Bump @fortawesome/react-fontawesome in the fontawesome group
Bumps the fontawesome group with 1 update: [@fortawesome/react-fontawesome](https://github.com/FortAwesome/react-fontawesome).


Updates `@fortawesome/react-fontawesome` from 0.2.0 to 0.2.1
- [Release notes](https://github.com/FortAwesome/react-fontawesome/releases)
- [Changelog](https://github.com/FortAwesome/react-fontawesome/blob/0.2.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/react-fontawesome/compare/0.2.0...0.2.1)

---
updated-dependencies:
- dependency-name: "@fortawesome/react-fontawesome"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: fontawesome
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-18 08:37:25 +00:00
Alejandro Celaya
859e0a612e Merge pull request #1190 from shlinkio/dependabot/npm_and_yarn/types-39f4071df8
Bump @types/react from 18.3.1 to 18.3.2 in the types group
2024-05-18 10:36:47 +02:00
Alejandro Celaya
b5b1f2505a Merge pull request #1192 from shlinkio/dependabot/npm_and_yarn/sass-1.77.2
Bump sass from 1.77.1 to 1.77.2
2024-05-18 10:36:00 +02:00
Alejandro Celaya
f0cffdef92 Merge pull request #1193 from shlinkio/dependabot/npm_and_yarn/reduxjs/toolkit-2.2.5
Bump @reduxjs/toolkit from 2.2.4 to 2.2.5
2024-05-18 10:35:45 +02:00
Alejandro Celaya
25ce9b4b18 Merge pull request #1194 from shlinkio/dependabot/docker/node-22.2-alpine
Bump node from 22.1-alpine to 22.2-alpine
2024-05-18 10:35:04 +02:00
dependabot[bot]
1bc7db2b76 Bump node from 22.1-alpine to 22.2-alpine
Bumps node from 22.1-alpine to 22.2-alpine.

---
updated-dependencies:
- dependency-name: node
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-18 07:45:55 +00:00
dependabot[bot]
7529cf3793 Bump @reduxjs/toolkit from 2.2.4 to 2.2.5
Bumps [@reduxjs/toolkit](https://github.com/reduxjs/redux-toolkit) from 2.2.4 to 2.2.5.
- [Release notes](https://github.com/reduxjs/redux-toolkit/releases)
- [Commits](https://github.com/reduxjs/redux-toolkit/compare/v2.2.4...v2.2.5)

---
updated-dependencies:
- dependency-name: "@reduxjs/toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-18 07:27:40 +00:00
dependabot[bot]
dc3098849e Bump sass from 1.77.1 to 1.77.2
Bumps [sass](https://github.com/sass/dart-sass) from 1.77.1 to 1.77.2.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.77.1...1.77.2)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-18 07:27:30 +00:00
dependabot[bot]
4ab0db0dd9 Bump @types/react from 18.3.1 to 18.3.2 in the types group
Bumps the types group with 1 update: [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react).


Updates `@types/react` from 18.3.1 to 18.3.2
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: types
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-18 07:26:57 +00:00
Alejandro Celaya
281c148e18 Merge pull request #1184 from shlinkio/dependabot/npm_and_yarn/axe-core-4.9.1
Bump axe-core from 4.9.0 to 4.9.1
2024-05-13 19:14:15 +02:00
Alejandro Celaya
e350412f0d Import full axe object to work around https://github.com/dequelabs/axe-core/issues/4458 2024-05-13 19:10:55 +02:00
Alejandro Celaya
66b3119b53 Merge pull request #1183 from shlinkio/dependabot/npm_and_yarn/reduxjs/toolkit-2.2.4
Bump @reduxjs/toolkit from 2.2.3 to 2.2.4
2024-05-12 09:08:32 +02:00
Alejandro Celaya
0354746698 Merge pull request #1181 from shlinkio/dependabot/npm_and_yarn/testing-28728d7f7c
Bump @testing-library/react from 15.0.6 to 15.0.7 in the testing group
2024-05-11 09:36:12 +02:00
Alejandro Celaya
9db471b21e Merge pull request #1182 from shlinkio/dependabot/npm_and_yarn/react-router-dom-6.23.1
Bump react-router-dom from 6.23.0 to 6.23.1
2024-05-11 09:36:03 +02:00
Alejandro Celaya
8d2dff0aec Merge pull request #1185 from shlinkio/dependabot/npm_and_yarn/sass-1.77.1
Bump sass from 1.76.0 to 1.77.1
2024-05-11 09:35:48 +02:00
dependabot[bot]
89355d13e7 Bump sass from 1.76.0 to 1.77.1
Bumps [sass](https://github.com/sass/dart-sass) from 1.76.0 to 1.77.1.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.76.0...1.77.1)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-11 07:25:32 +00:00
dependabot[bot]
679bf4dd3a Bump axe-core from 4.9.0 to 4.9.1
Bumps [axe-core](https://github.com/dequelabs/axe-core) from 4.9.0 to 4.9.1.
- [Release notes](https://github.com/dequelabs/axe-core/releases)
- [Changelog](https://github.com/dequelabs/axe-core/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/dequelabs/axe-core/compare/v4.9.0...v4.9.1)

---
updated-dependencies:
- dependency-name: axe-core
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-11 07:25:20 +00:00
dependabot[bot]
68667c530b Bump @reduxjs/toolkit from 2.2.3 to 2.2.4
Bumps [@reduxjs/toolkit](https://github.com/reduxjs/redux-toolkit) from 2.2.3 to 2.2.4.
- [Release notes](https://github.com/reduxjs/redux-toolkit/releases)
- [Commits](https://github.com/reduxjs/redux-toolkit/compare/v2.2.3...v2.2.4)

---
updated-dependencies:
- dependency-name: "@reduxjs/toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-11 07:25:10 +00:00
dependabot[bot]
bbae3c45c4 Bump react-router-dom from 6.23.0 to 6.23.1
Bumps [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) from 6.23.0 to 6.23.1.
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@6.23.1/packages/react-router-dom)

---
updated-dependencies:
- dependency-name: react-router-dom
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-11 07:24:54 +00:00
dependabot[bot]
65b5a86a06 Bump @testing-library/react from 15.0.6 to 15.0.7 in the testing group
Bumps the testing group with 1 update: [@testing-library/react](https://github.com/testing-library/react-testing-library).


Updates `@testing-library/react` from 15.0.6 to 15.0.7
- [Release notes](https://github.com/testing-library/react-testing-library/releases)
- [Changelog](https://github.com/testing-library/react-testing-library/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/react-testing-library/compare/v15.0.6...v15.0.7)

---
updated-dependencies:
- dependency-name: "@testing-library/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: testing
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-11 07:24:30 +00:00
Alejandro Celaya
4be80bac5a Merge pull request #1175 from shlinkio/dependabot/npm_and_yarn/vite-cbe60ab2de
Bump vite from 5.2.10 to 5.2.11 in the vite group
2024-05-04 10:17:24 +02:00
dependabot[bot]
707fb0673d Bump vite from 5.2.10 to 5.2.11 in the vite group
Bumps the vite group with 1 update: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `vite` from 5.2.10 to 5.2.11
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.2.11/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vite
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-04 08:11:28 +00:00
Alejandro Celaya
61475df03a Merge pull request #1169 from shlinkio/dependabot/npm_and_yarn/ejs-3.1.10
Bump ejs from 3.1.9 to 3.1.10
2024-05-04 10:11:04 +02:00
Alejandro Celaya
dd01489e8d Merge pull request #1172 from shlinkio/dependabot/docker/node-22.1-alpine
Bump node from 22.0-alpine to 22.1-alpine
2024-05-04 10:10:55 +02:00
Alejandro Celaya
23974e4224 Merge pull request #1174 from shlinkio/dependabot/npm_and_yarn/testing-fdfb35e0f0
Bump the testing group with 2 updates
2024-05-04 10:10:45 +02:00
Alejandro Celaya
0b86265ef4 Merge pull request #1176 from shlinkio/dependabot/npm_and_yarn/vitest-8d71970c01
Bump the vitest group with 2 updates
2024-05-04 10:10:29 +02:00
Alejandro Celaya
17b44d5304 Merge pull request #1177 from shlinkio/dependabot/npm_and_yarn/react-redux-9.1.2
Bump react-redux from 9.1.1 to 9.1.2
2024-05-04 10:10:20 +02:00
Alejandro Celaya
2c2e6313fa Merge pull request #1178 from shlinkio/dependabot/npm_and_yarn/vite-plugin-pwa-0.20.0
Bump vite-plugin-pwa from 0.19.8 to 0.20.0
2024-05-04 10:10:09 +02:00
Alejandro Celaya
08e85388bc Merge pull request #1179 from shlinkio/dependabot/npm_and_yarn/sass-1.76.0
Bump sass from 1.75.0 to 1.76.0
2024-05-04 10:09:51 +02:00
dependabot[bot]
feac30da71 Bump sass from 1.75.0 to 1.76.0
Bumps [sass](https://github.com/sass/dart-sass) from 1.75.0 to 1.76.0.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.75.0...1.76.0)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-04 07:58:49 +00:00
dependabot[bot]
883be681be Bump vite-plugin-pwa from 0.19.8 to 0.20.0
Bumps [vite-plugin-pwa](https://github.com/vite-pwa/vite-plugin-pwa) from 0.19.8 to 0.20.0.
- [Release notes](https://github.com/vite-pwa/vite-plugin-pwa/releases)
- [Commits](https://github.com/vite-pwa/vite-plugin-pwa/compare/v0.19.8...v0.20.0)

---
updated-dependencies:
- dependency-name: vite-plugin-pwa
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-04 07:58:33 +00:00
dependabot[bot]
90f189b0e0 Bump react-redux from 9.1.1 to 9.1.2
Bumps [react-redux](https://github.com/reduxjs/react-redux) from 9.1.1 to 9.1.2.
- [Release notes](https://github.com/reduxjs/react-redux/releases)
- [Changelog](https://github.com/reduxjs/react-redux/blob/master/CHANGELOG.md)
- [Commits](https://github.com/reduxjs/react-redux/compare/v9.1.1...v9.1.2)

---
updated-dependencies:
- dependency-name: react-redux
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-04 07:58:07 +00:00
dependabot[bot]
6443359321 Bump the vitest group with 2 updates
Bumps the vitest group with 2 updates: [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) and [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).


Updates `@vitest/coverage-v8` from 1.5.2 to 1.6.0
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v1.6.0/packages/coverage-v8)

Updates `vitest` from 1.5.2 to 1.6.0
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v1.6.0/packages/vitest)

---
updated-dependencies:
- dependency-name: "@vitest/coverage-v8"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: vitest
- dependency-name: vitest
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: vitest
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-04 07:57:39 +00:00
dependabot[bot]
4f8012f1cf Bump the testing group with 2 updates
Bumps the testing group with 2 updates: [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) and [@testing-library/react](https://github.com/testing-library/react-testing-library).


Updates `@testing-library/jest-dom` from 6.4.2 to 6.4.5
- [Release notes](https://github.com/testing-library/jest-dom/releases)
- [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/jest-dom/compare/v6.4.2...v6.4.5)

Updates `@testing-library/react` from 15.0.5 to 15.0.6
- [Release notes](https://github.com/testing-library/react-testing-library/releases)
- [Changelog](https://github.com/testing-library/react-testing-library/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/react-testing-library/compare/v15.0.5...v15.0.6)

---
updated-dependencies:
- dependency-name: "@testing-library/jest-dom"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: testing
- dependency-name: "@testing-library/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: testing
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-04 07:56:47 +00:00
dependabot[bot]
35d3405fca Bump node from 22.0-alpine to 22.1-alpine
Bumps node from 22.0-alpine to 22.1-alpine.

---
updated-dependencies:
- dependency-name: node
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-04 07:52:17 +00:00
dependabot[bot]
f7c2faec14 Bump ejs from 3.1.9 to 3.1.10
Bumps [ejs](https://github.com/mde/ejs) from 3.1.9 to 3.1.10.
- [Release notes](https://github.com/mde/ejs/releases)
- [Commits](https://github.com/mde/ejs/compare/v3.1.9...v3.1.10)

---
updated-dependencies:
- dependency-name: ejs
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-02 12:36:50 +00:00
Alejandro Celaya
a9e6db509e Merge pull request #1167 from shlinkio/dependabot/npm_and_yarn/workbox-c7bd572566
Bump the workbox group with 2 updates
2024-04-27 21:15:26 +02:00
Alejandro Celaya
981771598b Merge pull request #1168 from shlinkio/dependabot/npm_and_yarn/multi-ec30208de6
Bump react-dom and @types/react-dom
2024-04-27 21:15:07 +02:00
dependabot[bot]
8b5c4f5966 Bump react-dom and @types/react-dom
Bumps [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) and [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom). These dependencies needed to be updated together.

Updates `react-dom` from 18.2.0 to 18.3.1
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v18.3.1/packages/react-dom)

Updates `@types/react-dom` from 18.2.25 to 18.3.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom)

---
updated-dependencies:
- dependency-name: react-dom
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: "@types/react-dom"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-27 18:40:53 +00:00
dependabot[bot]
8ccbc60ab7 Bump the workbox group with 2 updates
Bumps the workbox group with 2 updates: [workbox-expiration](https://github.com/googlechrome/workbox) and [workbox-strategies](https://github.com/googlechrome/workbox).


Updates `workbox-expiration` from 7.0.0 to 7.1.0
- [Release notes](https://github.com/googlechrome/workbox/releases)
- [Commits](https://github.com/googlechrome/workbox/compare/v7.0.0...v7.1.0)

Updates `workbox-strategies` from 7.0.0 to 7.1.0
- [Release notes](https://github.com/googlechrome/workbox/releases)
- [Commits](https://github.com/googlechrome/workbox/compare/v7.0.0...v7.1.0)

---
updated-dependencies:
- dependency-name: workbox-expiration
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: workbox
- dependency-name: workbox-strategies
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: workbox
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-27 18:40:26 +00:00
Alejandro Celaya
f0cc6c9711 Add dependabot group for workbox packages 2024-04-27 20:38:58 +02:00
Alejandro Celaya
861644da55 Merge pull request #1161 from shlinkio/dependabot/npm_and_yarn/workbox-routing-7.1.0
Bump workbox-routing from 7.0.0 to 7.1.0
2024-04-27 13:34:56 +02:00
dependabot[bot]
df9bb940b8 Bump workbox-routing from 7.0.0 to 7.1.0
Bumps [workbox-routing](https://github.com/googlechrome/workbox) from 7.0.0 to 7.1.0.
- [Release notes](https://github.com/googlechrome/workbox/releases)
- [Commits](https://github.com/googlechrome/workbox/compare/v7.0.0...v7.1.0)

---
updated-dependencies:
- dependency-name: workbox-routing
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-27 11:32:11 +00:00
Alejandro Celaya
4066cfeec9 Merge pull request #1163 from shlinkio/dependabot/npm_and_yarn/workbox-precaching-7.1.0
Bump workbox-precaching from 7.0.0 to 7.1.0
2024-04-27 13:31:30 +02:00
Alejandro Celaya
a5d41e3f00 Merge pull request #1156 from shlinkio/dependabot/npm_and_yarn/testing-1e6e7b56b7
Bump @testing-library/react from 15.0.2 to 15.0.5 in the testing group
2024-04-27 13:17:03 +02:00
Alejandro Celaya
24df9cc742 Merge pull request #1158 from shlinkio/dependabot/npm_and_yarn/vite-5d21981fe8
Bump vite from 5.2.9 to 5.2.10 in the vite group
2024-04-27 13:16:54 +02:00
dependabot[bot]
9b81b983fb Bump workbox-precaching from 7.0.0 to 7.1.0
Bumps [workbox-precaching](https://github.com/googlechrome/workbox) from 7.0.0 to 7.1.0.
- [Release notes](https://github.com/googlechrome/workbox/releases)
- [Commits](https://github.com/googlechrome/workbox/compare/v7.0.0...v7.1.0)

---
updated-dependencies:
- dependency-name: workbox-precaching
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-27 11:16:45 +00:00
Alejandro Celaya
831f192122 Merge pull request #1159 from shlinkio/dependabot/npm_and_yarn/vitest-18566bbb45
Bump the vitest group with 2 updates
2024-04-27 13:16:44 +02:00
Alejandro Celaya
76e3b760e0 Merge pull request #1160 from shlinkio/dependabot/npm_and_yarn/multi-ac08903459
Bump react and @types/react
2024-04-27 13:16:36 +02:00
dependabot[bot]
f382d3f406 Bump react and @types/react
Bumps [react](https://github.com/facebook/react/tree/HEAD/packages/react) and [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react). These dependencies needed to be updated together.

Updates `react` from 18.2.0 to 18.3.1
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v18.3.1/packages/react)

Updates `@types/react` from 18.2.79 to 18.3.1
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: react
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-27 11:16:18 +00:00
Alejandro Celaya
535e910b86 Merge pull request #1162 from shlinkio/dependabot/npm_and_yarn/clsx-2.1.1
Bump clsx from 2.1.0 to 2.1.1
2024-04-27 13:15:59 +02:00
Alejandro Celaya
a6e05af271 Merge pull request #1164 from shlinkio/dependabot/npm_and_yarn/workbox-core-7.1.0
Bump workbox-core from 7.0.0 to 7.1.0
2024-04-27 13:15:48 +02:00
Alejandro Celaya
d064c12d71 Merge pull request #1165 from shlinkio/dependabot/npm_and_yarn/react-router-dom-6.23.0
Bump react-router-dom from 6.22.3 to 6.23.0
2024-04-27 13:15:31 +02:00
Alejandro Celaya
be9602e2c3 Merge pull request #1155 from shlinkio/dependabot/docker/node-22.0-alpine
Bump node from 21.7-alpine to 22.0-alpine
2024-04-27 13:15:18 +02:00
dependabot[bot]
4230568ef2 Bump react-router-dom from 6.22.3 to 6.23.0
Bumps [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) from 6.22.3 to 6.23.0.
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@6.23.0/packages/react-router-dom)

---
updated-dependencies:
- dependency-name: react-router-dom
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-27 07:48:52 +00:00
dependabot[bot]
16af634bd2 Bump workbox-core from 7.0.0 to 7.1.0
Bumps [workbox-core](https://github.com/googlechrome/workbox) from 7.0.0 to 7.1.0.
- [Release notes](https://github.com/googlechrome/workbox/releases)
- [Commits](https://github.com/googlechrome/workbox/compare/v7.0.0...v7.1.0)

---
updated-dependencies:
- dependency-name: workbox-core
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-27 07:48:41 +00:00
dependabot[bot]
e21137a96d Bump clsx from 2.1.0 to 2.1.1
Bumps [clsx](https://github.com/lukeed/clsx) from 2.1.0 to 2.1.1.
- [Release notes](https://github.com/lukeed/clsx/releases)
- [Commits](https://github.com/lukeed/clsx/compare/v2.1.0...v2.1.1)

---
updated-dependencies:
- dependency-name: clsx
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-27 07:48:17 +00:00
dependabot[bot]
14447f1d23 Bump the vitest group with 2 updates
Bumps the vitest group with 2 updates: [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) and [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).


Updates `@vitest/coverage-v8` from 1.5.0 to 1.5.2
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v1.5.2/packages/coverage-v8)

Updates `vitest` from 1.5.0 to 1.5.2
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v1.5.2/packages/vitest)

---
updated-dependencies:
- dependency-name: "@vitest/coverage-v8"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vitest
- dependency-name: vitest
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vitest
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-27 07:47:41 +00:00
dependabot[bot]
d4d6b81901 Bump vite from 5.2.9 to 5.2.10 in the vite group
Bumps the vite group with 1 update: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `vite` from 5.2.9 to 5.2.10
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.2.10/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vite
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-27 07:47:22 +00:00
dependabot[bot]
02780227fe Bump @testing-library/react from 15.0.2 to 15.0.5 in the testing group
Bumps the testing group with 1 update: [@testing-library/react](https://github.com/testing-library/react-testing-library).


Updates `@testing-library/react` from 15.0.2 to 15.0.5
- [Release notes](https://github.com/testing-library/react-testing-library/releases)
- [Changelog](https://github.com/testing-library/react-testing-library/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/react-testing-library/compare/v15.0.2...v15.0.5)

---
updated-dependencies:
- dependency-name: "@testing-library/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: testing
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-27 07:47:06 +00:00
dependabot[bot]
a8f35ae82e Bump node from 21.7-alpine to 22.0-alpine
Bumps node from 21.7-alpine to 22.0-alpine.

---
updated-dependencies:
- dependency-name: node
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-27 07:44:46 +00:00
Alejandro Celaya
fbe2c0f297 Migrate to new docker-publish-image reusable workflow 2024-04-26 09:21:58 +02:00
Alejandro Celaya
40979533c0 Merge pull request #1149 from shlinkio/dependabot/npm_and_yarn/types-4304693239
Bump @types/react from 18.2.77 to 18.2.79 in the types group
2024-04-20 11:08:45 +02:00
Alejandro Celaya
1b507fefde Merge pull request #1150 from shlinkio/dependabot/npm_and_yarn/testing-2bd2bfdf59
Bump @testing-library/react from 15.0.1 to 15.0.2 in the testing group
2024-04-20 11:08:36 +02:00
Alejandro Celaya
9607eeef89 Merge pull request #1152 from shlinkio/dependabot/npm_and_yarn/vite-ae4265061c
Bump vite from 5.2.8 to 5.2.9 in the vite group
2024-04-20 11:08:27 +02:00
Alejandro Celaya
589ecb7349 Merge pull request #1153 from shlinkio/dependabot/npm_and_yarn/react-redux-9.1.1
Bump react-redux from 9.1.0 to 9.1.1
2024-04-20 11:08:15 +02:00
dependabot[bot]
ebee5ee346 Bump react-redux from 9.1.0 to 9.1.1
Bumps [react-redux](https://github.com/reduxjs/react-redux) from 9.1.0 to 9.1.1.
- [Release notes](https://github.com/reduxjs/react-redux/releases)
- [Changelog](https://github.com/reduxjs/react-redux/blob/master/CHANGELOG.md)
- [Commits](https://github.com/reduxjs/react-redux/compare/v9.1.0...v9.1.1)

---
updated-dependencies:
- dependency-name: react-redux
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-20 07:51:55 +00:00
dependabot[bot]
726a86a064 Bump vite from 5.2.8 to 5.2.9 in the vite group
Bumps the vite group with 1 update: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `vite` from 5.2.8 to 5.2.9
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.2.9/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vite
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-20 07:51:37 +00:00
dependabot[bot]
81a2916b66 Bump @testing-library/react from 15.0.1 to 15.0.2 in the testing group
Bumps the testing group with 1 update: [@testing-library/react](https://github.com/testing-library/react-testing-library).


Updates `@testing-library/react` from 15.0.1 to 15.0.2
- [Release notes](https://github.com/testing-library/react-testing-library/releases)
- [Changelog](https://github.com/testing-library/react-testing-library/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/react-testing-library/compare/v15.0.1...v15.0.2)

---
updated-dependencies:
- dependency-name: "@testing-library/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: testing
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-20 07:51:21 +00:00
dependabot[bot]
3546ae81f7 Bump @types/react from 18.2.77 to 18.2.79 in the types group
Bumps the types group with 1 update: [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react).


Updates `@types/react` from 18.2.77 to 18.2.79
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: types
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-20 07:51:07 +00:00
Alejandro Celaya
d18ebf8911 Merge pull request #1147 from shlinkio/develop
Release 4.1.2
2024-04-17 09:59:22 +02:00
Alejandro Celaya
e7d3380223 Merge pull request #1146 from acelaya-forks/feature/fixes
Update to shlink-web-component 0.6.2 for its fixes
2024-04-17 09:54:39 +02:00
Alejandro Celaya
580a625082 Update to shlink-web-component 0.6.2 for its fixes 2024-04-17 09:49:52 +02:00
Alejandro Celaya
7e43f67629 Merge pull request #1138 from shlinkio/dependabot/npm_and_yarn/types-64385cdaa9
Bump the types group with 2 updates
2024-04-13 10:03:16 +02:00
Alejandro Celaya
344e1f37fe Merge pull request #1139 from shlinkio/dependabot/npm_and_yarn/testing-fcae7fc486
Bump @testing-library/react from 14.2.2 to 15.0.1 in the testing group
2024-04-13 10:03:08 +02:00
Alejandro Celaya
af30986350 Merge pull request #1140 from shlinkio/dependabot/npm_and_yarn/vitest-34893adc3a
Bump the vitest group with 2 updates
2024-04-13 10:02:38 +02:00
Alejandro Celaya
ba0605fab4 Merge pull request #1142 from shlinkio/dependabot/npm_and_yarn/sass-1.75.0
Bump sass from 1.74.1 to 1.75.0
2024-04-13 10:02:29 +02:00
Alejandro Celaya
0751549214 Merge pull request #1143 from shlinkio/dependabot/npm_and_yarn/typescript-5.4.5
Bump typescript from 5.4.4 to 5.4.5
2024-04-13 10:02:21 +02:00
Alejandro Celaya
415de7a29a Merge pull request #1144 from shlinkio/dependabot/npm_and_yarn/react-external-link-2.3.1
Bump react-external-link from 2.2.0 to 2.3.1
2024-04-13 10:02:14 +02:00
dependabot[bot]
f23592c3c8 Bump react-external-link from 2.2.0 to 2.3.1
Bumps [react-external-link](https://github.com/acelaya/react-external-link) from 2.2.0 to 2.3.1.
- [Release notes](https://github.com/acelaya/react-external-link/releases)
- [Changelog](https://github.com/acelaya/react-external-link/blob/main/CHANGELOG.md)
- [Commits](https://github.com/acelaya/react-external-link/compare/v2.2.0...v2.3.1)

---
updated-dependencies:
- dependency-name: react-external-link
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-13 07:26:42 +00:00
dependabot[bot]
f495c1af33 Bump typescript from 5.4.4 to 5.4.5
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 5.4.4 to 5.4.5.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v5.4.4...v5.4.5)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-13 07:26:33 +00:00
dependabot[bot]
13b434959e Bump sass from 1.74.1 to 1.75.0
Bumps [sass](https://github.com/sass/dart-sass) from 1.74.1 to 1.75.0.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.74.1...1.75.0)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-13 07:26:17 +00:00
dependabot[bot]
4b16d9f566 Bump the vitest group with 2 updates
Bumps the vitest group with 2 updates: [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) and [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).


Updates `@vitest/coverage-v8` from 1.4.0 to 1.5.0
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v1.5.0/packages/coverage-v8)

Updates `vitest` from 1.4.0 to 1.5.0
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v1.5.0/packages/vitest)

---
updated-dependencies:
- dependency-name: "@vitest/coverage-v8"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: vitest
- dependency-name: vitest
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: vitest
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-13 07:26:00 +00:00
dependabot[bot]
e7138b2dc6 Bump @testing-library/react from 14.2.2 to 15.0.1 in the testing group
Bumps the testing group with 1 update: [@testing-library/react](https://github.com/testing-library/react-testing-library).


Updates `@testing-library/react` from 14.2.2 to 15.0.1
- [Release notes](https://github.com/testing-library/react-testing-library/releases)
- [Changelog](https://github.com/testing-library/react-testing-library/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/react-testing-library/compare/v14.2.2...v15.0.1)

---
updated-dependencies:
- dependency-name: "@testing-library/react"
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: testing
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-13 07:25:36 +00:00
dependabot[bot]
e410ca0999 Bump the types group with 2 updates
Bumps the types group with 2 updates: [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) and [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom).


Updates `@types/react` from 18.2.74 to 18.2.77
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

Updates `@types/react-dom` from 18.2.24 to 18.2.25
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: types
- dependency-name: "@types/react-dom"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: types
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-13 07:25:23 +00:00
Alejandro Celaya
5c2e99cba1 Merge pull request #1137 from shlinkio/develop
Release 4.1.1
2024-04-11 09:24:15 +02:00
Alejandro Celaya
5a7e8a0079 Merge pull request #1136 from acelaya-forks/feature/fix-versions-alignment
Fix Shlink versions alignment in server error pages
2024-04-11 09:21:47 +02:00
Alejandro Celaya
734ff22499 Fix Shlink versions alignment in server error pages 2024-04-11 09:19:32 +02:00
Alejandro Celaya
b9fb398d3b Merge pull request #1135 from acelaya-forks/feature/fix-firefox-import
Fix importing servers in Firefox for Android
2024-04-11 09:06:58 +02:00
Alejandro Celaya
0e0ea3fd26 Fix importing servers in Firefox for Android 2024-04-11 08:56:41 +02:00
Alejandro Celaya
f9c3ac3925 Merge pull request #1134 from acelaya-forks/feature/shlink-web-client-0.6.1
Update to shlink-web-component 0.6.1
2024-04-10 09:54:35 +02:00
Alejandro Celaya
b399523124 Update to shlink-web-component 0.6.1 2024-04-10 09:52:41 +02:00
Alejandro Celaya
ae7adb04f6 Merge pull request #1127 from acelaya-forks/feature/js-standard-update
Update to latest coding standard
2024-04-07 13:00:40 +02:00
Alejandro Celaya
19021c39a5 Update to latest coding standard 2024-04-07 12:59:10 +02:00
Alejandro Celaya
4fcead4e12 Merge pull request #1122 from shlinkio/dependabot/npm_and_yarn/vite-4c4c126df2
Bump vite from 5.2.7 to 5.2.8 in the vite group
2024-04-06 09:54:36 +02:00
Alejandro Celaya
644adf3ab7 Merge pull request #1123 from shlinkio/dependabot/npm_and_yarn/sass-1.74.1
Bump sass from 1.72.0 to 1.74.1
2024-04-06 09:54:24 +02:00
dependabot[bot]
bfb8cedec9 Bump vite from 5.2.7 to 5.2.8 in the vite group
Bumps the vite group with 1 update: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `vite` from 5.2.7 to 5.2.8
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.2.8/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vite
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-06 07:49:30 +00:00
Alejandro Celaya
46cba9c880 Merge pull request #1120 from shlinkio/dependabot/npm_and_yarn/fontawesome-3274e2c6b2
Bump the fontawesome group with 5 updates
2024-04-06 09:49:29 +02:00
Alejandro Celaya
4bee757b19 Merge pull request #1121 from shlinkio/dependabot/npm_and_yarn/types-111b0abb65
Bump the types group with 2 updates
2024-04-06 09:49:18 +02:00
dependabot[bot]
631f0667c7 Bump sass from 1.72.0 to 1.74.1
Bumps [sass](https://github.com/sass/dart-sass) from 1.72.0 to 1.74.1.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.72.0...1.74.1)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-06 07:48:56 +00:00
Alejandro Celaya
dbf02f3390 Merge pull request #1124 from shlinkio/dependabot/npm_and_yarn/vite-plugin-pwa-0.19.8
Bump vite-plugin-pwa from 0.19.7 to 0.19.8
2024-04-06 09:48:55 +02:00
Alejandro Celaya
10ba009f8e Merge pull request #1125 from shlinkio/dependabot/npm_and_yarn/reduxjs/toolkit-2.2.3
Bump @reduxjs/toolkit from 2.2.2 to 2.2.3
2024-04-06 09:48:21 +02:00
Alejandro Celaya
d6a5c99061 Merge pull request #1126 from shlinkio/dependabot/npm_and_yarn/typescript-5.4.4
Bump typescript from 5.4.3 to 5.4.4
2024-04-06 09:48:11 +02:00
dependabot[bot]
6d0ba991c9 Bump typescript from 5.4.3 to 5.4.4
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 5.4.3 to 5.4.4.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v5.4.3...v5.4.4)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-06 07:27:22 +00:00
dependabot[bot]
4103ab298f Bump @reduxjs/toolkit from 2.2.2 to 2.2.3
Bumps [@reduxjs/toolkit](https://github.com/reduxjs/redux-toolkit) from 2.2.2 to 2.2.3.
- [Release notes](https://github.com/reduxjs/redux-toolkit/releases)
- [Commits](https://github.com/reduxjs/redux-toolkit/compare/v2.2.2...v2.2.3)

---
updated-dependencies:
- dependency-name: "@reduxjs/toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-06 07:27:02 +00:00
dependabot[bot]
af02b3b03f Bump vite-plugin-pwa from 0.19.7 to 0.19.8
Bumps [vite-plugin-pwa](https://github.com/vite-pwa/vite-plugin-pwa) from 0.19.7 to 0.19.8.
- [Release notes](https://github.com/vite-pwa/vite-plugin-pwa/releases)
- [Commits](https://github.com/vite-pwa/vite-plugin-pwa/compare/v0.19.7...v0.19.8)

---
updated-dependencies:
- dependency-name: vite-plugin-pwa
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-06 07:26:49 +00:00
dependabot[bot]
65b9e1e2a8 Bump the types group with 2 updates
Bumps the types group with 2 updates: [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) and [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom).


Updates `@types/react` from 18.2.73 to 18.2.74
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

Updates `@types/react-dom` from 18.2.23 to 18.2.24
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: types
- dependency-name: "@types/react-dom"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: types
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-06 07:26:04 +00:00
dependabot[bot]
af3f5074d1 Bump the fontawesome group with 5 updates
Bumps the fontawesome group with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [@fortawesome/fontawesome-free](https://github.com/FortAwesome/Font-Awesome) | `6.5.1` | `6.5.2` |
| [@fortawesome/fontawesome-svg-core](https://github.com/FortAwesome/Font-Awesome) | `6.5.1` | `6.5.2` |
| [@fortawesome/free-brands-svg-icons](https://github.com/FortAwesome/Font-Awesome) | `6.5.1` | `6.5.2` |
| [@fortawesome/free-regular-svg-icons](https://github.com/FortAwesome/Font-Awesome) | `6.5.1` | `6.5.2` |
| [@fortawesome/free-solid-svg-icons](https://github.com/FortAwesome/Font-Awesome) | `6.5.1` | `6.5.2` |


Updates `@fortawesome/fontawesome-free` from 6.5.1 to 6.5.2
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.5.1...6.5.2)

Updates `@fortawesome/fontawesome-svg-core` from 6.5.1 to 6.5.2
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.5.1...6.5.2)

Updates `@fortawesome/free-brands-svg-icons` from 6.5.1 to 6.5.2
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.5.1...6.5.2)

Updates `@fortawesome/free-regular-svg-icons` from 6.5.1 to 6.5.2
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.5.1...6.5.2)

Updates `@fortawesome/free-solid-svg-icons` from 6.5.1 to 6.5.2
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.5.1...6.5.2)

---
updated-dependencies:
- dependency-name: "@fortawesome/fontawesome-free"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: fontawesome
- dependency-name: "@fortawesome/fontawesome-svg-core"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: fontawesome
- dependency-name: "@fortawesome/free-brands-svg-icons"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: fontawesome
- dependency-name: "@fortawesome/free-regular-svg-icons"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: fontawesome
- dependency-name: "@fortawesome/free-solid-svg-icons"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: fontawesome
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-06 07:25:31 +00:00
Alejandro Celaya
c007c96d8b Merge pull request #1115 from shlinkio/dependabot/npm_and_yarn/types-a55a1e11b8
Bump the types group with 2 updates
2024-03-30 20:48:08 +01:00
Alejandro Celaya
576eb703d8 Merge pull request #1116 from shlinkio/dependabot/npm_and_yarn/vite-211f9297f0
Bump the vite group with 1 update
2024-03-30 20:47:57 +01:00
Alejandro Celaya
db47307fcd Merge pull request #1117 from shlinkio/dependabot/npm_and_yarn/axe-core-4.9.0
Bump axe-core from 4.8.4 to 4.9.0
2024-03-30 20:47:45 +01:00
dependabot[bot]
bc2c626505 Bump axe-core from 4.8.4 to 4.9.0
Bumps [axe-core](https://github.com/dequelabs/axe-core) from 4.8.4 to 4.9.0.
- [Release notes](https://github.com/dequelabs/axe-core/releases)
- [Changelog](https://github.com/dequelabs/axe-core/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/dequelabs/axe-core/compare/v4.8.4...v4.9.0)

---
updated-dependencies:
- dependency-name: axe-core
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-30 08:49:50 +00:00
dependabot[bot]
514d469331 Bump the vite group with 1 update
Bumps the vite group with 1 update: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `vite` from 5.2.4 to 5.2.7
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.2.7/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vite
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-30 08:49:26 +00:00
dependabot[bot]
2d3754e3cc Bump the types group with 2 updates
Bumps the types group with 2 updates: [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) and [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom).


Updates `@types/react` from 18.2.69 to 18.2.73
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

Updates `@types/react-dom` from 18.2.22 to 18.2.23
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: types
- dependency-name: "@types/react-dom"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: types
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-30 08:49:04 +00:00
Alejandro Celaya
726ea4c869 Merge pull request #1113 from shlinkio/dependabot/npm_and_yarn/vite-c2b4b21f91
Bump the vite group with 1 update
2024-03-23 12:01:44 +01:00
dependabot[bot]
fa01543a8c Bump the vite group with 1 update
Bumps the vite group with 1 update: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `vite` from 5.1.6 to 5.2.4
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.2.4/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: vite
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-23 10:26:42 +00:00
Alejandro Celaya
3a608748e4 Merge pull request #1106 from shlinkio/dependabot/npm_and_yarn/types-1ced3eb821
Bump the types group with 1 update
2024-03-23 11:25:16 +01:00
dependabot[bot]
578c710d6c Bump the types group with 1 update
Bumps the types group with 1 update: [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react).


Updates `@types/react` from 18.2.66 to 18.2.69
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: types
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-23 10:24:28 +00:00
Alejandro Celaya
633f525a3a Merge pull request #1107 from shlinkio/dependabot/npm_and_yarn/testing-79d2cbd4c7
Bump the testing group with 1 update
2024-03-23 11:23:58 +01:00
Alejandro Celaya
f63fa26316 Merge pull request #1109 from shlinkio/dependabot/npm_and_yarn/vite-plugin-pwa-0.19.7
Bump vite-plugin-pwa from 0.19.4 to 0.19.7
2024-03-23 11:23:45 +01:00
Alejandro Celaya
9ee49dca37 Merge pull request #1110 from shlinkio/dependabot/npm_and_yarn/typescript-5.4.3
Bump typescript from 5.4.2 to 5.4.3
2024-03-23 11:23:36 +01:00
Alejandro Celaya
ed37cc7472 Merge pull request #1111 from shlinkio/dependabot/npm_and_yarn/date-fns-3.6.0
Bump date-fns from 3.5.0 to 3.6.0
2024-03-23 11:23:28 +01:00
Alejandro Celaya
fe66215261 Merge pull request #1112 from shlinkio/dependabot/npm_and_yarn/reduxjs/toolkit-2.2.2
Bump @reduxjs/toolkit from 2.2.1 to 2.2.2
2024-03-23 11:23:19 +01:00
dependabot[bot]
4a62f97331 Bump @reduxjs/toolkit from 2.2.1 to 2.2.2
Bumps [@reduxjs/toolkit](https://github.com/reduxjs/redux-toolkit) from 2.2.1 to 2.2.2.
- [Release notes](https://github.com/reduxjs/redux-toolkit/releases)
- [Commits](https://github.com/reduxjs/redux-toolkit/compare/v2.2.1...v2.2.2)

---
updated-dependencies:
- dependency-name: "@reduxjs/toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-23 09:01:25 +00:00
dependabot[bot]
ee6184e649 Bump date-fns from 3.5.0 to 3.6.0
Bumps [date-fns](https://github.com/date-fns/date-fns) from 3.5.0 to 3.6.0.
- [Release notes](https://github.com/date-fns/date-fns/releases)
- [Changelog](https://github.com/date-fns/date-fns/blob/main/CHANGELOG.md)
- [Commits](https://github.com/date-fns/date-fns/compare/v3.5.0...v3.6.0)

---
updated-dependencies:
- dependency-name: date-fns
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-23 09:00:31 +00:00
dependabot[bot]
f56bd1a1e9 Bump typescript from 5.4.2 to 5.4.3
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 5.4.2 to 5.4.3.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v5.4.2...v5.4.3)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-23 09:00:11 +00:00
dependabot[bot]
c005fd8f18 Bump vite-plugin-pwa from 0.19.4 to 0.19.7
Bumps [vite-plugin-pwa](https://github.com/vite-pwa/vite-plugin-pwa) from 0.19.4 to 0.19.7.
- [Release notes](https://github.com/vite-pwa/vite-plugin-pwa/releases)
- [Commits](https://github.com/vite-pwa/vite-plugin-pwa/compare/v0.19.4...v0.19.7)

---
updated-dependencies:
- dependency-name: vite-plugin-pwa
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-23 08:59:54 +00:00
dependabot[bot]
66d16b1507 Bump the testing group with 1 update
Bumps the testing group with 1 update: [@testing-library/react](https://github.com/testing-library/react-testing-library).


Updates `@testing-library/react` from 14.2.1 to 14.2.2
- [Release notes](https://github.com/testing-library/react-testing-library/releases)
- [Changelog](https://github.com/testing-library/react-testing-library/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/react-testing-library/compare/v14.2.1...v14.2.2)

---
updated-dependencies:
- dependency-name: "@testing-library/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: testing
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-23 08:59:11 +00:00
Alejandro Celaya
c75a3a4073 Merge pull request #1103 from shlinkio/develop
Release 4.1.0
2024-03-17 12:26:34 +01:00
Alejandro Celaya
16cd6442e6 Merge pull request #1102 from acelaya-forks/feature/server-menu-fix
Fix broken server dropdown menu when auto-connect is enabled
2024-03-17 12:24:19 +01:00
Alejandro Celaya
36e2ba59c9 Add test to cover server dropdown UI for auto-connect 2024-03-17 12:21:45 +01:00
Alejandro Celaya
3192aa6981 Fix broken server dropdown menu when auto-connect is enabled 2024-03-17 12:11:43 +01:00
Alejandro Celaya
479583281a Merge pull request #1101 from acelaya-forks/feature/shlink-web-client-0.6
Update to shlink-web-component 0.6.0
2024-03-17 11:04:19 +01:00
Alejandro Celaya
80b4d26f01 Update to shlink-web-component 0.6.0 2024-03-17 11:02:31 +01:00
Alejandro Celaya
1e547c2fa3 Merge pull request #1100 from shlinkio/dependabot/npm_and_yarn/date-fns-3.5.0
Bump date-fns from 3.3.1 to 3.5.0
2024-03-16 12:10:50 +01:00
Alejandro Celaya
6f098dd198 Merge pull request #1095 from shlinkio/dependabot/npm_and_yarn/vite-283c76df45
Bump the vite group with 1 update
2024-03-16 12:10:24 +01:00
Alejandro Celaya
0a037cb040 Merge pull request #1097 from shlinkio/dependabot/npm_and_yarn/adm-zip-0.5.12
Bump adm-zip from 0.5.10 to 0.5.12
2024-03-16 12:10:13 +01:00
dependabot[bot]
96b0956baf Bump date-fns from 3.3.1 to 3.5.0
Bumps [date-fns](https://github.com/date-fns/date-fns) from 3.3.1 to 3.5.0.
- [Release notes](https://github.com/date-fns/date-fns/releases)
- [Changelog](https://github.com/date-fns/date-fns/blob/main/CHANGELOG.md)
- [Commits](https://github.com/date-fns/date-fns/compare/v3.3.1...v3.5.0)

---
updated-dependencies:
- dependency-name: date-fns
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-16 11:09:09 +00:00
dependabot[bot]
487d466b13 Bump adm-zip from 0.5.10 to 0.5.12
Bumps [adm-zip](https://github.com/cthackers/adm-zip) from 0.5.10 to 0.5.12.
- [Release notes](https://github.com/cthackers/adm-zip/releases)
- [Changelog](https://github.com/cthackers/adm-zip/blob/master/history.md)
- [Commits](https://github.com/cthackers/adm-zip/compare/v0.5.10...v0.5.12)

---
updated-dependencies:
- dependency-name: adm-zip
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-16 11:08:35 +00:00
dependabot[bot]
9a390c7850 Bump the vite group with 1 update
Bumps the vite group with 1 update: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `vite` from 5.1.5 to 5.1.6
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.1.6/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vite
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-16 11:08:31 +00:00
Alejandro Celaya
fda1a00f21 Merge pull request #1094 from shlinkio/dependabot/npm_and_yarn/types-b1564c53c0
Bump the types group with 2 updates
2024-03-16 12:08:11 +01:00
Alejandro Celaya
f8c62bb9b5 Merge pull request #1096 from shlinkio/dependabot/npm_and_yarn/vitest-967dec0f79
Bump the vitest group with 2 updates
2024-03-16 12:08:00 +01:00
Alejandro Celaya
c32cbb4b48 Merge pull request #1098 from shlinkio/dependabot/npm_and_yarn/vite-plugin-pwa-0.19.4
Bump vite-plugin-pwa from 0.19.2 to 0.19.4
2024-03-16 12:07:52 +01:00
Alejandro Celaya
7dbe85b417 Merge pull request #1099 from shlinkio/dependabot/npm_and_yarn/sass-1.72.0
Bump sass from 1.71.1 to 1.72.0
2024-03-16 12:07:44 +01:00
dependabot[bot]
6cf64fb008 Bump sass from 1.71.1 to 1.72.0
Bumps [sass](https://github.com/sass/dart-sass) from 1.71.1 to 1.72.0.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.71.1...1.72.0)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-16 08:41:09 +00:00
dependabot[bot]
c11cd31cfd Bump vite-plugin-pwa from 0.19.2 to 0.19.4
Bumps [vite-plugin-pwa](https://github.com/vite-pwa/vite-plugin-pwa) from 0.19.2 to 0.19.4.
- [Release notes](https://github.com/vite-pwa/vite-plugin-pwa/releases)
- [Commits](https://github.com/vite-pwa/vite-plugin-pwa/compare/v0.19.2...v0.19.4)

---
updated-dependencies:
- dependency-name: vite-plugin-pwa
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-16 08:40:51 +00:00
dependabot[bot]
fe33648f92 Bump the vitest group with 2 updates
Bumps the vitest group with 2 updates: [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) and [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).


Updates `@vitest/coverage-v8` from 1.3.1 to 1.4.0
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v1.4.0/packages/coverage-v8)

Updates `vitest` from 1.3.1 to 1.4.0
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v1.4.0/packages/vitest)

---
updated-dependencies:
- dependency-name: "@vitest/coverage-v8"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: vitest
- dependency-name: vitest
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: vitest
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-16 08:40:32 +00:00
dependabot[bot]
58558f0437 Bump the types group with 2 updates
Bumps the types group with 2 updates: [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) and [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom).


Updates `@types/react` from 18.2.64 to 18.2.66
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

Updates `@types/react-dom` from 18.2.21 to 18.2.22
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: types
- dependency-name: "@types/react-dom"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: types
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-16 08:39:50 +00:00
Alejandro Celaya
5d4dd8fde0 Update Bug template 2024-03-12 09:03:03 +01:00
Alejandro Celaya
eb897b567b Merge pull request #1088 from shlinkio/dependabot/npm_and_yarn/vite-17ed345f1d
Bump the vite group with 1 update
2024-03-09 14:11:01 +01:00
Alejandro Celaya
836d6ba7c0 Merge pull request #1091 from shlinkio/dependabot/docker/node-21.7-alpine
Bump node from 21.6-alpine to 21.7-alpine
2024-03-09 14:08:22 +01:00
dependabot[bot]
bc573b8552 Bump the vite group with 1 update
Bumps the vite group with 1 update: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `vite` from 5.1.4 to 5.1.5
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.1.5/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vite
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-09 13:07:33 +00:00
Alejandro Celaya
d261fff273 Merge pull request #1089 from shlinkio/dependabot/npm_and_yarn/typescript-5.4.2
Bump typescript from 5.3.3 to 5.4.2
2024-03-09 14:07:04 +01:00
Alejandro Celaya
f5c784c153 Merge pull request #1087 from shlinkio/dependabot/npm_and_yarn/types-69c036a91a
Bump the types group with 2 updates
2024-03-09 14:06:46 +01:00
Alejandro Celaya
1545cd6c2e Merge pull request #1090 from shlinkio/dependabot/npm_and_yarn/react-router-dom-6.22.3
Bump react-router-dom from 6.22.2 to 6.22.3
2024-03-09 14:06:23 +01:00
dependabot[bot]
fbf3669c23 Bump node from 21.6-alpine to 21.7-alpine
Bumps node from 21.6-alpine to 21.7-alpine.

---
updated-dependencies:
- dependency-name: node
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-09 08:53:49 +00:00
dependabot[bot]
0b90a042b1 Bump react-router-dom from 6.22.2 to 6.22.3
Bumps [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) from 6.22.2 to 6.22.3.
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@6.22.3/packages/react-router-dom)

---
updated-dependencies:
- dependency-name: react-router-dom
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-09 08:16:18 +00:00
dependabot[bot]
45e49eca55 Bump typescript from 5.3.3 to 5.4.2
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 5.3.3 to 5.4.2.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v5.3.3...v5.4.2)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-09 08:16:06 +00:00
dependabot[bot]
0c7da43cbb Bump the types group with 2 updates
Bumps the types group with 2 updates: [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) and [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom).


Updates `@types/react` from 18.2.61 to 18.2.64
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

Updates `@types/react-dom` from 18.2.19 to 18.2.21
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: types
- dependency-name: "@types/react-dom"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: types
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-09 08:15:25 +00:00
Alejandro Celaya
e47dcb30b5 Merge pull request #1080 from shlinkio/dependabot/npm_and_yarn/types-1f9d2ad611
Bump the types group with 1 update
2024-03-02 11:29:23 +01:00
dependabot[bot]
9ac88a7fd7 Bump the types group with 1 update
Bumps the types group with 1 update: [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react).


Updates `@types/react` from 18.2.58 to 18.2.61
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: types
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-02 09:16:26 +00:00
Alejandro Celaya
f6baa7169d Merge pull request #1081 from shlinkio/dependabot/npm_and_yarn/vite-plugin-pwa-0.19.2
Bump vite-plugin-pwa from 0.19.0 to 0.19.2
2024-03-02 10:15:48 +01:00
Alejandro Celaya
675235f37e Merge pull request #1082 from shlinkio/dependabot/npm_and_yarn/react-router-dom-6.22.2
Bump react-router-dom from 6.22.1 to 6.22.2
2024-03-02 10:15:40 +01:00
Alejandro Celaya
0dc645b7b7 Merge pull request #1083 from shlinkio/dependabot/npm_and_yarn/total-typescript/shoehorn-0.1.2
Bump @total-typescript/shoehorn from 0.1.1 to 0.1.2
2024-03-02 10:15:29 +01:00
dependabot[bot]
64f5b9adf0 Bump @total-typescript/shoehorn from 0.1.1 to 0.1.2
Bumps [@total-typescript/shoehorn](https://github.com/total-typescript/shoehorn) from 0.1.1 to 0.1.2.
- [Release notes](https://github.com/total-typescript/shoehorn/releases)
- [Changelog](https://github.com/total-typescript/shoehorn/blob/main/CHANGELOG.md)
- [Commits](https://github.com/total-typescript/shoehorn/commits)

---
updated-dependencies:
- dependency-name: "@total-typescript/shoehorn"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-02 08:50:44 +00:00
dependabot[bot]
e03036ddbe Bump react-router-dom from 6.22.1 to 6.22.2
Bumps [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) from 6.22.1 to 6.22.2.
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@6.22.2/packages/react-router-dom)

---
updated-dependencies:
- dependency-name: react-router-dom
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-02 08:50:29 +00:00
dependabot[bot]
d794c2150b Bump vite-plugin-pwa from 0.19.0 to 0.19.2
Bumps [vite-plugin-pwa](https://github.com/vite-pwa/vite-plugin-pwa) from 0.19.0 to 0.19.2.
- [Release notes](https://github.com/vite-pwa/vite-plugin-pwa/releases)
- [Commits](https://github.com/vite-pwa/vite-plugin-pwa/compare/v0.19.0...v0.19.2)

---
updated-dependencies:
- dependency-name: vite-plugin-pwa
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-02 08:49:57 +00:00
Alejandro Celaya
40db7b5ef4 Merge pull request #1077 from shlinkio/dependabot/npm_and_yarn/vite-plugin-pwa-0.19.0
Bump vite-plugin-pwa from 0.18.2 to 0.19.0
2024-02-24 10:57:04 +01:00
Alejandro Celaya
229fb03a9f Merge pull request #1076 from shlinkio/dependabot/npm_and_yarn/eslint-8.57.0
Bump eslint from 8.56.0 to 8.57.0
2024-02-24 10:56:57 +01:00
Alejandro Celaya
435a993ff0 Merge pull request #1072 from storrington/patch-1
Update README.md
2024-02-24 10:53:06 +01:00
dependabot[bot]
599e8e5256 Bump vite-plugin-pwa from 0.18.2 to 0.19.0
Bumps [vite-plugin-pwa](https://github.com/vite-pwa/vite-plugin-pwa) from 0.18.2 to 0.19.0.
- [Release notes](https://github.com/vite-pwa/vite-plugin-pwa/releases)
- [Commits](https://github.com/vite-pwa/vite-plugin-pwa/compare/v0.18.2...v0.19.0)

---
updated-dependencies:
- dependency-name: vite-plugin-pwa
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-24 09:51:19 +00:00
dependabot[bot]
11fb2f9db0 Bump eslint from 8.56.0 to 8.57.0
Bumps [eslint](https://github.com/eslint/eslint) from 8.56.0 to 8.57.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.56.0...v8.57.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-24 09:51:11 +00:00
Alejandro Celaya
c4f0b82091 Merge pull request #1075 from shlinkio/dependabot/npm_and_yarn/vitest-962187cd9b
Bump the vitest group with 2 updates
2024-02-24 10:50:56 +01:00
Alejandro Celaya
19c00fd13e Merge pull request #1074 from shlinkio/dependabot/npm_and_yarn/vite-6b8ae8c3e2
Bump the vite group with 1 update
2024-02-24 10:50:40 +01:00
Alejandro Celaya
8427fd306e Merge pull request #1073 from shlinkio/dependabot/npm_and_yarn/types-4175361a06
Bump the types group with 1 update
2024-02-24 10:50:20 +01:00
Alejandro Celaya
83e490ae9c Merge pull request #1078 from shlinkio/dependabot/npm_and_yarn/sass-1.71.1
Bump sass from 1.71.0 to 1.71.1
2024-02-24 10:49:57 +01:00
dependabot[bot]
fe86a4e3cf Bump sass from 1.71.0 to 1.71.1
Bumps [sass](https://github.com/sass/dart-sass) from 1.71.0 to 1.71.1.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.71.0...1.71.1)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-24 08:27:45 +00:00
dependabot[bot]
76bf520026 Bump the vitest group with 2 updates
Bumps the vitest group with 2 updates: [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) and [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).


Updates `@vitest/coverage-v8` from 1.3.0 to 1.3.1
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v1.3.1/packages/coverage-v8)

Updates `vitest` from 1.3.0 to 1.3.1
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v1.3.1/packages/vitest)

---
updated-dependencies:
- dependency-name: "@vitest/coverage-v8"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vitest
- dependency-name: vitest
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vitest
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-24 08:27:06 +00:00
dependabot[bot]
4a3786f3b7 Bump the vite group with 1 update
Bumps the vite group with 1 update: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `vite` from 5.1.3 to 5.1.4
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.1.4/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vite
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-24 08:26:45 +00:00
dependabot[bot]
11a5e9e724 Bump the types group with 1 update
Bumps the types group with 1 update: [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react).


Updates `@types/react` from 18.2.56 to 18.2.58
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: types
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-24 08:26:25 +00:00
Stephen Torrington
a8c798bf46 Update README.md
Should be port 8080 that it links to in the container.
2024-02-22 12:17:05 +00:00
Stephen Torrington
6acaf260e7 Update README.md
Should be port 8080 that it links to in the container.
2024-02-22 12:11:04 +00:00
Alejandro Celaya
3f60a5074a Merge pull request #1065 from shlinkio/dependabot/npm_and_yarn/vite-9935f34787
Bump the vite group with 1 update
2024-02-17 14:04:24 +01:00
Alejandro Celaya
f99b6a1d2a Merge pull request #1069 from shlinkio/dependabot/npm_and_yarn/reduxjs/toolkit-2.2.1
Bump @reduxjs/toolkit from 2.1.0 to 2.2.1
2024-02-17 14:04:16 +01:00
dependabot[bot]
6f4783b663 Bump @reduxjs/toolkit from 2.1.0 to 2.2.1
Bumps [@reduxjs/toolkit](https://github.com/reduxjs/redux-toolkit) from 2.1.0 to 2.2.1.
- [Release notes](https://github.com/reduxjs/redux-toolkit/releases)
- [Commits](https://github.com/reduxjs/redux-toolkit/compare/v2.1.0...v2.2.1)

---
updated-dependencies:
- dependency-name: "@reduxjs/toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-17 12:58:37 +00:00
dependabot[bot]
2d154ecb63 Bump the vite group with 1 update
Bumps the vite group with 1 update: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `vite` from 5.1.1 to 5.1.3
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.1.3/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vite
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-17 12:58:29 +00:00
Alejandro Celaya
285146a87f Merge pull request #1064 from shlinkio/dependabot/npm_and_yarn/types-c39ba2c969
Bump the types group with 1 update
2024-02-17 13:58:09 +01:00
Alejandro Celaya
62906b8cf9 Merge pull request #1066 from shlinkio/dependabot/npm_and_yarn/vitest-16fc268382
Bump the vitest group with 2 updates
2024-02-17 13:57:55 +01:00
Alejandro Celaya
3b8a2452cb Merge pull request #1067 from shlinkio/dependabot/npm_and_yarn/json2csv/plainjs-7.0.6
Bump @json2csv/plainjs from 7.0.5 to 7.0.6
2024-02-17 13:57:43 +01:00
Alejandro Celaya
da1290ae69 Merge pull request #1068 from shlinkio/dependabot/npm_and_yarn/react-router-dom-6.22.1
Bump react-router-dom from 6.22.0 to 6.22.1
2024-02-17 13:57:35 +01:00
Alejandro Celaya
b3182c1a5a Merge pull request #1070 from shlinkio/dependabot/npm_and_yarn/sass-1.71.0
Bump sass from 1.70.0 to 1.71.0
2024-02-17 13:57:28 +01:00
Alejandro Celaya
2f262c4f4f Merge pull request #1071 from shlinkio/dependabot/npm_and_yarn/vite-plugin-pwa-0.18.2
Bump vite-plugin-pwa from 0.17.5 to 0.18.2
2024-02-17 13:57:21 +01:00
dependabot[bot]
a47977b2f4 Bump vite-plugin-pwa from 0.17.5 to 0.18.2
Bumps [vite-plugin-pwa](https://github.com/vite-pwa/vite-plugin-pwa) from 0.17.5 to 0.18.2.
- [Release notes](https://github.com/vite-pwa/vite-plugin-pwa/releases)
- [Commits](https://github.com/vite-pwa/vite-plugin-pwa/compare/v0.17.5...v0.18.2)

---
updated-dependencies:
- dependency-name: vite-plugin-pwa
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-17 08:54:05 +00:00
dependabot[bot]
5d93fbe942 Bump sass from 1.70.0 to 1.71.0
Bumps [sass](https://github.com/sass/dart-sass) from 1.70.0 to 1.71.0.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.70.0...1.71.0)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-17 08:53:53 +00:00
dependabot[bot]
9ae0ede2b5 Bump react-router-dom from 6.22.0 to 6.22.1
Bumps [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) from 6.22.0 to 6.22.1.
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/react-router-dom@6.22.1/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@6.22.1/packages/react-router-dom)

---
updated-dependencies:
- dependency-name: react-router-dom
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-17 08:53:30 +00:00
dependabot[bot]
553095c7dc Bump @json2csv/plainjs from 7.0.5 to 7.0.6
Bumps [@json2csv/plainjs](https://github.com/juanjoDiaz/json2csv) from 7.0.5 to 7.0.6.
- [Release notes](https://github.com/juanjoDiaz/json2csv/releases)
- [Changelog](https://github.com/juanjoDiaz/json2csv/blob/main/CHANGELOG.md)
- [Commits](https://github.com/juanjoDiaz/json2csv/compare/v7.0.5...v7.0.6)

---
updated-dependencies:
- dependency-name: "@json2csv/plainjs"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-17 08:53:11 +00:00
dependabot[bot]
e465486486 Bump the vitest group with 2 updates
Bumps the vitest group with 2 updates: [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) and [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).


Updates `@vitest/coverage-v8` from 1.2.2 to 1.3.0
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v1.3.0/packages/coverage-v8)

Updates `vitest` from 1.2.2 to 1.3.0
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v1.3.0/packages/vitest)

---
updated-dependencies:
- dependency-name: "@vitest/coverage-v8"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: vitest
- dependency-name: vitest
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: vitest
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-17 08:52:59 +00:00
dependabot[bot]
bc66db0caf Bump the types group with 1 update
Bumps the types group with 1 update: [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react).


Updates `@types/react` from 18.2.55 to 18.2.56
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: types
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-17 08:52:20 +00:00
Alejandro Celaya
95b8c9f016 Merge pull request #1059 from shlinkio/dependabot/npm_and_yarn/types-63a1ebd5ed
Bump the types group with 2 updates
2024-02-10 10:18:08 +01:00
Alejandro Celaya
cbd3d50263 Merge pull request #1060 from shlinkio/dependabot/npm_and_yarn/testing-13cf5ccc27
Bump the testing group with 1 update
2024-02-10 10:18:00 +01:00
Alejandro Celaya
c5cf0a3930 Merge pull request #1061 from shlinkio/dependabot/npm_and_yarn/vite-4a22c5162a
Bump the vite group with 1 update
2024-02-10 10:17:53 +01:00
Alejandro Celaya
ebe0ac9ce2 Merge pull request #1062 from shlinkio/dependabot/npm_and_yarn/axe-core-4.8.4
Bump axe-core from 4.8.3 to 4.8.4
2024-02-10 10:17:44 +01:00
dependabot[bot]
d0fe6d840d Bump axe-core from 4.8.3 to 4.8.4
Bumps [axe-core](https://github.com/dequelabs/axe-core) from 4.8.3 to 4.8.4.
- [Release notes](https://github.com/dequelabs/axe-core/releases)
- [Changelog](https://github.com/dequelabs/axe-core/blob/v4.8.4/CHANGELOG.md)
- [Commits](https://github.com/dequelabs/axe-core/compare/v4.8.3...v4.8.4)

---
updated-dependencies:
- dependency-name: axe-core
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-10 08:38:53 +00:00
dependabot[bot]
a92b428c3b Bump the vite group with 1 update
Bumps the vite group with 1 update: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `vite` from 5.0.12 to 5.1.1
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.1.1/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: vite
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-10 08:38:25 +00:00
dependabot[bot]
23ea2bfa33 Bump the testing group with 1 update
Bumps the testing group with 1 update: [@testing-library/jest-dom](https://github.com/testing-library/jest-dom).


Updates `@testing-library/jest-dom` from 6.4.1 to 6.4.2
- [Release notes](https://github.com/testing-library/jest-dom/releases)
- [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/jest-dom/compare/v6.4.1...v6.4.2)

---
updated-dependencies:
- dependency-name: "@testing-library/jest-dom"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: testing
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-10 08:38:09 +00:00
dependabot[bot]
f67d5ae16f Bump the types group with 2 updates
Bumps the types group with 2 updates: [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) and [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom).


Updates `@types/react` from 18.2.52 to 18.2.55
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

Updates `@types/react-dom` from 18.2.18 to 18.2.19
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: types
- dependency-name: "@types/react-dom"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: types
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-10 08:37:53 +00:00
Alejandro Celaya
cdc5593617 Merge pull request #1054 from shlinkio/dependabot/npm_and_yarn/types-2ec473e36a
Bump the types group with 1 update
2024-02-03 15:48:19 +01:00
Alejandro Celaya
178973dee2 Merge pull request #1055 from shlinkio/dependabot/npm_and_yarn/testing-5449cf5d3e
Bump the testing group with 2 updates
2024-02-03 15:48:08 +01:00
Alejandro Celaya
e78fbdefdd Merge pull request #1056 from shlinkio/dependabot/npm_and_yarn/react-router-dom-6.22.0
Bump react-router-dom from 6.21.3 to 6.22.0
2024-02-03 15:47:59 +01:00
dependabot[bot]
20a0cfb01f Bump react-router-dom from 6.21.3 to 6.22.0
Bumps [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) from 6.21.3 to 6.22.0.
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@6.22.0/packages/react-router-dom)

---
updated-dependencies:
- dependency-name: react-router-dom
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-03 08:39:23 +00:00
dependabot[bot]
083b603c2b Bump the testing group with 2 updates
Bumps the testing group with 2 updates: [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) and [@testing-library/react](https://github.com/testing-library/react-testing-library).


Updates `@testing-library/jest-dom` from 6.3.0 to 6.4.1
- [Release notes](https://github.com/testing-library/jest-dom/releases)
- [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/jest-dom/compare/v6.3.0...v6.4.1)

Updates `@testing-library/react` from 14.1.2 to 14.2.1
- [Release notes](https://github.com/testing-library/react-testing-library/releases)
- [Changelog](https://github.com/testing-library/react-testing-library/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/react-testing-library/compare/v14.1.2...v14.2.1)

---
updated-dependencies:
- dependency-name: "@testing-library/jest-dom"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: testing
- dependency-name: "@testing-library/react"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: testing
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-03 08:38:49 +00:00
dependabot[bot]
2bcb5b1618 Bump the types group with 1 update
Bumps the types group with 1 update: [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react).


Updates `@types/react` from 18.2.48 to 18.2.52
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: types
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-03 08:37:51 +00:00
96 changed files with 9879 additions and 9133 deletions

View File

@@ -1,10 +0,0 @@
{
"root": true,
"extends": [
"@shlinkio/js-coding-standard"
],
"parserOptions": {
"project": "./tsconfig.json"
},
"ignorePatterns": ["src/service*.ts"]
}

View File

@@ -34,5 +34,10 @@ body:
validations:
required: true
attributes:
label: How to reproduce
value: '<!-- Provide steps to reproduce the bug. -->'
label: Minimum steps to reproduce
value: |
<!--
Emphasis in MINIMUM: What is the simplest way to reproduce the bug?
Avoid things like "Create a kubernetes cluster", or anything related with cloud providers, as that is rarely the root cause and the bug may be closed as "not reproducible".
If you can provide a simple docker compose config, that's even better.
-->

View File

@@ -12,6 +12,12 @@ updates:
fontawesome:
patterns:
- '@fortawesome/*'
eslint:
patterns:
- '@shlinkio/eslint-config-js-coding-standard'
- 'typescript-eslint'
- '*eslint-plugin*'
- 'eslint'
shlink:
patterns:
- '@shlinkio/*'
@@ -29,6 +35,9 @@ updates:
patterns:
- 'vitest'
- '@vitest/*'
workbox:
patterns:
- 'workbox*'
ignore:
# Bootstrap can introduce visual breaking changes on styles
# Ignore it, since the plan is to remove it anyway

View File

@@ -0,0 +1,10 @@
name: Test docker image build
on:
pull_request:
paths:
- 'Dockerfile'
jobs:
build-docker-image:
uses: shlinkio/github-actions/.github/workflows/docker-image-build-ci.yml@main

View File

@@ -11,5 +11,5 @@ jobs:
ci:
uses: shlinkio/github-actions/.github/workflows/web-app-ci.yml@main
with:
node-version: 20.7
node-version: 22.x
publish-coverage: true

View File

@@ -9,19 +9,19 @@ jobs:
continue-on-error: true
steps:
- name: Checkout code
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
repository: ${{ github.event.pull_request.head.repo.full_name }}
ref: ${{ github.event.pull_request.head.ref }}
- name: Use node.js
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: 20.7
node-version: 22.x
- name: Build
run: |
npm ci && \
node ./scripts/set-homepage.cjs /shlink-web-client/${GITHUB_HEAD_REF#refs/heads/} && \
npm run build
node --run build
- name: Deploy preview
uses: shlinkio/deploy-preview-action@v1.0.1
with:

View File

@@ -7,7 +7,7 @@ on:
jobs:
build:
uses: shlinkio/github-actions/.github/workflows/docker-build-and-publish.yml@main
uses: shlinkio/github-actions/.github/workflows/docker-publish-image.yml@main
secrets: inherit
with:
image-name: shlinkio/shlink-web-client

View File

@@ -10,11 +10,11 @@ jobs:
runs-on: ubuntu-22.04
steps:
- name: Checkout code
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Use node.js
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: 20.7
node-version: 22.x
- name: Generate release assets
run: npm ci && VERSION=${GITHUB_REF#refs/tags/v} npm run build:dist
- name: Publish release with assets

4
.gitignore vendored
View File

@@ -7,9 +7,7 @@
# production
/build
/dist
npm-debug.log*
docker-compose.override.yml
home
public/servers.json*

View File

@@ -4,6 +4,155 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org).
## [4.3.0] - 2024-11-30
### Added
* [#1360](https://github.com/shlinkio/shlink-web-client/issues/1360) Added ability for server IDs to be generated based on the server name and URL, instead of generating a random UUID.
This can improve sharing a predefined set of servers cia servers.json, env vars, or simply export and import your servers in some other device, and then be able to share server URLs which continue working.
All existing servers will keep their generated IDs in existing devices for backwards compatibility, but newly created servers will use the new approach.
* [shlink-web-component#491](https://github.com/shlinkio/shlink-web-component/issues/491) Add support for colors in QR code configurator.
* [shlink-web-component#515](https://github.com/shlinkio/shlink-web-component/issues/515) Add support for geolocation redirect conditions, when using Shlink 4.3 or newer.
* [shlink-web-component#514](https://github.com/shlinkio/shlink-web-component/issues/514) Allow filtering short URLs list by domain, when using Shlink 4.3 or newer.
* [shlink-web-component#520](https://github.com/shlinkio/shlink-web-component/issues/520) Allow navigating from domains list to short URLs list filtered by one domain, when using Shlink 4.3 or newer.
* [shlink-web-component#517](https://github.com/shlinkio/shlink-web-component/issues/517) Update list of known domains when a short URL is created with a new domain.
* [shlink-web-component#292](https://github.com/shlinkio/shlink-web-component/issues/292) Add icon in short URLs list indicating if a short URL has redirect rules.
### Changed
* *Nothing*
### Deprecated
* *Nothing*
### Removed
* *Nothing*
### Fixed
* [shlink-web-component#504](https://github.com/shlinkio/shlink-web-component/issues/504) Fix fallback interval not causing new visits to be loaded.
## [4.2.2] - 2024-10-19
### Added
* *Nothing*
### Changed
* Update to `@shlinkio/shlink-frontend-kit` 0.6.0
* Update to `@shlinkio/shlink-web-component` 0.10.1
### Deprecated
* *Nothing*
### Removed
* *Nothing*
### Fixed
* [shlink-web-component#475](https://github.com/shlinkio/shlink-web-component/issues/475) Fix incorrect amount of dots being displayed in line charts when the difference in days/weeks/months is rounded up.
## [4.2.1] - 2024-10-09
### Added
* *Nothing*
### Changed
* *Nothing*
### Deprecated
* *Nothing*
### Removed
* *Nothing*
### Fixed
* [#1325](https://github.com/shlinkio/shlink-web-client/issues/1325) Get dependency on `uuid` package back, as `crypto.randomUUID()` can only be used in [secure contexts](https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts).
* [shlink-web-component#461](https://github.com/shlinkio/shlink-web-component/issues/461) Ensure `shortUrlsList.confirmDeletion` setting is `true` in any case, except when explicitly set to `false`.
* [shlink-web-component#237](https://github.com/shlinkio/shlink-web-component/issues/237) Set darker color for previous period in charts, when light theme is enabled.
* [shlink-web-component#246](https://github.com/shlinkio/shlink-web-component/issues/246) Fix selected date range not reflected in visits comparison date range selector, when selecting it in the line chart via drag'n'drop.
## [4.2.0] - 2024-10-07
### Added
* [shlink-web-component#411](https://github.com/shlinkio/shlink-web-component/issues/411) Add support for `ip-address` redirect conditions when Shlink server is >=4.2
* [shlink-web-component#196](https://github.com/shlinkio/shlink-web-component/issues/196) Allow active date range to be changed by selecting a range in visits and visits-comparison line charts.
* [shlink-web-component#307](https://github.com/shlinkio/shlink-web-component/issues/307) Add new setting to disable short URL deletions confirmation.
* [shlink-web-component#435](https://github.com/shlinkio/shlink-web-component/issues/435) Allow toggling between displaying raw user agent and parsed browser/OS in visits table.
* [shlink-web-component#197](https://github.com/shlinkio/shlink-web-component/issues/197) Allow line charts to be expanded to the full size of the viewport, both in individual visits views, and when comparing visits.
* [shlink-web-component#382](https://github.com/shlinkio/shlink-web-component/issues/382) Initialize QR code modal with all params unset, so that they fall back to the server defaults. Additionally, allow them to be unset if desired.
### Changed
* Use `ShlinkWebSettings` from `@shlinkio/shlink-web-component` to replace local settings UI.
* Update to `@shlinkio/eslint-config-js-coding-standard` 3.0, and migrate to ESLint flat config.
* Remove dependency on `uuid` package, and use `crypto.randomUUID()` instead.
### Deprecated
* *Nothing*
### Removed
* *Nothing*
### Fixed
* *Nothing*
## [4.1.2] - 2024-04-17
### Added
* *Nothing*
### Changed
* Use new reusable workflow to publish docker image
### Deprecated
* *Nothing*
### Removed
* *Nothing*
### Fixed
* [shlink-web-component#244](https://github.com/shlinkio/shlink-web-component/issues/244) Display `visitedUrl` in visits table if the visit object has it, regardless of it being an orphan visit or not.
* [shlink-web-component#327](https://github.com/shlinkio/shlink-web-component/issues/327) Ensure orphan visits type is sent to the server, to enable server-side filtering when consumed Shlink supports it.
## [4.1.1] - 2024-04-11
### Added
* [shlink-web-component#293](https://github.com/shlinkio/shlink-web-component/issues/293) Allow ordering redirect rules via drag'n'drop.
### Changed
* Update JS coding standard
* [#1132](https://github.com/shlinkio/shlink-web-client/issues/1132) Add warning message in "validate URLs" setting, indicating it is ignored when consuming Shlink >=4.0.0.
### Deprecated
* *Nothing*
### Removed
* *Nothing*
### Fixed
* [shlink-web-component#294](https://github.com/shlinkio/shlink-web-component/issues/294) Make sure "validate URL" control is not displayed in short URL creation/edition, when consuming Shlink >=4.0.0.
* [#1130](https://github.com/shlinkio/shlink-web-client/issues/1130) Fix importing servers in Firefox for Android when the CSV file contains spaces.
* [#1133](https://github.com/shlinkio/shlink-web-client/issues/1133) Fix Shlink versions alignment in server error pages.
## [4.1.0] - 2024-03-17
### Added
* [#1079](https://github.com/shlinkio/shlink-web-client/issues/1079) Add support Shlink 4.0.0.
* [shlink-web-component#271](https://github.com/shlinkio/shlink-web-component/issues/271) Add support for redirect rules when consuming Shlink 4.0.0.
Now, if the server supports it, there will be a new item for every short URL dropdown, which will take you to a page where it will be possible to edit that short URL's redirect rules.
### Changed
* [shlink-web-component#249](https://github.com/shlinkio/shlink-web-component/issues/249) Replace `react-datepicker` with native `input[type="date"]` and `input[type="datetime-local"]` elements.
* Update dependencies.
### Deprecated
* *Nothing*
### Removed
* [shlink-web-component#276](https://github.com/shlinkio/shlink-web-component/issues/276) Drop support for Shlink older than 3.3.0
### Fixed
* [#1084](https://github.com/shlinkio/shlink-web-client/issues/1084) Fix broken server dropdown menu when auto-connect is enabled.
## [4.0.1] - 2024-02-01
### Added
* *Nothing*

View File

@@ -14,16 +14,13 @@ Because of this, the only actual dependencies are [docker](https://docs.docker.c
The first thing you need to do is fork the repository, and clone it in your local machine.
Then you will have to follow these steps:
Then simply run `docker compose up` and you will have the project exposed in port `3000` (http://localhost:3000).
* Copy the file `docker-compose.override.yml.dist` by also removing the `dist` extension.
* Start-up the project by running `docker compose up`.
Once this is finished, you will have the project exposed in port `3000` (http://localhost:3000).
> The first time the container is created, the project dependencies will be installed and the container may take a bit longer to start.
## Project structure
This project is a [react](https://reactjs.org/) & [redux](https://redux.js.org/) application, built with [typescript](https://www.typescriptlang.org/), which is distributed as a 100% client-side progressive web application.
This project is a [react](https://react.dev/) & [redux](https://redux.js.org/) application, built with [typescript](https://www.typescriptlang.org/), which is distributed as a 100% client-side progressive web application.
This is the basic project structure:
@@ -39,7 +36,7 @@ shlink-web-client
```
* `config`: It contains some configuration scripts, used during testing, linting and building of the project.
* `public`: Will act as the application document root once built, and contains some static assets (favicons, images, etc).
* `public`: Will act as the application document root once built, and contains some static assets (favicons, images, etc.).
* `scripts`: It has some of the CLI scripts used to run tests or building.
* `src`: Contains the main source code of the application, including both web components, SASS stylesheets and files with logic.
* `test`: Contains the project tests.
@@ -48,20 +45,19 @@ shlink-web-client
> Note: The `indocker` shell script is a helper used to run commands inside the docker container.
* `./indocker npm run lint`: Checks coding styles are fulfilled, both in JS/TS files as well as in stylesheets.
* `./indocker npm run lint:js`: Checks coding styles are fulfilled in JS/TS files.
* `./indocker npm run lint:css`: Checks coding styles are fulfilled in stylesheets.
* `./indocker npm run lint:js:fix`: Fixes coding styles in JS/TS files.
* `./indocker npm run lint:css:fix`: Fixes coding styles in stylesheets.
* `./indocker npm run test`: Runs unit tests with Jest.
* `./indocker npm run mutate`: Runs mutation tests with StrykerJS (this command can be very slow).
* `./indocker node --run lint`: Checks coding styles are fulfilled, both in JS/TS files and in stylesheets.
* `./indocker node --run lint:js`: Checks coding styles are fulfilled in JS/TS files.
* `./indocker node --run lint:css`: Checks coding styles are fulfilled in stylesheets.
* `./indocker node --run lint:js:fix`: Fixes coding styles in JS/TS files.
* `./indocker node --run lint:css:fix`: Fixes coding styles in stylesheets.
* `./indocker node --run test`: Runs unit tests with Jest.
## Building the project
The source code in this project cannot be run directly in a web browser, you need to build it first.
* `./indocker npm run build`: Builds the project using a combination of `webpack`, `babel` and `tsc`, generating the final static files. The content is placed in the `build` folder, which is automatically created if it does not exist.
* `./indocker npm run serve:build`: Serves the static files inside the `build` folder in port 5000 (http://localhost:5000). Useful to test the content built with previous command.
* `./indocker node --run run build`: Builds the project for production using [vite](https://vite.dev/), generating the final static files. The content is placed in the `build` folder, which is automatically created if it does not exist.
* `./indocker node --run run preview`: Serves the static files inside the `build` folder in a random port. Useful to test the content built with previous command.
## Pull request process

View File

@@ -1,10 +1,10 @@
FROM node:21.6-alpine as node
FROM node:23.3-alpine AS node
COPY . /shlink-web-client
ARG VERSION="latest"
ENV VERSION ${VERSION}
RUN cd /shlink-web-client && npm ci && npm run build
ENV VERSION=${VERSION}
RUN cd /shlink-web-client && npm ci && node --run build
FROM nginxinc/nginx-unprivileged:1.25-alpine
FROM nginxinc/nginx-unprivileged:1.27-alpine
ARG UID=101
LABEL maintainer="Alejandro Celaya <alejandro@alejandrocelaya.com>"

View File

@@ -7,8 +7,7 @@
[![GitHub license](https://img.shields.io/github/license/shlinkio/shlink-web-client.svg?style=flat-square)](https://github.com/shlinkio/shlink-web-client/blob/main/LICENSE)
[![Mastodon](https://img.shields.io/mastodon/follow/109329425426175098?color=%236364ff&domain=https%3A%2F%2Ffosstodon.org&label=follow&logo=mastodon&logoColor=white&style=flat-square)](https://fosstodon.org/@shlinkio)
[![Twitter](https://img.shields.io/badge/follow-shlinkio-blue.svg?style=flat-square&logo=x&color=black)](https://twitter.com/shlinkio)
[![Bluesky](https://img.shields.io/badge/follow-shlinkio-0285FF.svg?style=flat-square&logo=bluesky&logoColor=white)](https://bsky.app/profile/shlinkio.bsky.social)
[![Bluesky](https://img.shields.io/badge/follow-shlinkio-0285FF.svg?style=flat-square&logo=bluesky&logoColor=white)](https://bsky.app/profile/shlink.io)
[![Paypal Donate](https://img.shields.io/badge/Donate-paypal-blue.svg?style=flat-square&logo=paypal&colorA=cccccc)](https://slnk.to/donate)
A ReactJS-based progressive web application for [Shlink](https://shlink.io).
@@ -31,7 +30,7 @@ The application runs 100% in the browser, so you can safely access any shlink in
If you want to deploy shlink-web-client in a container-based cluster (kubernetes, docker swarm, etc), just pick the [shlinkio/shlink-web-client](https://hub.docker.com/r/shlinkio/shlink-web-client/) image and do it.
It's a lightweight [nginx:alpine](https://hub.docker.com/r/library/nginx/) image serving the static app on port 80.
It's a lightweight [nginx:alpine](https://hub.docker.com/r/library/nginx/) image serving the static app on port 8080.
### Self-hosted
@@ -75,7 +74,7 @@ If you are using the shlink-web-client docker image, you can mount the `servers.
Alternatively, you can mount a `conf.d` directory, which in turn contains the `servers.json` file, in a volume inside `/usr/share/nginx/html`. *(since shlink-web-client 3.2.0)*.
docker run --name shlink-web-client -p 8000:80 -v ${PWD}/my-config/:/usr/share/nginx/html/conf.d/ shlinkio/shlink-web-client
docker run --name shlink-web-client -p 8000:8080 -v ${PWD}/my-config/:/usr/share/nginx/html/conf.d/ shlinkio/shlink-web-client
If you want to pre-configure a single server, you can provide its config via env vars. When the container starts up, it will build the `servers.json` file dynamically based on them. *(since shlink-web-client 3.2.0)*.
@@ -86,7 +85,7 @@ If you want to pre-configure a single server, you can provide its config via env
```shell
docker run \
--name shlink-web-client \
-p 8000:80 \
-p 8000:8080 \
-e SHLINK_SERVER_URL=https://s.test \
-e SHLINK_SERVER_API_KEY=6aeb82c6-e275-4538-a747-31f9abfba63c \
shlinkio/shlink-web-client

2
dist/.gitignore vendored
View File

@@ -1,2 +0,0 @@
*
!.gitignore

View File

@@ -1,9 +0,0 @@
version: '3'
services:
shlink_web_client_node:
user: 1000:1000
volumes:
- /etc/passwd:/etc/passwd:ro
- /etc/group:/etc/group:ro
- ./home:/home/alejandro

View File

@@ -1,9 +1,8 @@
version: '3'
services:
shlink_web_client_node:
container_name: shlink_web_client_node
image: node:20.7-alpine
user: 1000:1000 # With this, files created via `indocker` script will belong to the host user
image: node:22.10-alpine
command: /bin/sh -c "cd /home/shlink/www && npm install && npm run start"
volumes:
- ./:/home/shlink/www

4
eslint.config.js Normal file
View File

@@ -0,0 +1,4 @@
import shlink from '@shlinkio/eslint-config-js-coding-standard';
/* eslint-disable-next-line no-restricted-exports */
export default shlink;

16463
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -7,79 +7,84 @@
"license": "MIT",
"type": "module",
"scripts": {
"lint": "npm run lint:css && npm run lint:js",
"lint": "node --run lint:css && node --run lint:js",
"lint:css": "stylelint src/*.scss src/**/*.scss",
"lint:js": "eslint --ext .js,.ts,.tsx src test",
"lint:fix": "npm run lint:css:fix && npm run lint:js:fix",
"lint:css:fix": "npm run lint:css -- --fix",
"lint:js:fix": "npm run lint:js -- --fix",
"lint:js": "eslint src test config/test",
"lint:fix": "node --run lint:css:fix && node --run lint:js:fix",
"lint:css:fix": "node --run lint:css -- --fix",
"lint:js:fix": "node --run lint:js -- --fix",
"types": "tsc",
"start": "vite serve --host=0.0.0.0",
"preview": "vite preview --host=0.0.0.0",
"build": "npm run types && vite build && node scripts/replace-version.mjs",
"build:dist": "npm run build && node scripts/create-dist-file.mjs",
"build": "node --run types && vite build && node scripts/replace-version.mjs",
"build:dist": "node --run build && node scripts/create-dist-file.mjs",
"test": "vitest run --run",
"test:watch": "vitest --watch",
"test:ci": "npm run test -- --coverage",
"test:verbose": "npm run test -- --verbose"
"test:ci": "node --run test -- --coverage",
"test:verbose": "node --run test -- --verbose"
},
"dependencies": {
"@fortawesome/fontawesome-free": "^6.5.1",
"@fortawesome/fontawesome-svg-core": "^6.5.1",
"@fortawesome/free-brands-svg-icons": "^6.5.1",
"@fortawesome/free-regular-svg-icons": "^6.5.1",
"@fortawesome/free-solid-svg-icons": "^6.5.1",
"@fortawesome/react-fontawesome": "^0.2.0",
"@json2csv/plainjs": "^7.0.5",
"@reduxjs/toolkit": "^2.1.0",
"@fortawesome/fontawesome-free": "^6.7.1",
"@fortawesome/fontawesome-svg-core": "^6.7.1",
"@fortawesome/free-brands-svg-icons": "^6.7.1",
"@fortawesome/free-regular-svg-icons": "^6.7.1",
"@fortawesome/free-solid-svg-icons": "^6.7.1",
"@fortawesome/react-fontawesome": "^0.2.2",
"@json2csv/plainjs": "^7.0.6",
"@reduxjs/toolkit": "^2.4.0",
"@shlinkio/data-manipulation": "^1.0.3",
"@shlinkio/shlink-frontend-kit": "^0.4.2",
"@shlinkio/shlink-js-sdk": "^0.2.2",
"@shlinkio/shlink-web-component": "^0.5.0",
"@shlinkio/shlink-frontend-kit": "^0.6.0",
"@shlinkio/shlink-js-sdk": "^1.3.0",
"@shlinkio/shlink-web-component": "^0.11.0",
"bootstrap": "5.2.3",
"bottlejs": "^2.0.1",
"clsx": "^2.1.0",
"compare-versions": "^6.1.0",
"clsx": "^2.1.1",
"compare-versions": "^6.1.1",
"csvtojson": "^2.0.10",
"date-fns": "^3.3.1",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-external-link": "^2.2.0",
"react-redux": "^9.1.0",
"react-router-dom": "^6.21.3",
"reactstrap": "^9.2.2",
"date-fns": "^4.1.0",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-external-link": "^2.3.1",
"react-redux": "^9.1.2",
"react-router-dom": "^6.28.0",
"reactstrap": "^9.2.3",
"redux-localstorage-simple": "^2.5.1",
"uuid": "^9.0.1",
"workbox-core": "^7.0.0",
"workbox-expiration": "^7.0.0",
"workbox-precaching": "^7.0.0",
"workbox-routing": "^7.0.0",
"workbox-strategies": "^7.0.0"
"workbox-core": "^7.3.0",
"workbox-expiration": "^7.3.0",
"workbox-precaching": "^7.3.0",
"workbox-routing": "^7.3.0",
"workbox-strategies": "^7.3.0"
},
"devDependencies": {
"@shlinkio/eslint-config-js-coding-standard": "~2.3.0",
"@shlinkio/eslint-config-js-coding-standard": "~3.2.1",
"@shlinkio/stylelint-config-css-coding-standard": "~1.1.1",
"@testing-library/jest-dom": "^6.3.0",
"@testing-library/react": "^14.1.2",
"@stylistic/eslint-plugin": "^2.11.0",
"@testing-library/jest-dom": "^6.6.3",
"@testing-library/react": "^16.0.1",
"@testing-library/user-event": "^14.5.2",
"@total-typescript/shoehorn": "^0.1.1",
"@types/react": "^18.2.48",
"@types/react-dom": "^18.2.18",
"@types/uuid": "^9.0.8",
"@vitejs/plugin-react": "^4.2.1",
"@vitest/coverage-v8": "^1.2.2",
"adm-zip": "^0.5.10",
"axe-core": "^4.8.3",
"@total-typescript/shoehorn": "^0.1.2",
"@types/react": "^18.3.12",
"@types/react-dom": "^18.3.1",
"@types/uuid": "^10.0.0",
"@vitejs/plugin-react": "^4.3.4",
"@vitest/coverage-v8": "^2.1.6",
"adm-zip": "^0.5.16",
"axe-core": "^4.10.2",
"chalk": "^5.3.0",
"eslint": "^8.56.0",
"eslint": "^9.16.0",
"eslint-plugin-jsx-a11y": "^6.10.2",
"eslint-plugin-react": "^7.37.2",
"eslint-plugin-react-hooks": "^5.0.0",
"eslint-plugin-simple-import-sort": "^12.1.1",
"history": "^5.3.0",
"jsdom": "^24.0.0",
"sass": "^1.70.0",
"jsdom": "^25.0.1",
"sass": "^1.81.0",
"stylelint": "^15.11.0",
"typescript": "^5.3.3",
"vite": "^5.0.12",
"vite-plugin-pwa": "^0.17.5",
"vitest": "^1.2.2"
"typescript": "^5.7.2",
"typescript-eslint": "^8.16.0",
"vite": "^6.0.1",
"vite-plugin-pwa": "^0.21.1",
"vitest": "^2.0.2"
},
"browserslist": [
">0.2%",

View File

@@ -4,6 +4,8 @@ set -e
ME=$(basename $0)
# In order to allow people to pre-configure a server in their shlink-web-client instance via env vars, this function
# dumps a servers.json file based on the values provided via env vars
setup_single_shlink_server() {
[ -n "$SHLINK_SERVER_URL" ] || return 0
[ -n "$SHLINK_SERVER_API_KEY" ] || return 0

View File

@@ -1,4 +1,4 @@
@import 'node_modules/@shlinkio/shlink-frontend-kit/dist/base';
@import '../../node_modules/@shlinkio/shlink-frontend-kit/dist/base';
.app-container {
height: 100%;

View File

@@ -1,4 +1,5 @@
import { changeThemeInMarkup, getSystemPreferredTheme } from '@shlinkio/shlink-frontend-kit';
import type { Settings } from '@shlinkio/shlink-web-component/settings';
import { clsx } from 'clsx';
import type { FC } from 'react';
import { useEffect, useRef } from 'react';
@@ -8,14 +9,13 @@ import { NotFound } from '../common/NotFound';
import type { FCWithDeps } from '../container/utils';
import { componentFactory, useDependencies } from '../container/utils';
import type { ServersMap } from '../servers/data';
import type { AppSettings } from '../settings/reducers/settings';
import { forceUpdate } from '../utils/helpers/sw';
import './App.scss';
type AppProps = {
fetchServers: () => void;
servers: ServersMap;
settings: AppSettings;
settings: Settings;
resetAppUpdate: () => void;
appUpdated: boolean;
};
@@ -50,8 +50,8 @@ const App: FCWithDeps<AppProps, AppDeps> = (
const isHome = location.pathname === '/';
useEffect(() => {
// Try to fetch the remote servers if the list is empty at first
// We use a ref because we don't care if the servers list becomes empty later
// Try to fetch the remote servers if the list is empty during first render.
// We use a ref because we don't care if the servers list becomes empty later.
if (Object.keys(initialServers.current).length === 0) {
fetchServers();
}
@@ -66,7 +66,7 @@ const App: FCWithDeps<AppProps, AppDeps> = (
<MainHeader />
<div className="app">
<div className={clsx('shlink-wrapper', { 'd-flex d-md-block align-items-center': isHome })}>
<div className={clsx('shlink-wrapper', { 'd-flex align-items-center pt-3': isHome })}>
<Routes>
<Route index element={<Home />} />
<Route path="/settings/*" element={<Settings />} />

View File

@@ -1,4 +1,4 @@
@import 'node_modules/@shlinkio/shlink-frontend-kit/dist/base';
@import '../../node_modules/@shlinkio/shlink-frontend-kit/dist/base';
@import '../utils/mixins/horizontal-align';
.app-update-banner.app-update-banner {

View File

@@ -9,7 +9,7 @@ import './AppUpdateBanner.scss';
interface AppUpdateBannerProps {
isOpen: boolean;
toggle: MouseEventHandler<any>;
forceUpdate: Function;
forceUpdate: () => void;
}
export const AppUpdateBanner = forwardRef<HTMLElement, AppUpdateBannerProps>(({ isOpen, toggle, forceUpdate }, ref) => {

View File

@@ -1,50 +1,7 @@
@import 'node_modules/@shlinkio/shlink-frontend-kit/dist/base';
@import '../utils/mixins/vertical-align';
$mainCardWidth: 720px;
$fiveColumnsSize: .4167; // 12 / 5 -> Can't use "/" operator in latest dart-sass
.home {
position: relative;
padding-top: 15px;
width: 100%;
@media (min-width: $mdMin) {
padding-top: 0;
height: calc(100vh - #{$headerHeight} - #{($footer-height + $footer-margin)});
}
}
.home__logo-wrapper {
padding: 1.5rem !important;
height: 100% !important;
min-height: 300px;
}
.home__logo {
@include vertical-align();
width: calc(#{$mainCardWidth * $fiveColumnsSize} - 3rem);
}
.home__main-card {
margin: 0 auto;
max-width: $mainCardWidth;
@media (min-width: $mdMin) {
@include vertical-align();
}
}
.home__title-wrapper {
padding: 1.5rem !important;
border-bottom: 1px solid var(--border-color);
}
@import '../../node_modules/@shlinkio/shlink-frontend-kit/dist/base';
.home__title {
text-align: center;
font-size: 1.75rem;
margin: 0;
@media (min-width: $mdMin) {
font-size: 2.2rem;

View File

@@ -1,9 +1,10 @@
import { faExternalLinkAlt, faPlus } from '@fortawesome/free-solid-svg-icons';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import { clsx } from 'clsx';
import { useEffect } from 'react';
import { ExternalLink } from 'react-external-link';
import { Link, useNavigate } from 'react-router-dom';
import { Card, Row } from 'reactstrap';
import { Card } from 'reactstrap';
import type { ServersMap } from '../servers/data';
import { ServersListGroup } from '../servers/ServersListGroup';
import { ShlinkLogo } from './img/ShlinkLogo';
@@ -21,37 +22,42 @@ export const Home = ({ servers }: HomeProps) => {
useEffect(() => {
// Try to redirect to the first server marked as auto-connect
const autoConnectServer = serversList.find(({ autoConnect }) => autoConnect);
autoConnectServer && navigate(`/server/${autoConnectServer.id}`);
if (autoConnectServer) {
navigate(`/server/${autoConnectServer.id}`);
}
}, [serversList, navigate]);
return (
<div className="home">
<Card className="home__main-card">
<Row className="g-0">
<div className="col-md-5 d-none d-md-block">
<div className="home__logo-wrapper">
<div className="home__logo">
<ShlinkLogo />
</div>
<div className="w-100">
<Card className="mx-auto" style={{ maxWidth: '720px' }}>
<div className="d-flex flex-column flex-md-row">
<div className="p-4 d-none d-md-flex align-items-center" style={{ width: '40%' }}>
<div className="w-100">
<ShlinkLogo />
</div>
</div>
<div className="col-md-7 home__servers-container">
<div className="home__title-wrapper">
<h1 className="home__title">Welcome!</h1>
</div>
<div className="home__servers-container flex-grow-1">
<h1
className={clsx('home__title p-4 text-center m-0', { 'border-bottom': !hasServers })}
style={{ borderColor: 'var(--border-color) !important' }}
>
Welcome!
</h1>
<ServersListGroup embedded servers={serversList}>
{!hasServers && (
<div className="p-4 text-center">
<p className="mb-5">This application will help you manage your Shlink servers.</p>
<p>
<div className="p-4 text-center d-flex flex-column gap-5">
<p className="mb-0">This application will help you manage your Shlink servers.</p>
<p className="mb-0">
<Link to="/server/create" className="btn btn-outline-primary btn-lg me-2">
<FontAwesomeIcon icon={faPlus} /> <span className="ms-1">Add a server</span>
<FontAwesomeIcon icon={faPlus}/> <span className="ms-1">Add a server</span>
</Link>
</p>
<p className="mb-0 mt-5">
<p className="mb-0">
<ExternalLink href="https://shlink.io/documentation">
<small>
<span className="me-1">Learn more about Shlink</span> <FontAwesomeIcon icon={faExternalLinkAlt} />
<span className="me-2">Learn more about Shlink</span>
<FontAwesomeIcon icon={faExternalLinkAlt}/>
</small>
</ExternalLink>
</p>
@@ -59,7 +65,7 @@ export const Home = ({ servers }: HomeProps) => {
)}
</ServersListGroup>
</div>
</Row>
</div>
</Card>
</div>
);

View File

@@ -1,4 +1,4 @@
@import 'node_modules/@shlinkio/shlink-frontend-kit/dist/base';
@import '../../node_modules/@shlinkio/shlink-frontend-kit/dist/base';
.main-header.main-header {
color: white;

View File

@@ -15,7 +15,7 @@ type MainHeaderDeps = {
ServersDropdown: FC;
};
const MainHeader: FCWithDeps<{}, MainHeaderDeps> = () => {
const MainHeader: FCWithDeps<unknown, MainHeaderDeps> = () => {
const { ServersDropdown } = useDependencies(MainHeader);
const [isNotCollapsed, toggleCollapse, , collapse] = useToggle();
const location = useLocation();

View File

@@ -1,4 +1,4 @@
@import 'node_modules/@shlinkio/shlink-frontend-kit/dist/base';
@import '../../node_modules/@shlinkio/shlink-frontend-kit/dist/base';
.no-menu-wrapper {
padding: 15px 0 0;

View File

@@ -1,6 +1,11 @@
import { clsx } from 'clsx';
import type { FC, PropsWithChildren } from 'react';
import './NoMenuLayout.scss';
export const NoMenuLayout: FC<PropsWithChildren<unknown>> = ({ children }) => (
<div className="no-menu-wrapper container-xl">{children}</div>
export type NoMenuLayoutProps = PropsWithChildren & {
className?: string;
};
export const NoMenuLayout: FC<NoMenuLayoutProps> = ({ children, className }) => (
<div className={clsx('no-menu-wrapper container-xl', className)}>{children}</div>
);

View File

@@ -1,4 +1,4 @@
@import 'node_modules/@shlinkio/shlink-frontend-kit/dist/base';
@import '../../node_modules/@shlinkio/shlink-frontend-kit/dist/base';
.shlink-versions-container--with-sidebar {
margin-left: 0;

View File

@@ -1,7 +1,6 @@
import { clsx } from 'clsx';
import { useMemo } from 'react';
import { useLocation } from 'react-router-dom';
import type { SelectedServer } from '../servers/data';
import { isReachableServer } from '../servers/data';
import { ShlinkVersions } from './ShlinkVersions';
import './ShlinkVersionsContainer.scss';
@@ -9,19 +8,12 @@ export type ShlinkVersionsContainerProps = {
selectedServer: SelectedServer;
};
const SHLINK_CONTAINER_PATH_PATTERN = /^\/server\/[a-zA-Z0-9-]*\/(?!edit)/;
export const ShlinkVersionsContainer = ({ selectedServer }: ShlinkVersionsContainerProps) => {
const { pathname } = useLocation();
const withPadding = useMemo(() => SHLINK_CONTAINER_PATH_PATTERN.test(pathname), [pathname]);
const classes = clsx('text-center', {
'shlink-versions-container--with-sidebar': withPadding,
});
return (
<div className={classes}>
<ShlinkVersions selectedServer={selectedServer} />
</div>
);
};
export const ShlinkVersionsContainer = ({ selectedServer }: ShlinkVersionsContainerProps) => (
<div
className={clsx('text-center', {
'shlink-versions-container--with-sidebar': isReachableServer(selectedServer),
})}
>
<ShlinkVersions selectedServer={selectedServer} />
</div>
);

View File

@@ -1,4 +1,5 @@
import type { Settings, ShlinkWebComponentType, TagColorsStorage } from '@shlinkio/shlink-web-component';
import type { ShlinkWebComponentType, TagColorsStorage } from '@shlinkio/shlink-web-component';
import type { Settings } from '@shlinkio/shlink-web-component/settings';
import type { FC } from 'react';
import { memo } from 'react';
import type { ShlinkApiClientBuilder } from '../api/services/ShlinkApiClientBuilder';
@@ -21,8 +22,8 @@ type ShlinkWebComponentContainerDeps = {
};
const ShlinkWebComponentContainer: FCWithDeps<
ShlinkWebComponentContainerProps,
ShlinkWebComponentContainerDeps
ShlinkWebComponentContainerProps,
ShlinkWebComponentContainerDeps
// FIXME Using `memo` here to solve a flickering effect in charts.
// memo is probably not the right solution. The root cause is the withSelectedServer HOC, but I couldn't fix the
// extra rendering there.

View File

@@ -9,13 +9,13 @@ import { provideServices as provideSettingsServices } from '../settings/services
import { provideServices as provideUtilsServices } from '../utils/services/provideServices';
import type { ConnectDecorator } from './types';
type LazyActionMap = Record<string, Function>;
type LazyActionMap = Record<string, (...args: unknown[]) => unknown>;
const bottle = new Bottle();
export const { container } = bottle;
const lazyService = <T extends Function, K>(cont: IContainer, serviceName: string) =>
const lazyService = <T extends (...args: unknown[]) => unknown, K>(cont: IContainer, serviceName: string) =>
(...args: any[]) => (cont[serviceName] as T)(...args) as K;
const mapActionService = (map: LazyActionMap, actionName: string): LazyActionMap => ({

View File

@@ -1,4 +1,4 @@
import type { Settings } from '@shlinkio/shlink-web-component';
import type { Settings } from '@shlinkio/shlink-web-component/settings';
import type { SelectedServer, ServersMap } from '../servers/data';
export interface ShlinkState {

View File

@@ -20,7 +20,6 @@ export function componentFactory<Deps, CompType = Omit<Partial<Deps>, keyof FC>>
console.error(`[Debug] Could not find "${dep as string}" dependency in container`);
}
// eslint-disable-next-line no-param-reassign
Component[dep] = resolvedDependency;
});

View File

@@ -1,4 +1,4 @@
@import 'node_modules/@shlinkio/shlink-frontend-kit/dist/base'; // Before bootstrap stylesheet. Includes SASS var overrides
@import 'node_modules/bootstrap/scss/bootstrap.scss';
@import 'node_modules/@shlinkio/shlink-frontend-kit/dist/index'; // After bootstrap. Includes CSS overwrites
@import 'node_modules/@shlinkio/shlink-web-component/dist/index';
@import '../node_modules/@shlinkio/shlink-frontend-kit/dist/base'; // Before bootstrap stylesheet. Includes SASS var overrides
@import '../node_modules/bootstrap/scss/bootstrap.scss';
@import '../node_modules/@shlinkio/shlink-frontend-kit/dist/index'; // After bootstrap. Includes CSS overwrites
@import '../node_modules/@shlinkio/shlink-web-component/dist/index';

View File

@@ -10,7 +10,7 @@ import './index.scss';
const store = setUpStore(container);
const { App, ScrollToTop, ErrorHandler, appUpdateAvailable } = container;
createRoot(document.getElementById('root')!).render( // eslint-disable-line @typescript-eslint/no-non-null-assertion
createRoot(document.getElementById('root')!).render(
<Provider store={store}>
<BrowserRouter basename={pack.homepage}>
<ErrorHandler>

View File

@@ -1,15 +1,15 @@
import type { TimeoutToggle } from '@shlinkio/shlink-frontend-kit';
import { Result, useToggle } from '@shlinkio/shlink-frontend-kit';
import type { FC } from 'react';
import { useCallback, useEffect, useState } from 'react';
import { useCallback, useState } from 'react';
import { useNavigate } from 'react-router-dom';
import { Button } from 'reactstrap';
import { v4 as uuid } from 'uuid';
import { NoMenuLayout } from '../common/NoMenuLayout';
import type { FCWithDeps } from '../container/utils';
import { componentFactory, useDependencies } from '../container/utils';
import { useGoBack } from '../utils/helpers/hooks';
import type { ServerData, ServersMap, ServerWithId } from './data';
import { ensureUniqueIds } from './helpers';
import { DuplicatedServersModal } from './helpers/DuplicatedServersModal';
import type { ImportServersBtnProps } from './helpers/ImportServersBtn';
import { ServerForm } from './helpers/ServerForm';
@@ -44,28 +44,29 @@ const CreateServer: FCWithDeps<CreateServerProps, CreateServerDeps> = ({ servers
const [errorImporting, setErrorImporting] = useTimeoutToggle(false, SHOW_IMPORT_MSG_TIME);
const [isConfirmModalOpen, toggleConfirmModal] = useToggle();
const [serverData, setServerData] = useState<ServerData>();
const saveNewServer = useCallback((theServerData: ServerData) => {
const id = uuid();
const saveNewServer = useCallback((newServerData: ServerData) => {
const [newServerWithUniqueId] = ensureUniqueIds(servers, [newServerData]);
createServers([{ ...theServerData, id }]);
navigate(`/server/${id}`);
}, [createServers, navigate]);
useEffect(() => {
if (!serverData) {
return;
}
createServers([newServerWithUniqueId]);
navigate(`/server/${newServerWithUniqueId.id}`);
}, [createServers, navigate, servers]);
const onSubmit = useCallback((newServerData: ServerData) => {
setServerData(newServerData);
const serverExists = Object.values(servers).some(
({ url, apiKey }) => serverData?.url === url && serverData?.apiKey === apiKey,
({ url, apiKey }) => newServerData.url === url && newServerData.apiKey === apiKey,
);
serverExists ? toggleConfirmModal() : saveNewServer(serverData);
}, [saveNewServer, serverData, servers, toggleConfirmModal]);
if (serverExists) {
toggleConfirmModal();
} else {
saveNewServer(newServerData);
}
}, [saveNewServer, servers, toggleConfirmModal]);
return (
<NoMenuLayout>
<ServerForm title={<h5 className="mb-0">Add new server</h5>} onSubmit={setServerData}>
<ServerForm title={<h5 className="mb-0">Add new server</h5>} onSubmit={onSubmit}>
{!hasServers && (
<ImportServersBtn tooltipPlacement="top" onImport={setServersImported} onImportError={setErrorImporting} />
)}

View File

@@ -30,7 +30,9 @@ export const DeleteServerModal: FC<DeleteServerModalConnectProps> = (
}
deleteServer(server);
redirectHome && navigate('/');
if (redirectHome) {
navigate('/');
}
};
return (

View File

@@ -1,9 +1,10 @@
import { useParsedQuery } from '@shlinkio/shlink-frontend-kit';
import type { FC } from 'react';
import { Button } from 'reactstrap';
import { NoMenuLayout } from '../common/NoMenuLayout';
import type { FCWithDeps } from '../container/utils';
import { componentFactory } from '../container/utils';
import { useGoBack, useParsedQuery } from '../utils/helpers/hooks';
import { useGoBack } from '../utils/helpers/hooks';
import type { ServerData } from './data';
import { isServerWithId } from './data';
import { ServerForm } from './helpers/ServerForm';
@@ -30,7 +31,9 @@ const EditServer: FCWithDeps<EditServerProps, EditServerDeps> = withSelectedServ
const handleSubmit = (serverData: ServerData) => {
editServer(selectedServer.id, serverData);
reconnect === 'true' && selectServer(selectedServer.id);
if (reconnect === 'true') {
selectServer(selectedServer.id);
}
goBack();
};

View File

@@ -3,9 +3,9 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import type { TimeoutToggle } from '@shlinkio/shlink-frontend-kit';
import { Result, SearchField, SimpleCard } from '@shlinkio/shlink-frontend-kit';
import type { FC } from 'react';
import { useEffect, useState } from 'react';
import { useMemo, useState } from 'react';
import { Link } from 'react-router-dom';
import { Button, Row } from 'reactstrap';
import { Button } from 'reactstrap';
import { NoMenuLayout } from '../common/NoMenuLayout';
import type { FCWithDeps } from '../container/utils';
import { componentFactory, useDependencies } from '../container/utils';
@@ -34,37 +34,32 @@ const ManageServers: FCWithDeps<ManageServersProps, ManageServersDeps> = ({ serv
useTimeoutToggle,
ManageServersRow,
} = useDependencies(ManageServers);
const allServers = Object.values(servers);
const [serversList, setServersList] = useState(allServers);
const filterServers = (searchTerm: string) => setServersList(
allServers.filter(({ name, url }) => `${name} ${url}`.toLowerCase().match(searchTerm.toLowerCase())),
const [searchTerm, setSearchTerm] = useState('');
const allServers = useMemo(() => Object.values(servers), [servers]);
const filteredServers = useMemo(
() => allServers.filter(({ name, url }) => `${name} ${url}`.toLowerCase().match(searchTerm.toLowerCase())),
[allServers, searchTerm],
);
const hasAutoConnect = serversList.some(({ autoConnect }) => !!autoConnect);
const hasAutoConnect = allServers.some(({ autoConnect }) => !!autoConnect);
const [errorImporting, setErrorImporting] = useTimeoutToggle(false, SHOW_IMPORT_MSG_TIME);
useEffect(() => {
setServersList(Object.values(servers));
}, [servers]);
return (
<NoMenuLayout>
<SearchField className="mb-3" onChange={filterServers} />
<NoMenuLayout className="d-flex flex-column gap-3">
<SearchField onChange={setSearchTerm} />
<Row className="mb-3">
<div className="col-md-6 d-flex d-md-block mb-2 mb-md-0">
<div className="d-flex flex-column flex-md-row gap-2">
<div className="d-flex gap-2">
<ImportServersBtn className="flex-fill" onImportError={setErrorImporting}>Import servers</ImportServersBtn>
{allServers.length > 0 && (
<Button outline className="ms-2 flex-fill" onClick={async () => serversExporter.exportServers()}>
{filteredServers.length > 0 && (
<Button outline className="flex-fill" onClick={async () => serversExporter.exportServers()}>
<FontAwesomeIcon icon={exportIcon} fixedWidth /> Export servers
</Button>
)}
</div>
<div className="col-md-6 text-md-end d-flex d-md-block">
<Button outline color="primary" className="flex-fill" tag={Link} to="/server/create">
<FontAwesomeIcon icon={plusIcon} fixedWidth /> Add a server
</Button>
</div>
</Row>
<Button outline color="primary" className="ms-md-auto" tag={Link} to="/server/create">
<FontAwesomeIcon icon={plusIcon} fixedWidth /> Add a server
</Button>
</div>
<SimpleCard>
<table className="table table-hover responsive-table mb-0">
@@ -77,8 +72,8 @@ const ManageServers: FCWithDeps<ManageServersProps, ManageServersDeps> = ({ serv
</tr>
</thead>
<tbody>
{!serversList.length && <tr className="text-center"><td colSpan={4}>No servers found.</td></tr>}
{serversList.map((server) => (
{!filteredServers.length && <tr className="text-center"><td colSpan={4}>No servers found.</td></tr>}
{filteredServers.map((server) => (
<ManageServersRow key={server.id} server={server} hasAutoConnect={hasAutoConnect} />
))}
</tbody>
@@ -86,7 +81,7 @@ const ManageServers: FCWithDeps<ManageServersProps, ManageServersDeps> = ({ serv
</SimpleCard>
{errorImporting && (
<div className="mt-3">
<div>
<Result type="error">The servers could not be imported. Make sure the format is correct.</Result>
</div>
)}

View File

@@ -37,7 +37,7 @@ const ManageServersRowDropdown: FCWithDeps<ManageServersRowDropdownConnectProps,
const autoConnectIcon = isAutoConnect ? toggleOffIcon : toggleOnIcon;
return (
<RowDropdownBtn minWidth={170}>
<RowDropdownBtn minWidth={isAutoConnect ? 210 : 170}>
<DropdownItem tag={Link} to={serverUrl}>
<FontAwesomeIcon icon={connectIcon} fixedWidth /> Connect
</DropdownItem>

View File

@@ -1,4 +1,4 @@
@import 'node_modules/@shlinkio/shlink-frontend-kit/dist/base';
@import '../../node_modules/@shlinkio/shlink-frontend-kit/dist/base';
@import '../utils/mixins/vertical-align';
@import '../utils/mixins/thin-scroll';

View File

@@ -44,4 +44,4 @@ export const isNotFoundServer = (server: SelectedServer): server is NotFoundServ
export const getServerId = (server: SelectedServer) => (isServerWithId(server) ? server.id : '');
export const serverWithIdToServerData = ({ id, autoConnect, ...server }: ServerWithId): ServerData => server;
export const serverWithIdToServerData = ({ name, url, apiKey }: ServerWithId): ServerData => ({ name, url, apiKey });

View File

@@ -6,9 +6,10 @@ import { useCallback, useRef, useState } from 'react';
import { Button, UncontrolledTooltip } from 'reactstrap';
import type { FCWithDeps } from '../../container/utils';
import { componentFactory, useDependencies } from '../../container/utils';
import type { ServerData, ServersMap } from '../data';
import type { ServerData, ServersMap, ServerWithId } from '../data';
import type { ServersImporter } from '../services/ServersImporter';
import { DuplicatedServersModal } from './DuplicatedServersModal';
import { dedupServers, ensureUniqueIds } from './index';
export type ImportServersBtnProps = PropsWithChildren<{
onImport?: () => void;
@@ -18,7 +19,7 @@ export type ImportServersBtnProps = PropsWithChildren<{
}>;
type ImportServersBtnConnectProps = ImportServersBtnProps & {
createServers: (servers: ServerData[]) => void;
createServers: (servers: ServerWithId[]) => void;
servers: ServersMap;
};
@@ -26,9 +27,6 @@ type ImportServersBtnDeps = {
ServersImporter: ServersImporter
};
const serversInclude = (servers: ServerData[], { url, apiKey }: ServerData) =>
servers.some((server) => server.url === url && server.apiKey === apiKey);
const ImportServersBtn: FCWithDeps<ImportServersBtnConnectProps, ImportServersBtnDeps> = ({
createServers,
servers,
@@ -43,40 +41,45 @@ const ImportServersBtn: FCWithDeps<ImportServersBtnConnectProps, ImportServersBt
const [duplicatedServers, setDuplicatedServers] = useState<ServerData[]>([]);
const [isModalOpen,, showModal, hideModal] = useToggle();
const serversToCreate = useRef<ServerData[]>([]);
const create = useCallback((serversData: ServerData[]) => {
const importedServersRef = useRef<ServerWithId[]>([]);
const newServersRef = useRef<ServerWithId[]>([]);
const create = useCallback((serversData: ServerWithId[]) => {
createServers(serversData);
onImport();
}, [createServers, onImport]);
const onFile = useCallback(
async ({ target }: ChangeEvent<HTMLInputElement>) =>
serversImporter.importServersFromFile(target.files?.[0])
.then((newServers) => {
serversToCreate.current = newServers;
.then((importedServers) => {
const { duplicatedServers, newServers } = dedupServers(servers, importedServers);
const existingServers = Object.values(servers);
const dupServers = newServers.filter((server) => serversInclude(existingServers, server));
const hasDuplicatedServers = !!dupServers.length;
importedServersRef.current = ensureUniqueIds(servers, importedServers);
newServersRef.current = ensureUniqueIds(servers, newServers);
!hasDuplicatedServers ? create(newServers) : setDuplicatedServers(dupServers);
hasDuplicatedServers && showModal();
if (duplicatedServers.length === 0) {
create(importedServersRef.current);
} else {
setDuplicatedServers(duplicatedServers);
showModal();
}
})
.then(() => {
// Reset input after processing file
(target as { value: string | null }).value = null; // eslint-disable-line no-param-reassign
// Reset file input after processing file
(target as { value: string | null }).value = null;
})
.catch(onImportError),
[create, onImportError, servers, serversImporter, showModal],
);
const createAllServers = useCallback(() => {
create(serversToCreate.current);
create(importedServersRef.current);
hideModal();
}, [create, hideModal, serversToCreate]);
}, [create, hideModal]);
const createNonDuplicatedServers = useCallback(() => {
create(serversToCreate.current.filter((server) => !serversInclude(duplicatedServers, server)));
create(newServersRef.current);
hideModal();
}, [create, duplicatedServers, hideModal]);
}, [create, hideModal]);
return (
<>
@@ -87,7 +90,15 @@ const ImportServersBtn: FCWithDeps<ImportServersBtnConnectProps, ImportServersBt
You can create servers by importing a CSV file with <b>name</b>, <b>apiKey</b> and <b>url</b> columns.
</UncontrolledTooltip>
<input type="file" accept="text/csv" className="d-none" ref={ref} onChange={onFile} aria-hidden />
<input
type="file"
accept=".csv"
className="d-none"
aria-hidden
ref={ref}
onChange={onFile}
data-testid="csv-file-input"
/>
<DuplicatedServersModal
isOpen={isModalOpen}

View File

@@ -1,4 +1,4 @@
@import 'node_modules/@shlinkio/shlink-frontend-kit/dist/base';
@import '../../../node_modules/@shlinkio/shlink-frontend-kit/dist/base';
.server-error__container {
text-align: center;

View File

@@ -1,6 +1,6 @@
import { InputFormGroup, SimpleCard } from '@shlinkio/shlink-frontend-kit';
import type { FC, PropsWithChildren, ReactNode } from 'react';
import { useEffect, useState } from 'react';
import { useState } from 'react';
import { handleEventPreventingDefault } from '../../utils/utils';
import type { ServerData } from '../data';
@@ -11,17 +11,11 @@ type ServerFormProps = PropsWithChildren<{
}>;
export const ServerForm: FC<ServerFormProps> = ({ onSubmit, initialValues, children, title }) => {
const [name, setName] = useState('');
const [url, setUrl] = useState('');
const [apiKey, setApiKey] = useState('');
const [name, setName] = useState(initialValues?.name ?? '');
const [url, setUrl] = useState(initialValues?.url ?? '');
const [apiKey, setApiKey] = useState(initialValues?.apiKey ?? '');
const handleSubmit = handleEventPreventingDefault(() => onSubmit({ name, url, apiKey }));
useEffect(() => {
initialValues && setName(initialValues.name);
initialValues && setUrl(initialValues.url);
initialValues && setApiKey(initialValues.apiKey);
}, [initialValues]);
return (
<form className="server-form" name="serverForm" onSubmit={handleSubmit}>
<SimpleCard className="mb-3" title={title}>

View File

@@ -0,0 +1,85 @@
import { groupBy } from '@shlinkio/data-manipulation';
import type { ServerData, ServersMap, ServerWithId } from '../data';
/**
* Builds a potentially unique ID for a server, based on concatenating their name and the hostname of their domain, all
* in lowercase and replacing invalid URL characters with hyphens.
*/
function idForServer(server: ServerData): string {
let urlSegment = server.url;
try {
const { host, pathname } = new URL(urlSegment);
urlSegment = host;
// Remove leading slash from pathname
const normalizedPathname = pathname.substring(1);
// Include pathname in the ID, if not empty
if (normalizedPathname.length > 0) {
urlSegment = `${urlSegment} ${normalizedPathname}`;
}
} catch {
// If the server URL is not valid, use the value as is
}
return `${server.name} ${urlSegment}`.toLowerCase().replace(/[^a-zA-Z0-9-_.~]/g, '-');
}
export function serversListToMap(servers: ServerWithId[]): ServersMap {
const serversMap: ServersMap = {};
servers.forEach((server) => {
serversMap[server.id] = server;
});
return serversMap;
}
const serversInclude = (serversList: ServerData[], { url, apiKey }: ServerData) =>
serversList.some((server) => server.url === url && server.apiKey === apiKey);
export type DedupServersResult = {
/** Servers which already exist in the reference list */
duplicatedServers: ServerData[];
/** Servers which are new based on a reference list */
newServers: ServerData[];
};
/**
* Given a list of new servers, checks which of them already exist in a servers map, and which don't
*/
export function dedupServers(servers: ServersMap, serversToAdd: ServerData[]): DedupServersResult {
const serversList = Object.values(servers);
const { duplicatedServers = [], newServers = [] } = groupBy(
serversToAdd,
(server) => serversInclude(serversList, server) ? 'duplicatedServers' : 'newServers',
);
return { duplicatedServers, newServers };
}
/**
* Given a servers map and a list of servers, return the same list of servers but all with an ID, ensuring the ID is
* unique both among all those servers and existing ones
*/
export function ensureUniqueIds(existingServers: ServersMap, serversList: ServerData[]): ServerWithId[] {
const existingIds = new Set(Object.keys(existingServers));
const serversWithId: ServerWithId[] = [];
serversList.forEach((server) => {
const baseId = idForServer(server);
let id = baseId;
let iterations = 1;
while (existingIds.has(id)) {
id = `${baseId}-${iterations}`;
iterations++;
}
serversWithId.push({ ...server, id });
// Add this server's ID to the list, so that it is taken into consideration for the next ones
existingIds.add(id);
});
return serversWithId;
}

View File

@@ -17,7 +17,7 @@ type WithSelectedServerPropsDeps = {
ServerError: FC;
};
export function withSelectedServer<T = {}>(
export function withSelectedServer<T extends object>(
WrappedComponent: FCWithDeps<WithSelectedServerProps & T, WithSelectedServerPropsDeps>,
) {
const ComponentWrapper: FCWithDeps<WithSelectedServerProps & T, WithSelectedServerPropsDeps> = (props) => {
@@ -26,7 +26,9 @@ export function withSelectedServer<T = {}>(
const { selectServer, selectedServer } = props;
useEffect(() => {
params.serverId && selectServer(params.serverId);
if (params.serverId) {
selectServer(params.serverId);
}
}, [params.serverId, selectServer]);
if (!selectedServer) {

View File

@@ -2,10 +2,10 @@ import type { FC } from 'react';
import { useEffect } from 'react';
interface WithoutSelectedServerProps {
resetSelectedServer: Function;
resetSelectedServer: () => unknown;
}
export function withoutSelectedServer<T = {}>(WrappedComponent: FC<WithoutSelectedServerProps & T>) {
export function withoutSelectedServer<T extends object>(WrappedComponent: FC<WithoutSelectedServerProps & T>) {
return (props: WithoutSelectedServerProps & T) => {
const { resetSelectedServer } = props;
useEffect(() => {

View File

@@ -1,11 +1,14 @@
import type { HttpClient } from '@shlinkio/shlink-js-sdk';
import pack from '../../../package.json';
import { createAsyncThunk } from '../../utils/helpers/redux';
import type { ServerData } from '../data';
import { hasServerData } from '../data';
import { ensureUniqueIds } from '../helpers';
import { createServers } from './servers';
const responseToServersList = (data: any): ServerData[] => (Array.isArray(data) ? data.filter(hasServerData) : []);
const responseToServersList = (data: any) => ensureUniqueIds(
{},
(Array.isArray(data) ? data.filter(hasServerData) : []),
);
export const fetchServers = (httpClient: HttpClient) => createAsyncThunk(
'shlink/remoteServers/fetchServers',

View File

@@ -50,7 +50,7 @@ export const selectServer = (buildShlinkApiClient: ShlinkApiClientBuilder) => cr
version,
printableVersion,
};
} catch (e) {
} catch {
return { ...selectedServer, serverNotReachable: true };
}
},

View File

@@ -1,7 +1,7 @@
import type { PayloadAction } from '@reduxjs/toolkit';
import { createSlice } from '@reduxjs/toolkit';
import { v4 as uuid } from 'uuid';
import type { ServerData, ServersMap, ServerWithId } from '../data';
import { serversListToMap } from '../helpers';
interface EditServer {
serverId: string;
@@ -15,19 +15,6 @@ interface SetAutoConnect {
const initialState: ServersMap = {};
const serverWithId = (server: ServerWithId | ServerData): ServerWithId => {
if ('id' in server) {
return server;
}
return { ...server, id: uuid() };
};
const serversListToMap = (servers: ServerWithId[]): ServersMap => servers.reduce<ServersMap>(
(acc, server) => ({ ...acc, [server.id]: server }),
{},
);
export const { actions, reducer } = createSlice({
name: 'shlink/servers',
initialState,
@@ -44,8 +31,8 @@ export const { actions, reducer } = createSlice({
},
},
deleteServer: (state, { payload }) => {
const { [payload.id]: deletedServer, ...rest } = state;
return rest;
delete state[payload.id];
return state;
},
setAutoConnect: {
prepare: ({ id: serverId }: ServerWithId, autoConnect: boolean) => ({
@@ -70,10 +57,7 @@ export const { actions, reducer } = createSlice({
},
},
createServers: {
prepare: (servers: ServerData[]) => {
const payload = serversListToMap(servers.map(serverWithId));
return { payload };
},
prepare: (servers: ServerWithId[]) => ({ payload: serversListToMap(servers) }),
reducer: (state, { payload: newServers }: PayloadAction<ServersMap>) => ({ ...state, ...newServers }),
},
},

View File

@@ -22,7 +22,7 @@ export class ServersExporter {
saveCsv(this.window, csv, SERVERS_FILENAME);
} catch (e) {
// FIXME Handle error
console.error(e); // eslint-disable-line no-console
console.error(e);
}
};
}

View File

@@ -9,7 +9,7 @@
import { clientsClaim } from 'workbox-core';
import { ExpirationPlugin } from 'workbox-expiration';
import { precacheAndRoute, createHandlerBoundToURL } from 'workbox-precaching';
import { createHandlerBoundToURL, precacheAndRoute } from 'workbox-precaching';
import { registerRoute } from 'workbox-routing';
import { StaleWhileRevalidate } from 'workbox-strategies';
import pack from '../package.json';
@@ -50,7 +50,7 @@ registerRoute(
// Return true to signal that we want to use the handler.
return true;
},
createHandlerBoundToURL(`${pack.homepage}/index.html`)
createHandlerBoundToURL(`${pack.homepage}/index.html`),
);
// An example runtime caching route for requests that aren't handled by the
@@ -66,7 +66,7 @@ registerRoute(
// least-recently used images are removed.
new ExpirationPlugin({ maxEntries: 50 }),
],
})
}),
);
// This allows the web app to trigger skipWaiting via

View File

@@ -9,14 +9,14 @@
// To learn more about the benefits of this model and instructions on how to
// opt-in, read https://cra.link/PWA
import pack from'../package.json';
import pack from '../package.json';
const isLocalhost = Boolean(
window.location.hostname === 'localhost' ||
// [::1] is the IPv6 localhost address.
window.location.hostname === '[::1]' ||
// 127.0.0.0/8 are considered localhost for IPv4.
window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)
window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/),
);
type Config = {
@@ -47,7 +47,7 @@ export function register(config?: Config) {
navigator.serviceWorker.ready.then(() => {
console.log(
'This web app is being served cache-first by a service ' +
'worker. To learn more, visit https://cra.link/PWA'
'worker. To learn more, visit https://cra.link/PWA',
);
});
} else {
@@ -75,7 +75,7 @@ function registerValidSW(swUrl: string, config?: Config) {
// content until all client tabs are closed.
console.log(
'New content is available and will be used when all ' +
'tabs for this page are closed. See https://cra.link/PWA.'
'tabs for this page are closed. See https://cra.link/PWA.',
);
// Execute callback

View File

@@ -1,60 +0,0 @@
import { LabeledFormGroup, SimpleCard, ToggleSwitch, useDomId } from '@shlinkio/shlink-frontend-kit';
import type { Settings } from '@shlinkio/shlink-web-component';
import { clsx } from 'clsx';
import { FormGroup, Input } from 'reactstrap';
import { FormText } from '../utils/forms/FormText';
type RealTimeUpdatesProps = {
settings: Settings;
toggleRealTimeUpdates: (enabled: boolean) => void;
setRealTimeUpdatesInterval: (interval: number) => void;
};
const intervalValue = (interval?: number) => (!interval ? '' : `${interval}`);
export const RealTimeUpdatesSettings = (
{ settings, toggleRealTimeUpdates, setRealTimeUpdatesInterval }: RealTimeUpdatesProps,
) => {
const { realTimeUpdates = { enabled: true } } = settings;
const inputId = useDomId();
return (
<SimpleCard title="Real-time updates" className="h-100">
<FormGroup>
<ToggleSwitch checked={realTimeUpdates.enabled} onChange={toggleRealTimeUpdates}>
Enable or disable real-time updates.
<FormText>
Real-time updates are currently being <b>{realTimeUpdates.enabled ? 'processed' : 'ignored'}</b>.
</FormText>
</ToggleSwitch>
</FormGroup>
<LabeledFormGroup
noMargin
label="Real-time updates frequency (in minutes):"
labelClassName={clsx('form-label', { 'text-muted': !realTimeUpdates.enabled })}
id={inputId}
>
<Input
type="number"
min={0}
placeholder="Immediate"
disabled={!realTimeUpdates.enabled}
value={intervalValue(realTimeUpdates.interval)}
id={inputId}
onChange={({ target }) => setRealTimeUpdatesInterval(Number(target.value))}
/>
{realTimeUpdates.enabled && (
<FormText>
{realTimeUpdates.interval !== undefined && realTimeUpdates.interval > 0 && (
<span>
Updates will be reflected in the UI
every <b>{realTimeUpdates.interval}</b> minute{realTimeUpdates.interval > 1 && 's'}.
</span>
)}
{!realTimeUpdates.interval && 'Updates will be reflected in the UI as soon as they happen.'}
</FormText>
)}
</LabeledFormGroup>
</SimpleCard>
);
};

View File

@@ -1,58 +1,20 @@
import { NavPillItem, NavPills } from '@shlinkio/shlink-frontend-kit';
import type { FC, ReactNode } from 'react';
import { Navigate, Route, Routes } from 'react-router-dom';
import type { Settings as AppSettings } from '@shlinkio/shlink-web-component/settings';
import { ShlinkWebSettings } from '@shlinkio/shlink-web-component/settings';
import type { FC } from 'react';
import { NoMenuLayout } from '../common/NoMenuLayout';
import type { FCWithDeps } from '../container/utils';
import { componentFactory, useDependencies } from '../container/utils';
import { DEFAULT_SHORT_URLS_ORDERING } from './reducers/settings';
type SettingsDeps = {
RealTimeUpdatesSettings: FC;
ShortUrlCreationSettings: FC;
ShortUrlsListSettings: FC;
UserInterfaceSettings: FC;
VisitsSettings: FC;
TagsSettings: FC;
export type SettingsProps = {
settings: AppSettings;
setSettings: (newSettings: AppSettings) => void;
};
const SettingsSections: FC<{ items: ReactNode[] }> = ({ items }) => (
<>
{items.map((child, index) => <div key={index} className="mb-3">{child}</div>)}
</>
export const Settings: FC<SettingsProps> = ({ settings, setSettings }) => (
<NoMenuLayout>
<ShlinkWebSettings
settings={settings}
updateSettings={setSettings}
defaultShortUrlsListOrdering={DEFAULT_SHORT_URLS_ORDERING}
/>
</NoMenuLayout>
);
const Settings: FCWithDeps<{}, SettingsDeps> = () => {
const {
RealTimeUpdatesSettings: RealTimeUpdates,
ShortUrlCreationSettings: ShortUrlCreation,
ShortUrlsListSettings: ShortUrlsList,
UserInterfaceSettings: UserInterface,
VisitsSettings: Visits,
TagsSettings: Tags,
} = useDependencies(Settings);
return (
<NoMenuLayout>
<NavPills className="mb-3">
<NavPillItem to="general">General</NavPillItem>
<NavPillItem to="short-urls">Short URLs</NavPillItem>
<NavPillItem to="other-items">Other items</NavPillItem>
</NavPills>
<Routes>
<Route path="general" element={<SettingsSections items={[<UserInterface />, <RealTimeUpdates />]} />} />
<Route path="short-urls" element={<SettingsSections items={[<ShortUrlCreation />, <ShortUrlsList />]} />} />
<Route path="other-items" element={<SettingsSections items={[<Tags />, <Visits />]} />} />
<Route path="*" element={<Navigate replace to="general" />} />
</Routes>
</NoMenuLayout>
);
};
export const SettingsFactory = componentFactory(Settings, [
'RealTimeUpdatesSettings',
'ShortUrlCreationSettings',
'ShortUrlsListSettings',
'UserInterfaceSettings',
'VisitsSettings',
'TagsSettings',
]);

View File

@@ -1,74 +0,0 @@
import { DropdownBtn, LabeledFormGroup, SimpleCard, ToggleSwitch } from '@shlinkio/shlink-frontend-kit';
import type { Settings, ShortUrlCreationSettings as ShortUrlsSettings } from '@shlinkio/shlink-web-component';
import type { FC, ReactNode } from 'react';
import { DropdownItem, FormGroup } from 'reactstrap';
import { FormText } from '../utils/forms/FormText';
import type { Defined } from '../utils/types';
type TagFilteringMode = Defined<ShortUrlsSettings['tagFilteringMode']>;
interface ShortUrlCreationProps {
settings: Settings;
setShortUrlCreationSettings: (settings: ShortUrlsSettings) => void;
}
const tagFilteringModeText = (tagFilteringMode: TagFilteringMode | undefined): string =>
(tagFilteringMode === 'includes' ? 'Suggest tags including input' : 'Suggest tags starting with input');
const tagFilteringModeHint = (tagFilteringMode: TagFilteringMode | undefined): ReactNode => (
tagFilteringMode === 'includes'
? <>The list of suggested tags will contain those <b>including</b> provided input.</>
: <>The list of suggested tags will contain those <b>starting with</b> provided input.</>
);
export const ShortUrlCreationSettings: FC<ShortUrlCreationProps> = ({ settings, setShortUrlCreationSettings }) => {
const shortUrlCreation: ShortUrlsSettings = settings.shortUrlCreation ?? { validateUrls: false };
const changeTagsFilteringMode = (tagFilteringMode: TagFilteringMode) => () => setShortUrlCreationSettings(
{ ...shortUrlCreation ?? { validateUrls: false }, tagFilteringMode },
);
return (
<SimpleCard title="Short URLs form" className="h-100">
<FormGroup>
<ToggleSwitch
checked={shortUrlCreation.validateUrls ?? false}
onChange={(validateUrls) => setShortUrlCreationSettings({ ...shortUrlCreation, validateUrls })}
>
Request validation on long URLs when creating new short URLs.
<FormText>
The initial state of the <b>Validate URL</b> checkbox will
be <b>{shortUrlCreation.validateUrls ? 'checked' : 'unchecked'}</b>.
</FormText>
</ToggleSwitch>
</FormGroup>
<FormGroup>
<ToggleSwitch
checked={shortUrlCreation.forwardQuery ?? true}
onChange={(forwardQuery) => setShortUrlCreationSettings({ ...shortUrlCreation, forwardQuery })}
>
Make all new short URLs forward their query params to the long URL.
<FormText>
The initial state of the <b>Forward query params on redirect</b> checkbox will
be <b>{shortUrlCreation.forwardQuery ?? true ? 'checked' : 'unchecked'}</b>.
</FormText>
</ToggleSwitch>
</FormGroup>
<LabeledFormGroup noMargin label="Tag suggestions search mode:">
<DropdownBtn text={tagFilteringModeText(shortUrlCreation.tagFilteringMode)}>
<DropdownItem
active={!shortUrlCreation.tagFilteringMode || shortUrlCreation.tagFilteringMode === 'startsWith'}
onClick={changeTagsFilteringMode('startsWith')}
>
{tagFilteringModeText('startsWith')}
</DropdownItem>
<DropdownItem
active={shortUrlCreation.tagFilteringMode === 'includes'}
onClick={changeTagsFilteringMode('includes')}
>
{tagFilteringModeText('includes')}
</DropdownItem>
</DropdownBtn>
<FormText>{tagFilteringModeHint(shortUrlCreation.tagFilteringMode)}</FormText>
</LabeledFormGroup>
</SimpleCard>
);
};

View File

@@ -1,31 +0,0 @@
import { LabeledFormGroup, OrderingDropdown, SimpleCard } from '@shlinkio/shlink-frontend-kit';
import type { Settings, ShortUrlsListSettings as ShortUrlsSettings } from '@shlinkio/shlink-web-component';
import type { FC } from 'react';
import { DEFAULT_SHORT_URLS_ORDERING } from './reducers/settings';
interface ShortUrlsListSettingsProps {
settings: Settings;
setShortUrlsListSettings: (settings: ShortUrlsSettings) => void;
}
const SHORT_URLS_ORDERABLE_FIELDS = {
dateCreated: 'Created at',
shortCode: 'Short URL',
longUrl: 'Long URL',
title: 'Title',
visits: 'Visits',
};
export const ShortUrlsListSettings: FC<ShortUrlsListSettingsProps> = (
{ settings: { shortUrlsList }, setShortUrlsListSettings },
) => (
<SimpleCard title="Short URLs list" className="h-100">
<LabeledFormGroup noMargin label="Default ordering for short URLs list:">
<OrderingDropdown
items={SHORT_URLS_ORDERABLE_FIELDS}
order={shortUrlsList?.defaultOrdering ?? DEFAULT_SHORT_URLS_ORDERING}
onChange={(field, dir) => setShortUrlsListSettings({ defaultOrdering: { field, dir } })}
/>
</LabeledFormGroup>
</SimpleCard>
);

View File

@@ -1,29 +0,0 @@
import { LabeledFormGroup, OrderingDropdown, SimpleCard } from '@shlinkio/shlink-frontend-kit';
import type { Settings, TagsSettings as TagsSettingsOptions } from '@shlinkio/shlink-web-component';
import type { FC } from 'react';
import type { Defined } from '../utils/types';
export type TagsOrder = Defined<TagsSettingsOptions['defaultOrdering']>;
interface TagsProps {
settings: Settings;
setTagsSettings: (settings: TagsSettingsOptions) => void;
}
const TAGS_ORDERABLE_FIELDS = {
tag: 'Tag',
shortUrls: 'Short URLs',
visits: 'Visits',
};
export const TagsSettings: FC<TagsProps> = ({ settings: { tags }, setTagsSettings }) => (
<SimpleCard title="Tags" className="h-100">
<LabeledFormGroup noMargin label="Default ordering for tags list:">
<OrderingDropdown
items={TAGS_ORDERABLE_FIELDS}
order={tags?.defaultOrdering ?? {}}
onChange={(field, dir) => setTagsSettings({ ...tags, defaultOrdering: { field, dir } })}
/>
</LabeledFormGroup>
</SimpleCard>
);

View File

@@ -1,4 +0,0 @@
.user-interface__theme-icon {
float: right;
margin-top: .25rem;
}

View File

@@ -1,34 +0,0 @@
import { faMoon, faSun } from '@fortawesome/free-solid-svg-icons';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import type { Theme } from '@shlinkio/shlink-frontend-kit';
import { getSystemPreferredTheme, SimpleCard, ToggleSwitch } from '@shlinkio/shlink-frontend-kit';
import type { FC } from 'react';
import { useMemo } from 'react';
import type { AppSettings, UiSettings } from './reducers/settings';
import './UserInterfaceSettings.scss';
interface UserInterfaceProps {
settings: AppSettings;
setUiSettings: (settings: UiSettings) => void;
/* Test seam */
_matchMedia?: typeof window.matchMedia;
}
export const UserInterfaceSettings: FC<UserInterfaceProps> = ({ settings: { ui }, setUiSettings, _matchMedia }) => {
const currentTheme = useMemo(() => ui?.theme ?? getSystemPreferredTheme(_matchMedia), [ui?.theme, _matchMedia]);
return (
<SimpleCard title="User interface" className="h-100">
<FontAwesomeIcon icon={currentTheme === 'dark' ? faMoon : faSun} className="user-interface__theme-icon" />
<ToggleSwitch
checked={currentTheme === 'dark'}
onChange={(useDarkTheme) => {
const theme: Theme = useDarkTheme ? 'dark' : 'light';
setUiSettings({ ...ui, theme });
}}
>
Use dark theme.
</ToggleSwitch>
</SimpleCard>
);
};

View File

@@ -1,60 +0,0 @@
import { LabeledFormGroup, SimpleCard, ToggleSwitch } from '@shlinkio/shlink-frontend-kit';
import type { Settings, VisitsSettings as VisitsSettingsConfig } from '@shlinkio/shlink-web-component';
import type { FC } from 'react';
import { useCallback } from 'react';
import { FormGroup } from 'reactstrap';
import type { DateInterval } from '../utils/dates/DateIntervalSelector';
import { DateIntervalSelector } from '../utils/dates/DateIntervalSelector';
import { FormText } from '../utils/forms/FormText';
type VisitsProps = {
settings: Settings;
setVisitsSettings: (settings: VisitsSettingsConfig) => void;
};
const currentDefaultInterval = (settings: Settings): DateInterval => settings.visits?.defaultInterval ?? 'last30Days';
export const VisitsSettings: FC<VisitsProps> = ({ settings, setVisitsSettings }) => {
const updateSettings = useCallback(
({ defaultInterval, ...rest }: Partial<VisitsSettingsConfig>) => setVisitsSettings(
{ defaultInterval: defaultInterval ?? currentDefaultInterval(settings), ...rest },
),
[setVisitsSettings, settings],
);
return (
<SimpleCard title="Visits" className="h-100">
<FormGroup>
<ToggleSwitch
checked={!!settings.visits?.excludeBots}
onChange={(excludeBots) => updateSettings({ excludeBots })}
>
Exclude bots wherever possible (this option&lsquo;s effect might depend on Shlink server&lsquo;s version).
<FormText>
The visits coming from potential bots will
be <b>{settings.visits?.excludeBots ? 'excluded' : 'included'}</b>.
</FormText>
</ToggleSwitch>
</FormGroup>
<FormGroup>
<ToggleSwitch
checked={!!settings.visits?.loadPrevInterval}
onChange={(loadPrevInterval) => updateSettings({ loadPrevInterval })}
>
Compare visits with previous period.
<FormText>
When loading visits, previous period <b>{settings.visits?.loadPrevInterval ? 'will' : 'won\'t'}</b> be
loaded by default.
</FormText>
</ToggleSwitch>
</FormGroup>
<LabeledFormGroup noMargin label="Default interval to load on visits sections:">
<DateIntervalSelector
allText="All visits"
active={currentDefaultInterval(settings)}
onChange={(defaultInterval) => updateSettings({ defaultInterval })}
/>
</LabeledFormGroup>
</SimpleCard>
);
};

View File

@@ -1,14 +1,13 @@
import type { ShlinkState } from '../../container/types';
/* eslint-disable no-param-reassign */
export const migrateDeprecatedSettings = (state: Partial<ShlinkState>): Partial<ShlinkState> => {
if (!state.settings) {
return state;
}
// The "last180Days" interval had a typo, with a lowercase d
if ((state.settings.visits?.defaultInterval as any) === 'last180days') {
state.settings.visits && (state.settings.visits.defaultInterval = 'last180Days');
if (state.settings.visits && (state.settings.visits.defaultInterval as any) === 'last180days') {
state.settings.visits.defaultInterval = 'last180Days';
}
return state;

View File

@@ -1,15 +1,8 @@
import type { PayloadAction, PrepareAction } from '@reduxjs/toolkit';
import type { PayloadAction } from '@reduxjs/toolkit';
import { createSlice } from '@reduxjs/toolkit';
import { mergeDeepRight } from '@shlinkio/data-manipulation';
import type { Theme } from '@shlinkio/shlink-frontend-kit';
import { getSystemPreferredTheme } from '@shlinkio/shlink-frontend-kit';
import type {
Settings,
ShortUrlCreationSettings,
ShortUrlsListSettings,
TagsSettings,
VisitsSettings,
} from '@shlinkio/shlink-web-component';
import type { Settings, ShortUrlsListSettings } from '@shlinkio/shlink-web-component/settings';
import type { Defined } from '../../utils/types';
type ShortUrlsOrder = Defined<ShortUrlsListSettings['defaultOrdering']>;
@@ -19,15 +12,9 @@ export const DEFAULT_SHORT_URLS_ORDERING: ShortUrlsOrder = {
dir: 'DESC',
};
export type UiSettings = {
theme: Theme;
};
type SettingsAction = PayloadAction<Settings>;
export type AppSettings = Settings & {
ui?: UiSettings;
};
const initialState: AppSettings = {
const initialState: Settings = {
realTimeUpdates: {
enabled: true,
},
@@ -45,39 +32,14 @@ const initialState: AppSettings = {
},
};
type SettingsAction = PayloadAction<AppSettings>;
type SettingsPrepareAction = PrepareAction<AppSettings>;
const commonReducer = (state: AppSettings, { payload }: SettingsAction) => mergeDeepRight(state, payload);
const toReducer = (prepare: SettingsPrepareAction) => ({ reducer: commonReducer, prepare });
const toPreparedAction: SettingsPrepareAction = (payload: AppSettings) => ({ payload });
const { reducer, actions } = createSlice({
name: 'shlink/settings',
initialState,
reducers: {
toggleRealTimeUpdates: toReducer((enabled: boolean) => toPreparedAction({ realTimeUpdates: { enabled } })),
setRealTimeUpdatesInterval: toReducer((interval: number) => toPreparedAction({ realTimeUpdates: { interval } })),
setShortUrlCreationSettings: toReducer(
(shortUrlCreation: ShortUrlCreationSettings) => toPreparedAction({ shortUrlCreation }),
),
setShortUrlsListSettings: toReducer(
(shortUrlsList: ShortUrlsListSettings) => toPreparedAction({ shortUrlsList }),
),
setUiSettings: toReducer((ui: UiSettings) => toPreparedAction({ ui })),
setVisitsSettings: toReducer((visits: VisitsSettings) => toPreparedAction({ visits })),
setTagsSettings: toReducer((tags: TagsSettings) => toPreparedAction({ tags })),
setSettings: (state: Settings, { payload }: SettingsAction) => mergeDeepRight(state, payload),
},
});
export const {
toggleRealTimeUpdates,
setRealTimeUpdatesInterval,
setShortUrlCreationSettings,
setShortUrlsListSettings,
setUiSettings,
setVisitsSettings,
setTagsSettings,
} = actions;
export const { setSettings } = actions;
export const settingsReducer = reducer;

View File

@@ -1,56 +1,15 @@
import type Bottle from 'bottlejs';
import type { ConnectDecorator } from '../../container/types';
import { withoutSelectedServer } from '../../servers/helpers/withoutSelectedServer';
import { RealTimeUpdatesSettings } from '../RealTimeUpdatesSettings';
import {
setRealTimeUpdatesInterval,
setShortUrlCreationSettings,
setShortUrlsListSettings,
setTagsSettings,
setUiSettings,
setVisitsSettings,
toggleRealTimeUpdates,
} from '../reducers/settings';
import { SettingsFactory } from '../Settings';
import { ShortUrlCreationSettings } from '../ShortUrlCreationSettings';
import { ShortUrlsListSettings } from '../ShortUrlsListSettings';
import { TagsSettings } from '../TagsSettings';
import { UserInterfaceSettings } from '../UserInterfaceSettings';
import { VisitsSettings } from '../VisitsSettings';
import { setSettings } from '../reducers/settings';
import { Settings } from '../Settings';
export const provideServices = (bottle: Bottle, connect: ConnectDecorator) => {
// Components
bottle.factory('Settings', SettingsFactory);
bottle.serviceFactory('Settings', () => Settings);
bottle.decorator('Settings', withoutSelectedServer);
bottle.decorator('Settings', connect(null, ['resetSelectedServer']));
bottle.serviceFactory('RealTimeUpdatesSettings', () => RealTimeUpdatesSettings);
bottle.decorator(
'RealTimeUpdatesSettings',
connect(['settings'], ['toggleRealTimeUpdates', 'setRealTimeUpdatesInterval']),
);
bottle.serviceFactory('ShortUrlCreationSettings', () => ShortUrlCreationSettings);
bottle.decorator('ShortUrlCreationSettings', connect(['settings'], ['setShortUrlCreationSettings']));
bottle.serviceFactory('UserInterfaceSettings', () => UserInterfaceSettings);
bottle.decorator('UserInterfaceSettings', connect(['settings'], ['setUiSettings']));
bottle.serviceFactory('VisitsSettings', () => VisitsSettings);
bottle.decorator('VisitsSettings', connect(['settings'], ['setVisitsSettings']));
bottle.serviceFactory('TagsSettings', () => TagsSettings);
bottle.decorator('TagsSettings', connect(['settings'], ['setTagsSettings']));
bottle.serviceFactory('ShortUrlsListSettings', () => ShortUrlsListSettings);
bottle.decorator('ShortUrlsListSettings', connect(['settings'], ['setShortUrlsListSettings']));
bottle.decorator('Settings', connect(['settings'], ['setSettings', 'resetSelectedServer']));
// Actions
bottle.serviceFactory('toggleRealTimeUpdates', () => toggleRealTimeUpdates);
bottle.serviceFactory('setRealTimeUpdatesInterval', () => setRealTimeUpdatesInterval);
bottle.serviceFactory('setShortUrlCreationSettings', () => setShortUrlCreationSettings);
bottle.serviceFactory('setShortUrlsListSettings', () => setShortUrlsListSettings);
bottle.serviceFactory('setUiSettings', () => setUiSettings);
bottle.serviceFactory('setVisitsSettings', () => setVisitsSettings);
bottle.serviceFactory('setTagsSettings', () => setTagsSettings);
bottle.serviceFactory('setSettings', () => setSettings);
};

View File

@@ -1,5 +1,5 @@
import { DropdownBtn } from '@shlinkio/shlink-frontend-kit';
import type { VisitsSettings } from '@shlinkio/shlink-web-component';
import type { VisitsSettings } from '@shlinkio/shlink-web-component/settings';
import type { FC } from 'react';
import { DropdownItem } from 'reactstrap';

View File

@@ -1,5 +0,0 @@
import type { FC, PropsWithChildren } from 'react';
export const FormText: FC<PropsWithChildren<unknown>> = ({ children }) => (
<small className="form-text text-muted d-block">{children}</small>
);

View File

@@ -1,13 +1,7 @@
import { parseQuery } from '@shlinkio/shlink-frontend-kit';
import { useCallback, useMemo } from 'react';
import { useLocation, useNavigate } from 'react-router-dom';
import { useCallback } from 'react';
import { useNavigate } from 'react-router-dom';
export const useGoBack = () => {
const navigate = useNavigate();
return useCallback(() => navigate(-1), [navigate]);
};
export const useParsedQuery = <T>(): T => {
const { search } = useLocation();
return useMemo(() => parseQuery<T>(search), [search]);
};

View File

@@ -6,7 +6,7 @@ export const createAsyncThunk = <Returned, ThunkArg>(
typePrefix: string,
payloadCreator: AsyncThunkPayloadCreator<Returned, ThunkArg, { state: ShlinkState, serializedErrorType: any }>,
) => baseCreateAsyncThunk(
typePrefix,
payloadCreator,
{ serializeError: (e) => e },
);
typePrefix,
payloadCreator,
{ serializeError: (e) => e },
);

View File

@@ -38,7 +38,7 @@ export const versionMatch = (versionToMatch: SemVer | Empty, { maxVersion, minVe
const versionIsValidSemVer = memoizeWith((v) => v, (version: string): version is SemVer => {
try {
return compare(version, version, '=');
} catch (e) {
} catch {
return false;
}
});

View File

@@ -1,4 +1,4 @@
import { run } from 'axe-core';
import axe from 'axe-core';
type ContainerWrapper = { container: HTMLElement };
@@ -6,7 +6,7 @@ type AccessibilityTestSubject = ContainerWrapper | Promise<ContainerWrapper>;
export const checkAccessibility = async (subject: AccessibilityTestSubject) => {
const { container } = await subject;
const { violations } = await run(container);
const { violations } = await axe.run(container);
expect(violations).toStrictEqual([]);
};

View File

@@ -39,7 +39,7 @@ describe('ShlinkApiClientBuilder', () => {
const apiKey = 'apiKey';
const apiClient = buildShlinkApiClient(fromPartial({}))(server({ url, apiKey }));
expect(apiClient['serverInfo'].baseUrl).toEqual(url); // eslint-disable-line @typescript-eslint/dot-notation
expect(apiClient['serverInfo'].apiKey).toEqual(apiKey); // eslint-disable-line @typescript-eslint/dot-notation
expect(apiClient['serverInfo'].baseUrl).toEqual(url);
expect(apiClient['serverInfo'].apiKey).toEqual(apiKey);
});
});

View File

@@ -56,7 +56,7 @@ describe('<App />', () => {
it.each([
['/foo', 'shlink-wrapper'],
['/bar', 'shlink-wrapper'],
['/', 'shlink-wrapper d-flex d-md-block align-items-center'],
['/', 'shlink-wrapper d-flex align-items-center pt-3'],
])('renders expected classes on shlink-wrapper based on current pathname', async (pathname, expectedClasses) => {
const { container } = await setUp(pathname);
const shlinkWrapper = container.querySelector('.shlink-wrapper');

View File

@@ -1,30 +1,26 @@
import { render } from '@testing-library/react';
import { fromPartial } from '@total-typescript/shoehorn';
import { createMemoryHistory } from 'history';
import { Router } from 'react-router-dom';
import { ShlinkVersionsContainer } from '../../src/common/ShlinkVersionsContainer';
import type { ReachableServer, SelectedServer } from '../../src/servers/data';
import { checkAccessibility } from '../__helpers__/accessibility';
describe('<ShlinkVersionsContainer />', () => {
const setUp = (activeRoute: string = '') => {
const history = createMemoryHistory();
history.push(activeRoute);
return render(
<Router location={history.location} navigator={history}>
<ShlinkVersionsContainer selectedServer={fromPartial({})} />
</Router>,
);
};
it('passes a11y checks', () => checkAccessibility(setUp()));
const setUp = (selectedServer: SelectedServer = null) => render(
<ShlinkVersionsContainer selectedServer={selectedServer} />,
);
it.each([
['/something', 'text-center'],
['/server/foo/edit', 'text-center'],
['/server/foo/bar', 'text-center shlink-versions-container--with-sidebar'],
])('renders proper col classes based on sidebar status', (sidebar, expectedClasses) => {
const { container } = setUp(sidebar);
[null],
[fromPartial<SelectedServer>({})],
[fromPartial<ReachableServer>({ version: '1.0.0', printableVersion: 'v1.0.0' })],
])('passes a11y checks', (selectedServer) => checkAccessibility(setUp(selectedServer)));
it.each([
[null, 'text-center'],
[fromPartial<SelectedServer>({}), 'text-center'],
[fromPartial<ReachableServer>({ version: '1.0.0' }), 'text-center shlink-versions-container--with-sidebar'],
])('renders proper col classes based on sidebar status', (selectedServer, expectedClasses) => {
const { container } = setUp(selectedServer);
expect(container.firstChild).toHaveAttribute('class', `${expectedClasses}`);
});
});

View File

@@ -32,7 +32,9 @@ describe('<DeleteServerButton />', () => {
expect(screen.getByText(/DeleteServerModal/)).toHaveTextContent(/Closed/);
expect(screen.getByText(/DeleteServerModal/)).not.toHaveTextContent(/Open/);
container.firstElementChild && await user.click(container.firstElementChild);
if (container.firstElementChild) {
await user.click(container.firstElementChild);
}
await waitFor(() => expect(screen.getByText(/DeleteServerModal/)).toHaveTextContent(/Open/));
});

View File

@@ -67,4 +67,9 @@ describe('<ManageServersRowDropdown />', () => {
expect(screen.getByText('DeleteServerModal [OPEN]')).toBeInTheDocument();
expect(screen.queryByText('DeleteServerModal [CLOSED]')).not.toBeInTheDocument();
});
it.each([[true], [false]])('renders expected size and icon', (autoConnect) => {
const { container } = setUp(autoConnect);
expect(container).toMatchSnapshot();
});
});

View File

@@ -55,7 +55,7 @@ exports[`<DeleteServerButton /> > renders expected content 4`] = `
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 232H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z"
d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 232l144 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-144 0c-13.3 0-24-10.7-24-24s10.7-24 24-24z"
fill="currentColor"
/>
</svg>

View File

@@ -0,0 +1,287 @@
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
exports[`<ManageServersRowDropdown /> > renders expected size and icon 1`] = `
<div>
<div
class="dropdown"
>
<button
aria-expanded="false"
aria-haspopup="true"
aria-label="Options"
class="dropdown-btn__toggle btn btn-primary btn-sm"
type="button"
>
<svg
aria-hidden="true"
class="svg-inline--fa fa-ellipsis-vertical px-1"
data-icon="ellipsis-vertical"
data-prefix="fas"
focusable="false"
role="img"
viewBox="0 0 128 512"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M64 360a56 56 0 1 0 0 112 56 56 0 1 0 0-112zm0-160a56 56 0 1 0 0 112 56 56 0 1 0 0-112zM120 96A56 56 0 1 0 8 96a56 56 0 1 0 112 0z"
fill="currentColor"
/>
</svg>
</button>
<div
aria-hidden="true"
class="w-100 dropdown-menu dropdown-menu-end"
data-bs-popper="static"
role="menu"
style="min-width: 210px;"
tabindex="-1"
>
<a
class="dropdown-item"
href="/server/abc123"
role="menuitem"
tabindex="0"
>
<svg
aria-hidden="true"
class="svg-inline--fa fa-plug fa-fw "
data-icon="plug"
data-prefix="fas"
focusable="false"
role="img"
viewBox="0 0 384 512"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M96 0C78.3 0 64 14.3 64 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l0 32c0 77.4 55 142 128 156.8l0 67.2c0 17.7 14.3 32 32 32s32-14.3 32-32l0-67.2C297 398 352 333.4 352 256l0-32c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 160z"
fill="currentColor"
/>
</svg>
Connect
</a>
<a
class="dropdown-item"
href="/server/abc123/edit"
role="menuitem"
tabindex="0"
>
<svg
aria-hidden="true"
class="svg-inline--fa fa-pen-to-square fa-fw "
data-icon="pen-to-square"
data-prefix="fas"
focusable="false"
role="img"
viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M471.6 21.7c-21.9-21.9-57.3-21.9-79.2 0L362.3 51.7l97.9 97.9 30.1-30.1c21.9-21.9 21.9-57.3 0-79.2L471.6 21.7zm-299.2 220c-6.1 6.1-10.8 13.6-13.5 21.9l-29.6 88.8c-2.9 8.6-.6 18.1 5.8 24.6s15.9 8.7 24.6 5.8l88.8-29.6c8.2-2.7 15.7-7.4 21.9-13.5L437.7 172.3 339.7 74.3 172.4 241.7zM96 64C43 64 0 107 0 160L0 416c0 53 43 96 96 96l256 0c53 0 96-43 96-96l0-96c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 96c0 17.7-14.3 32-32 32L96 448c-17.7 0-32-14.3-32-32l0-256c0-17.7 14.3-32 32-32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L96 64z"
fill="currentColor"
/>
</svg>
Edit server
</a>
<button
class="dropdown-item"
role="menuitem"
tabindex="0"
type="button"
>
<svg
aria-hidden="true"
class="svg-inline--fa fa-ban fa-fw "
data-icon="ban"
data-prefix="fas"
focusable="false"
role="img"
viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M367.2 412.5L99.5 144.8C77.1 176.1 64 214.5 64 256c0 106 86 192 192 192c41.5 0 79.9-13.1 111.2-35.5zm45.3-45.3C434.9 335.9 448 297.5 448 256c0-106-86-192-192-192c-41.5 0-79.9 13.1-111.2 35.5L412.5 367.2zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z"
fill="currentColor"
/>
</svg>
Do not a
uto-connect
</button>
<hr
class="dropdown-divider"
tabindex="-1"
/>
<button
class="dropdown-item--danger dropdown-item"
role="menuitem"
tabindex="0"
type="button"
>
<svg
aria-hidden="true"
class="svg-inline--fa fa-circle-minus fa-fw "
data-icon="circle-minus"
data-prefix="fas"
focusable="false"
role="img"
viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 232l144 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-144 0c-13.3 0-24-10.7-24-24s10.7-24 24-24z"
fill="currentColor"
/>
</svg>
Remove server
</button>
<span>
DeleteServerModal
[CLOSED]
</span>
</div>
</div>
</div>
`;
exports[`<ManageServersRowDropdown /> > renders expected size and icon 2`] = `
<div>
<div
class="dropdown"
>
<button
aria-expanded="false"
aria-haspopup="true"
aria-label="Options"
class="dropdown-btn__toggle btn btn-primary btn-sm"
type="button"
>
<svg
aria-hidden="true"
class="svg-inline--fa fa-ellipsis-vertical px-1"
data-icon="ellipsis-vertical"
data-prefix="fas"
focusable="false"
role="img"
viewBox="0 0 128 512"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M64 360a56 56 0 1 0 0 112 56 56 0 1 0 0-112zm0-160a56 56 0 1 0 0 112 56 56 0 1 0 0-112zM120 96A56 56 0 1 0 8 96a56 56 0 1 0 112 0z"
fill="currentColor"
/>
</svg>
</button>
<div
aria-hidden="true"
class="w-100 dropdown-menu dropdown-menu-end"
data-bs-popper="static"
role="menu"
style="min-width: 170px;"
tabindex="-1"
>
<a
class="dropdown-item"
href="/server/abc123"
role="menuitem"
tabindex="0"
>
<svg
aria-hidden="true"
class="svg-inline--fa fa-plug fa-fw "
data-icon="plug"
data-prefix="fas"
focusable="false"
role="img"
viewBox="0 0 384 512"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M96 0C78.3 0 64 14.3 64 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l0 32c0 77.4 55 142 128 156.8l0 67.2c0 17.7 14.3 32 32 32s32-14.3 32-32l0-67.2C297 398 352 333.4 352 256l0-32c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 160z"
fill="currentColor"
/>
</svg>
Connect
</a>
<a
class="dropdown-item"
href="/server/abc123/edit"
role="menuitem"
tabindex="0"
>
<svg
aria-hidden="true"
class="svg-inline--fa fa-pen-to-square fa-fw "
data-icon="pen-to-square"
data-prefix="fas"
focusable="false"
role="img"
viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M471.6 21.7c-21.9-21.9-57.3-21.9-79.2 0L362.3 51.7l97.9 97.9 30.1-30.1c21.9-21.9 21.9-57.3 0-79.2L471.6 21.7zm-299.2 220c-6.1 6.1-10.8 13.6-13.5 21.9l-29.6 88.8c-2.9 8.6-.6 18.1 5.8 24.6s15.9 8.7 24.6 5.8l88.8-29.6c8.2-2.7 15.7-7.4 21.9-13.5L437.7 172.3 339.7 74.3 172.4 241.7zM96 64C43 64 0 107 0 160L0 416c0 53 43 96 96 96l256 0c53 0 96-43 96-96l0-96c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 96c0 17.7-14.3 32-32 32L96 448c-17.7 0-32-14.3-32-32l0-256c0-17.7 14.3-32 32-32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L96 64z"
fill="currentColor"
/>
</svg>
Edit server
</a>
<button
class="dropdown-item"
role="menuitem"
tabindex="0"
type="button"
>
<svg
aria-hidden="true"
class="svg-inline--fa fa-circle fa-fw "
data-icon="circle"
data-prefix="far"
focusable="false"
role="img"
viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z"
fill="currentColor"
/>
</svg>
A
uto-connect
</button>
<hr
class="dropdown-divider"
tabindex="-1"
/>
<button
class="dropdown-item--danger dropdown-item"
role="menuitem"
tabindex="0"
type="button"
>
<svg
aria-hidden="true"
class="svg-inline--fa fa-circle-minus fa-fw "
data-icon="circle-minus"
data-prefix="fas"
focusable="false"
role="img"
viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 232l144 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-144 0c-13.3 0-24-10.7-24-24s10.7-24 24-24z"
fill="currentColor"
/>
</svg>
Remove server
</button>
<span>
DeleteServerModal
[CLOSED]
</span>
</div>
</div>
</div>
`;

View File

@@ -1,6 +1,6 @@
import { fireEvent, screen, waitFor } from '@testing-library/react';
import { screen, waitFor } from '@testing-library/react';
import { fromPartial } from '@total-typescript/shoehorn';
import type { ServersMap, ServerWithId } from '../../../src/servers/data';
import type { ServerData, ServersMap, ServerWithId } from '../../../src/servers/data';
import type {
ImportServersBtnProps } from '../../../src/servers/helpers/ImportServersBtn';
import { ImportServersBtnFactory } from '../../../src/servers/helpers/ImportServersBtn';
@@ -9,6 +9,7 @@ import { checkAccessibility } from '../../__helpers__/accessibility';
import { renderWithEvents } from '../../__helpers__/setUpTest';
describe('<ImportServersBtn />', () => {
const csvFile = new File([''], 'servers.csv', { type: 'text/csv' });
const onImportMock = vi.fn();
const createServersMock = vi.fn();
const importServersFromFile = vi.fn().mockResolvedValue([]);
@@ -54,30 +55,43 @@ describe('<ImportServersBtn />', () => {
});
it('imports servers when file input changes', async () => {
const { container } = setUp();
const input = container.querySelector('[type=file]');
const { user } = setUp();
const input = screen.getByTestId('csv-file-input');
await user.upload(input, csvFile);
input && fireEvent.change(input, { target: { files: [''] } });
expect(importServersFromFile).toHaveBeenCalledTimes(1);
await waitFor(() => expect(createServersMock).toHaveBeenCalledTimes(1));
expect(createServersMock).toHaveBeenCalledTimes(1);
});
it.each([
['Save anyway', true],
['Discard', false],
])('creates expected servers depending on selected option in modal', async (btnName, savesDuplicatedServers) => {
const existingServer = fromPartial<ServerWithId>({ id: 'abc', url: 'existingUrl', apiKey: 'existingApiKey' });
const newServer = fromPartial<ServerWithId>({ url: 'newUrl', apiKey: 'newApiKey' });
const { container, user } = setUp({}, { abc: existingServer });
const input = container.querySelector('[type=file]');
{ btnName: 'Save anyway',savesDuplicatedServers: true },
{ btnName: 'Discard', savesDuplicatedServers: false },
])('creates expected servers depending on selected option in modal', async ({ btnName, savesDuplicatedServers }) => {
const existingServerData: ServerData = {
name: 'existingServer',
url: 'http://s.test/existingUrl',
apiKey: 'existingApiKey',
};
const existingServer: ServerWithId = {
...existingServerData,
id: 'existingserver-s.test',
};
const newServer: ServerData = { name: 'newServer', url: 'http://s.test/newUrl', apiKey: 'newApiKey' };
const { user } = setUp({}, { [existingServer.id]: existingServer });
importServersFromFile.mockResolvedValue([existingServer, newServer]);
expect(screen.queryByRole('dialog')).not.toBeInTheDocument();
input && fireEvent.change(input, { target: { files: [''] } });
await waitFor(() => expect(screen.getByRole('dialog')).toBeInTheDocument());
await user.upload(screen.getByTestId('csv-file-input'), csvFile);
expect(screen.getByRole('dialog')).toBeInTheDocument();
await user.click(screen.getByRole('button', { name: btnName }));
expect(createServersMock).toHaveBeenCalledWith(savesDuplicatedServers ? [existingServer, newServer] : [newServer]);
expect(createServersMock).toHaveBeenCalledWith(
savesDuplicatedServers
? [expect.objectContaining(existingServerData), expect.objectContaining(newServer)]
: [expect.objectContaining(newServer)],
);
expect(onImportMock).toHaveBeenCalledTimes(1);
});
});

View File

@@ -0,0 +1,69 @@
import { fromPartial } from '@total-typescript/shoehorn';
import type { ServersMap } from '../../../src/servers/data';
import { ensureUniqueIds } from '../../../src/servers/helpers';
describe('index', () => {
describe('ensureUniqueIds', () => {
const servers: ServersMap = {
'the-name-example.com': fromPartial({}),
'another-name-example.com': fromPartial({}),
'short-domain-s.test': fromPartial({}),
};
it('returns expected list of servers when existing IDs conflict', () => {
const result = ensureUniqueIds(servers, [
fromPartial({ name: 'The name', url: 'https://example.com' }),
fromPartial({ name: 'Short domain', url: 'https://s.test' }),
fromPartial({ name: 'The name', url: 'https://example.com' }),
]);
expect(result).toEqual([
expect.objectContaining({ id: 'the-name-example.com-1' }),
expect.objectContaining({ id: 'short-domain-s.test-1' }),
expect.objectContaining({ id: 'the-name-example.com-2' }),
]);
});
it('returns expected list of servers when IDs conflict in provided list of servers', () => {
const result = ensureUniqueIds(servers, [
fromPartial({ name: 'Foo', url: 'https://example.com' }),
fromPartial({ name: 'Bar', url: 'https://s.test' }),
fromPartial({ name: 'Foo', url: 'https://example.com' }),
fromPartial({ name: 'Baz', url: 'https://s.test' }),
]);
expect(result).toEqual([
expect.objectContaining({ id: 'foo-example.com' }),
expect.objectContaining({ id: 'bar-s.test' }),
expect.objectContaining({ id: 'foo-example.com-1' }),
expect.objectContaining({ id: 'baz-s.test' }),
]);
});
it('includes server paths when not empty', () => {
const result = ensureUniqueIds({}, [
fromPartial({ name: 'Foo', url: 'https://example.com' }),
fromPartial({ name: 'Bar', url: 'https://s.test/some/path' }),
fromPartial({ name: 'Baz', url: 'https://s.test/some/other-path-here/123' }),
]);
expect(result).toEqual([
expect.objectContaining({ id: 'foo-example.com' }),
expect.objectContaining({ id: 'bar-s.test-some-path' }),
expect.objectContaining({ id: 'baz-s.test-some-other-path-here-123' }),
]);
});
it('uses server URL verbatim when it is not a valid URL', () => {
const result = ensureUniqueIds({}, [
fromPartial({ name: 'Foo', url: 'invalid' }),
fromPartial({ name: 'Bar', url: 'this is not a URL' }),
]);
expect(result).toEqual([
expect.objectContaining({ id: 'foo-invalid' }),
expect.objectContaining({ id: 'bar-this-is-not-a-url' }),
]);
});
});
});

View File

@@ -9,74 +9,76 @@ describe('remoteServersReducer', () => {
const httpClient = fromPartial<HttpClient>({ jsonRequest });
it.each([
[
[
{
serversArray: [
{
id: '111',
name: 'acel.me from servers.json',
url: 'https://acel.me',
apiKey: '07fb8a96-8059-4094-a24c-80a7d5e7e9b0',
},
{
id: '222',
name: 'Local from servers.json',
url: 'http://localhost:8000',
apiKey: '7a531c75-134e-4d5c-86e0-a71b7167b57a',
},
],
{
111: {
id: '111',
expectedNewServers: {
'acel.me-from-servers.json-acel.me': {
id: 'acel.me-from-servers.json-acel.me',
name: 'acel.me from servers.json',
url: 'https://acel.me',
apiKey: '07fb8a96-8059-4094-a24c-80a7d5e7e9b0',
},
222: {
id: '222',
'local-from-servers.json-localhost-8000': {
id: 'local-from-servers.json-localhost-8000',
name: 'Local from servers.json',
url: 'http://localhost:8000',
apiKey: '7a531c75-134e-4d5c-86e0-a71b7167b57a',
},
},
],
[
[
},
{
serversArray: [
{
id: '111',
name: 'acel.me from servers.json',
url: 'https://acel.me',
apiKey: '07fb8a96-8059-4094-a24c-80a7d5e7e9b0',
},
{
id: '222',
name: 'Invalid',
},
{
id: '333',
name: 'Local from servers.json',
url: 'http://localhost:8000',
apiKey: '7a531c75-134e-4d5c-86e0-a71b7167b57a',
},
],
{
111: {
id: '111',
expectedNewServers: {
'acel.me-from-servers.json-acel.me': {
id: 'acel.me-from-servers.json-acel.me',
name: 'acel.me from servers.json',
url: 'https://acel.me',
apiKey: '07fb8a96-8059-4094-a24c-80a7d5e7e9b0',
},
333: {
id: '333',
'local-from-servers.json-localhost-8000': {
id: 'local-from-servers.json-localhost-8000',
name: 'Local from servers.json',
url: 'http://localhost:8000',
apiKey: '7a531c75-134e-4d5c-86e0-a71b7167b57a',
},
},
],
['<html></html>', {}],
[{}, {}],
])('tries to fetch servers from remote', async (mockedValue, expectedNewServers) => {
jsonRequest.mockResolvedValue(mockedValue);
},
{
serversArray: '<html></html>',
expectedNewServers: {},
},
{
serversArray: {},
expectedNewServers: {},
},
])('tries to fetch servers from remote', async ({ serversArray, expectedNewServers }) => {
jsonRequest.mockResolvedValue(serversArray);
const doFetchServers = fetchServers(httpClient);
await doFetchServers()(dispatch, vi.fn(), {});

View File

@@ -1,6 +1,5 @@
import type { ShlinkApiClient } from '@shlinkio/shlink-js-sdk';
import { fromPartial } from '@total-typescript/shoehorn';
import { v4 as uuid } from 'uuid';
import type { ShlinkState } from '../../../src/container/types';
import type { NonReachableServer, NotFoundServer, RegularServer } from '../../../src/servers/data';
import {
@@ -41,7 +40,7 @@ describe('selectedServerReducer', () => {
['latest', MAX_FALLBACK_VERSION, 'latest'],
['%invalid_semver%', MIN_FALLBACK_VERSION, '%invalid_semver%'],
])('dispatches proper actions', async (serverVersion, expectedVersion, expectedPrintableVersion) => {
const id = uuid();
const id = crypto.randomUUID();
const getState = createGetStateMock(id);
const expectedSelectedServer = {
id,
@@ -60,7 +59,7 @@ describe('selectedServerReducer', () => {
});
it('dispatches error when health endpoint fails', async () => {
const id = uuid();
const id = crypto.randomUUID();
const getState = createGetStateMock(id);
const expectedSelectedServer = fromPartial<NonReachableServer>({ id, serverNotReachable: true });
@@ -73,7 +72,7 @@ describe('selectedServerReducer', () => {
});
it('dispatches error when server is not found', async () => {
const id = uuid();
const id = crypto.randomUUID();
const getState = vi.fn(() => fromPartial<ShlinkState>({ servers: {} }));
const expectedSelectedServer: NotFoundServer = { serverNotFound: true };

View File

@@ -105,13 +105,6 @@ describe('serversReducer', () => {
expect(payload).toEqual(list);
});
it('generates an id for every provided server if they do not have it', () => {
const servers = Object.values(list).map(({ id, ...rest }) => rest);
const { payload } = createServers(servers);
expect(Object.values(payload).every(({ id }) => !!id)).toEqual(true);
});
});
describe('setAutoConnect', () => {

View File

@@ -1,86 +0,0 @@
import type { RealTimeUpdatesSettings as RealTimeUpdatesSettingsOptions } from '@shlinkio/shlink-web-component';
import { screen } from '@testing-library/react';
import { fromPartial } from '@total-typescript/shoehorn';
import { RealTimeUpdatesSettings } from '../../src/settings/RealTimeUpdatesSettings';
import { checkAccessibility } from '../__helpers__/accessibility';
import { renderWithEvents } from '../__helpers__/setUpTest';
describe('<RealTimeUpdatesSettings />', () => {
const toggleRealTimeUpdates = vi.fn();
const setRealTimeUpdatesInterval = vi.fn();
const setUp = (realTimeUpdates: Partial<RealTimeUpdatesSettingsOptions> = {}) => renderWithEvents(
<RealTimeUpdatesSettings
settings={fromPartial({ realTimeUpdates })}
toggleRealTimeUpdates={toggleRealTimeUpdates}
setRealTimeUpdatesInterval={setRealTimeUpdatesInterval}
/>,
);
it('passes a11y checks', () => checkAccessibility(setUp()));
it('renders enabled real time updates as expected', () => {
setUp({ enabled: true });
expect(screen.getByLabelText(/^Enable or disable real-time updates./)).toBeChecked();
expect(screen.getByText(/^Real-time updates are currently being/)).toHaveTextContent('processed');
expect(screen.getByText(/^Real-time updates are currently being/)).not.toHaveTextContent('ignored');
expect(screen.getByText('Real-time updates frequency (in minutes):')).not.toHaveAttribute(
'class',
expect.stringContaining('text-muted'),
);
expect(screen.getByLabelText('Real-time updates frequency (in minutes):')).not.toHaveAttribute('disabled');
expect(screen.getByText('Updates will be reflected in the UI as soon as they happen.')).toBeInTheDocument();
});
it('renders disabled real time updates as expected', () => {
setUp({ enabled: false });
expect(screen.getByLabelText(/^Enable or disable real-time updates./)).not.toBeChecked();
expect(screen.getByText(/^Real-time updates are currently being/)).not.toHaveTextContent('processed');
expect(screen.getByText(/^Real-time updates are currently being/)).toHaveTextContent('ignored');
expect(screen.getByText('Real-time updates frequency (in minutes):')).toHaveAttribute(
'class',
expect.stringContaining('text-muted'),
);
expect(screen.getByLabelText('Real-time updates frequency (in minutes):')).toHaveAttribute('disabled');
expect(screen.queryByText('Updates will be reflected in the UI as soon as they happen.')).not.toBeInTheDocument();
});
it.each([
[1, 'minute'],
[2, 'minutes'],
[10, 'minutes'],
[100, 'minutes'],
])('shows expected children when interval is greater than 0', (interval, minutesWord) => {
setUp({ enabled: true, interval });
expect(screen.getByText(/^Updates will be reflected in the UI every/)).toHaveTextContent(
`${interval} ${minutesWord}`,
);
expect(screen.getByLabelText('Real-time updates frequency (in minutes):')).toHaveValue(interval);
expect(screen.queryByText('Updates will be reflected in the UI as soon as they happen.')).not.toBeInTheDocument();
});
it.each([[undefined], [0]])('shows expected children when interval is 0 or undefined', (interval) => {
setUp({ enabled: true, interval });
expect(screen.queryByText(/^Updates will be reflected in the UI every/)).not.toBeInTheDocument();
expect(screen.getByText('Updates will be reflected in the UI as soon as they happen.')).toBeInTheDocument();
});
it('updates real time updates when typing on input', async () => {
const { user } = setUp({ enabled: true });
expect(setRealTimeUpdatesInterval).not.toHaveBeenCalled();
await user.type(screen.getByLabelText('Real-time updates frequency (in minutes):'), '5');
expect(setRealTimeUpdatesInterval).toHaveBeenCalledWith(5);
});
it('toggles real time updates on switch change', async () => {
const { user } = setUp({ enabled: true });
expect(toggleRealTimeUpdates).not.toHaveBeenCalled();
await user.click(screen.getByText(/^Enable or disable real-time updates./));
expect(toggleRealTimeUpdates).toHaveBeenCalled();
});
});

View File

@@ -1,52 +1,14 @@
import { render, screen } from '@testing-library/react';
import { fromPartial } from '@total-typescript/shoehorn';
import { createMemoryHistory } from 'history';
import { Router } from 'react-router-dom';
import { SettingsFactory } from '../../src/settings/Settings';
import { render } from '@testing-library/react';
import { MemoryRouter } from 'react-router-dom';
import { Settings } from '../../src/settings/Settings';
import { checkAccessibility } from '../__helpers__/accessibility';
describe('<Settings />', () => {
const Settings = SettingsFactory(fromPartial({
RealTimeUpdatesSettings: () => <span>RealTimeUpdates</span>,
ShortUrlCreationSettings: () => <span>ShortUrlCreation</span>,
ShortUrlsListSettings: () => <span>ShortUrlsList</span>,
UserInterfaceSettings: () => <span>UserInterface</span>,
VisitsSettings: () => <span>Visits</span>,
TagsSettings: () => <span>Tags</span>,
}));
const setUp = (activeRoute = '/') => {
const history = createMemoryHistory();
history.push(activeRoute);
return render(<Router location={history.location} navigator={history}><Settings /></Router>);
};
const setUp = () => render(
<MemoryRouter>
<Settings settings={{}} setSettings={vi.fn()} />
</MemoryRouter>,
);
it('passes a11y checks', () => checkAccessibility(setUp()));
it.each([
['/general', {
visibleComps: ['UserInterface', 'RealTimeUpdates'],
hiddenComps: ['ShortUrlCreation', 'ShortUrlsList', 'Tags', 'Visits'],
}],
['/short-urls', {
visibleComps: ['ShortUrlCreation', 'ShortUrlsList'],
hiddenComps: ['UserInterface', 'RealTimeUpdates', 'Tags', 'Visits'],
}],
['/other-items', {
visibleComps: ['Tags', 'Visits'],
hiddenComps: ['UserInterface', 'RealTimeUpdates', 'ShortUrlCreation', 'ShortUrlsList'],
}],
])('renders expected sections based on route', (activeRoute, { visibleComps, hiddenComps }) => {
setUp(activeRoute);
visibleComps.forEach((comp) => expect(screen.getByText(comp)).toBeInTheDocument());
hiddenComps.forEach((comp) => expect(screen.queryByText(comp)).not.toBeInTheDocument());
});
it('renders expected menu', () => {
setUp();
expect(screen.getByRole('link', { name: 'General' })).toHaveAttribute('href', '/general');
expect(screen.getByRole('link', { name: 'Short URLs' })).toHaveAttribute('href', '/short-urls');
expect(screen.getByRole('link', { name: 'Other items' })).toHaveAttribute('href', '/other-items');
});
});

View File

@@ -1,115 +0,0 @@
import type { ShortUrlCreationSettings as ShortUrlsSettings } from '@shlinkio/shlink-web-component';
import { screen } from '@testing-library/react';
import { fromPartial } from '@total-typescript/shoehorn';
import { ShortUrlCreationSettings } from '../../src/settings/ShortUrlCreationSettings';
import { checkAccessibility } from '../__helpers__/accessibility';
import { renderWithEvents } from '../__helpers__/setUpTest';
describe('<ShortUrlCreationSettings />', () => {
const setShortUrlCreationSettings = vi.fn();
const setUp = (shortUrlCreation?: ShortUrlsSettings) => renderWithEvents(
<ShortUrlCreationSettings
settings={fromPartial({ shortUrlCreation })}
setShortUrlCreationSettings={setShortUrlCreationSettings}
/>,
);
it('passes a11y checks', () => checkAccessibility(setUp()));
it.each([
[{ validateUrls: true }, true],
[{ validateUrls: false }, false],
[undefined, false],
])('URL validation switch has proper initial state', (shortUrlCreation, expectedChecked) => {
const matcher = /^Request validation on long URLs when creating new short URLs/;
setUp(shortUrlCreation);
const checkbox = screen.getByLabelText(matcher);
const label = screen.getByText(matcher);
if (expectedChecked) {
expect(checkbox).toBeChecked();
expect(label).toHaveTextContent('Validate URL checkbox will be checked');
expect(label).not.toHaveTextContent('Validate URL checkbox will be unchecked');
} else {
expect(checkbox).not.toBeChecked();
expect(label).toHaveTextContent('Validate URL checkbox will be unchecked');
expect(label).not.toHaveTextContent('Validate URL checkbox will be checked');
}
});
it.each([
[{ forwardQuery: true }, true],
[{ forwardQuery: false }, false],
[{}, true],
])('forward query switch is toggled if option is true', (shortUrlCreation, expectedChecked) => {
const matcher = /^Make all new short URLs forward their query params to the long URL/;
setUp({ validateUrls: true, ...shortUrlCreation });
const checkbox = screen.getByLabelText(matcher);
const label = screen.getByText(matcher);
if (expectedChecked) {
expect(checkbox).toBeChecked();
expect(label).toHaveTextContent('Forward query params on redirect checkbox will be checked');
expect(label).not.toHaveTextContent('Forward query params on redirect checkbox will be unchecked');
} else {
expect(checkbox).not.toBeChecked();
expect(label).toHaveTextContent('Forward query params on redirect checkbox will be unchecked');
expect(label).not.toHaveTextContent('Forward query params on redirect checkbox will be checked');
}
});
it.each([
[{ tagFilteringMode: 'includes' } as ShortUrlsSettings, 'Suggest tags including input', 'including'],
[
{ tagFilteringMode: 'startsWith' } as ShortUrlsSettings,
'Suggest tags starting with input',
'starting with',
],
[undefined, 'Suggest tags starting with input', 'starting with'],
])('shows expected texts for tags suggestions', (shortUrlCreation, expectedText, expectedHint) => {
setUp(shortUrlCreation);
expect(screen.getByRole('button', { name: expectedText })).toBeInTheDocument();
expect(screen.getByText(/^The list of suggested tags will contain those/)).toHaveTextContent(expectedHint);
});
it.each([[true], [false]])('invokes setShortUrlCreationSettings when URL validation toggle value changes', async (validateUrls) => {
const { user } = setUp({ validateUrls });
expect(setShortUrlCreationSettings).not.toHaveBeenCalled();
await user.click(screen.getByLabelText(/^Request validation on long URLs when creating new short URLs/));
expect(setShortUrlCreationSettings).toHaveBeenCalledWith({ validateUrls: !validateUrls });
});
it.each([[true], [false]])('invokes setShortUrlCreationSettings when forward query toggle value changes', async (forwardQuery) => {
const { user } = setUp({ validateUrls: true, forwardQuery });
expect(setShortUrlCreationSettings).not.toHaveBeenCalled();
await user.click(screen.getByLabelText(/^Make all new short URLs forward their query params to the long URL/));
expect(setShortUrlCreationSettings).toHaveBeenCalledWith(expect.objectContaining({ forwardQuery: !forwardQuery }));
});
it('invokes setShortUrlCreationSettings when dropdown value changes', async () => {
const { user } = setUp();
const clickItem = async (name: string) => {
await user.click(screen.getByRole('button', { name: 'Suggest tags starting with input' }));
await user.click(await screen.findByRole('menuitem', { name }));
};
expect(setShortUrlCreationSettings).not.toHaveBeenCalled();
await clickItem('Suggest tags including input');
expect(setShortUrlCreationSettings).toHaveBeenCalledWith(expect.objectContaining(
{ tagFilteringMode: 'includes' },
));
await clickItem('Suggest tags starting with input');
expect(setShortUrlCreationSettings).toHaveBeenCalledWith(expect.objectContaining(
{ tagFilteringMode: 'startsWith' },
));
});
});

View File

@@ -1,40 +0,0 @@
import type { ShortUrlsListSettings as ShortUrlsSettings } from '@shlinkio/shlink-web-component';
import { screen } from '@testing-library/react';
import { fromPartial } from '@total-typescript/shoehorn';
import { ShortUrlsListSettings } from '../../src/settings/ShortUrlsListSettings';
import { checkAccessibility } from '../__helpers__/accessibility';
import { renderWithEvents } from '../__helpers__/setUpTest';
describe('<ShortUrlsListSettings />', () => {
const setSettings = vi.fn();
const setUp = (shortUrlsList?: ShortUrlsSettings) => renderWithEvents(
<ShortUrlsListSettings settings={fromPartial({ shortUrlsList })} setShortUrlsListSettings={setSettings} />,
);
it('passes a11y checks', () => checkAccessibility(setUp()));
it.each([
[undefined, 'Order by: Created at - DESC'],
[fromPartial<ShortUrlsSettings>({}), 'Order by: Created at - DESC'],
[fromPartial<ShortUrlsSettings>({ defaultOrdering: {} }), 'Order by...'],
[fromPartial<ShortUrlsSettings>({ defaultOrdering: { field: 'longUrl', dir: 'DESC' } }), 'Order by: Long URL - DESC'],
[fromPartial<ShortUrlsSettings>({ defaultOrdering: { field: 'visits', dir: 'ASC' } }), 'Order by: Visits - ASC'],
])('shows expected ordering', (shortUrlsList, expectedOrder) => {
setUp(shortUrlsList);
expect(screen.getByRole('button')).toHaveTextContent(expectedOrder);
});
it.each([
['Clear selection', undefined, undefined],
['Long URL', 'longUrl', 'ASC'],
['Visits', 'visits', 'ASC'],
['Title', 'title', 'ASC'],
])('invokes setSettings when ordering changes', async (name, field, dir) => {
const { user } = setUp();
expect(setSettings).not.toHaveBeenCalled();
await user.click(screen.getByRole('button'));
await user.click(screen.getByRole('menuitem', { name }));
expect(setSettings).toHaveBeenCalledWith({ defaultOrdering: { field, dir } });
});
});

View File

@@ -1,47 +0,0 @@
import type { TagsSettings as TagsSettingsOptions } from '@shlinkio/shlink-web-component';
import { screen } from '@testing-library/react';
import { fromPartial } from '@total-typescript/shoehorn';
import type { TagsOrder } from '../../src/settings/TagsSettings';
import { TagsSettings } from '../../src/settings/TagsSettings';
import { checkAccessibility } from '../__helpers__/accessibility';
import { renderWithEvents } from '../__helpers__/setUpTest';
describe('<TagsSettings />', () => {
const setTagsSettings = vi.fn();
const setUp = (tags?: TagsSettingsOptions) => renderWithEvents(
<TagsSettings settings={fromPartial({ tags })} setTagsSettings={setTagsSettings} />,
);
it('passes a11y checks', () => checkAccessibility(setUp()));
it('renders expected amount of groups', () => {
setUp();
expect(screen.getByText('Default ordering for tags list:')).toBeInTheDocument();
expect(screen.getByRole('button', { name: 'Order by...' })).toBeInTheDocument();
});
it.each([
[undefined, 'Order by...'],
[{}, 'Order by...'],
[{ defaultOrdering: {} }, 'Order by...'],
[{ defaultOrdering: { field: 'tag', dir: 'DESC' } as TagsOrder }, 'Order by: Tag - DESC'],
[{ defaultOrdering: { field: 'visits', dir: 'ASC' } as TagsOrder }, 'Order by: Visits - ASC'],
])('shows expected ordering', (tags, expectedOrder) => {
setUp(tags);
expect(screen.getByRole('button', { name: expectedOrder })).toBeInTheDocument();
});
it.each([
['Tag', 'tag', 'ASC'],
['Visits', 'visits', 'ASC'],
['Short URLs', 'shortUrls', 'ASC'],
])('invokes setTagsSettings when ordering changes', async (name, field, dir) => {
const { user } = setUp();
expect(setTagsSettings).not.toHaveBeenCalled();
await user.click(screen.getByText('Order by...'));
await user.click(screen.getByRole('menuitem', { name }));
expect(setTagsSettings).toHaveBeenCalledWith({ defaultOrdering: { field, dir } });
});
});

View File

@@ -1,56 +0,0 @@
import { screen } from '@testing-library/react';
import { fromPartial } from '@total-typescript/shoehorn';
import type { UiSettings } from '../../src/settings/reducers/settings';
import { UserInterfaceSettings } from '../../src/settings/UserInterfaceSettings';
import { checkAccessibility } from '../__helpers__/accessibility';
import { renderWithEvents } from '../__helpers__/setUpTest';
describe('<UserInterfaceSettings />', () => {
const setUiSettings = vi.fn();
const setUp = (ui?: UiSettings, defaultDarkTheme = false) => renderWithEvents(
<UserInterfaceSettings
settings={fromPartial({ ui })}
setUiSettings={setUiSettings}
_matchMedia={vi.fn().mockReturnValue({ matches: defaultDarkTheme })}
/>,
);
it('passes a11y checks', () => checkAccessibility(setUp()));
it.each([
[{ theme: 'dark' as const }, true, true],
[{ theme: 'dark' as const }, false, true],
[{ theme: 'light' as const }, true, false],
[{ theme: 'light' as const }, false, false],
[undefined, false, false],
[undefined, true, true],
])('toggles switch if theme is dark', (ui, defaultDarkTheme, expectedChecked) => {
setUp(ui, defaultDarkTheme);
if (expectedChecked) {
expect(screen.getByLabelText('Use dark theme.')).toBeChecked();
} else {
expect(screen.getByLabelText('Use dark theme.')).not.toBeChecked();
}
});
it.each([
[{ theme: 'dark' as const }],
[{ theme: 'light' as const }],
[undefined],
])('shows different icons based on theme', (ui) => {
setUp(ui);
expect(screen.getByRole('img', { hidden: true })).toMatchSnapshot();
});
it.each([
['light' as const, 'dark' as const],
['dark' as const, 'light' as const],
])('invokes setUiSettings when theme toggle value changes', async (initialTheme, expectedTheme) => {
const { user } = setUp({ theme: initialTheme });
expect(setUiSettings).not.toHaveBeenCalled();
await user.click(screen.getByLabelText('Use dark theme.'));
expect(setUiSettings).toHaveBeenCalledWith({ theme: expectedTheme });
});
});

View File

@@ -1,129 +0,0 @@
import type { Settings } from '@shlinkio/shlink-web-component';
import { screen } from '@testing-library/react';
import { fromPartial } from '@total-typescript/shoehorn';
import { VisitsSettings } from '../../src/settings/VisitsSettings';
import { checkAccessibility } from '../__helpers__/accessibility';
import { renderWithEvents } from '../__helpers__/setUpTest';
describe('<VisitsSettings />', () => {
const setVisitsSettings = vi.fn();
const setUp = (settings: Partial<Settings> = {}) => renderWithEvents(
<VisitsSettings settings={fromPartial(settings)} setVisitsSettings={setVisitsSettings} />,
);
it('passes a11y checks', () => checkAccessibility(setUp()));
it('renders expected components', () => {
setUp();
expect(screen.getByRole('heading')).toHaveTextContent('Visits');
expect(screen.getByText('Default interval to load on visits sections:')).toBeInTheDocument();
expect(screen.getByText(/^Exclude bots wherever possible/)).toBeInTheDocument();
expect(screen.getByText('Compare visits with previous period.')).toBeInTheDocument();
});
it.each([
[fromPartial<Settings>({}), 'Last 30 days'],
[fromPartial<Settings>({ visits: {} }), 'Last 30 days'],
[
fromPartial<Settings>({
visits: {
defaultInterval: 'last7Days',
},
}),
'Last 7 days',
],
[
fromPartial<Settings>({
visits: {
defaultInterval: 'today',
},
}),
'Today',
],
])('sets expected interval as active', (settings, expectedInterval) => {
setUp(settings);
expect(screen.getByRole('button')).toHaveTextContent(expectedInterval);
});
it('invokes setVisitsSettings when interval changes', async () => {
const { user } = setUp();
const selectOption = async (name: string) => {
await user.click(screen.getByRole('button'));
await user.click(screen.getByRole('menuitem', { name }));
};
await selectOption('Last 7 days');
await selectOption('Last 180 days');
await selectOption('Yesterday');
expect(setVisitsSettings).toHaveBeenCalledTimes(3);
expect(setVisitsSettings).toHaveBeenNthCalledWith(1, { defaultInterval: 'last7Days' });
expect(setVisitsSettings).toHaveBeenNthCalledWith(2, { defaultInterval: 'last180Days' });
expect(setVisitsSettings).toHaveBeenNthCalledWith(3, { defaultInterval: 'yesterday' });
});
it.each([
[
fromPartial<Settings>({}),
/The visits coming from potential bots will be included.$/,
/The visits coming from potential bots will be excluded.$/,
],
[
fromPartial<Settings>({ visits: { excludeBots: false } }),
/The visits coming from potential bots will be included.$/,
/The visits coming from potential bots will be excluded.$/,
],
[
fromPartial<Settings>({ visits: { excludeBots: true } }),
/The visits coming from potential bots will be excluded.$/,
/The visits coming from potential bots will be included.$/,
],
])('displays expected helper text for exclude bots control', (settings, expectedText, notExpectedText) => {
setUp(settings);
const visitsComponent = screen.getByText(/^Exclude bots wherever possible/);
expect(visitsComponent).toHaveTextContent(expectedText);
expect(visitsComponent).not.toHaveTextContent(notExpectedText);
});
it('invokes setVisitsSettings when bot exclusion is toggled', async () => {
const { user } = setUp();
await user.click(screen.getByText(/^Exclude bots wherever possible/));
expect(setVisitsSettings).toHaveBeenCalledWith(expect.objectContaining({ excludeBots: true }));
});
it.each([
[
fromPartial<Settings>({}),
/When loading visits, previous period won't be loaded by default.$/,
/When loading visits, previous period will be loaded by default.$/,
],
[
fromPartial<Settings>({ visits: { loadPrevInterval: false } }),
/When loading visits, previous period won't be loaded by default.$/,
/When loading visits, previous period will be loaded by default.$/,
],
[
fromPartial<Settings>({ visits: { loadPrevInterval: true } }),
/When loading visits, previous period will be loaded by default.$/,
/When loading visits, previous period won't be loaded by default.$/,
],
])('displays expected helper text for prev interval control', (settings, expectedText, notExpectedText) => {
setUp(settings);
const visitsComponent = screen.getByText('Compare visits with previous period.');
expect(visitsComponent).toHaveTextContent(expectedText);
expect(visitsComponent).not.toHaveTextContent(notExpectedText);
});
it('invokes setVisitsSettings when loading prev visits is toggled', async () => {
const { user } = setUp();
await user.click(screen.getByText('Compare visits with previous period.'));
expect(setVisitsSettings).toHaveBeenCalledWith(expect.objectContaining({ loadPrevInterval: true }));
});
});

View File

@@ -1,55 +0,0 @@
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
exports[`<UserInterfaceSettings /> > shows different icons based on theme 1`] = `
<svg
aria-hidden="true"
class="svg-inline--fa fa-moon user-interface__theme-icon"
data-icon="moon"
data-prefix="fas"
focusable="false"
role="img"
viewBox="0 0 384 512"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M223.5 32C100 32 0 132.3 0 256S100 480 223.5 480c60.6 0 115.5-24.2 155.8-63.4c5-4.9 6.3-12.5 3.1-18.7s-10.1-9.7-17-8.5c-9.8 1.7-19.8 2.6-30.1 2.6c-96.9 0-175.5-78.8-175.5-176c0-65.8 36-123.1 89.3-153.3c6.1-3.5 9.2-10.5 7.7-17.3s-7.3-11.9-14.3-12.5c-6.3-.5-12.6-.8-19-.8z"
fill="currentColor"
/>
</svg>
`;
exports[`<UserInterfaceSettings /> > shows different icons based on theme 2`] = `
<svg
aria-hidden="true"
class="svg-inline--fa fa-sun user-interface__theme-icon"
data-icon="sun"
data-prefix="fas"
focusable="false"
role="img"
viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM160 256a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm224 0a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z"
fill="currentColor"
/>
</svg>
`;
exports[`<UserInterfaceSettings /> > shows different icons based on theme 3`] = `
<svg
aria-hidden="true"
class="svg-inline--fa fa-sun user-interface__theme-icon"
data-icon="sun"
data-prefix="fas"
focusable="false"
role="img"
viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM160 256a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm224 0a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z"
fill="currentColor"
/>
</svg>
`;

View File

@@ -1,75 +1,25 @@
import {
DEFAULT_SHORT_URLS_ORDERING,
setRealTimeUpdatesInterval,
setShortUrlCreationSettings,
setShortUrlsListSettings,
setTagsSettings,
settingsReducer,
setUiSettings,
setVisitsSettings,
toggleRealTimeUpdates,
} from '../../../src/settings/reducers/settings';
import type { Settings } from '@shlinkio/shlink-web-component/settings';
import { fromPartial } from '@total-typescript/shoehorn';
import { DEFAULT_SHORT_URLS_ORDERING, setSettings, settingsReducer } from '../../../src/settings/reducers/settings';
describe('settingsReducer', () => {
const realTimeUpdates = { enabled: true };
const shortUrlCreation = { validateUrls: false };
const ui = { theme: 'light' };
const visits = { defaultInterval: 'last30Days' };
const ui = { theme: 'light' as const };
const visits = { defaultInterval: 'last30Days' as const };
const shortUrlsList = { defaultOrdering: DEFAULT_SHORT_URLS_ORDERING };
const settings = { realTimeUpdates, shortUrlCreation, ui, visits, shortUrlsList };
const settings = fromPartial<Settings>({ realTimeUpdates, shortUrlCreation, ui, visits, shortUrlsList });
describe('reducer', () => {
it('returns realTimeUpdates when action is SET_SETTINGS', () => {
expect(settingsReducer(undefined, toggleRealTimeUpdates(realTimeUpdates.enabled))).toEqual(settings);
it('can update settings', () => {
expect(settingsReducer(undefined, setSettings(settings))).toEqual(settings);
});
});
describe('toggleRealTimeUpdates', () => {
it.each([[true], [false]])('updates settings with provided value and then loads updates again', (enabled) => {
const { payload } = toggleRealTimeUpdates(enabled);
expect(payload).toEqual({ realTimeUpdates: { enabled } });
});
});
describe('setRealTimeUpdatesInterval', () => {
it.each([[0], [1], [2], [10]])('updates settings with provided value and then loads updates again', (interval) => {
const { payload } = setRealTimeUpdatesInterval(interval);
expect(payload).toEqual({ realTimeUpdates: { interval } });
});
});
describe('setShortUrlCreationSettings', () => {
it('creates action to set shortUrlCreation settings', () => {
const { payload } = setShortUrlCreationSettings({ validateUrls: true });
expect(payload).toEqual({ shortUrlCreation: { validateUrls: true } });
});
});
describe('setUiSettings', () => {
it('creates action to set ui settings', () => {
const { payload } = setUiSettings({ theme: 'dark' });
expect(payload).toEqual({ ui: { theme: 'dark' } });
});
});
describe('setVisitsSettings', () => {
it('creates action to set visits settings', () => {
const { payload } = setVisitsSettings({ defaultInterval: 'last180Days' });
expect(payload).toEqual({ visits: { defaultInterval: 'last180Days' } });
});
});
describe('setTagsSettings', () => {
it('creates action to set tags settings', () => {
const { payload } = setTagsSettings({ defaultMode: 'list' });
expect(payload).toEqual({ tags: { defaultMode: 'list' } });
});
});
describe('setShortUrlsListSettings', () => {
it('creates action to set short URLs list settings', () => {
const { payload } = setShortUrlsListSettings({ defaultOrdering: DEFAULT_SHORT_URLS_ORDERING });
expect(payload).toEqual({ shortUrlsList: { defaultOrdering: DEFAULT_SHORT_URLS_ORDERING } });
describe('setSettings', () => {
it('creates action to set settings', () => {
const { payload } = setSettings(settings);
expect(payload).toEqual(settings);
});
});
});

View File

@@ -46,7 +46,7 @@ export default defineConfig({
// Required code coverage. Lower than this will make the check fail
thresholds: {
statements: 95,
branches: 95,
branches: 90,
functions: 90,
lines: 95,
},