From 91fe7e0664940998216be20799cb1001aa6be7ad Mon Sep 17 00:00:00 2001 From: Ricardo Devis Agullo Date: Sun, 24 May 2026 08:40:39 +0200 Subject: [PATCH] chore: fix Biome lint issues, remove dead code and orphaned eslint config --- .eslintignore | 15 ----- .eslintrc.json | 67 ------------------- src/cli/domain/registry.ts | 10 +-- src/cli/facade/dev.ts | 2 +- src/cli/facade/publish.ts | 2 +- src/registry/domain/nested-renderer.ts | 2 +- src/registry/domain/url-builder.ts | 2 +- .../validators/registry-configuration.ts | 7 +- src/registry/routes/component-info.ts | 2 +- .../routes/helpers/format-error-stack.ts | 35 ---------- src/registry/routes/helpers/get-component.ts | 6 +- src/registry/routes/index.ts | 2 +- src/registry/routes/validate.ts | 2 +- src/utils/clean-require.ts | 2 +- src/utils/module-exists.ts | 2 +- 15 files changed, 20 insertions(+), 138 deletions(-) delete mode 100644 .eslintignore delete mode 100644 .eslintrc.json diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 89b82a808..000000000 --- a/.eslintignore +++ /dev/null @@ -1,15 +0,0 @@ -node_modules -examples/node_modules -examples/**/_package/ -*.min.js -client/src/renderers/support/jade-runtime.js -src/components/oc-client/src/l.js -src/components/oc-client/src/oc-client.js -src/components/oc-client/_package/**/* -src/components/base-component-handlebars/_package/**/* -src/components/base-component-handlebars/server.js -src/components/base-component-jade/_package/**/* -src/components/base-component-jade/server.js -test/fixtures -test/front-end -test/configuration \ No newline at end of file diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index e1a6f892e..000000000 --- a/.eslintrc.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "parser": "@typescript-eslint/parser", - "env": { - "browser": true, - "es6": true, - "node": true - }, - "extends": [ - "eslint:recommended", - "plugin:@typescript-eslint/eslint-recommended", - "plugin:@typescript-eslint/recommended" - ], - "parserOptions": { - "ecmaVersion": 2018, - "sourceType": "module" - }, - "rules": { - "@typescript-eslint/no-unused-vars": "error", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/explicit-module-boundary-types": "off", - "@typescript-eslint/ban-ts-comment": "off", - "class-methods-use-this": "error", - "default-case": "error", - "func-name-matching": "error", - "max-nested-callbacks": "error", - "no-alert": "error", - "no-array-constructor": "error", - "no-caller": "error", - "no-console": "warn", - "no-duplicate-imports": "error", - "no-empty": [ - "error", - { - "allowEmptyCatch": true - } - ], - "no-extend-native": "error", - "no-extra-label": "error", - "no-implicit-globals": "error", - "no-implied-eval": "error", - "no-iterator": "error", - "no-label-var": "error", - "no-labels": "error", - "no-lone-blocks": "error", - "no-loop-func": "error", - "no-multi-str": "error", - "no-new": "error", - "no-new-object": "error", - "no-new-wrappers": "error", - "no-octal-escape": "error", - "no-proto": "error", - "no-restricted-globals": "error", - "no-restricted-imports": "error", - "no-restricted-properties": "error", - "no-restricted-syntax": "error", - "no-return-await": "error", - "no-script-url": "error", - "no-useless-constructor": "error", - "no-useless-return": "error", - "no-warning-comments": "error", - "one-var": ["error", "never"], - "prefer-promise-reject-errors": "error", - "require-await": "error", - "symbol-description": "error" - } -} diff --git a/src/cli/domain/registry.ts b/src/cli/domain/registry.ts index ce80a67b9..e49cc2824 100644 --- a/src/cli/domain/registry.ts +++ b/src/cli/domain/registry.ts @@ -99,7 +99,7 @@ export default function registry(opts: RegistryOptions = {}) { requestsHeaders = Object.assign(requestsHeaders, { Authorization: `Bearer ${options.token}` }); - } else if (!!options.username && !!options.password) { + } else if (options.username && options.password) { requestsHeaders = Object.assign(requestsHeaders, { Authorization: 'Basic ' + @@ -119,12 +119,12 @@ export default function registry(opts: RegistryOptions = {}) { } catch {} } - if (!!parsedError.code && parsedError.code === 'ECONNREFUSED') { + if (parsedError.code && parsedError.code === 'ECONNREFUSED') { errMsg = 'Connection to registry has not been established'; } else if ( parsedError.code !== 'cli_version_not_valid' && parsedError.code !== 'node_version_not_valid' && - !!parsedError.error + parsedError.error ) { errMsg = parsedError.error; } else { @@ -176,12 +176,12 @@ export default function registry(opts: RegistryOptions = {}) { } catch {} } - if (!!parsedError.code && parsedError.code === 'ECONNREFUSED') { + if (parsedError.code && parsedError.code === 'ECONNREFUSED') { errMsg = 'Connection to registry has not been established'; } else if ( parsedError.code !== 'cli_version_not_valid' && parsedError.code !== 'node_version_not_valid' && - !!parsedError.error + parsedError.error ) { errMsg = parsedError.error; } else { diff --git a/src/cli/facade/dev.ts b/src/cli/facade/dev.ts index f2fda0f56..f9bc2493f 100644 --- a/src/cli/facade/dev.ts +++ b/src/cli/facade/dev.ts @@ -113,7 +113,7 @@ const dev = ({ local, logger }: { logger: Logger; local: Local }) => logger.ok('OK'); } catch (error: any) { const errorDescription = - error instanceof SyntaxError || !!error.message + error instanceof SyntaxError || error.message ? error.message : error; logger.err( diff --git a/src/cli/facade/publish.ts b/src/cli/facade/publish.ts index c6f3b9c62..765012696 100644 --- a/src/cli/facade/publish.ts +++ b/src/cli/facade/publish.ts @@ -101,7 +101,7 @@ const publish = ({ logger.ok(strings.messages.cli.PUBLISHED(options.route, dryRun)); } catch (err: any) { if (err === 'Unauthorized' || err.message === 'Unauthorized') { - if (!!options.username || !!options.password || !!options.token) { + if (options.username || options.password || options.token) { logger.err( strings.errors.cli.PUBLISHING_FAIL( strings.errors.cli.INVALID_CREDENTIALS diff --git a/src/registry/domain/nested-renderer.ts b/src/registry/domain/nested-renderer.ts index 9462f8a47..afee2bedd 100644 --- a/src/registry/domain/nested-renderer.ts +++ b/src/registry/domain/nested-renderer.ts @@ -59,7 +59,7 @@ export default function nestedRenderer( components: Options[], options: Options = {} ): Promise> { - if (!components || !components.length) { + if (!components?.length) { throw new Error( strings.errors.registry.NESTED_RENDERER_COMPONENTS_IS_NOT_VALID ); diff --git a/src/registry/domain/url-builder.ts b/src/registry/domain/url-builder.ts index e302c441a..555b0cace 100644 --- a/src/registry/domain/url-builder.ts +++ b/src/registry/domain/url-builder.ts @@ -53,7 +53,7 @@ export function componentPreview( baseUrl: string ): string { let href = componentForType(component, baseUrl, 'preview'); - if (!!component.parameters && Object.keys(component.parameters).length) { + if (component.parameters && Object.keys(component.parameters).length) { href += '/?' + querystring.stringify(component.parameters); } else { href += '/'; diff --git a/src/registry/domain/validators/registry-configuration.ts b/src/registry/domain/validators/registry-configuration.ts index 75e7cf9d5..e1f4fe3ff 100644 --- a/src/registry/domain/validators/registry-configuration.ts +++ b/src/registry/domain/validators/registry-configuration.ts @@ -45,7 +45,7 @@ export default function registryConfiguration( const dependencies = conf.dependencies; - if (!!dependencies && !Array.isArray(dependencies)) { + if (dependencies && !Array.isArray(dependencies)) { return returnError( strings.errors.registry.CONFIGURATION_DEPENDENCIES_MUST_BE_ARRAY ); @@ -53,7 +53,7 @@ export default function registryConfiguration( const routes = conf.routes; - if (!!routes && !Array.isArray(routes)) { + if (routes && !Array.isArray(routes)) { return returnError( strings.errors.registry.CONFIGURATION_ROUTES_MUST_BE_ARRAY ); @@ -88,8 +88,7 @@ export default function registryConfiguration( // S3 settings should either specify both key/secret or // skip both when leveraging IAM Role based S3 access from EC2 if ( - !conf.s3 || - !conf.s3.bucket || + !conf.s3?.bucket || !conf.s3.region || (conf.s3.key && !conf.s3.secret) || (!conf.s3.key && conf.s3.secret) diff --git a/src/registry/routes/component-info.ts b/src/registry/routes/component-info.ts index 606600e13..55c3e08bf 100644 --- a/src/registry/routes/component-info.ts +++ b/src/registry/routes/component-info.ts @@ -57,7 +57,7 @@ function componentInfo( const isHtmlRequest = !!req.headers.accept && req.headers.accept.indexOf('text/html') >= 0; - if (isHtmlRequest && !!res.conf.discovery.ui) { + if (isHtmlRequest && res.conf.discovery.ui) { const params = getParams(component); const parsedAuthor = getParsedAuthor(component); let href = res.conf.baseUrl; diff --git a/src/registry/routes/helpers/format-error-stack.ts b/src/registry/routes/helpers/format-error-stack.ts index d30d1d961..3e6c035df 100644 --- a/src/registry/routes/helpers/format-error-stack.ts +++ b/src/registry/routes/helpers/format-error-stack.ts @@ -169,38 +169,3 @@ function getCodeFrame( return null; } } - -// async function main() { -// const stackTrace = ` -// TypeError: Cannot read properties of undefined (reading 'name') -// at HandledServer.initial (/Users/ricardo.agullo/Dev/octests/helpai/_package/server.js:196:38) -// at async ocServerWrapper (/Users/ricardo.agullo/Dev/octests/helpai/_package/server.js:83:19) -// `; -// const rawSourceMap = fs.readFileSync( -// './helpai/_package/server.js.map', -// 'utf8' -// ); -// const { stack, codeFrame } = await processStackTrace({ -// stackTrace, -// rawSourceMap -// }); - -// // Log the stack trace -// for (const line of stack) { -// console.log(` ${line}`); -// } - -// // Log the code frames -// // for (const frame of codeFrame) { -// // console.log(`\n${frame}\n`); -// // } -// for (let i = 0; i < codeFrame.length; i++) { -// if (i === 0) { -// console.log(`\n ${codeFrame[i]}\n`); -// } else { -// console.log(`\n${codeFrame[i]}\n`); -// } -// } -// } - -// main().catch(console.error); diff --git a/src/registry/routes/helpers/get-component.ts b/src/registry/routes/helpers/get-component.ts index 187483f2f..1de3f7f75 100644 --- a/src/registry/routes/helpers/get-component.ts +++ b/src/registry/routes/helpers/get-component.ts @@ -379,7 +379,7 @@ export default function getComponent(conf: Config, repository: Repository) { renderMode }); - if (!!err || !data) { + if (err || !data) { err = err || new Error(strings.errors.registry.DATA_OBJECT_IS_UNDEFINED); @@ -521,7 +521,7 @@ export default function getComponent(conf: Config, repository: Repository) { ); }; - if (!!cached && !conf.hotReloading) { + if (cached && !conf.hotReloading) { returnResult(cached); } else { fromPromise(repository.getCompiledView)( @@ -642,7 +642,7 @@ export default function getComponent(conf: Config, repository: Repository) { } }; - if (!!cached && !conf.hotReloading) { + if (cached && !conf.hotReloading) { domain.on('error', returnComponent); try { diff --git a/src/registry/routes/index.ts b/src/registry/routes/index.ts index 9f7963216..12c4d906c 100644 --- a/src/registry/routes/index.ts +++ b/src/registry/routes/index.ts @@ -54,7 +54,7 @@ export default function (repository: Repository) { ) ); - if (isHtmlRequest(req.headers) && !!res.conf.discovery.ui) { + if (isHtmlRequest(req.headers) && res.conf.discovery.ui) { const processedComponents: ParsedComponent[] = componentDetails.map( (component) => { if (component.oc?.date) { diff --git a/src/registry/routes/validate.ts b/src/registry/routes/validate.ts index fb85a61c6..a6ed9995b 100644 --- a/src/registry/routes/validate.ts +++ b/src/registry/routes/validate.ts @@ -6,7 +6,7 @@ import { validateTemplateOcVersion } from '../domain/validators'; export default function validate() { return async (req: Request, res: Response): Promise => { // Validate that request has a JSON body with package.json - if (!req.body || !req.body.packageJson) { + if (!req.body?.packageJson) { res.status(400).json({ error: 'Invalid request: packageJson is required in request body' }); diff --git a/src/utils/clean-require.ts b/src/utils/clean-require.ts index 94ce96e12..57ef3137a 100644 --- a/src/utils/clean-require.ts +++ b/src/utils/clean-require.ts @@ -22,7 +22,7 @@ export default function cleanRequire( ) { const shouldThrow = !justTry; - if (require.cache && !!require.cache[path]) { + if (require.cache?.[path]) { delete require.cache[path]; } diff --git a/src/utils/module-exists.ts b/src/utils/module-exists.ts index ff4d22c8b..0c8c956e7 100644 --- a/src/utils/module-exists.ts +++ b/src/utils/module-exists.ts @@ -4,7 +4,7 @@ import tryRequire from 'try-require'; export default function moduleExists(moduleName: string): boolean { const packageModulePath = path.join(moduleName, 'package.json'); - if (require.cache && !!require.cache[packageModulePath]) { + if (require.cache?.[packageModulePath]) { delete require.cache[packageModulePath]; }