Conversation
|
There was a problem hiding this comment.
Pull request overview
Updates the project’s linting/tooling stack for ESLint v10, along with small TypeScript safety improvements in error handling.
Changes:
- Upgrade ESLint-related dependencies (ESLint v10,
@eslint/jsv10, typescript-eslint, etc.) and bump package version. - Replace the previous
eslint.config.mjswith a neweslint.config.tsflat config. - Tighten error typing from
anytounknownand update the logger helper accordingly.
Reviewed changes
Copilot reviewed 7 out of 9 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| tsconfig.json | Adds an explicit include for src/**/*. |
| src/utils/logger.ts | Changes logger API to accept unknown and normalizes non-Error inputs. |
| src/managers/EventManager.ts | Changes catch variable type from any to unknown. |
| src/client/StelliaUtils.ts | Changes catch variable type from any to unknown in multiple handlers. |
| package.json | Bumps version and upgrades lint/tooling dependencies; adjusts lint script. |
| pnpm-lock.yaml | Lockfile updates for new ESLint/tooling versions and transitive deps. |
| eslint.config.ts | Introduces new ESLint v10 flat config in TypeScript. |
| eslint.config.mjs | Removes the prior ESLint config file. |
| README.md | Updates a section header (currently introduces a typo). |
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| files: ["**/*.{js,mjs,cjs,ts,mts,cts}"], | ||
| plugins: { js }, | ||
| extends: ["js/recommended"], |
There was a problem hiding this comment.
In flat config, @eslint/js is a set of config objects (e.g. js.configs.recommended), not an ESLint plugin. Using plugins: { js } plus extends: ["js/recommended"] is likely invalid and will prevent ESLint from loading the config. Consider replacing this block with js.configs.recommended (and any desired languageOptions) as a config entry instead of using extends/plugins here.
| files: ["**/*.{js,mjs,cjs,ts,mts,cts}"], | |
| plugins: { js }, | |
| extends: ["js/recommended"], | |
| ...js.configs.recommended, | |
| files: ["**/*.{js,mjs,cjs,ts,mts,cts}"], |
| }, | ||
| ts.configs.recommended, | ||
| importPlugin.flatConfigs.recommended, |
There was a problem hiding this comment.
ts.configs.recommended is an array of config objects in typescript-eslint; adding it as a single element here can create a nested array that ESLint won't understand. Use a spread (...ts.configs.recommended) or switch back to the ts.config(...) helper to flatten configs.
| errorWithInformation: (message: string, error: Error) => { | ||
| console.error(`${logSymbols.error} ${prefix} ${message}: `, error); | ||
| errorWithInformation: (message: string, error: unknown) => { | ||
| const err = error instanceof Error ? error : new Error(String(error)); |
There was a problem hiding this comment.
Wrapping non-Error throwables with new Error(String(error)) can discard useful details (e.g., thrown objects become "[object Object]"), which is a regression from logging the original value. Consider logging the original error alongside a normalized Error (or only normalizing when typeof error === "string") so you don’t lose diagnostic context.
| const err = error instanceof Error ? error : new Error(String(error)); | |
| const err = error instanceof Error ? error : typeof error === "string" ? new Error(error) : error; |
| # StelliaJS | ||
|
|
||
| ## About | ||
| ## Accbout |
There was a problem hiding this comment.
Typo in the section header: Accbout should be About.
| ## Accbout | |
| ## About |



No description provided.