mirror of
https://github.com/shlinkio/shlink-web-client.git
synced 2025-12-10 14:16:59 -06:00
Merge pull request #1445 from acelaya-forks/feature/js-sdk-2.0
Update to JS SDK 2.0 and shlink-web-component 0.13
This commit is contained in:
commit
c85917e378
@ -11,7 +11,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
### Changed
|
||||
* Update to `react-router` 7.0
|
||||
* Update to `@shlinkio/shlink-frontend-kit` 0.7.0
|
||||
* Update to `@shlinkio/shlink-web-component` 0.12.0
|
||||
* Update to `@shlinkio/shlink-web-component` 0.13.0
|
||||
* Update to `@shlinkio/shlink-js-sdk` 2.0.0
|
||||
|
||||
### Deprecated
|
||||
* *Nothing*
|
||||
|
||||
55
package-lock.json
generated
55
package-lock.json
generated
@ -17,8 +17,8 @@
|
||||
"@reduxjs/toolkit": "^2.5.1",
|
||||
"@shlinkio/data-manipulation": "^1.0.3",
|
||||
"@shlinkio/shlink-frontend-kit": "^0.7.2",
|
||||
"@shlinkio/shlink-js-sdk": "^1.4.0",
|
||||
"@shlinkio/shlink-web-component": "^0.12.1",
|
||||
"@shlinkio/shlink-js-sdk": "^2.0.0",
|
||||
"@shlinkio/shlink-web-component": "^0.13.0",
|
||||
"bootstrap": "5.2.3",
|
||||
"bottlejs": "^2.0.1",
|
||||
"clsx": "^2.1.1",
|
||||
@ -2378,9 +2378,10 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@formkit/drag-and-drop": {
|
||||
"version": "0.0.38",
|
||||
"resolved": "https://registry.npmjs.org/@formkit/drag-and-drop/-/drag-and-drop-0.0.38.tgz",
|
||||
"integrity": "sha512-3uJFcqz1xL7x/5pClDnyqEDfyFRDFH+75MFpJYXnVF17oekxLrwbUaOBN7ttKGn1jW2MdojRw4WMnSN1iLryvw=="
|
||||
"version": "0.3.3",
|
||||
"resolved": "https://registry.npmjs.org/@formkit/drag-and-drop/-/drag-and-drop-0.3.3.tgz",
|
||||
"integrity": "sha512-/2o1ud4o6aw+du8KZcLwS3pKlGkwFLnVIIIcC/YI12XJ3J9Z5E1mpKz9thodzklNI9njUk54iyk7jZK2cE55Nw==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@fortawesome/fontawesome-common-types": {
|
||||
"version": "6.7.2",
|
||||
@ -3431,18 +3432,18 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@shlinkio/shlink-js-sdk": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@shlinkio/shlink-js-sdk/-/shlink-js-sdk-1.4.0.tgz",
|
||||
"integrity": "sha512-hX/SOkKUkhx9Uo6BbbkJiyef8qvVcdQFbbDkzGlU7k8HeRzovldo1kH1E5nMcUaN6ZXjYguqoxJ1uxh3hKnZBg==",
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@shlinkio/shlink-js-sdk/-/shlink-js-sdk-2.0.0.tgz",
|
||||
"integrity": "sha512-+HOZlMTPe0EKE9uNlXe2EuAoQK3EmHUv0zvkN9oZvVkBCXR5FLfDKSab74xj9SJ6qgrd0JDvpxBVmFPKWoiNPg==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@shlinkio/shlink-web-component": {
|
||||
"version": "0.12.1",
|
||||
"resolved": "https://registry.npmjs.org/@shlinkio/shlink-web-component/-/shlink-web-component-0.12.1.tgz",
|
||||
"integrity": "sha512-FOqPoSjogNLaX9zNScxKBSjb5tW21yCOhFij5n4coUgDnL+9aPgTqzSCZkyIfOZ0A1UuUnulmpIgvg48n5gC4g==",
|
||||
"version": "0.13.0",
|
||||
"resolved": "https://registry.npmjs.org/@shlinkio/shlink-web-component/-/shlink-web-component-0.13.0.tgz",
|
||||
"integrity": "sha512-Inm4Phq4e7huwMzJE1P5P7HF6FFchtOyUNlOAYF7TnUy1geKgrfni8tB0U3Vb58AAT9aqn3fczbFhhZyIeZPMA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@formkit/drag-and-drop": "^0.0.38",
|
||||
"@formkit/drag-and-drop": "^0.3.3",
|
||||
"@json2csv/plainjs": "^7.0.6",
|
||||
"@shlinkio/data-manipulation": "^1.0.3",
|
||||
"bottlejs": "^2.0.1",
|
||||
@ -3456,7 +3457,7 @@
|
||||
"react-leaflet": "^4.2.1",
|
||||
"react-swipeable": "^7.0.2",
|
||||
"react-tag-autocomplete": "^7.4.0",
|
||||
"recharts": "^2.15.0"
|
||||
"recharts": "^2.15.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@fortawesome/fontawesome-svg-core": "^6.4.2",
|
||||
@ -3465,12 +3466,12 @@
|
||||
"@fortawesome/free-solid-svg-icons": "^6.4.2",
|
||||
"@fortawesome/react-fontawesome": "^0.2.2",
|
||||
"@reduxjs/toolkit": "^2.5.0",
|
||||
"@shlinkio/shlink-frontend-kit": "^0.7.1",
|
||||
"@shlinkio/shlink-js-sdk": "^1.3.0",
|
||||
"@shlinkio/shlink-frontend-kit": "^0.7.2",
|
||||
"@shlinkio/shlink-js-sdk": "^2.0.0",
|
||||
"react": "^18.3 || ^19.0",
|
||||
"react-dom": "^18.3 || ^19.0",
|
||||
"react-redux": "^9.2.0",
|
||||
"react-router": "^7.1.1",
|
||||
"react-router": "^7.1.5",
|
||||
"reactstrap": "^9.2.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
@ -13951,9 +13952,9 @@
|
||||
}
|
||||
},
|
||||
"@formkit/drag-and-drop": {
|
||||
"version": "0.0.38",
|
||||
"resolved": "https://registry.npmjs.org/@formkit/drag-and-drop/-/drag-and-drop-0.0.38.tgz",
|
||||
"integrity": "sha512-3uJFcqz1xL7x/5pClDnyqEDfyFRDFH+75MFpJYXnVF17oekxLrwbUaOBN7ttKGn1jW2MdojRw4WMnSN1iLryvw=="
|
||||
"version": "0.3.3",
|
||||
"resolved": "https://registry.npmjs.org/@formkit/drag-and-drop/-/drag-and-drop-0.3.3.tgz",
|
||||
"integrity": "sha512-/2o1ud4o6aw+du8KZcLwS3pKlGkwFLnVIIIcC/YI12XJ3J9Z5E1mpKz9thodzklNI9njUk54iyk7jZK2cE55Nw=="
|
||||
},
|
||||
"@fortawesome/fontawesome-common-types": {
|
||||
"version": "6.7.2",
|
||||
@ -14526,16 +14527,16 @@
|
||||
}
|
||||
},
|
||||
"@shlinkio/shlink-js-sdk": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@shlinkio/shlink-js-sdk/-/shlink-js-sdk-1.4.0.tgz",
|
||||
"integrity": "sha512-hX/SOkKUkhx9Uo6BbbkJiyef8qvVcdQFbbDkzGlU7k8HeRzovldo1kH1E5nMcUaN6ZXjYguqoxJ1uxh3hKnZBg=="
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@shlinkio/shlink-js-sdk/-/shlink-js-sdk-2.0.0.tgz",
|
||||
"integrity": "sha512-+HOZlMTPe0EKE9uNlXe2EuAoQK3EmHUv0zvkN9oZvVkBCXR5FLfDKSab74xj9SJ6qgrd0JDvpxBVmFPKWoiNPg=="
|
||||
},
|
||||
"@shlinkio/shlink-web-component": {
|
||||
"version": "0.12.1",
|
||||
"resolved": "https://registry.npmjs.org/@shlinkio/shlink-web-component/-/shlink-web-component-0.12.1.tgz",
|
||||
"integrity": "sha512-FOqPoSjogNLaX9zNScxKBSjb5tW21yCOhFij5n4coUgDnL+9aPgTqzSCZkyIfOZ0A1UuUnulmpIgvg48n5gC4g==",
|
||||
"version": "0.13.0",
|
||||
"resolved": "https://registry.npmjs.org/@shlinkio/shlink-web-component/-/shlink-web-component-0.13.0.tgz",
|
||||
"integrity": "sha512-Inm4Phq4e7huwMzJE1P5P7HF6FFchtOyUNlOAYF7TnUy1geKgrfni8tB0U3Vb58AAT9aqn3fczbFhhZyIeZPMA==",
|
||||
"requires": {
|
||||
"@formkit/drag-and-drop": "^0.0.38",
|
||||
"@formkit/drag-and-drop": "^0.3.3",
|
||||
"@json2csv/plainjs": "^7.0.6",
|
||||
"@shlinkio/data-manipulation": "^1.0.3",
|
||||
"bottlejs": "^2.0.1",
|
||||
@ -14549,7 +14550,7 @@
|
||||
"react-leaflet": "^4.2.1",
|
||||
"react-swipeable": "^7.0.2",
|
||||
"react-tag-autocomplete": "^7.4.0",
|
||||
"recharts": "^2.15.0"
|
||||
"recharts": "^2.15.1"
|
||||
}
|
||||
},
|
||||
"@shlinkio/stylelint-config-css-coding-standard": {
|
||||
|
||||
@ -34,8 +34,8 @@
|
||||
"@reduxjs/toolkit": "^2.5.1",
|
||||
"@shlinkio/data-manipulation": "^1.0.3",
|
||||
"@shlinkio/shlink-frontend-kit": "^0.7.2",
|
||||
"@shlinkio/shlink-js-sdk": "^1.4.0",
|
||||
"@shlinkio/shlink-web-component": "^0.12.1",
|
||||
"@shlinkio/shlink-js-sdk": "^2.0.0",
|
||||
"@shlinkio/shlink-web-component": "^0.13.0",
|
||||
"bootstrap": "5.2.3",
|
||||
"bottlejs": "^2.0.1",
|
||||
"clsx": "^2.1.1",
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { FetchHttpClient } from '@shlinkio/shlink-js-sdk/browser';
|
||||
import { FetchHttpClient } from '@shlinkio/shlink-js-sdk/fetch';
|
||||
import { ShlinkWebComponent } from '@shlinkio/shlink-web-component';
|
||||
import type Bottle from 'bottlejs';
|
||||
import type { ConnectDecorator } from '../../container/types';
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
import type { HttpClient } from '@shlinkio/shlink-js-sdk';
|
||||
import { fromPartial } from '@total-typescript/shoehorn';
|
||||
import { buildShlinkApiClient } from '../../../src/api/services/ShlinkApiClientBuilder';
|
||||
import type { ReachableServer, SelectedServer } from '../../../src/servers/data';
|
||||
@ -34,12 +35,19 @@ describe('ShlinkApiClientBuilder', () => {
|
||||
expect(secondApiClient === thirdApiClient).toEqual(true);
|
||||
});
|
||||
|
||||
it('does not fetch from state when provided param is already selected server', () => {
|
||||
const url = 'url';
|
||||
const apiKey = 'apiKey';
|
||||
const apiClient = buildShlinkApiClient(fromPartial({}))(server({ url, apiKey }));
|
||||
it.only('does not fetch from state when provided param is already selected server', async () => {
|
||||
const url = 'the_url';
|
||||
const apiKey = 'the_api_key';
|
||||
const jsonRequest = vi.fn();
|
||||
const httpClient = fromPartial<HttpClient>({ jsonRequest });
|
||||
const apiClient = buildShlinkApiClient(httpClient)(server({ url, apiKey }));
|
||||
|
||||
expect(apiClient['serverInfo'].baseUrl).toEqual(url);
|
||||
expect(apiClient['serverInfo'].apiKey).toEqual(apiKey);
|
||||
await apiClient.health();
|
||||
|
||||
expect(jsonRequest).toHaveBeenCalledWith(expect.stringMatching(new RegExp(`^${url}`)), expect.objectContaining({
|
||||
headers: {
|
||||
'X-Api-Key': apiKey,
|
||||
},
|
||||
}));
|
||||
});
|
||||
});
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user