@@ -13,9 +13,8 @@ import unusedImports from "eslint-plugin-unused-imports";
1313import globals from "globals" ;
1414
1515import { readFileSync } from "fs" ;
16- import { dirname } from "node:path" ;
17- import { fileURLToPath } from "node:url" ;
18- import { resolve } from "path" ;
16+ import { dirname , resolve } from "path" ;
17+ import { fileURLToPath } from "url" ;
1918
2019const { configs } = pkg ;
2120
@@ -206,18 +205,89 @@ const evalConfig = {
206205 "error" ,
207206 {
208207 builtinGlobals : true ,
209- allow : [
210- "location" ,
211- "event" ,
212- "history" ,
213- "name" ,
214- "status" ,
215- "Option" ,
216- "test" ,
217- "expect" ,
218- "jest" ,
219- "PropertyDefinition" ,
220- ] ,
208+ allow : [ "name" , "PropertyDefinition" ] ,
209+ } ,
210+ ] ,
211+ } ,
212+ } ;
213+
214+ const subgraphExtends = fixupConfigRules (
215+ compat . extends (
216+ "airbnb" ,
217+ "prettier" ,
218+ "plugin:import/recommended" ,
219+ "plugin:@typescript-eslint/eslint-recommended" ,
220+ "plugin:@typescript-eslint/recommended" ,
221+ "plugin:@typescript-eslint/strict" ,
222+ "plugin:@typescript-eslint/stylistic" ,
223+ "plugin:import/typescript" ,
224+ "plugin:@typescript-eslint/stylistic-type-checked" ,
225+ ) ,
226+ ) ;
227+
228+ const subgraphConfig = {
229+ files : [ "subgraph/src/**/*.ts" , "subgraph/tests/**/*.ts" ] ,
230+ extends : subgraphExtends ,
231+ plugins : sharedPlugins ,
232+ languageOptions : {
233+ parser : tsParser ,
234+ sourceType : "module" ,
235+ ecmaVersion : 2022 ,
236+ globals : globals . node ,
237+ parserOptions : {
238+ ...sharedParserOptions ,
239+ project : resolve ( __dirname , "./subgraph/tsconfig.json" ) ,
240+ } ,
241+ } ,
242+ settings : {
243+ react : { version : "999.999.999" } ,
244+ "import/resolver" : {
245+ typescript : { } ,
246+ node : { extensions : [ ".ts" , ".js" ] , moduleDirectory : [ "node_modules" , "src" , "tests" , "generated" ] } ,
247+ } ,
248+ } ,
249+ linterOptions : { reportUnusedDisableDirectives : isProduction } ,
250+ rules : {
251+ ...sharedRules ,
252+ "import/no-unresolved" : [ "error" , { ignore : [ "generated" ] } ] ,
253+ "import/no-extraneous-dependencies" : [
254+ "error" ,
255+ {
256+ devDependencies : [ "**/*.test.ts" , "**/tests/**" ] ,
257+ } ,
258+ ] ,
259+ "no-debugger" : isProduction ? "error" : "off" ,
260+ "no-underscore-dangle" : "error" ,
261+ "no-redeclare" : [ "error" , { builtinGlobals : true } ] ,
262+ "import/order" : [
263+ "error" ,
264+ {
265+ groups : [ "external" , "builtin" , "internal" , "type" , "parent" , "sibling" , "index" , "object" ] ,
266+ alphabetize : { order : "asc" , caseInsensitive : true } ,
267+ warnOnUnassignedImports : true ,
268+ "newlines-between" : "always" ,
269+ } ,
270+ ] ,
271+ "import/prefer-default-export" : "off" ,
272+ "import/extensions" : [ "error" , { json : "always" } ] ,
273+ "class-methods-use-this" : "off" ,
274+ "prefer-promise-reject-errors" : "off" ,
275+ "max-classes-per-file" : "off" ,
276+ "no-use-before-define" : [ "off" ] ,
277+ "no-shadow" : "off" ,
278+ curly : [ "error" , "all" ] ,
279+ "no-return-await" : "off" ,
280+ "prefer-destructuring" : "off" ,
281+ "@typescript-eslint/prefer-for-of" : "off" ,
282+ "@typescript-eslint/consistent-type-imports" : "off" ,
283+ "@typescript-eslint/explicit-member-accessibility" : [ "error" , { accessibility : "no-public" } ] ,
284+ "@typescript-eslint/explicit-module-boundary-types" : "error" ,
285+ "@typescript-eslint/no-use-before-define" : [ "error" , { functions : false , classes : false } ] ,
286+ "@typescript-eslint/no-shadow" : [
287+ "error" ,
288+ {
289+ builtinGlobals : true ,
290+ allow : [ "BigInt" , "Request" , "describe" , "afterEach" , "beforeEach" , "beforeAll" ] ,
221291 } ,
222292 ] ,
223293 } ,
@@ -228,5 +298,6 @@ const evalConfig = {
228298export default defineConfig ( [
229299 gasConfig ,
230300 evalConfig ,
231- globalIgnores ( [ "**/node_modules" , "**/dist" , "**/coverage" , "**/build" , "eslint.config.js" ] ) ,
301+ subgraphConfig ,
302+ globalIgnores ( [ "**/node_modules" , "**/dist" , "**/coverage" , "**/build" , "eslint.config.js" , "subgraph/generated" ] ) ,
232303] ) ;
0 commit comments