这是indexloc提供的服务,不要输入任何密码
Skip to content

fix(lint): Fix all lint errors #1410

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Jul 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 14 additions & 9 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -1,21 +1,22 @@
import { fixupConfigRules, fixupPluginRules } from "@eslint/compat";
import typescriptEslint from "@typescript-eslint/eslint-plugin";
import simpleImportSort from "eslint-plugin-simple-import-sort";
import testingLibrary from "eslint-plugin-testing-library";
import react from "eslint-plugin-react";
import prettier from "eslint-plugin-prettier";
import tsParser from "@typescript-eslint/parser";
import path from "node:path";
import { fileURLToPath } from "node:url";
import js from "@eslint/js";

import { fixupConfigRules, fixupPluginRules } from "@eslint/compat";
import { FlatCompat } from "@eslint/eslintrc";
import js from "@eslint/js";
import typescriptEslint from "@typescript-eslint/eslint-plugin";
import tsParser from "@typescript-eslint/parser";
import prettier from "eslint-plugin-prettier";
import react from "eslint-plugin-react";
import simpleImportSort from "eslint-plugin-simple-import-sort";
//import testingLibrary from "eslint-plugin-testing-library";

const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
const compat = new FlatCompat({
baseDirectory: __dirname,
recommendedConfig: js.configs.recommended,
allConfig: js.configs.all
allConfig: js.configs.all,
});

