diff --git a/.blueprint/generate-sample/support/copy-jdl-entity-samples.js b/.blueprint/generate-sample/support/copy-jdl-entity-samples.js index 900cb9c061a4..ebb64bd1801b 100644 --- a/.blueprint/generate-sample/support/copy-jdl-entity-samples.js +++ b/.blueprint/generate-sample/support/copy-jdl-entity-samples.js @@ -5,7 +5,7 @@ import { jdlEntitiesSamplesFolder } from '../../constants.js'; const isDirectory = dir => { try { return statSync(dir).isDirectory(); - } catch (error) { + } catch { return false; } }; diff --git a/.blueprint/generate-sample/support/generate-sample.js b/.blueprint/generate-sample/support/generate-sample.js index e9eff6fddd81..a7a3d42246cf 100644 --- a/.blueprint/generate-sample/support/generate-sample.js +++ b/.blueprint/generate-sample/support/generate-sample.js @@ -34,6 +34,7 @@ export const generateSample = async ( process.chdir(destProjectFolder); if (!sample) { + // eslint-disable-next-line no-console console.log(`Sample ${sampleName} was not found`); } diff --git a/.blueprint/update-vscode/generator.mjs b/.blueprint/update-vscode/generator.mjs index 3620f4332d3f..8140d068e5a8 100644 --- a/.blueprint/update-vscode/generator.mjs +++ b/.blueprint/update-vscode/generator.mjs @@ -22,6 +22,7 @@ export default class extends BaseGenerator { request: 'launch', internalConsoleOptions: 'neverOpen', name: 'update vscode launch.json', + // eslint-disable-next-line no-template-curly-in-string program: '${workspaceFolder}/test-integration/scripts/99-update-vscode.js', console: 'integratedTerminal', }, @@ -41,6 +42,7 @@ export default class extends BaseGenerator { request: 'launch', internalConsoleOptions: 'neverOpen', name: `generate sample from ${workflowName} workflow`, + // eslint-disable-next-line no-template-curly-in-string program: '${workspaceFolder}/bin/jhipster.cjs', args: ['generate-sample', `\${input:${workflowName}Sample}`, '--global'], console: 'integratedTerminal', diff --git a/.mocharc.cjs b/.mocharc.cjs index 3f0b845bbb01..f3fdfb52f90f 100644 --- a/.mocharc.cjs +++ b/.mocharc.cjs @@ -2,6 +2,7 @@ const Module = require('module'); const process = require('process'); if (!Module.register) { + // eslint-disable-next-line no-console console.log('JHipster test requires node >=18.19.0 || >= 20.6.0\n'); process.exit(1); } diff --git a/cli/environment-builder.mjs b/cli/environment-builder.mjs index 3ab04e79eb31..56396461c273 100644 --- a/cli/environment-builder.mjs +++ b/cli/environment-builder.mjs @@ -416,7 +416,7 @@ export default class EnvironmentBuilder { commandSpec.blueprint = commandSpec.blueprint || blueprint; }); result = { ...result, ...blueprintCommands }; - } catch (e) { + } catch { const msg = `Error parsing custom commands found within blueprint: ${blueprint} at ${blueprintCommandsUrl}`; /* eslint-disable no-console */ console.info(`${chalk.green.bold('INFO!')} ${msg}`); diff --git a/cli/program.mjs b/cli/program.mjs index 27d8f840da43..054430053e0f 100644 --- a/cli/program.mjs +++ b/cli/program.mjs @@ -340,7 +340,6 @@ export const buildJHipster = async ({ defaultCommand, entrypointGenerator, } = {}) => { - // eslint-disable-next-line chai-friendly/no-unused-expressions createEnvBuilder = createEnvBuilder ?? (async options => EnvironmentBuilder.create(options).prepare({ blueprints, lookups, devBlueprintPath })); envBuilder = envBuilder ?? (await createEnvBuilder()); diff --git a/generators/base-application/support/prepare-field.js b/generators/base-application/support/prepare-field.js index 197fc42fc245..b193b732ad58 100644 --- a/generators/base-application/support/prepare-field.js +++ b/generators/base-application/support/prepare-field.js @@ -312,7 +312,7 @@ function prepareCommonFieldForTemplates(entityWithConfig, field, generator) { // check if regex is valid. If not, issue warning and we skip fake data generation. try { new RegExp(field.fieldValidateRulesPattern); - } catch (e) { + } catch { generator.log.warn(`${field.fieldName} pattern is not valid: ${field.fieldValidateRulesPattern}. Skipping generating fake data. `); return undefined; } diff --git a/generators/base-core/generator.ts b/generators/base-core/generator.ts index 4156d8c48e84..3a0233e1cf98 100644 --- a/generators/base-core/generator.ts +++ b/generators/base-core/generator.ts @@ -679,7 +679,7 @@ You can ignore this error by passing '--skip-checks' to jhipster command.`); let existingGenerator: string; try { existingGenerator = this._jhipsterGenerator ?? requireNamespace(this.options.namespace).generator; - } catch (error) { + } catch { if (this.options.namespace) { const split = this.options.namespace.split(':', 2); existingGenerator = split.length === 1 ? split[0] : split[1]; @@ -771,7 +771,7 @@ You can ignore this error by passing '--skip-checks' to jhipster command.`); this.log.info(`Removing legacy folder ${relativePath}`); rmSync(destinationFolder, { recursive: true }); } - } catch (error) { + } catch { this.log.log(`Could not remove folder ${destinationFolder}`); } } @@ -1151,7 +1151,7 @@ templates: ${JSON.stringify(existingTemplates, null, 2)}`; let originalContent; try { originalContent = this.readDestination(filePath); - } catch (_error) { + } catch { // null return should be treated like an error. } diff --git a/generators/base/internal/blueprint.js b/generators/base/internal/blueprint.js index ba6197023e59..907f8123462c 100644 --- a/generators/base/internal/blueprint.js +++ b/generators/base/internal/blueprint.js @@ -133,7 +133,7 @@ export function normalizeBlueprintName(blueprint) { } return ns.with({ unscoped: `generator-jhipster-${ns.unscoped}` }).toString(); // eslint-disable-next-line no-empty - } catch (e) {} + } catch {} if (blueprint && blueprint.startsWith('@')) { return blueprint; } diff --git a/generators/base/support/faker.ts b/generators/base/support/faker.ts index acfa74314447..fb31c0c42d2a 100644 --- a/generators/base/support/faker.ts +++ b/generators/base/support/faker.ts @@ -58,7 +58,7 @@ export async function createFaker(nativeLanguage = 'en') { // See https://github.com/faker-js/faker/pull/642 try { locale = (await import(`@faker-js/faker`))[nativeLanguage]; - } catch (error) { + } catch { // Faker not implemented for the native language, fallback to en. locale = (await import('@faker-js/faker')).en; diff --git a/generators/base/support/jhipster7-context.js b/generators/base/support/jhipster7-context.js index 524c6597f797..987e5d791190 100644 --- a/generators/base/support/jhipster7-context.js +++ b/generators/base/support/jhipster7-context.js @@ -21,7 +21,7 @@ export const jhipster7deprecatedProperties = { devDatabaseType: { behaviorOnlyReason: 'v8: devDatabaseType is only used in jhipster:spring-data-relational generator', get: ({ data }) => { - if (data.devDatabaseType === undefined) return data.devDatabaseType; + if (data.devDatabaseType !== undefined) return data.devDatabaseType; const fallbackValue = data.prodDatabaseType ?? data.databaseType; console.log( @@ -32,9 +32,8 @@ export const jhipster7deprecatedProperties = { }, prodDatabaseType: { behaviorOnlyReason: 'v8: prodDatabaseType is only used in jhipster:spring-data-relational generator', - get: ({ data }) => data.prodDatabaseType ?? data.databaseType, get: ({ data }) => { - if (data.prodDatabaseType === undefined) return data.prodDatabaseType; + if (data.prodDatabaseType !== undefined) return data.prodDatabaseType; console.log( `JHipster v8 behavior change(prodDatabaseType is only used in jhipster:spring-data-relational generator): devDatabaseType is not set, using fallback: ${data.databaseType}`, diff --git a/generators/bootstrap-application-base/generator.spec.ts b/generators/bootstrap-application-base/generator.spec.ts index b64a95292eb8..b2de2d9d2972 100644 --- a/generators/bootstrap-application-base/generator.spec.ts +++ b/generators/bootstrap-application-base/generator.spec.ts @@ -23,7 +23,7 @@ import { snakeCase } from 'lodash-es'; import { defaultHelpers as helpers, runResult } from '../../testing/index.js'; import { shouldSupportFeatures } from '../../test/support/tests.js'; -import { parseChangelog } from '../base/support/timestamp.ts'; +import { parseChangelog } from '../base/support/timestamp.js'; import Generator from './index.js'; const __filename = fileURLToPath(import.meta.url); diff --git a/generators/client/prompts.js b/generators/client/prompts.js index 61a78684220e..c13fff1218e8 100644 --- a/generators/client/prompts.js +++ b/generators/client/prompts.js @@ -125,7 +125,7 @@ async function _retrieveBootswatchThemes(generator, useApi) { })); resolve(bootswatchChoices); - } catch (err) { + } catch { reject(errorMessage); } }, diff --git a/generators/cypress/index.ts b/generators/cypress/index.ts index f3ccaf492f17..082d5730094c 100644 --- a/generators/cypress/index.ts +++ b/generators/cypress/index.ts @@ -18,5 +18,4 @@ */ export { default } from './generator.js'; export { default as command } from './command.js'; -export * from './generator.js'; export { cypressFiles, cypressEntityFiles } from './files.js'; diff --git a/generators/info/generator.ts b/generators/info/generator.ts index 2abfa3bfa582..b5edb862cca2 100644 --- a/generators/info/generator.ts +++ b/generators/info/generator.ts @@ -125,7 +125,7 @@ export default class InfoGenerator extends BaseApplicationGenerator { ) { try { printInfo(await this.spawn(command, args, { stdio: 'pipe' })); - } catch (_error) { + } catch { console.log(chalk.red(`'${command}' command could not be found`)); } } diff --git a/generators/java/generators/domain/generator.spec.ts b/generators/java/generators/domain/generator.spec.ts index 9c29cda1d6e5..d92e55178220 100644 --- a/generators/java/generators/domain/generator.spec.ts +++ b/generators/java/generators/domain/generator.spec.ts @@ -61,9 +61,10 @@ describe(`generator - ${generator}`, () => { }); it('should have options defaults set', () => { - expect(result.generator.generateEntities).toBe(true); - expect(result.generator.generateEnums).toBe(true); - expect(result.generator.useJakartaValidation).toBe(true); + const generator: any = result.generator; + expect(generator.generateEntities).toBe(true); + expect(generator.generateEnums).toBe(true); + expect(generator.useJakartaValidation).toBe(true); }); }); @@ -118,7 +119,7 @@ describe(`generator - ${generator}`, () => { await helpers .runJHipster(generator) .withJHipsterConfig({}) - .onGenerator(generator => { + .onGenerator((generator: any) => { generator.generateEntities = false; generator.generateEnums = false; generator.useJakartaValidation = false; @@ -126,9 +127,10 @@ describe(`generator - ${generator}`, () => { }); it('should not override custom values', () => { - expect(result.generator.generateEntities).toBe(false); - expect(result.generator.generateEnums).toBe(false); - expect(result.generator.useJakartaValidation).toBe(false); + const generator: any = result.generator; + expect(generator.generateEntities).toBe(false); + expect(generator.generateEnums).toBe(false); + expect(generator.useJakartaValidation).toBe(false); }); }); }); diff --git a/generators/java/generators/openapi-generator/generator.ts b/generators/java/generators/openapi-generator/generator.ts index 05ed6c29fca8..5210dd11ba9b 100644 --- a/generators/java/generators/openapi-generator/generator.ts +++ b/generators/java/generators/openapi-generator/generator.ts @@ -82,6 +82,7 @@ export default class OpenapiGeneratorGenerator extends BaseApplicationGenerator { groupId: 'org.openapitools', artifactId: 'openapi-generator-maven-plugin', + // eslint-disable-next-line no-template-curly-in-string version: '${openapi-generator-maven-plugin.version}', additionalContent: ` diff --git a/generators/kubernetes-helm/generator.js b/generators/kubernetes-helm/generator.js index 95b5ed4c6885..69d215650847 100644 --- a/generators/kubernetes-helm/generator.js +++ b/generators/kubernetes-helm/generator.js @@ -185,7 +185,7 @@ export default class KubernetesHelmGenerator extends BaseWorkspacesGenerator { try { fs.chmodSync('helm-apply.sh', '755'); fs.chmodSync('helm-upgrade.sh', '755'); - } catch (err) { + } catch { this.log.warn( "Failed to make 'helm-apply.sh', 'helm-upgrade.sh' executable, you may need to run 'chmod +x helm-apply.sh helm-upgrade.sh", ); diff --git a/generators/kubernetes-knative/generator.js b/generators/kubernetes-knative/generator.js index a81bbd92b22c..8107b533493a 100644 --- a/generators/kubernetes-knative/generator.js +++ b/generators/kubernetes-knative/generator.js @@ -76,7 +76,7 @@ export default class KubernetesKnativeGenerator extends BaseWorkspacesGenerator await this.spawnCommand( 'kubectl get deploy -n knative-serving --label-columns=serving.knative.dev/release | grep -E "v0\\.[8-9]{1,3}\\.[0-9]*', ); - } catch (error) { + } catch { this.log.warn( 'Knative 0.8.* or later is not installed on your computer.\n' + 'Make sure you have Knative and Istio installed. Read https://knative.dev/docs/install/\n', @@ -218,7 +218,7 @@ export default class KubernetesKnativeGenerator extends BaseWorkspacesGenerator // Make the apply script executable try { fs.chmodSync('kubectl-knative-apply.sh', '755'); - } catch (err) { + } catch { this.log.warn("Failed to make 'kubectl-knative-apply.sh' executable, you may need to run 'chmod +x kubectl-knative-apply.sh'"); } } else { @@ -229,7 +229,7 @@ export default class KubernetesKnativeGenerator extends BaseWorkspacesGenerator try { fs.chmodSync('helm-knative-apply.sh', '755'); fs.chmodSync('helm-knative-upgrade.sh', '755'); - } catch (err) { + } catch { this.log.warn( "Failed to make 'helm-knative-apply.sh', 'helm-knative-upgrade.sh' executable, you may need to run 'chmod +x helm-knative-apply.sh helm-knative-upgrade.sh", ); diff --git a/generators/kubernetes/generator.js b/generators/kubernetes/generator.js index 88d9e5d887ba..e786099bbca9 100644 --- a/generators/kubernetes/generator.js +++ b/generators/kubernetes/generator.js @@ -211,7 +211,7 @@ export default class KubernetesGenerator extends BaseWorkspacesGenerator { // Make the apply script executable try { fs.chmodSync('kubectl-apply.sh', '755'); - } catch (err) { + } catch { this.log.warn("Failed to make 'kubectl-apply.sh' executable, you may need to run 'chmod +x kubectl-apply.sh'"); } }, diff --git a/generators/kubernetes/prompts.js b/generators/kubernetes/prompts.js index 703a2d85221d..86d006dea463 100644 --- a/generators/kubernetes/prompts.js +++ b/generators/kubernetes/prompts.js @@ -132,7 +132,7 @@ export async function askForIngressDomain() { try { const { stdout: istioIngressIp } = this.spawnCommandSync(istioIpCommand, { stdio: 'pipe' }); defaultValue = `${istioIngressIp}.nip.io`; - } catch (ex) { + } catch { istioMessage = `Unable to determine Istio Ingress IP address. You can find the Istio Ingress IP address by running the command line:\n ${istioIpCommand}`; } } else if (this.ingressType === NGINX) { diff --git a/generators/server/types.d.ts b/generators/server/types.d.ts index f930b7d8e130..96228981010f 100644 --- a/generators/server/types.d.ts +++ b/generators/server/types.d.ts @@ -4,7 +4,7 @@ import { MavenSourceType } from '../maven/types.js'; import { LiquibaseSourceType } from '../liquibase/types.js'; import { SpringCacheSourceType } from '../spring-cache/types.js'; import type { DeterministicOptionWithDerivedProperties, OptionWithDerivedProperties } from '../base-application/application-options.js'; -import { GatewayApplication } from '../spring-cloud/generators/gateway/types.ts'; +import { GatewayApplication } from '../spring-cloud/generators/gateway/types.js'; import { JavaAnnotation } from '../java/support/add-java-annotation.ts'; import { ApplicationPropertiesNeedles } from './support/needles.ts'; import { MessageBrokerApplicationType } from './options/message-broker.js'; diff --git a/jdl/converters/jdl-to-json/jdl-to-json-basic-entity-converter.ts b/jdl/converters/jdl-to-json/jdl-to-json-basic-entity-converter.ts index 7386aea03036..aedbce93ed60 100644 --- a/jdl/converters/jdl-to-json/jdl-to-json-basic-entity-converter.ts +++ b/jdl/converters/jdl-to-json/jdl-to-json-basic-entity-converter.ts @@ -18,7 +18,7 @@ */ import JSONEntity from '../../jhipster/json-entity.js'; -import formatComment from '../../utils/format-utils.js'; +import { formatComment } from '../../utils/format-utils.js'; import { getTableNameFromEntityNameFallback } from '../../jhipster/entity-table-name-creator.js'; import { JDLEntity } from '../../models/index.js'; diff --git a/jdl/converters/jdl-to-json/jdl-to-json-field-converter.ts b/jdl/converters/jdl-to-json/jdl-to-json-field-converter.ts index 55ad79497066..eb18597c79fb 100644 --- a/jdl/converters/jdl-to-json/jdl-to-json-field-converter.ts +++ b/jdl/converters/jdl-to-json/jdl-to-json-field-converter.ts @@ -19,7 +19,7 @@ import { capitalize } from 'lodash-es'; import { validations } from '../../jhipster/index.js'; -import formatComment from '../../utils/format-utils.js'; +import { formatComment } from '../../utils/format-utils.js'; import { camelCase } from '../../utils/string-utils.js'; import fieldTypes from '../../jhipster/field-types.js'; import JDLObject from '../../models/jdl-object.js'; diff --git a/jdl/converters/json-to-jdl-converter.ts b/jdl/converters/json-to-jdl-converter.ts index 034b04b52169..05fc8fe6b3ed 100644 --- a/jdl/converters/json-to-jdl-converter.ts +++ b/jdl/converters/json-to-jdl-converter.ts @@ -53,7 +53,7 @@ export function convertToJDL(directory = '.', output: string | false = 'app.jdl' } else { try { jdlObject = getJDLObjectFromMultipleApplications(directory); - } catch (error) { + } catch { return undefined; } } diff --git a/jdl/converters/parsed-jdl-to-jdl-object/parsed-jdl-to-jdl-object-converter.ts b/jdl/converters/parsed-jdl-to-jdl-object/parsed-jdl-to-jdl-object-converter.ts index 4e3d33aef488..5cb0422c2846 100644 --- a/jdl/converters/parsed-jdl-to-jdl-object/parsed-jdl-to-jdl-object-converter.ts +++ b/jdl/converters/parsed-jdl-to-jdl-object/parsed-jdl-to-jdl-object-converter.ts @@ -83,7 +83,7 @@ function init(passedConfiguration: ParsedJDLRoot) { function fillApplications(): void { // TODO: Function which expects two arguments is called with three. - // @ts-expect-error + // @ts-expect-error TODO const jdlApplications: JDLApplication[] = convertApplications(parsedContent.applications, configuration, entityNames); jdlApplications.forEach((jdlApplication: JDLApplication) => { jdlObject.addApplication(jdlApplication); diff --git a/jdl/jhipster/field-types.ts b/jdl/jhipster/field-types.ts index 213c159e8660..001b13507b2b 100644 --- a/jdl/jhipster/field-types.ts +++ b/jdl/jhipster/field-types.ts @@ -139,7 +139,7 @@ export function getIsType(databaseType?: string, callback?: any): (type: any) => isType = () => true; break; default: - callback && callback(); + callback?.(); throw new Error( "The passed database type must either be 'sql', 'mysql', 'mariadb', 'postgresql'," + " 'oracle', 'mssql', 'mongodb', 'couchbase', 'neo4j' or 'cassandra'", diff --git a/jdl/parsing/self-checks/parsing-system-checker.ts b/jdl/parsing/self-checks/parsing-system-checker.ts index a40f70778f1f..9921b259bdca 100644 --- a/jdl/parsing/self-checks/parsing-system-checker.ts +++ b/jdl/parsing/self-checks/parsing-system-checker.ts @@ -42,7 +42,7 @@ function getUselessTokens(usedTokens: any[], allDefinedTokens: any[]) { const usedCategories = uniq(flatMap(usedTokens, 'CATEGORIES')); // TODO: Calling uniq with two parameters is probably a bug. - // @ts-expect-error + // @ts-expect-error TODO const notDirectlyUsedTokens = difference(allDefinedTokens, uniq(usedTokens, usedCategories)); const redundant = reject(notDirectlyUsedTokens, token => { const tokCategories = token.CATEGORIES; diff --git a/jdl/readers/json-reader.ts b/jdl/readers/json-reader.ts index 37f8305949b4..e81fef51960c 100644 --- a/jdl/readers/json-reader.ts +++ b/jdl/readers/json-reader.ts @@ -52,7 +52,7 @@ export default function parseFromDir(dir: string): JDLObject { }); const applicationOptions = readJSONFile(`${dir}/.yo-rc.json`)['generator-jhipster']; - // @ts-expect-error + // @ts-expect-error TODO const jdlObject = convertServerOptionsToJDL(applicationOptions); const convertedJDLObject = convertEntitiesToJDL(entities); return mergeJDLObjects(jdlObject, convertedJDLObject); diff --git a/jdl/utils/format-utils.spec.ts b/jdl/utils/format-utils.spec.ts index fef52acc6beb..46ad90b3ef22 100644 --- a/jdl/utils/format-utils.spec.ts +++ b/jdl/utils/format-utils.spec.ts @@ -19,7 +19,7 @@ import { it, describe } from 'esmocha'; import { expect } from 'chai'; -import formatComment from '../utils/format-utils.js'; +import { formatComment } from '../utils/format-utils.js'; describe('jdl - FormatUtils', () => { describe('formatComment', () => { diff --git a/test-integration/scripts/99-write-matrix.js b/test-integration/scripts/99-write-matrix.js index e47b74cbbc0e..d733b73617dc 100755 --- a/test-integration/scripts/99-write-matrix.js +++ b/test-integration/scripts/99-write-matrix.js @@ -18,6 +18,7 @@ let existing = {}; try { existing = JSON.parse(readFileSync(MATRIX_FILE)); } catch { + // eslint-disable-next-line no-console console.log(`File ${MATRIX_FILE} not found`); existing = { include: [] }; } diff --git a/test/integration-test.spec.ts b/test/integration-test.spec.ts index d7eadae0de9d..1a26c85cd599 100644 --- a/test/integration-test.spec.ts +++ b/test/integration-test.spec.ts @@ -157,7 +157,7 @@ describe('integration-test', () => { }); describe('::entities samples reproducibility', () => { - const changelogDates = []; + const changelogDates: string[] = []; for (const [name, entitySample] of itEntitiesSamplesEntries) { let entityJson = readJsonSync(entitySample); before(() => { diff --git a/testing/helpers.ts b/testing/helpers.ts index 5125ab504f9b..a462ce8f25fe 100644 --- a/testing/helpers.ts +++ b/testing/helpers.ts @@ -307,13 +307,13 @@ plugins { Object.entries(this.sharedSource).map(([name, fn]) => [name, fn.mock.calls.map(args => args[0])]), ); if (sourceCallsArg.addEntitiesToClient) { - sourceCallsArg.addEntitiesToClient = (sourceCallsArg.addEntitiesToClient as any).map(({ application, entities }) => ({ + sourceCallsArg.addEntitiesToClient = sourceCallsArg.addEntitiesToClient.map(({ application, entities }) => ({ application: `Application[${application.baseName}]`, entities: entities.map(entity => `Entity[${entity.name}]`), })); } if (sourceCallsArg.addEntityToCache) { - sourceCallsArg.addEntityToCache = (sourceCallsArg.addEntityToCache as any).map(({ relationships, ...fields }) => ({ + sourceCallsArg.addEntityToCache = sourceCallsArg.addEntityToCache.map(({ relationships, ...fields }) => ({ ...fields, relationships: relationships.map(rel => `Relationship[${rel.relationshipName}]`), }));