mirror of
https://github.com/shlinkio/shlink-web-client.git
synced 2026-08-06 19:11:53 +00:00
2
.github/workflows/ci.yml
vendored
2
.github/workflows/ci.yml
vendored
@@ -11,6 +11,6 @@ jobs:
|
||||
ci:
|
||||
uses: shlinkio/github-actions/.github/workflows/web-app-ci.yml@main
|
||||
with:
|
||||
node-version: 22.x
|
||||
node-version: 24.x
|
||||
publish-coverage: true
|
||||
install-playwright: true
|
||||
|
||||
6
.github/workflows/deploy-preview.yml
vendored
6
.github/workflows/deploy-preview.yml
vendored
@@ -9,14 +9,14 @@ jobs:
|
||||
continue-on-error: true
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v6
|
||||
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@v4
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: 22.10
|
||||
node-version: 24.14
|
||||
- name: Build
|
||||
run: |
|
||||
npm ci && \
|
||||
|
||||
6
.github/workflows/publish-release.yml
vendored
6
.github/workflows/publish-release.yml
vendored
@@ -10,11 +10,11 @@ jobs:
|
||||
runs-on: ubuntu-24.04
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v6
|
||||
- name: Use node.js
|
||||
uses: actions/setup-node@v4
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: 22.10
|
||||
node-version: 24.14
|
||||
- name: Generate release assets
|
||||
run: npm ci && VERSION=${GITHUB_REF#refs/tags/v} npm run build:dist
|
||||
- name: Publish release with assets
|
||||
|
||||
17
CHANGELOG.md
17
CHANGELOG.md
@@ -4,6 +4,23 @@ 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.7.1] - 2026-05-15
|
||||
### Added
|
||||
* *Nothing*
|
||||
|
||||
### Changed
|
||||
* Update dependencies
|
||||
|
||||
### Deprecated
|
||||
* *Nothing*
|
||||
|
||||
### Removed
|
||||
* *Nothing*
|
||||
|
||||
### Fixed
|
||||
* [#1876](https://github.com/shlinkio/shlink-web-client/issues/1876) Upgrade docker image to nginx 1.30.1 to address [CVE-2026-42945](https://www.cve.org/CVERecord?id=CVE-2026-42945).
|
||||
|
||||
|
||||
## [4.7.0] - 2026-02-04
|
||||
### Added
|
||||
* [shlink-web-component] Add support for Shlink 5.0.0, by supporting date-based redirect conditions.
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
FROM node:25.5-alpine AS node
|
||||
FROM node:26.1-alpine AS node
|
||||
COPY . /shlink-web-client
|
||||
ARG VERSION="latest"
|
||||
ENV VERSION=${VERSION}
|
||||
RUN cd /shlink-web-client && npm ci && node --run build
|
||||
|
||||
FROM nginxinc/nginx-unprivileged:1.29-alpine
|
||||
FROM nginxinc/nginx-unprivileged:1.30.1-alpine
|
||||
ARG UID=101
|
||||
LABEL maintainer="Alejandro Celaya <alejandro@alejandrocelaya.com>"
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
FROM mcr.microsoft.com/playwright:v1.58.1-noble
|
||||
FROM mcr.microsoft.com/playwright:v1.59.1-noble
|
||||
|
||||
ENV NODE_VERSION 22.14
|
||||
ENV NODE_VERSION 24.14
|
||||
ENV TINI_VERSION v0.19.0
|
||||
|
||||
# Install Node.js
|
||||
|
||||
6319
package-lock.json
generated
6319
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
40
package.json
40
package.json
@@ -20,29 +20,29 @@
|
||||
"test:verbose": "node --run test -- --verbose"
|
||||
},
|
||||
"dependencies": {
|
||||
"@fortawesome/fontawesome-free": "^7.1.0",
|
||||
"@fortawesome/fontawesome-svg-core": "^7.1.0",
|
||||
"@fortawesome/free-brands-svg-icons": "^7.1.0",
|
||||
"@fortawesome/free-regular-svg-icons": "^7.1.0",
|
||||
"@fortawesome/free-solid-svg-icons": "^7.1.0",
|
||||
"@fortawesome/react-fontawesome": "^3.1.1",
|
||||
"@fortawesome/fontawesome-free": "^7.2.0",
|
||||
"@fortawesome/fontawesome-svg-core": "^7.2.0",
|
||||
"@fortawesome/free-brands-svg-icons": "^7.2.0",
|
||||
"@fortawesome/free-regular-svg-icons": "^7.2.0",
|
||||
"@fortawesome/free-solid-svg-icons": "^7.2.0",
|
||||
"@fortawesome/react-fontawesome": "^3.3.1",
|
||||
"@json2csv/plainjs": "^7.0.6",
|
||||
"@reduxjs/toolkit": "^2.11.2",
|
||||
"@shlinkio/data-manipulation": "^1.0.4",
|
||||
"@shlinkio/shlink-frontend-kit": "^1.4.0",
|
||||
"@shlinkio/shlink-js-sdk": "^3.1.0",
|
||||
"@shlinkio/shlink-web-component": "^0.18.0",
|
||||
"@vitest/browser-playwright": "^4.0.18",
|
||||
"@vitest/browser-playwright": "^4.1.5",
|
||||
"bottlejs": "^2.0.1",
|
||||
"clsx": "^2.1.1",
|
||||
"compare-versions": "^6.1.1",
|
||||
"csvtojson": "^2.0.14",
|
||||
"date-fns": "^4.1.0",
|
||||
"react": "^19.2.4",
|
||||
"react-dom": "^19.2.4",
|
||||
"react": "^19.2.6",
|
||||
"react-dom": "^19.2.6",
|
||||
"react-external-link": "^2.6.1",
|
||||
"react-redux": "^9.2.0",
|
||||
"react-router": "^7.13.0",
|
||||
"react-router": "^7.15.0",
|
||||
"redux-localstorage-simple": "^2.5.1",
|
||||
"workbox-core": "^7.4.0",
|
||||
"workbox-expiration": "^7.4.0",
|
||||
@@ -53,19 +53,19 @@
|
||||
"devDependencies": {
|
||||
"@shlinkio/eslint-config-js-coding-standard": "~3.7.0",
|
||||
"@stylistic/eslint-plugin": "^5.7.1",
|
||||
"@tailwindcss/vite": "^4.1.18",
|
||||
"@tailwindcss/vite": "^4.3.0",
|
||||
"@testing-library/jest-dom": "^6.9.1",
|
||||
"@testing-library/react": "^16.3.2",
|
||||
"@testing-library/user-event": "^14.6.1",
|
||||
"@total-typescript/shoehorn": "^0.1.2",
|
||||
"@types/node": "^25.1.0",
|
||||
"@types/react": "^19.2.10",
|
||||
"@types/node": "^25.6.2",
|
||||
"@types/react": "^19.2.14",
|
||||
"@types/react-dom": "^19.2.3",
|
||||
"@vitejs/plugin-react": "^5.1.2",
|
||||
"@vitejs/plugin-react": "^6.0.1",
|
||||
"@vitest/browser": "^4.0.3",
|
||||
"@vitest/coverage-v8": "^4.0.18",
|
||||
"adm-zip": "^0.5.16",
|
||||
"axe-core": "^4.11.1",
|
||||
"@vitest/coverage-v8": "^4.1.2",
|
||||
"adm-zip": "^0.5.17",
|
||||
"axe-core": "^4.11.4",
|
||||
"chalk": "^5.6.2",
|
||||
"eslint": "^9.39.2",
|
||||
"eslint-plugin-import": "^2.32.0",
|
||||
@@ -75,12 +75,12 @@
|
||||
"eslint-plugin-react-hooks": "^7.0.1",
|
||||
"eslint-plugin-simple-import-sort": "^12.1.1",
|
||||
"history": "^5.3.0",
|
||||
"playwright": "^1.58.1",
|
||||
"playwright": "^1.59.1",
|
||||
"tailwindcss": "^4.1.3",
|
||||
"typescript": "^5.9.3",
|
||||
"typescript-eslint": "^8.54.0",
|
||||
"vite": "^7.3.1",
|
||||
"vite-plugin-pwa": "^1.2.0",
|
||||
"vite": "^8.0.11",
|
||||
"vite-plugin-pwa": "^1.3.0",
|
||||
"vitest": "^4.0.3"
|
||||
},
|
||||
"browserslist": [
|
||||
|
||||
@@ -11,7 +11,7 @@ describe('<MainHeader />', () => {
|
||||
history.push(pathname);
|
||||
|
||||
return renderWithStore(
|
||||
<Router location={history.location} navigator={history} unstable_useTransitions={false}>
|
||||
<Router location={history.location} navigator={history}>
|
||||
<MainHeader />
|
||||
</Router>,
|
||||
);
|
||||
|
||||
@@ -29,7 +29,7 @@ describe('<CreateServer />', () => {
|
||||
return {
|
||||
history,
|
||||
...renderWithStore(
|
||||
<Router location={history.location} navigator={history} unstable_useTransitions={false}>
|
||||
<Router location={history.location} navigator={history}>
|
||||
<CreateServer useTimeoutToggle={useTimeoutToggle} />
|
||||
</Router>,
|
||||
{
|
||||
|
||||
@@ -11,7 +11,7 @@ describe('<DeleteServerButton />', () => {
|
||||
const setUp = (children: ReactNode = 'Remove this server') => {
|
||||
const history = createMemoryHistory({ initialEntries: ['/foo'] });
|
||||
const result = renderWithStore(
|
||||
<Router location={history.location} navigator={history} unstable_useTransitions={false}>
|
||||
<Router location={history.location} navigator={history}>
|
||||
<DeleteServerButton server={fromPartial({})}>{children}</DeleteServerButton>
|
||||
</Router>,
|
||||
);
|
||||
|
||||
@@ -20,7 +20,7 @@ describe('<EditServer />', () => {
|
||||
return {
|
||||
history,
|
||||
...renderWithStore(
|
||||
<Router location={history.location} navigator={history} unstable_useTransitions={false}>
|
||||
<Router location={history.location} navigator={history}>
|
||||
<EditServer />
|
||||
</Router>,
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user