export default [{
Expand Down Expand Up @@ -74,6 +75,10 @@ export default [{
},

settings: {
env: {
browser: true,
node: true,
},
react: {
version: "18",
},
Expand Down
4 changes: 2 additions & 2 deletions examples/oidc-client-demo/src/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -105,9 +105,9 @@ const display = (element:any) => {
// @ts-ignore
window.document.getElementById('buttonxsshack').addEventListener('click',()=> {
// @ts-ignore
eval(document.getElementById('xsshack').value)
eval(document.getElementById('xsshack').value);
});
}
};

// @ts-ignore
export const execute = () => {
Expand Down
2 changes: 1 addition & 1 deletion examples/react-oidc-demo/src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ function reducer(state, action) {


function App() {
// eslint-disable-next-line @typescript-eslint/naming-convention
const [show, setShow] = React.useState(false);
const [events, dispatch] = useReducer(reducer, []);

Expand Down
2 changes: 1 addition & 1 deletion examples/react-oidc-demo/src/FetchUser.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ const DisplayUserInfo = ({ fetch }) => {
return () => {
isMounted = false;
};
// eslint-disable-next-line react-hooks/exhaustive-deps
}, []);

if (isLoading) {
Expand Down
4 changes: 2 additions & 2 deletions examples/react-oidc-demo/src/Home.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@ import {useNavigate} from "react-router-dom";
const html = '<body>Foo<script>alert("youhou");</script></body>';
iframe.srcdoc = html;
document.body.appendChild(iframe);
}
};

export const Home = () => {
const { login, logout, renewTokens, isAuthenticated } = useOidc();
const{ oidcUser, oidcUserLoadingState } = useOidcUser();
console.log(oidcUser, oidcUserLoadingState)
console.log(oidcUser, oidcUserLoadingState);
const navigate = useNavigate();

const navigateProfile = () => {
Expand Down
4 changes: 2 additions & 2 deletions examples/react-oidc-demo/src/MultiAuth.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,21 @@ import { Fetch, OidcProvider, useOidc, useOidcAccessToken, useOidcIdToken } from
import React, { useReducer, useState } from 'react';

import { configurationGoogle, configurationIdentityServer, configurationIdentityServerWithHash } from './configurations';
import {FetchUserHook} from "./FetchUser";
import AuthenticatingError from './override/AuthenticateError.component';
import Authenticating from './override/Authenticating.component';
import { CallBackSuccess } from './override/Callback.component';
import Loading from './override/Loading.component';
import ServiceWorkerNotSupported from './override/ServiceWorkerNotSupported.component';
import SessionLost from './override/SessionLost.component';
import {FetchUserHook} from "./FetchUser";

const fetchWithLogs = (fetch: Fetch) => async (...params: Parameters<Fetch>) => {
const [url, options, ...rest] = params;
console.log('fetchWithLogs', url, options, ...rest);
return await fetch(url, options, ...rest);
};

const MultiAuth = ({ configurationName, handleConfigurationChange }) => {;
const MultiAuth = ({ configurationName, handleConfigurationChange }) => {
const { login, logout, isAuthenticated } = useOidc(configurationName);
const { isAuthenticated: isAuthenticatedDefault } = useOidc('default');
const [fname, setFname] = useState('');
Expand Down
2 changes: 1 addition & 1 deletion examples/react-oidc-demo/src/Profile.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {
useOidc,
useOidcAccessToken,
useOidcIdToken,
useOidcUser
useOidcUser,
} from '@axa-fr/react-oidc';
import React from 'react';

Expand Down
4 changes: 2 additions & 2 deletions examples/react-oidc-demo/src/configurations.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { TokenRenewMode, TokenAutomaticRenewMode } from '@axa-fr/react-oidc';
import { TokenAutomaticRenewMode,TokenRenewMode } from '@axa-fr/react-oidc';

export const configurationIdentityServer = {
client_id: 'interactive.public.short',
Expand All @@ -18,7 +18,7 @@ export const configurationIdentityServer = {
token_renew_mode: TokenRenewMode.access_token_invalid,
token_automatic_renew_mode: TokenAutomaticRenewMode.AutomaticOnlyWhenFetchExecuted,
demonstrating_proof_of_possession: false,
preload_user_info: true
preload_user_info: true,
};

export const configurationIdentityServer1 = {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { useOidc } from '@axa-fr/react-oidc';
import { ComponentType } from 'react';
import {useNavigate} from "react-router-dom";

import { style } from './style.js';
import {useNavigate} from "react-router-dom";

export const SessionLost: ComponentType<any> = ({ configurationName }) => {
const { login } = useOidc(configurationName);
Expand Down
12 changes: 6 additions & 6 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,23 +28,23 @@
},
"devDependencies": {
"@eslint/compat": "^1.1.1",
"@typescript-eslint/eslint-plugin": "^7.16.0",
"@typescript-eslint/parser": "^7.16.0",
"eslint": "^9.6.0",
"@typescript-eslint/eslint-plugin": "^7.16.1",
"@typescript-eslint/parser": "^7.16.1",
"eslint": "^9.7.0",
"eslint-config-prettier": "^9.1.0",
"eslint-define-config": "^2.1.0",
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-jsx-a11y": "^6.9.0",
"eslint-plugin-n": "^17.9.0",
"eslint-plugin-no-only-tests": "^3.1.0",
"eslint-plugin-prettier": "^5.1.3",
"eslint-plugin-react": "^7.34.3",
"eslint-plugin-react": "^7.34.4",
"eslint-plugin-react-hooks": "^4.6.2",
"eslint-plugin-regexp": "^2.6.0",
"eslint-plugin-simple-import-sort": "^12.1.1",
"eslint-plugin-testing-library": "^6.2.2",
"prettier": "^3.3.2",
"tslib": "^2.6.2",
"prettier": "^3.3.3",
"tslib": "^2.6.3",
"tsx": "4.10.5",
"typescript": "5.4.5",
"vitest": "1.6.0"
Expand Down
20 changes: 10 additions & 10 deletions packages/oidc-client-service-worker/src/OidcServiceWorker.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
import { acceptAnyDomainToken, scriptFilename, TOKEN } from './constants';
import {base64urlOfHashOfASCIIEncodingAsync} from "./crypto";
import {getDpopConfiguration, getDpopOnlyWhenDpopHeaderPresent} from "./dpop";
import {generateJwkAsync, generateJwtDemonstratingProofOfPossessionAsync} from "./jwt";
import { getCurrentDatabasesTokenEndpoint } from './oidcConfig';
import {
Database,
MessageEventData,
Expand All @@ -11,16 +15,12 @@ import {
getDomains,
hideTokens,
isTokensValid,
normalizeUrl,
serializeHeaders,
sleep,
} from './utils';
import {extractConfigurationNameFromCodeVerifier, replaceCodeVerifier} from './utils/codeVerifier';
import { normalizeUrl } from './utils/normalizeUrl';
import version from './version';
import {generateJwkAsync, generateJwtDemonstratingProofOfPossessionAsync} from "./jwt";
import {getDpopConfiguration, getDpopOnlyWhenDpopHeaderPresent} from "./dpop";
import {base64urlOfHashOfASCIIEncodingAsync} from "./crypto";
import { getCurrentDatabasesTokenEndpoint } from './oidcConfig';

// @ts-ignore
if (typeof trustedTypes !== 'undefined' && typeof trustedTypes.createPolicy == 'function') {
Expand Down Expand Up @@ -132,7 +132,7 @@ const handleFetch = async (event: FetchEvent) => {
} else {

const authorization = originalRequest.headers.get('authorization');
let authenticationMode = "Bearer"
let authenticationMode = "Bearer";
if (authorization ) {
authenticationMode = authorization.split(" ")[0];
}
Expand Down Expand Up @@ -184,7 +184,7 @@ const handleFetch = async (event: FetchEvent) => {
const currentDbTabs = Object.keys(currentDb.state);

if (currentDb?.tokens != null) {
const claimsExtras = {ath: await base64urlOfHashOfASCIIEncodingAsync(currentDb.tokens.access_token),};
const claimsExtras = {ath: await base64urlOfHashOfASCIIEncodingAsync(currentDb.tokens.access_token)};
headers = await generateDpopAsync(originalRequest, currentDb, url, claimsExtras);

for(let j = 0; j < currentDbTabs.length; j++) {
Expand Down Expand Up @@ -356,7 +356,7 @@ const handleMessage = async (event: ExtendableMessageEvent) => {
demonstratingProofOfPossessionJwkJson: null,
demonstratingProofOfPossessionConfiguration: null,
demonstratingProofOfPossessionOnlyWhenDpopHeaderPresent: false,
allowMultiTabLogin: allowMultiTabLogin ?? false
allowMultiTabLogin: allowMultiTabLogin ?? false,
};
currentDatabase = database[configurationName];

Expand Down Expand Up @@ -401,7 +401,7 @@ const handleMessage = async (event: ExtendableMessageEvent) => {
const demonstratingProofOfPossessionConfiguration = getDpopConfiguration(trustedDomains[configurationName]);
if(demonstratingProofOfPossessionConfiguration != null){
if(currentDatabase.oidcConfiguration.demonstrating_proof_of_possession){
console.warn("In service worker, demonstrating_proof_of_possession must be configured from trustedDomains file")
console.warn("In service worker, demonstrating_proof_of_possession must be configured from trustedDomains file");
}
currentDatabase.demonstratingProofOfPossessionConfiguration = demonstratingProofOfPossessionConfiguration;
currentDatabase.demonstratingProofOfPossessionJwkJson = await generateJwkAsync(self)(demonstratingProofOfPossessionConfiguration.generateKeyAlgorithm);
Expand Down Expand Up @@ -500,7 +500,7 @@ const handleMessage = async (event: ExtendableMessageEvent) => {
return;
}
case 'getNonce': {
const keyNonce = TOKEN.NONCE_TOKEN + '_' + configurationName + '_' + tabId
const keyNonce = TOKEN.NONCE_TOKEN + '_' + configurationName + '_' + tabId;
const nonce = currentDatabase.nonce ? keyNonce : null;
port.postMessage({ configurationName, nonce });
return;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
// then all subroute like https://www.myapi.com/useers/1 will be authorized to send access_token to.

// Domains used by OIDC server must be also declared here
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const trustedDomains = {
default: ['https://demo.duendesoftware.com', 'https://kdhttps.auth0.com'],
config_classic: ['https://demo.duendesoftware.com'],
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { describe, expect, it } from 'vitest'
import { getCurrentDatabasesTokenEndpoint } from '../oidcConfig'
import { Database } from '../types'
import { describe, expect, it } from 'vitest';

import { getCurrentDatabasesTokenEndpoint } from '../oidcConfig';
import { Database } from '../types';

const oidcConfigDefaults = {
demonstratingProofOfPossessionConfiguration: null,
Expand All @@ -16,16 +17,16 @@ const oidcConfigDefaults = {
demonstratingProofOfPossessionNonce: null,
demonstratingProofOfPossessionJwkJson: null,
demonstratingProofOfPossessionOnlyWhenDpopHeaderPresent: false,
allowMultiTabLogin: true
}
allowMultiTabLogin: true,
};

const oidcServerConfigDefault = {
revocationEndpoint: '',
tokenEndpoint: '',
issuer: '',
userInfoEndpoint: '',
authorizationEndpoint: ''
}
authorizationEndpoint: '',
};

describe('getCurrentDatabasesTokenEndpoint', () => {
it('should return configs with matching token endpoint', () => {
Expand All @@ -51,14 +52,14 @@ describe('getCurrentDatabasesTokenEndpoint', () => {
revocationEndpoint: 'https://example.net/revoke',
},
},
}
};

const url = 'https://example.com/token'
const result = getCurrentDatabasesTokenEndpoint(database, url)
const url = 'https://example.com/token';
const result = getCurrentDatabasesTokenEndpoint(database, url);

expect(result).toHaveLength(1)
expect(result[0]).toBe(database.config1)
})
expect(result).toHaveLength(1);
expect(result[0]).toBe(database.config1);
});

it('should return configs with matching revocation endpoint', () => {
const database = {
Expand All @@ -83,14 +84,14 @@ describe('getCurrentDatabasesTokenEndpoint', () => {
tokenEndpoint: 'https://example.net/token',
},
},
}
};

const url = 'https://example.com/revoke'
const result = getCurrentDatabasesTokenEndpoint(database, url)
const url = 'https://example.com/revoke';
const result = getCurrentDatabasesTokenEndpoint(database, url);

expect(result).toHaveLength(1)
expect(result[0]).toBe(database.config1)
})
expect(result).toHaveLength(1);
expect(result[0]).toBe(database.config1);
});

it('should return multiple matching configs', () => {
const database = {
Expand All @@ -117,15 +118,15 @@ describe('getCurrentDatabasesTokenEndpoint', () => {
revocationEndpoint: 'https://example.com/revoke',
},
},
}
};

const url = 'https://example.com/token'
const result = getCurrentDatabasesTokenEndpoint(database, url)
const url = 'https://example.com/token';
const result = getCurrentDatabasesTokenEndpoint(database, url);

expect(result).toHaveLength(2)
expect(result).toContain(database.config1)
expect(result).toContain(database.config3)
})
expect(result).toHaveLength(2);
expect(result).toContain(database.config1);
expect(result).toContain(database.config3);
});

it('should return empty array for no matching configs', () => {
const database = {
Expand All @@ -143,11 +144,11 @@ describe('getCurrentDatabasesTokenEndpoint', () => {
revocationEndpoint: 'https://example.org/revoke',
},
},
}
};

const url = 'https://example.net/other'
const result = getCurrentDatabasesTokenEndpoint(database, url)
const url = 'https://example.net/other';
const result = getCurrentDatabasesTokenEndpoint(database, url);

expect(result).toHaveLength(0)
})
})
expect(result).toHaveLength(0);
});
});
Loading
Loading