Removed deprecated '@typescript-eslint/no-unsafe-arguments' rule from ESLint config. Updated various dependencies in package.json and package-lock.json, including ESLint, @typescript-eslint, @embedpdf, and related plugins to their latest versions for improved compatibility and features.
# Description of Changes
Add linting to ensure correct imports style is used.
I've disabled the linting for two imports which use relative paths
because the files they're importing are siblings to core and
proprietary. They could probs be imported by `@app/../assets/xxx` but it
seems silly. The other thing we could do is add an explicit `@assets`
path alias or something, but it seemed more complex than just disabling
the lint for those two imports at this stage. We could always do it in
the future if we want to import stuff up there a lot in the future.
Changed several ESLint and TypeScript rules from 'warn' or 'off' to 'error' to enforce stricter code quality and consistency. This includes React hooks, prop-types, unused variables, and various TypeScript safety checks.
Disabled the '@typescript-eslint/array-type' and '@typescript-eslint/no-explicit-any' rules in the ESLint configuration for better codebase compatibility. Added parser options for ECMAScript modules. Also updated the Vite dependency from version 7.1.10 to 7.1.12.
# Description of Changes
Refactors code to avoid circular imports everywhere and adds linting for
circular imports to ensure it doesn't happen again. Most changes are
around the tool registry, making it a provider, and splitting into tool
types to make it easier for things like Automate to only have access to
tools excluding itself.
Extend tsconfig.json from @tsconfig/vite-react and add the package to dependencies. Adjust TypeScript compiler options for improved compatibility with Vite and React, including type inclusions and path aliases. Simplify ESLint config to use recommended settings and remove TypeScript-specific parser options.
Refines the ESLint TypeScript parser configuration by specifying allowed default projects for certain files and setting the default project to './tsconfig.json'. This improves linting accuracy for the listed files.
# Description of Changes
There's no current linter running over our TypeScript code, which means
we've got a bunch of dead code and other code smells around with nothing
notifying us. This PR adds ESLint with the typescript-eslint plugin and
enables the recommended settings as a starting point for us.
I've disabled all of the failing rules for the scope of this PR, just to
get linting running without causing a massive diff. I'll follow up with
future PRs that enable the failing rules one by one.
Also updates our version of TypeScript, which introduces a new type
error in the code (which I've had to fix)