diff --git a/packages/arui-scripts-modules/.eslintrc.js b/packages/arui-scripts-modules/.eslintrc.js index 5308f6ae..4dc7a47f 100644 --- a/packages/arui-scripts-modules/.eslintrc.js +++ b/packages/arui-scripts-modules/.eslintrc.js @@ -3,9 +3,7 @@ module.exports = { extends: ['custom/common'], parserOptions: { tsconfigRootDir: __dirname, - project: [ - './tsconfig.eslint.json', - ], + project: ['./tsconfig.eslint.json'], }, overrides: [ { @@ -13,6 +11,11 @@ module.exports = { rules: { 'import/no-extraneous-dependencies': 'off', }, - } + }, ], + rules: { + 'no-underscore-dangle': 'off', + '@typescript-eslint/naming-convention': 'off', + 'no-console': 'off', + }, }; diff --git a/packages/arui-scripts-modules/global-definitions.d.ts b/packages/arui-scripts-modules/global-definitions.d.ts index d7137fd6..6f013d72 100644 --- a/packages/arui-scripts-modules/global-definitions.d.ts +++ b/packages/arui-scripts-modules/global-definitions.d.ts @@ -1,5 +1,3 @@ -/* eslint-disable @typescript-eslint/naming-convention,no-underscore-dangle */ declare const __webpack_share_scopes__: { default: unknown; }; -/* eslint-enable @typescript-eslint/naming-convention,no-underscore-dangle */ diff --git a/packages/arui-scripts-modules/src/module-loader/create-module-fetcher.ts b/packages/arui-scripts-modules/src/module-loader/create-module-fetcher.ts index 59140441..54417532 100644 --- a/packages/arui-scripts-modules/src/module-loader/create-module-fetcher.ts +++ b/packages/arui-scripts-modules/src/module-loader/create-module-fetcher.ts @@ -1,5 +1,3 @@ -// TODO: remove eslint-disable -/* eslint-disable no-underscore-dangle */ import { fetchAppManifest } from './utils/fetch-app-manifest'; import { urlSegmentWithoutEndSlash } from './utils/normalize-url-segment'; import { ModuleResourcesGetter } from './create-module-loader'; diff --git a/packages/arui-scripts-modules/src/module-loader/hooks/use-module-factory.ts b/packages/arui-scripts-modules/src/module-loader/hooks/use-module-factory.ts index a4486235..574d4c8c 100644 --- a/packages/arui-scripts-modules/src/module-loader/hooks/use-module-factory.ts +++ b/packages/arui-scripts-modules/src/module-loader/hooks/use-module-factory.ts @@ -99,7 +99,6 @@ export function useModuleFactory< return; } setLoadingState('rejected'); - // eslint-disable-next-line no-console console.error(error); } } @@ -112,6 +111,7 @@ export function useModuleFactory< abortController.abort(); } }; + // eslint-disable-next-line react-hooks/exhaustive-deps }, [loader]); return { diff --git a/packages/arui-scripts-modules/src/module-loader/hooks/use-module-loader.ts b/packages/arui-scripts-modules/src/module-loader/hooks/use-module-loader.ts index a181e8e9..3e83b197 100644 --- a/packages/arui-scripts-modules/src/module-loader/hooks/use-module-loader.ts +++ b/packages/arui-scripts-modules/src/module-loader/hooks/use-module-loader.ts @@ -65,7 +65,6 @@ export function useModuleLoader({ return; } setLoadingState('rejected'); - // eslint-disable-next-line no-console console.error(error); } } diff --git a/packages/arui-scripts-modules/src/module-loader/hooks/use-module-mounter.ts b/packages/arui-scripts-modules/src/module-loader/hooks/use-module-mounter.ts index b736d1b2..1e98f4c0 100644 --- a/packages/arui-scripts-modules/src/module-loader/hooks/use-module-mounter.ts +++ b/packages/arui-scripts-modules/src/module-loader/hooks/use-module-mounter.ts @@ -96,7 +96,6 @@ export function useModuleMounter(containerId: string, moduleId: strin } // webpack любит двойные подчеркивания для внутренних функций - // eslint-disable-next-line @typescript-eslint/naming-convention await container.init(__webpack_share_scopes__.default); const factory = await container.get(moduleId); diff --git a/packages/arui-scripts-server/.eslintrc.js b/packages/arui-scripts-server/.eslintrc.js index 844be1be..925f395b 100644 --- a/packages/arui-scripts-server/.eslintrc.js +++ b/packages/arui-scripts-server/.eslintrc.js @@ -2,9 +2,12 @@ module.exports = { root: true, extends: ['custom/common'], parserOptions: { - tsconfigRootDir: __dirname, - project: [ - './tsconfig.eslint.json' - ], - }, -}; \ No newline at end of file + tsconfigRootDir: __dirname, + project: ['./tsconfig.eslint.json'], + }, + rules: { + 'no-underscore-dangle': 'off', + '@typescript-eslint/naming-convention': 'off', + 'no-console': 'off', + }, +}; diff --git a/packages/arui-scripts-server/src/hapi-20.ts b/packages/arui-scripts-server/src/hapi-20.ts index ee52486c..9660e430 100644 --- a/packages/arui-scripts-server/src/hapi-20.ts +++ b/packages/arui-scripts-server/src/hapi-20.ts @@ -1,4 +1,3 @@ -// TODO: remove eslint-disable-next-line import type { Plugin, Request } from 'hapi20'; import { createGetModulesMethod, ModulesConfig } from './modules'; @@ -19,7 +18,6 @@ export function createGetModulesHapi20Plugin( options: { ...routeParams, }, - // eslint-disable-next-line consistent-return handler: async (request, h) => { try { return await modulesMethodSettings.handler(request.payload as any, request); @@ -28,6 +26,8 @@ export function createGetModulesHapi20Plugin( error: e.message, status: 500, }).code(500); + + return undefined; } }, }); diff --git a/packages/arui-scripts-server/src/modules/create-get-modules-method.ts b/packages/arui-scripts-server/src/modules/create-get-modules-method.ts index 72e669a5..ee1703a1 100644 --- a/packages/arui-scripts-server/src/modules/create-get-modules-method.ts +++ b/packages/arui-scripts-server/src/modules/create-get-modules-method.ts @@ -1,4 +1,3 @@ -// TODO: remove eslint-disable-next-line import type { GetResourcesRequest, ModuleResources } from '@alfalab/scripts-modules'; import { getAppManifest, readAssetsManifest } from '../read-assets-manifest'; @@ -51,7 +50,6 @@ export function createGetModulesMethod( ...moduleRunParams, hostAppId: getResourcesRequest.hostAppId, }, - // eslint-disable-next-line no-underscore-dangle appName: appManifest.__metadata__.name, }; }, diff --git a/packages/example/.eslintrc.js b/packages/example/.eslintrc.js index f56d29d3..6bf4a149 100644 --- a/packages/example/.eslintrc.js +++ b/packages/example/.eslintrc.js @@ -5,4 +5,9 @@ module.exports = { tsconfigRootDir: __dirname, project: ['./tsconfig.eslint.json', './validate-build/tsconfig.json'], }, + rules: { + 'import/no-extraneous-dependencies': 'off', + 'no-console': 'off', + 'no-restricted-syntax': 'off', + }, }; diff --git a/packages/example/arui-scripts.overrides.ts b/packages/example/arui-scripts.overrides.ts index e69fb5b9..032c9f6b 100644 --- a/packages/example/arui-scripts.overrides.ts +++ b/packages/example/arui-scripts.overrides.ts @@ -1,28 +1,21 @@ -// TODO: remove eslint-disable-next-line +import path from 'path'; + import { OverrideFile } from 'arui-scripts'; -// eslint-disable-next-line @typescript-eslint/ban-ts-comment -// @ts-ignore -import path from 'node:path'; -// eslint-disable-next-line import/no-extraneous-dependencies import {RuleSetRule} from 'webpack'; const overrides: OverrideFile = { - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore webpackClient: (config, appConfig, { createSingleClientWebpackConfig, findLoader }) => { const workerConfig = createSingleClientWebpackConfig( { worker: './src/worker.ts' }, 'worker', ); - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore - workerConfig.output.filename = 'worker.js'; + if (workerConfig.output) { + workerConfig.output.filename = 'worker.js'; + } const rootConfigList = Array.isArray(config) ? config : [config]; - // Делаем стабильные имена классов css модулей для тестирования - // eslint-disable-next-line no-restricted-syntax for (const rootConfig of rootConfigList) { const cssModulesLoader = findLoader(rootConfig, '/\\.module\\.css$/'); @@ -53,10 +46,15 @@ const overrides: OverrideFile = { const allConfigs = Array.isArray(config) ? config : [config]; return allConfigs.map((config) => { - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore - // eslint-disable-next-line no-param-reassign - config.optimization.minimize = false; + if (config.optimization) { + return { + ...config, + optimization: { + ...config.optimization, + minimize: false, + } + } + } return config; }); diff --git a/packages/example/src/client.tsx b/packages/example/src/client.tsx index b86106fe..631dcc47 100644 --- a/packages/example/src/client.tsx +++ b/packages/example/src/client.tsx @@ -1,4 +1,3 @@ -// TODO: remove eslint-disable-next-line import React from 'react'; import ReactDOM from 'react-dom'; @@ -9,9 +8,8 @@ const targetElement = document.getElementById('app'); if (process.env.NODE_ENV !== 'production' && module.hot) { ReactDOM.render(, targetElement); - module.hot.accept('./components/app', () => { - // eslint-disable-next-line global-require, @typescript-eslint/no-var-requires - const NextAppAssignments = require('./components/app').App; + module.hot.accept('./components/app', async () => { + const NextAppAssignments = await import('./components/app').then(({ App }) => App); ReactDOM.render(, targetElement); }); diff --git a/packages/example/src/utils.ts b/packages/example/src/utils.ts index 31ab60a6..e891b1b6 100644 --- a/packages/example/src/utils.ts +++ b/packages/example/src/utils.ts @@ -1,16 +1,13 @@ -// TODO: remove eslint-disable -/* eslint-disable no-param-reassign */ -/* eslint-disable operator-assignment */ export enum YesNoEnum { Yes = 'Yes', No = 'No', } export function isSmaller(a: number, b: number) { - a = a * 10_000; - b = b * 10_000; + const calculatedA = a * 10_000; + const calculatedB = b * 10_000; - return a > b ? YesNoEnum.Yes : YesNoEnum.No; + return calculatedA > calculatedB ? YesNoEnum.Yes : YesNoEnum.No; } type OptionalChainingTest = { diff --git a/packages/example/src/worker.ts b/packages/example/src/worker.ts index 469babd0..b332c5fb 100644 --- a/packages/example/src/worker.ts +++ b/packages/example/src/worker.ts @@ -1,10 +1,6 @@ -// TODO: remove eslint-disable -/* eslint-disable no-console */ -/* eslint-disable no-restricted-globals */ -// This code executes in its own worker or thread -self.addEventListener('install', () => { +globalThis.addEventListener('install', () => { console.log('Service worker installed'); }); -self.addEventListener('activate', () => { +globalThis.addEventListener('activate', () => { console.log('Service worker activated'); });