import js from "@eslint/js"; import globals from "globals"; import reactHooks from "eslint-plugin-react-hooks"; import tseslint from "typescript-eslint"; export default tseslint.config( { ignores: ["dist", ".wrangler"] }, js.configs.recommended, ...tseslint.configs.recommended, { files: ["**/*.{ts,tsx}"], languageOptions: { ecmaVersion: 2023, sourceType: "module", globals: { ...globals.browser, ...globals.worker }, }, plugins: { "react-hooks": reactHooks }, rules: { ...reactHooks.configs.recommended.rules, }, }, { // wasm-vips and the jSquash codecs ship without types; `any` is the // unavoidable boundary for these untyped WASM modules. files: ["src/lib/vips.ts", "src/workers/export.worker.ts"], rules: { "@typescript-eslint/no-explicit-any": "off" }, }, );