Explorar el Código

fix: linter setup

Karol Sójko hace 3 años
padre
commit
c62ff8f5c9

+ 56 - 0
.eslintrc

@@ -0,0 +1,56 @@
+{
+  "root": true,
+  "parser": "@typescript-eslint/parser",
+  "parserOptions": {
+    "project": "./tsconfig.json"
+  },
+  "plugins": ["@typescript-eslint", "prettier"],
+  "extends": [
+    "eslint:recommended",
+    "plugin:@typescript-eslint/eslint-recommended",
+    "plugin:@typescript-eslint/recommended",
+    "prettier"
+  ],
+  "rules": {
+    "@typescript-eslint/no-unused-vars": [
+      "error",
+      {
+        "vars": "all",
+        "args": "after-used",
+        "ignoreRestSiblings": false,
+        "argsIgnorePattern": "^_",
+        "varsIgnorePattern": "^_"
+      }
+    ],
+    "@typescript-eslint/no-explicit-any": ["error", { "ignoreRestArgs": true }],
+    "@typescript-eslint/no-floating-promises": ["error"],
+    "block-scoped-var": "error",
+    "comma-dangle": ["error", "always-multiline"],
+    "curly": ["error", "all"],
+    "no-confusing-arrow": "error",
+    "no-inline-comments": "warn",
+    "no-invalid-this": "error",
+    "no-return-assign": "warn",
+    "no-constructor-return": "error",
+    "no-duplicate-imports": "error",
+    "no-self-compare": "error",
+    "no-console": ["error", { "allow": ["warn", "error"] }],
+    "no-unmodified-loop-condition": "error",
+    "no-unused-private-class-members": "error",
+    "object-curly-spacing": ["error", "always"],
+    "quotes": ["error", "single", { "avoidEscape": true }],
+    "semi": ["error", "never"],
+    "prettier/prettier": [
+      "error",
+      {
+        "singleQuote": true,
+        "trailingComma": "all",
+        "printWidth": 120,
+        "semi": false
+      },
+      {
+        "usePrettierrc": false
+      }
+    ]
+  }
+}

+ 91 - 195
.pnp.cjs

@@ -43,10 +43,9 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
             ["@lerna-lite/cli", "npm:1.5.1"],\
             ["@lerna-lite/list", "npm:1.5.1"],\
             ["@lerna-lite/run", "npm:1.5.1"],\
-            ["@standardnotes/config", "npm:2.4.3"],\
-            ["@typescript-eslint/eslint-plugin", "virtual:8859b278716fedf3e7458b5628625f7e35678c418626878559a0b816445001b7e24c55546f4677ba4c20b521aa0cf52cc33ac07deff171e383ada6eeab69933f#npm:5.28.0"],\
-            ["@typescript-eslint/parser", "virtual:8859b278716fedf3e7458b5628625f7e35678c418626878559a0b816445001b7e24c55546f4677ba4c20b521aa0cf52cc33ac07deff171e383ada6eeab69933f#npm:5.28.0"],\
+            ["@typescript-eslint/parser", "virtual:8859b278716fedf3e7458b5628625f7e35678c418626878559a0b816445001b7e24c55546f4677ba4c20b521aa0cf52cc33ac07deff171e383ada6eeab69933f#npm:5.29.0"],\
             ["eslint", "npm:8.18.0"],\
+            ["eslint-config-prettier", "virtual:8859b278716fedf3e7458b5628625f7e35678c418626878559a0b816445001b7e24c55546f4677ba4c20b521aa0cf52cc33ac07deff171e383ada6eeab69933f#npm:8.5.0"],\
             ["prettier", "npm:2.7.1"],\
             ["ts-node", "virtual:8859b278716fedf3e7458b5628625f7e35678c418626878559a0b816445001b7e24c55546f4677ba4c20b521aa0cf52cc33ac07deff171e383ada6eeab69933f#npm:10.8.1"],\
             ["typescript", "patch:typescript@npm%3A4.7.4#~builtin<compat/typescript>::version=4.7.4&hash=7ad353"]\
@@ -2355,20 +2354,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
           "linkType": "HARD"\
         }]\
       ]],\
-      ["@standardnotes/config", [\
-        ["npm:2.4.3", {\
-          "packageLocation": "./.yarn/cache/@standardnotes-config-npm-2.4.3-f16699e480-b57b49242a.zip/node_modules/@standardnotes/config/",\
-          "packageDependencies": [\
-            ["@standardnotes/config", "npm:2.4.3"],\
-            ["@typescript-eslint/eslint-plugin", "virtual:f16699e48080c5e5e9044bd1b8263f17d30ec4f2835602b65a6ea6943ccc23f384f86fef49b1a9c9121abd253bf13b0c7eae76bcc1f8a8c3112948cf6fbfbbcb#npm:5.28.0"],\
-            ["@typescript-eslint/parser", "virtual:f16699e48080c5e5e9044bd1b8263f17d30ec4f2835602b65a6ea6943ccc23f384f86fef49b1a9c9121abd253bf13b0c7eae76bcc1f8a8c3112948cf6fbfbbcb#npm:5.28.0"],\
-            ["eslint-config-prettier", "virtual:f16699e48080c5e5e9044bd1b8263f17d30ec4f2835602b65a6ea6943ccc23f384f86fef49b1a9c9121abd253bf13b0c7eae76bcc1f8a8c3112948cf6fbfbbcb#npm:8.5.0"],\
-            ["eslint-plugin-prettier", "virtual:f16699e48080c5e5e9044bd1b8263f17d30ec4f2835602b65a6ea6943ccc23f384f86fef49b1a9c9121abd253bf13b0c7eae76bcc1f8a8c3112948cf6fbfbbcb#npm:4.0.0"],\
-            ["prettier", "npm:2.7.1"]\
-          ],\
-          "linkType": "HARD"\
-        }]\
-      ]],\
       ["@standardnotes/domain-events", [\
         ["npm:2.32.2", {\
           "packageLocation": "./.yarn/cache/@standardnotes-domain-events-npm-2.32.2-73adf7a999-54da5fc885.zip/node_modules/@standardnotes/domain-events/",\
@@ -2434,9 +2419,11 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
             ["@types/jest", "npm:28.1.2"],\
             ["@types/newrelic", "npm:7.0.3"],\
             ["@types/node", "npm:18.0.0"],\
+            ["@typescript-eslint/eslint-plugin", "virtual:16bfd8597041deb71e4581ea0755edd4dcd1b09b8ab14bfbbf5e4d5ca6b5d47ed7fbe2a25cdf57fcbb8e092c30b6beb93d2e7533f9e31c5dc62f7f0e487d1e4b#npm:5.29.0"],\
             ["aws-sdk", "npm:2.1158.0"],\
             ["dayjs", "npm:1.11.3"],\
             ["dotenv", "npm:8.2.0"],\
+            ["eslint-plugin-prettier", "virtual:16bfd8597041deb71e4581ea0755edd4dcd1b09b8ab14bfbbf5e4d5ca6b5d47ed7fbe2a25cdf57fcbb8e092c30b6beb93d2e7533f9e31c5dc62f7f0e487d1e4b#npm:4.0.0"],\
             ["inversify", "npm:5.0.5"],\
             ["ioredis", "npm:5.0.6"],\
             ["jest", "virtual:16bfd8597041deb71e4581ea0755edd4dcd1b09b8ab14bfbbf5e4d5ca6b5d47ed7fbe2a25cdf57fcbb8e092c30b6beb93d2e7533f9e31c5dc62f7f0e487d1e4b#npm:28.1.1"],\
@@ -2460,10 +2447,9 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
             ["@lerna-lite/cli", "npm:1.5.1"],\
             ["@lerna-lite/list", "npm:1.5.1"],\
             ["@lerna-lite/run", "npm:1.5.1"],\
-            ["@standardnotes/config", "npm:2.4.3"],\
-            ["@typescript-eslint/eslint-plugin", "virtual:8859b278716fedf3e7458b5628625f7e35678c418626878559a0b816445001b7e24c55546f4677ba4c20b521aa0cf52cc33ac07deff171e383ada6eeab69933f#npm:5.28.0"],\
-            ["@typescript-eslint/parser", "virtual:8859b278716fedf3e7458b5628625f7e35678c418626878559a0b816445001b7e24c55546f4677ba4c20b521aa0cf52cc33ac07deff171e383ada6eeab69933f#npm:5.28.0"],\
+            ["@typescript-eslint/parser", "virtual:8859b278716fedf3e7458b5628625f7e35678c418626878559a0b816445001b7e24c55546f4677ba4c20b521aa0cf52cc33ac07deff171e383ada6eeab69933f#npm:5.29.0"],\
             ["eslint", "npm:8.18.0"],\
+            ["eslint-config-prettier", "virtual:8859b278716fedf3e7458b5628625f7e35678c418626878559a0b816445001b7e24c55546f4677ba4c20b521aa0cf52cc33ac07deff171e383ada6eeab69933f#npm:8.5.0"],\
             ["prettier", "npm:2.7.1"],\
             ["ts-node", "virtual:8859b278716fedf3e7458b5628625f7e35678c418626878559a0b816445001b7e24c55546f4677ba4c20b521aa0cf52cc33ac07deff171e383ada6eeab69933f#npm:10.8.1"],\
             ["typescript", "patch:typescript@npm%3A4.7.4#~builtin<compat/typescript>::version=4.7.4&hash=7ad353"]\
@@ -2750,61 +2736,31 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
         }]\
       ]],\
       ["@typescript-eslint/eslint-plugin", [\
-        ["npm:5.28.0", {\
-          "packageLocation": "./.yarn/cache/@typescript-eslint-eslint-plugin-npm-5.28.0-317f9e5a99-49e08865ab.zip/node_modules/@typescript-eslint/eslint-plugin/",\
+        ["npm:5.29.0", {\
+          "packageLocation": "./.yarn/cache/@typescript-eslint-eslint-plugin-npm-5.29.0-d7e482bb3e-b1022a640f.zip/node_modules/@typescript-eslint/eslint-plugin/",\
           "packageDependencies": [\
-            ["@typescript-eslint/eslint-plugin", "npm:5.28.0"]\
+            ["@typescript-eslint/eslint-plugin", "npm:5.29.0"]\
           ],\
           "linkType": "SOFT"\
         }],\
-        ["virtual:8859b278716fedf3e7458b5628625f7e35678c418626878559a0b816445001b7e24c55546f4677ba4c20b521aa0cf52cc33ac07deff171e383ada6eeab69933f#npm:5.28.0", {\
-          "packageLocation": "./.yarn/__virtual__/@typescript-eslint-eslint-plugin-virtual-bcde94bba0/0/cache/@typescript-eslint-eslint-plugin-npm-5.28.0-317f9e5a99-49e08865ab.zip/node_modules/@typescript-eslint/eslint-plugin/",\
-          "packageDependencies": [\
-            ["@typescript-eslint/eslint-plugin", "virtual:8859b278716fedf3e7458b5628625f7e35678c418626878559a0b816445001b7e24c55546f4677ba4c20b521aa0cf52cc33ac07deff171e383ada6eeab69933f#npm:5.28.0"],\
-            ["@types/eslint", null],\
-            ["@types/typescript", null],\
-            ["@types/typescript-eslint__parser", null],\
-            ["@typescript-eslint/parser", "virtual:8859b278716fedf3e7458b5628625f7e35678c418626878559a0b816445001b7e24c55546f4677ba4c20b521aa0cf52cc33ac07deff171e383ada6eeab69933f#npm:5.28.0"],\
-            ["@typescript-eslint/scope-manager", "npm:5.28.0"],\
-            ["@typescript-eslint/type-utils", "virtual:bcde94bba055db34ad4d0962b99f7e44ad2f05f0b766b1aa711a7684fa27ed8fd790b59c8e50201e7aa1c27d5c81967e28a4a3bff1c657fceec70d433b9220e5#npm:5.28.0"],\
-            ["@typescript-eslint/utils", "virtual:bcde94bba055db34ad4d0962b99f7e44ad2f05f0b766b1aa711a7684fa27ed8fd790b59c8e50201e7aa1c27d5c81967e28a4a3bff1c657fceec70d433b9220e5#npm:5.28.0"],\
-            ["debug", "virtual:b86a9fb34323a98c6519528ed55faa0d9b44ca8879307c0b29aa384bde47ff59a7d0c9051b31246f14521dfb71ba3c5d6d0b35c29fffc17bf875aa6ad977d9e8#npm:4.3.4"],\
-            ["eslint", "npm:8.18.0"],\
-            ["functional-red-black-tree", "npm:1.0.1"],\
-            ["ignore", "npm:5.2.0"],\
-            ["regexpp", "npm:3.2.0"],\
-            ["semver", "npm:7.3.7"],\
-            ["tsutils", "virtual:bcde94bba055db34ad4d0962b99f7e44ad2f05f0b766b1aa711a7684fa27ed8fd790b59c8e50201e7aa1c27d5c81967e28a4a3bff1c657fceec70d433b9220e5#npm:3.21.0"],\
-            ["typescript", "patch:typescript@npm%3A4.7.4#~builtin<compat/typescript>::version=4.7.4&hash=7ad353"]\
-          ],\
-          "packagePeers": [\
-            "@types/eslint",\
-            "@types/typescript-eslint__parser",\
-            "@types/typescript",\
-            "@typescript-eslint/parser",\
-            "eslint",\
-            "typescript"\
-          ],\
-          "linkType": "HARD"\
-        }],\
-        ["virtual:f16699e48080c5e5e9044bd1b8263f17d30ec4f2835602b65a6ea6943ccc23f384f86fef49b1a9c9121abd253bf13b0c7eae76bcc1f8a8c3112948cf6fbfbbcb#npm:5.28.0", {\
-          "packageLocation": "./.yarn/__virtual__/@typescript-eslint-eslint-plugin-virtual-976989bd67/0/cache/@typescript-eslint-eslint-plugin-npm-5.28.0-317f9e5a99-49e08865ab.zip/node_modules/@typescript-eslint/eslint-plugin/",\
+        ["virtual:16bfd8597041deb71e4581ea0755edd4dcd1b09b8ab14bfbbf5e4d5ca6b5d47ed7fbe2a25cdf57fcbb8e092c30b6beb93d2e7533f9e31c5dc62f7f0e487d1e4b#npm:5.29.0", {\
+          "packageLocation": "./.yarn/__virtual__/@typescript-eslint-eslint-plugin-virtual-f8d5e1f46d/0/cache/@typescript-eslint-eslint-plugin-npm-5.29.0-d7e482bb3e-b1022a640f.zip/node_modules/@typescript-eslint/eslint-plugin/",\
           "packageDependencies": [\
-            ["@typescript-eslint/eslint-plugin", "virtual:f16699e48080c5e5e9044bd1b8263f17d30ec4f2835602b65a6ea6943ccc23f384f86fef49b1a9c9121abd253bf13b0c7eae76bcc1f8a8c3112948cf6fbfbbcb#npm:5.28.0"],\
+            ["@typescript-eslint/eslint-plugin", "virtual:16bfd8597041deb71e4581ea0755edd4dcd1b09b8ab14bfbbf5e4d5ca6b5d47ed7fbe2a25cdf57fcbb8e092c30b6beb93d2e7533f9e31c5dc62f7f0e487d1e4b#npm:5.29.0"],\
             ["@types/eslint", null],\
             ["@types/typescript", null],\
             ["@types/typescript-eslint__parser", null],\
-            ["@typescript-eslint/parser", "virtual:f16699e48080c5e5e9044bd1b8263f17d30ec4f2835602b65a6ea6943ccc23f384f86fef49b1a9c9121abd253bf13b0c7eae76bcc1f8a8c3112948cf6fbfbbcb#npm:5.28.0"],\
-            ["@typescript-eslint/scope-manager", "npm:5.28.0"],\
-            ["@typescript-eslint/type-utils", "virtual:976989bd67000eec35b2167717c6dea150dc9a1d67a4faa714b93eb1e7cea711e90e8e38bd79ec1dd35661eb7010576a583b289cbe1337e42152f4c82cf836f6#npm:5.28.0"],\
-            ["@typescript-eslint/utils", "virtual:976989bd67000eec35b2167717c6dea150dc9a1d67a4faa714b93eb1e7cea711e90e8e38bd79ec1dd35661eb7010576a583b289cbe1337e42152f4c82cf836f6#npm:5.28.0"],\
+            ["@typescript-eslint/parser", null],\
+            ["@typescript-eslint/scope-manager", "npm:5.29.0"],\
+            ["@typescript-eslint/type-utils", "virtual:f8d5e1f46dbb2f1fb352e8d15f1237589f03161f87569a6446ffa325c842024c20e3b7f196872650fbbdc62125c711d99dd1c2ba271f15e9b316292a2dec51bc#npm:5.29.0"],\
+            ["@typescript-eslint/utils", "virtual:f8d5e1f46dbb2f1fb352e8d15f1237589f03161f87569a6446ffa325c842024c20e3b7f196872650fbbdc62125c711d99dd1c2ba271f15e9b316292a2dec51bc#npm:5.29.0"],\
             ["debug", "virtual:b86a9fb34323a98c6519528ed55faa0d9b44ca8879307c0b29aa384bde47ff59a7d0c9051b31246f14521dfb71ba3c5d6d0b35c29fffc17bf875aa6ad977d9e8#npm:4.3.4"],\
             ["eslint", null],\
             ["functional-red-black-tree", "npm:1.0.1"],\
             ["ignore", "npm:5.2.0"],\
             ["regexpp", "npm:3.2.0"],\
             ["semver", "npm:7.3.7"],\
-            ["tsutils", "virtual:976989bd67000eec35b2167717c6dea150dc9a1d67a4faa714b93eb1e7cea711e90e8e38bd79ec1dd35661eb7010576a583b289cbe1337e42152f4c82cf836f6#npm:3.21.0"],\
+            ["tsutils", "virtual:f8d5e1f46dbb2f1fb352e8d15f1237589f03161f87569a6446ffa325c842024c20e3b7f196872650fbbdc62125c711d99dd1c2ba271f15e9b316292a2dec51bc#npm:3.21.0"],\
             ["typescript", null]\
           ],\
           "packagePeers": [\
@@ -2819,22 +2775,22 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
         }]\
       ]],\
       ["@typescript-eslint/parser", [\
-        ["npm:5.28.0", {\
-          "packageLocation": "./.yarn/cache/@typescript-eslint-parser-npm-5.28.0-9511c58950-cb18ff47b0.zip/node_modules/@typescript-eslint/parser/",\
+        ["npm:5.29.0", {\
+          "packageLocation": "./.yarn/cache/@typescript-eslint-parser-npm-5.29.0-491a7f9690-7805796638.zip/node_modules/@typescript-eslint/parser/",\
           "packageDependencies": [\
-            ["@typescript-eslint/parser", "npm:5.28.0"]\
+            ["@typescript-eslint/parser", "npm:5.29.0"]\
           ],\
           "linkType": "SOFT"\
         }],\
-        ["virtual:8859b278716fedf3e7458b5628625f7e35678c418626878559a0b816445001b7e24c55546f4677ba4c20b521aa0cf52cc33ac07deff171e383ada6eeab69933f#npm:5.28.0", {\
-          "packageLocation": "./.yarn/__virtual__/@typescript-eslint-parser-virtual-16fcd2e24e/0/cache/@typescript-eslint-parser-npm-5.28.0-9511c58950-cb18ff47b0.zip/node_modules/@typescript-eslint/parser/",\
+        ["virtual:8859b278716fedf3e7458b5628625f7e35678c418626878559a0b816445001b7e24c55546f4677ba4c20b521aa0cf52cc33ac07deff171e383ada6eeab69933f#npm:5.29.0", {\
+          "packageLocation": "./.yarn/__virtual__/@typescript-eslint-parser-virtual-451c3112c8/0/cache/@typescript-eslint-parser-npm-5.29.0-491a7f9690-7805796638.zip/node_modules/@typescript-eslint/parser/",\
           "packageDependencies": [\
-            ["@typescript-eslint/parser", "virtual:8859b278716fedf3e7458b5628625f7e35678c418626878559a0b816445001b7e24c55546f4677ba4c20b521aa0cf52cc33ac07deff171e383ada6eeab69933f#npm:5.28.0"],\
+            ["@typescript-eslint/parser", "virtual:8859b278716fedf3e7458b5628625f7e35678c418626878559a0b816445001b7e24c55546f4677ba4c20b521aa0cf52cc33ac07deff171e383ada6eeab69933f#npm:5.29.0"],\
             ["@types/eslint", null],\
             ["@types/typescript", null],\
-            ["@typescript-eslint/scope-manager", "npm:5.28.0"],\
-            ["@typescript-eslint/types", "npm:5.28.0"],\
-            ["@typescript-eslint/typescript-estree", "virtual:16fcd2e24ebdbe99536bbceb4847843cc0d4a16f18e9e2a54bd8e311f29a4f9f4e905fc5d7f7de93dd51c91feda0666e7a788a4733373c7e1c11505b6ecb8ba4#npm:5.28.0"],\
+            ["@typescript-eslint/scope-manager", "npm:5.29.0"],\
+            ["@typescript-eslint/types", "npm:5.29.0"],\
+            ["@typescript-eslint/typescript-estree", "virtual:451c3112c8ebc24954be5135e65b7a370326adef1f6bb7aaca3ef2abc346ee165ef171b721a7207548ab6a19505983a443fc07f41cc553d4c9c5cddd04862b50#npm:5.29.0"],\
             ["debug", "virtual:b86a9fb34323a98c6519528ed55faa0d9b44ca8879307c0b29aa384bde47ff59a7d0c9051b31246f14521dfb71ba3c5d6d0b35c29fffc17bf875aa6ad977d9e8#npm:4.3.4"],\
             ["eslint", "npm:8.18.0"],\
             ["typescript", "patch:typescript@npm%3A4.7.4#~builtin<compat/typescript>::version=4.7.4&hash=7ad353"]\
@@ -2846,58 +2802,37 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
             "typescript"\
           ],\
           "linkType": "HARD"\
-        }],\
-        ["virtual:f16699e48080c5e5e9044bd1b8263f17d30ec4f2835602b65a6ea6943ccc23f384f86fef49b1a9c9121abd253bf13b0c7eae76bcc1f8a8c3112948cf6fbfbbcb#npm:5.28.0", {\
-          "packageLocation": "./.yarn/__virtual__/@typescript-eslint-parser-virtual-3ebae94670/0/cache/@typescript-eslint-parser-npm-5.28.0-9511c58950-cb18ff47b0.zip/node_modules/@typescript-eslint/parser/",\
-          "packageDependencies": [\
-            ["@typescript-eslint/parser", "virtual:f16699e48080c5e5e9044bd1b8263f17d30ec4f2835602b65a6ea6943ccc23f384f86fef49b1a9c9121abd253bf13b0c7eae76bcc1f8a8c3112948cf6fbfbbcb#npm:5.28.0"],\
-            ["@types/eslint", null],\
-            ["@types/typescript", null],\
-            ["@typescript-eslint/scope-manager", "npm:5.28.0"],\
-            ["@typescript-eslint/types", "npm:5.28.0"],\
-            ["@typescript-eslint/typescript-estree", "virtual:e63d04e5855cb9d06cf3615b4207b11a355cbcc02c759c424cfd814525e218f6cb21825cc98c6a68ad63d0462329601d2ae18bf90b63f52ce4ce46b1f3e42428#npm:5.28.0"],\
-            ["debug", "virtual:b86a9fb34323a98c6519528ed55faa0d9b44ca8879307c0b29aa384bde47ff59a7d0c9051b31246f14521dfb71ba3c5d6d0b35c29fffc17bf875aa6ad977d9e8#npm:4.3.4"],\
-            ["eslint", null],\
-            ["typescript", null]\
-          ],\
-          "packagePeers": [\
-            "@types/eslint",\
-            "@types/typescript",\
-            "eslint",\
-            "typescript"\
-          ],\
-          "linkType": "HARD"\
         }]\
       ]],\
       ["@typescript-eslint/scope-manager", [\
-        ["npm:5.28.0", {\
-          "packageLocation": "./.yarn/cache/@typescript-eslint-scope-manager-npm-5.28.0-226e0104a0-f187fd295d.zip/node_modules/@typescript-eslint/scope-manager/",\
+        ["npm:5.29.0", {\
+          "packageLocation": "./.yarn/cache/@typescript-eslint-scope-manager-npm-5.29.0-03a6d28ed2-540642bef9.zip/node_modules/@typescript-eslint/scope-manager/",\
           "packageDependencies": [\
-            ["@typescript-eslint/scope-manager", "npm:5.28.0"],\
-            ["@typescript-eslint/types", "npm:5.28.0"],\
-            ["@typescript-eslint/visitor-keys", "npm:5.28.0"]\
+            ["@typescript-eslint/scope-manager", "npm:5.29.0"],\
+            ["@typescript-eslint/types", "npm:5.29.0"],\
+            ["@typescript-eslint/visitor-keys", "npm:5.29.0"]\
           ],\
           "linkType": "HARD"\
         }]\
       ]],\
       ["@typescript-eslint/type-utils", [\
-        ["npm:5.28.0", {\
-          "packageLocation": "./.yarn/cache/@typescript-eslint-type-utils-npm-5.28.0-2eff829fc8-05563dab54.zip/node_modules/@typescript-eslint/type-utils/",\
+        ["npm:5.29.0", {\
+          "packageLocation": "./.yarn/cache/@typescript-eslint-type-utils-npm-5.29.0-063d15676f-686b8ff05a.zip/node_modules/@typescript-eslint/type-utils/",\
           "packageDependencies": [\
-            ["@typescript-eslint/type-utils", "npm:5.28.0"]\
+            ["@typescript-eslint/type-utils", "npm:5.29.0"]\
           ],\
           "linkType": "SOFT"\
         }],\
-        ["virtual:976989bd67000eec35b2167717c6dea150dc9a1d67a4faa714b93eb1e7cea711e90e8e38bd79ec1dd35661eb7010576a583b289cbe1337e42152f4c82cf836f6#npm:5.28.0", {\
-          "packageLocation": "./.yarn/__virtual__/@typescript-eslint-type-utils-virtual-f171d55ee5/0/cache/@typescript-eslint-type-utils-npm-5.28.0-2eff829fc8-05563dab54.zip/node_modules/@typescript-eslint/type-utils/",\
+        ["virtual:f8d5e1f46dbb2f1fb352e8d15f1237589f03161f87569a6446ffa325c842024c20e3b7f196872650fbbdc62125c711d99dd1c2ba271f15e9b316292a2dec51bc#npm:5.29.0", {\
+          "packageLocation": "./.yarn/__virtual__/@typescript-eslint-type-utils-virtual-50574b5c8c/0/cache/@typescript-eslint-type-utils-npm-5.29.0-063d15676f-686b8ff05a.zip/node_modules/@typescript-eslint/type-utils/",\
           "packageDependencies": [\
-            ["@typescript-eslint/type-utils", "virtual:976989bd67000eec35b2167717c6dea150dc9a1d67a4faa714b93eb1e7cea711e90e8e38bd79ec1dd35661eb7010576a583b289cbe1337e42152f4c82cf836f6#npm:5.28.0"],\
+            ["@typescript-eslint/type-utils", "virtual:f8d5e1f46dbb2f1fb352e8d15f1237589f03161f87569a6446ffa325c842024c20e3b7f196872650fbbdc62125c711d99dd1c2ba271f15e9b316292a2dec51bc#npm:5.29.0"],\
             ["@types/eslint", null],\
             ["@types/typescript", null],\
-            ["@typescript-eslint/utils", "virtual:976989bd67000eec35b2167717c6dea150dc9a1d67a4faa714b93eb1e7cea711e90e8e38bd79ec1dd35661eb7010576a583b289cbe1337e42152f4c82cf836f6#npm:5.28.0"],\
+            ["@typescript-eslint/utils", "virtual:f8d5e1f46dbb2f1fb352e8d15f1237589f03161f87569a6446ffa325c842024c20e3b7f196872650fbbdc62125c711d99dd1c2ba271f15e9b316292a2dec51bc#npm:5.29.0"],\
             ["debug", "virtual:b86a9fb34323a98c6519528ed55faa0d9b44ca8879307c0b29aa384bde47ff59a7d0c9051b31246f14521dfb71ba3c5d6d0b35c29fffc17bf875aa6ad977d9e8#npm:4.3.4"],\
             ["eslint", null],\
-            ["tsutils", "virtual:976989bd67000eec35b2167717c6dea150dc9a1d67a4faa714b93eb1e7cea711e90e8e38bd79ec1dd35661eb7010576a583b289cbe1337e42152f4c82cf836f6#npm:3.21.0"],\
+            ["tsutils", "virtual:f8d5e1f46dbb2f1fb352e8d15f1237589f03161f87569a6446ffa325c842024c20e3b7f196872650fbbdc62125c711d99dd1c2ba271f15e9b316292a2dec51bc#npm:3.21.0"],\
             ["typescript", null]\
           ],\
           "packagePeers": [\
@@ -2907,57 +2842,37 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
             "typescript"\
           ],\
           "linkType": "HARD"\
-        }],\
-        ["virtual:bcde94bba055db34ad4d0962b99f7e44ad2f05f0b766b1aa711a7684fa27ed8fd790b59c8e50201e7aa1c27d5c81967e28a4a3bff1c657fceec70d433b9220e5#npm:5.28.0", {\
-          "packageLocation": "./.yarn/__virtual__/@typescript-eslint-type-utils-virtual-1280c15ba1/0/cache/@typescript-eslint-type-utils-npm-5.28.0-2eff829fc8-05563dab54.zip/node_modules/@typescript-eslint/type-utils/",\
-          "packageDependencies": [\
-            ["@typescript-eslint/type-utils", "virtual:bcde94bba055db34ad4d0962b99f7e44ad2f05f0b766b1aa711a7684fa27ed8fd790b59c8e50201e7aa1c27d5c81967e28a4a3bff1c657fceec70d433b9220e5#npm:5.28.0"],\
-            ["@types/eslint", null],\
-            ["@types/typescript", null],\
-            ["@typescript-eslint/utils", "virtual:bcde94bba055db34ad4d0962b99f7e44ad2f05f0b766b1aa711a7684fa27ed8fd790b59c8e50201e7aa1c27d5c81967e28a4a3bff1c657fceec70d433b9220e5#npm:5.28.0"],\
-            ["debug", "virtual:b86a9fb34323a98c6519528ed55faa0d9b44ca8879307c0b29aa384bde47ff59a7d0c9051b31246f14521dfb71ba3c5d6d0b35c29fffc17bf875aa6ad977d9e8#npm:4.3.4"],\
-            ["eslint", "npm:8.18.0"],\
-            ["tsutils", "virtual:bcde94bba055db34ad4d0962b99f7e44ad2f05f0b766b1aa711a7684fa27ed8fd790b59c8e50201e7aa1c27d5c81967e28a4a3bff1c657fceec70d433b9220e5#npm:3.21.0"],\
-            ["typescript", "patch:typescript@npm%3A4.7.4#~builtin<compat/typescript>::version=4.7.4&hash=7ad353"]\
-          ],\
-          "packagePeers": [\
-            "@types/eslint",\
-            "@types/typescript",\
-            "eslint",\
-            "typescript"\
-          ],\
-          "linkType": "HARD"\
         }]\
       ]],\
       ["@typescript-eslint/types", [\
-        ["npm:5.28.0", {\
-          "packageLocation": "./.yarn/cache/@typescript-eslint-types-npm-5.28.0-1ca2d9fd34-e948915d6f.zip/node_modules/@typescript-eslint/types/",\
+        ["npm:5.29.0", {\
+          "packageLocation": "./.yarn/cache/@typescript-eslint-types-npm-5.29.0-2bea7f0c9b-982ecdd691.zip/node_modules/@typescript-eslint/types/",\
           "packageDependencies": [\
-            ["@typescript-eslint/types", "npm:5.28.0"]\
+            ["@typescript-eslint/types", "npm:5.29.0"]\
           ],\
           "linkType": "HARD"\
         }]\
       ]],\
       ["@typescript-eslint/typescript-estree", [\
-        ["npm:5.28.0", {\
-          "packageLocation": "./.yarn/cache/@typescript-eslint-typescript-estree-npm-5.28.0-295ef500dc-e7be6e9ff7.zip/node_modules/@typescript-eslint/typescript-estree/",\
+        ["npm:5.29.0", {\
+          "packageLocation": "./.yarn/cache/@typescript-eslint-typescript-estree-npm-5.29.0-f23de2ab5c-b91107a9fc.zip/node_modules/@typescript-eslint/typescript-estree/",\
           "packageDependencies": [\
-            ["@typescript-eslint/typescript-estree", "npm:5.28.0"]\
+            ["@typescript-eslint/typescript-estree", "npm:5.29.0"]\
           ],\
           "linkType": "SOFT"\
         }],\
-        ["virtual:16fcd2e24ebdbe99536bbceb4847843cc0d4a16f18e9e2a54bd8e311f29a4f9f4e905fc5d7f7de93dd51c91feda0666e7a788a4733373c7e1c11505b6ecb8ba4#npm:5.28.0", {\
-          "packageLocation": "./.yarn/__virtual__/@typescript-eslint-typescript-estree-virtual-792c332eee/0/cache/@typescript-eslint-typescript-estree-npm-5.28.0-295ef500dc-e7be6e9ff7.zip/node_modules/@typescript-eslint/typescript-estree/",\
+        ["virtual:451c3112c8ebc24954be5135e65b7a370326adef1f6bb7aaca3ef2abc346ee165ef171b721a7207548ab6a19505983a443fc07f41cc553d4c9c5cddd04862b50#npm:5.29.0", {\
+          "packageLocation": "./.yarn/__virtual__/@typescript-eslint-typescript-estree-virtual-7e6283c452/0/cache/@typescript-eslint-typescript-estree-npm-5.29.0-f23de2ab5c-b91107a9fc.zip/node_modules/@typescript-eslint/typescript-estree/",\
           "packageDependencies": [\
-            ["@typescript-eslint/typescript-estree", "virtual:16fcd2e24ebdbe99536bbceb4847843cc0d4a16f18e9e2a54bd8e311f29a4f9f4e905fc5d7f7de93dd51c91feda0666e7a788a4733373c7e1c11505b6ecb8ba4#npm:5.28.0"],\
+            ["@typescript-eslint/typescript-estree", "virtual:451c3112c8ebc24954be5135e65b7a370326adef1f6bb7aaca3ef2abc346ee165ef171b721a7207548ab6a19505983a443fc07f41cc553d4c9c5cddd04862b50#npm:5.29.0"],\
             ["@types/typescript", null],\
-            ["@typescript-eslint/types", "npm:5.28.0"],\
-            ["@typescript-eslint/visitor-keys", "npm:5.28.0"],\
+            ["@typescript-eslint/types", "npm:5.29.0"],\
+            ["@typescript-eslint/visitor-keys", "npm:5.29.0"],\
             ["debug", "virtual:b86a9fb34323a98c6519528ed55faa0d9b44ca8879307c0b29aa384bde47ff59a7d0c9051b31246f14521dfb71ba3c5d6d0b35c29fffc17bf875aa6ad977d9e8#npm:4.3.4"],\
             ["globby", "npm:11.1.0"],\
             ["is-glob", "npm:4.0.3"],\
             ["semver", "npm:7.3.7"],\
-            ["tsutils", "virtual:bcde94bba055db34ad4d0962b99f7e44ad2f05f0b766b1aa711a7684fa27ed8fd790b59c8e50201e7aa1c27d5c81967e28a4a3bff1c657fceec70d433b9220e5#npm:3.21.0"],\
+            ["tsutils", "virtual:7e6283c4528e09e363e0f4ce42435324235e7eb7e5dea4e9d193466d5d39e529e710edd519b76572a765dc0f3bc1406d11b16a8f1494f47554a275b8d475f222#npm:3.21.0"],\
             ["typescript", "patch:typescript@npm%3A4.7.4#~builtin<compat/typescript>::version=4.7.4&hash=7ad353"]\
           ],\
           "packagePeers": [\
@@ -2966,18 +2881,18 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
           ],\
           "linkType": "HARD"\
         }],\
-        ["virtual:e63d04e5855cb9d06cf3615b4207b11a355cbcc02c759c424cfd814525e218f6cb21825cc98c6a68ad63d0462329601d2ae18bf90b63f52ce4ce46b1f3e42428#npm:5.28.0", {\
-          "packageLocation": "./.yarn/__virtual__/@typescript-eslint-typescript-estree-virtual-464cb4e5d4/0/cache/@typescript-eslint-typescript-estree-npm-5.28.0-295ef500dc-e7be6e9ff7.zip/node_modules/@typescript-eslint/typescript-estree/",\
+        ["virtual:9b3cc2e468ebc82b101c5313a9afa58bf6c93ab196f710844b44e247fc606cd503de5b07cdee6c592a841949dbe5daecc3f46a7ae43ee5bbf7fe046d76ec335e#npm:5.29.0", {\
+          "packageLocation": "./.yarn/__virtual__/@typescript-eslint-typescript-estree-virtual-655881211a/0/cache/@typescript-eslint-typescript-estree-npm-5.29.0-f23de2ab5c-b91107a9fc.zip/node_modules/@typescript-eslint/typescript-estree/",\
           "packageDependencies": [\
-            ["@typescript-eslint/typescript-estree", "virtual:e63d04e5855cb9d06cf3615b4207b11a355cbcc02c759c424cfd814525e218f6cb21825cc98c6a68ad63d0462329601d2ae18bf90b63f52ce4ce46b1f3e42428#npm:5.28.0"],\
+            ["@typescript-eslint/typescript-estree", "virtual:9b3cc2e468ebc82b101c5313a9afa58bf6c93ab196f710844b44e247fc606cd503de5b07cdee6c592a841949dbe5daecc3f46a7ae43ee5bbf7fe046d76ec335e#npm:5.29.0"],\
             ["@types/typescript", null],\
-            ["@typescript-eslint/types", "npm:5.28.0"],\
-            ["@typescript-eslint/visitor-keys", "npm:5.28.0"],\
+            ["@typescript-eslint/types", "npm:5.29.0"],\
+            ["@typescript-eslint/visitor-keys", "npm:5.29.0"],\
             ["debug", "virtual:b86a9fb34323a98c6519528ed55faa0d9b44ca8879307c0b29aa384bde47ff59a7d0c9051b31246f14521dfb71ba3c5d6d0b35c29fffc17bf875aa6ad977d9e8#npm:4.3.4"],\
             ["globby", "npm:11.1.0"],\
             ["is-glob", "npm:4.0.3"],\
             ["semver", "npm:7.3.7"],\
-            ["tsutils", "virtual:976989bd67000eec35b2167717c6dea150dc9a1d67a4faa714b93eb1e7cea711e90e8e38bd79ec1dd35661eb7010576a583b289cbe1337e42152f4c82cf836f6#npm:3.21.0"],\
+            ["tsutils", "virtual:f8d5e1f46dbb2f1fb352e8d15f1237589f03161f87569a6446ffa325c842024c20e3b7f196872650fbbdc62125c711d99dd1c2ba271f15e9b316292a2dec51bc#npm:3.21.0"],\
             ["typescript", null]\
           ],\
           "packagePeers": [\
@@ -2988,44 +2903,25 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
         }]\
       ]],\
       ["@typescript-eslint/utils", [\
-        ["npm:5.28.0", {\
-          "packageLocation": "./.yarn/cache/@typescript-eslint-utils-npm-5.28.0-4141c5605c-d309585524.zip/node_modules/@typescript-eslint/utils/",\
+        ["npm:5.29.0", {\
+          "packageLocation": "./.yarn/cache/@typescript-eslint-utils-npm-5.29.0-f3bfc5f3f3-216f51fb9c.zip/node_modules/@typescript-eslint/utils/",\
           "packageDependencies": [\
-            ["@typescript-eslint/utils", "npm:5.28.0"]\
+            ["@typescript-eslint/utils", "npm:5.29.0"]\
           ],\
           "linkType": "SOFT"\
         }],\
-        ["virtual:976989bd67000eec35b2167717c6dea150dc9a1d67a4faa714b93eb1e7cea711e90e8e38bd79ec1dd35661eb7010576a583b289cbe1337e42152f4c82cf836f6#npm:5.28.0", {\
-          "packageLocation": "./.yarn/__virtual__/@typescript-eslint-utils-virtual-e63d04e585/0/cache/@typescript-eslint-utils-npm-5.28.0-4141c5605c-d309585524.zip/node_modules/@typescript-eslint/utils/",\
+        ["virtual:f8d5e1f46dbb2f1fb352e8d15f1237589f03161f87569a6446ffa325c842024c20e3b7f196872650fbbdc62125c711d99dd1c2ba271f15e9b316292a2dec51bc#npm:5.29.0", {\
+          "packageLocation": "./.yarn/__virtual__/@typescript-eslint-utils-virtual-9b3cc2e468/0/cache/@typescript-eslint-utils-npm-5.29.0-f3bfc5f3f3-216f51fb9c.zip/node_modules/@typescript-eslint/utils/",\
           "packageDependencies": [\
-            ["@typescript-eslint/utils", "virtual:976989bd67000eec35b2167717c6dea150dc9a1d67a4faa714b93eb1e7cea711e90e8e38bd79ec1dd35661eb7010576a583b289cbe1337e42152f4c82cf836f6#npm:5.28.0"],\
+            ["@typescript-eslint/utils", "virtual:f8d5e1f46dbb2f1fb352e8d15f1237589f03161f87569a6446ffa325c842024c20e3b7f196872650fbbdc62125c711d99dd1c2ba271f15e9b316292a2dec51bc#npm:5.29.0"],\
             ["@types/eslint", null],\
             ["@types/json-schema", "npm:7.0.11"],\
-            ["@typescript-eslint/scope-manager", "npm:5.28.0"],\
-            ["@typescript-eslint/types", "npm:5.28.0"],\
-            ["@typescript-eslint/typescript-estree", "virtual:e63d04e5855cb9d06cf3615b4207b11a355cbcc02c759c424cfd814525e218f6cb21825cc98c6a68ad63d0462329601d2ae18bf90b63f52ce4ce46b1f3e42428#npm:5.28.0"],\
+            ["@typescript-eslint/scope-manager", "npm:5.29.0"],\
+            ["@typescript-eslint/types", "npm:5.29.0"],\
+            ["@typescript-eslint/typescript-estree", "virtual:9b3cc2e468ebc82b101c5313a9afa58bf6c93ab196f710844b44e247fc606cd503de5b07cdee6c592a841949dbe5daecc3f46a7ae43ee5bbf7fe046d76ec335e#npm:5.29.0"],\
             ["eslint", null],\
             ["eslint-scope", "npm:5.1.1"],\
-            ["eslint-utils", "virtual:e63d04e5855cb9d06cf3615b4207b11a355cbcc02c759c424cfd814525e218f6cb21825cc98c6a68ad63d0462329601d2ae18bf90b63f52ce4ce46b1f3e42428#npm:3.0.0"]\
-          ],\
-          "packagePeers": [\
-            "@types/eslint",\
-            "eslint"\
-          ],\
-          "linkType": "HARD"\
-        }],\
-        ["virtual:bcde94bba055db34ad4d0962b99f7e44ad2f05f0b766b1aa711a7684fa27ed8fd790b59c8e50201e7aa1c27d5c81967e28a4a3bff1c657fceec70d433b9220e5#npm:5.28.0", {\
-          "packageLocation": "./.yarn/__virtual__/@typescript-eslint-utils-virtual-70d186c1ae/0/cache/@typescript-eslint-utils-npm-5.28.0-4141c5605c-d309585524.zip/node_modules/@typescript-eslint/utils/",\
-          "packageDependencies": [\
-            ["@typescript-eslint/utils", "virtual:bcde94bba055db34ad4d0962b99f7e44ad2f05f0b766b1aa711a7684fa27ed8fd790b59c8e50201e7aa1c27d5c81967e28a4a3bff1c657fceec70d433b9220e5#npm:5.28.0"],\
-            ["@types/eslint", null],\
-            ["@types/json-schema", "npm:7.0.11"],\
-            ["@typescript-eslint/scope-manager", "npm:5.28.0"],\
-            ["@typescript-eslint/types", "npm:5.28.0"],\
-            ["@typescript-eslint/typescript-estree", "virtual:e63d04e5855cb9d06cf3615b4207b11a355cbcc02c759c424cfd814525e218f6cb21825cc98c6a68ad63d0462329601d2ae18bf90b63f52ce4ce46b1f3e42428#npm:5.28.0"],\
-            ["eslint", "npm:8.18.0"],\
-            ["eslint-scope", "npm:5.1.1"],\
-            ["eslint-utils", "virtual:3b3bfb190f25ed01591b1d51c8e6a15e818ab97d9cabea5c63912afc819a8f6e3ad395aaf338cd170314411b04e35eec5c8cff33dfa644476d292dcf2c5354d1#npm:3.0.0"]\
+            ["eslint-utils", "virtual:9b3cc2e468ebc82b101c5313a9afa58bf6c93ab196f710844b44e247fc606cd503de5b07cdee6c592a841949dbe5daecc3f46a7ae43ee5bbf7fe046d76ec335e#npm:3.0.0"]\
           ],\
           "packagePeers": [\
             "@types/eslint",\
@@ -3035,11 +2931,11 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
         }]\
       ]],\
       ["@typescript-eslint/visitor-keys", [\
-        ["npm:5.28.0", {\
-          "packageLocation": "./.yarn/cache/@typescript-eslint-visitor-keys-npm-5.28.0-a8c415586b-e97251968e.zip/node_modules/@typescript-eslint/visitor-keys/",\
+        ["npm:5.29.0", {\
+          "packageLocation": "./.yarn/cache/@typescript-eslint-visitor-keys-npm-5.29.0-fe23f55f18-15f228ad9f.zip/node_modules/@typescript-eslint/visitor-keys/",\
           "packageDependencies": [\
-            ["@typescript-eslint/visitor-keys", "npm:5.28.0"],\
-            ["@typescript-eslint/types", "npm:5.28.0"],\
+            ["@typescript-eslint/visitor-keys", "npm:5.29.0"],\
+            ["@typescript-eslint/types", "npm:5.29.0"],\
             ["eslint-visitor-keys", "npm:3.3.0"]\
           ],\
           "linkType": "HARD"\
@@ -4749,12 +4645,12 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
           ],\
           "linkType": "SOFT"\
         }],\
-        ["virtual:f16699e48080c5e5e9044bd1b8263f17d30ec4f2835602b65a6ea6943ccc23f384f86fef49b1a9c9121abd253bf13b0c7eae76bcc1f8a8c3112948cf6fbfbbcb#npm:8.5.0", {\
-          "packageLocation": "./.yarn/__virtual__/eslint-config-prettier-virtual-a7c771a5d7/0/cache/eslint-config-prettier-npm-8.5.0-a1dd58b6d8-0d0f5c32e7.zip/node_modules/eslint-config-prettier/",\
+        ["virtual:8859b278716fedf3e7458b5628625f7e35678c418626878559a0b816445001b7e24c55546f4677ba4c20b521aa0cf52cc33ac07deff171e383ada6eeab69933f#npm:8.5.0", {\
+          "packageLocation": "./.yarn/__virtual__/eslint-config-prettier-virtual-d5f61497f8/0/cache/eslint-config-prettier-npm-8.5.0-a1dd58b6d8-0d0f5c32e7.zip/node_modules/eslint-config-prettier/",\
           "packageDependencies": [\
-            ["eslint-config-prettier", "virtual:f16699e48080c5e5e9044bd1b8263f17d30ec4f2835602b65a6ea6943ccc23f384f86fef49b1a9c9121abd253bf13b0c7eae76bcc1f8a8c3112948cf6fbfbbcb#npm:8.5.0"],\
+            ["eslint-config-prettier", "virtual:8859b278716fedf3e7458b5628625f7e35678c418626878559a0b816445001b7e24c55546f4677ba4c20b521aa0cf52cc33ac07deff171e383ada6eeab69933f#npm:8.5.0"],\
             ["@types/eslint", null],\
-            ["eslint", null]\
+            ["eslint", "npm:8.18.0"]\
           ],\
           "packagePeers": [\
             "@types/eslint",\
@@ -4771,16 +4667,16 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
           ],\
           "linkType": "SOFT"\
         }],\
-        ["virtual:f16699e48080c5e5e9044bd1b8263f17d30ec4f2835602b65a6ea6943ccc23f384f86fef49b1a9c9121abd253bf13b0c7eae76bcc1f8a8c3112948cf6fbfbbcb#npm:4.0.0", {\
-          "packageLocation": "./.yarn/__virtual__/eslint-plugin-prettier-virtual-2bf26617f2/0/cache/eslint-plugin-prettier-npm-4.0.0-e632552861-03d69177a3.zip/node_modules/eslint-plugin-prettier/",\
+        ["virtual:16bfd8597041deb71e4581ea0755edd4dcd1b09b8ab14bfbbf5e4d5ca6b5d47ed7fbe2a25cdf57fcbb8e092c30b6beb93d2e7533f9e31c5dc62f7f0e487d1e4b#npm:4.0.0", {\
+          "packageLocation": "./.yarn/__virtual__/eslint-plugin-prettier-virtual-7e331f4408/0/cache/eslint-plugin-prettier-npm-4.0.0-e632552861-03d69177a3.zip/node_modules/eslint-plugin-prettier/",\
           "packageDependencies": [\
-            ["eslint-plugin-prettier", "virtual:f16699e48080c5e5e9044bd1b8263f17d30ec4f2835602b65a6ea6943ccc23f384f86fef49b1a9c9121abd253bf13b0c7eae76bcc1f8a8c3112948cf6fbfbbcb#npm:4.0.0"],\
+            ["eslint-plugin-prettier", "virtual:16bfd8597041deb71e4581ea0755edd4dcd1b09b8ab14bfbbf5e4d5ca6b5d47ed7fbe2a25cdf57fcbb8e092c30b6beb93d2e7533f9e31c5dc62f7f0e487d1e4b#npm:4.0.0"],\
             ["@types/eslint", null],\
             ["@types/eslint-config-prettier", null],\
             ["@types/prettier", null],\
             ["eslint", null],\
-            ["eslint-config-prettier", "virtual:f16699e48080c5e5e9044bd1b8263f17d30ec4f2835602b65a6ea6943ccc23f384f86fef49b1a9c9121abd253bf13b0c7eae76bcc1f8a8c3112948cf6fbfbbcb#npm:8.5.0"],\
-            ["prettier", "npm:2.7.1"],\
+            ["eslint-config-prettier", null],\
+            ["prettier", null],\
             ["prettier-linter-helpers", "npm:1.0.0"]\
           ],\
           "packagePeers": [\
@@ -4836,10 +4732,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
           ],\
           "linkType": "HARD"\
         }],\
-        ["virtual:e63d04e5855cb9d06cf3615b4207b11a355cbcc02c759c424cfd814525e218f6cb21825cc98c6a68ad63d0462329601d2ae18bf90b63f52ce4ce46b1f3e42428#npm:3.0.0", {\
-          "packageLocation": "./.yarn/__virtual__/eslint-utils-virtual-337d516d61/0/cache/eslint-utils-npm-3.0.0-630b3a4013-0668fe02f5.zip/node_modules/eslint-utils/",\
+        ["virtual:9b3cc2e468ebc82b101c5313a9afa58bf6c93ab196f710844b44e247fc606cd503de5b07cdee6c592a841949dbe5daecc3f46a7ae43ee5bbf7fe046d76ec335e#npm:3.0.0", {\
+          "packageLocation": "./.yarn/__virtual__/eslint-utils-virtual-d9a84e87ea/0/cache/eslint-utils-npm-3.0.0-630b3a4013-0668fe02f5.zip/node_modules/eslint-utils/",\
           "packageDependencies": [\
-            ["eslint-utils", "virtual:e63d04e5855cb9d06cf3615b4207b11a355cbcc02c759c424cfd814525e218f6cb21825cc98c6a68ad63d0462329601d2ae18bf90b63f52ce4ce46b1f3e42428#npm:3.0.0"],\
+            ["eslint-utils", "virtual:9b3cc2e468ebc82b101c5313a9afa58bf6c93ab196f710844b44e247fc606cd503de5b07cdee6c592a841949dbe5daecc3f46a7ae43ee5bbf7fe046d76ec335e#npm:3.0.0"],\
             ["@types/eslint", null],\
             ["eslint", null],\
             ["eslint-visitor-keys", "npm:2.1.0"]\
@@ -9884,13 +9780,13 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
           ],\
           "linkType": "SOFT"\
         }],\
-        ["virtual:976989bd67000eec35b2167717c6dea150dc9a1d67a4faa714b93eb1e7cea711e90e8e38bd79ec1dd35661eb7010576a583b289cbe1337e42152f4c82cf836f6#npm:3.21.0", {\
-          "packageLocation": "./.yarn/__virtual__/tsutils-virtual-2430bb622e/0/cache/tsutils-npm-3.21.0-347e6636c5-1843f4c1b2.zip/node_modules/tsutils/",\
+        ["virtual:7e6283c4528e09e363e0f4ce42435324235e7eb7e5dea4e9d193466d5d39e529e710edd519b76572a765dc0f3bc1406d11b16a8f1494f47554a275b8d475f222#npm:3.21.0", {\
+          "packageLocation": "./.yarn/__virtual__/tsutils-virtual-a4b4a441c4/0/cache/tsutils-npm-3.21.0-347e6636c5-1843f4c1b2.zip/node_modules/tsutils/",\
           "packageDependencies": [\
-            ["tsutils", "virtual:976989bd67000eec35b2167717c6dea150dc9a1d67a4faa714b93eb1e7cea711e90e8e38bd79ec1dd35661eb7010576a583b289cbe1337e42152f4c82cf836f6#npm:3.21.0"],\
+            ["tsutils", "virtual:7e6283c4528e09e363e0f4ce42435324235e7eb7e5dea4e9d193466d5d39e529e710edd519b76572a765dc0f3bc1406d11b16a8f1494f47554a275b8d475f222#npm:3.21.0"],\
             ["@types/typescript", null],\
             ["tslib", "npm:1.14.1"],\
-            ["typescript", null]\
+            ["typescript", "patch:typescript@npm%3A4.7.4#~builtin<compat/typescript>::version=4.7.4&hash=7ad353"]\
           ],\
           "packagePeers": [\
             "@types/typescript",\
@@ -9898,13 +9794,13 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
           ],\
           "linkType": "HARD"\
         }],\
-        ["virtual:bcde94bba055db34ad4d0962b99f7e44ad2f05f0b766b1aa711a7684fa27ed8fd790b59c8e50201e7aa1c27d5c81967e28a4a3bff1c657fceec70d433b9220e5#npm:3.21.0", {\
-          "packageLocation": "./.yarn/__virtual__/tsutils-virtual-77e6429d50/0/cache/tsutils-npm-3.21.0-347e6636c5-1843f4c1b2.zip/node_modules/tsutils/",\
+        ["virtual:f8d5e1f46dbb2f1fb352e8d15f1237589f03161f87569a6446ffa325c842024c20e3b7f196872650fbbdc62125c711d99dd1c2ba271f15e9b316292a2dec51bc#npm:3.21.0", {\
+          "packageLocation": "./.yarn/__virtual__/tsutils-virtual-c23225e234/0/cache/tsutils-npm-3.21.0-347e6636c5-1843f4c1b2.zip/node_modules/tsutils/",\
           "packageDependencies": [\
-            ["tsutils", "virtual:bcde94bba055db34ad4d0962b99f7e44ad2f05f0b766b1aa711a7684fa27ed8fd790b59c8e50201e7aa1c27d5c81967e28a4a3bff1c657fceec70d433b9220e5#npm:3.21.0"],\
+            ["tsutils", "virtual:f8d5e1f46dbb2f1fb352e8d15f1237589f03161f87569a6446ffa325c842024c20e3b7f196872650fbbdc62125c711d99dd1c2ba271f15e9b316292a2dec51bc#npm:3.21.0"],\
             ["@types/typescript", null],\
             ["tslib", "npm:1.14.1"],\
-            ["typescript", "patch:typescript@npm%3A4.7.4#~builtin<compat/typescript>::version=4.7.4&hash=7ad353"]\
+            ["typescript", null]\
           ],\
           "packagePeers": [\
             "@types/typescript",\

BIN
.yarn/cache/@standardnotes-config-npm-2.4.3-f16699e480-b57b49242a.zip


BIN
.yarn/cache/@typescript-eslint-eslint-plugin-npm-5.28.0-317f9e5a99-49e08865ab.zip → .yarn/cache/@typescript-eslint-eslint-plugin-npm-5.29.0-d7e482bb3e-b1022a640f.zip


BIN
.yarn/cache/@typescript-eslint-parser-npm-5.28.0-9511c58950-cb18ff47b0.zip → .yarn/cache/@typescript-eslint-parser-npm-5.29.0-491a7f9690-7805796638.zip


BIN
.yarn/cache/@typescript-eslint-scope-manager-npm-5.28.0-226e0104a0-f187fd295d.zip → .yarn/cache/@typescript-eslint-scope-manager-npm-5.29.0-03a6d28ed2-540642bef9.zip


BIN
.yarn/cache/@typescript-eslint-type-utils-npm-5.28.0-2eff829fc8-05563dab54.zip → .yarn/cache/@typescript-eslint-type-utils-npm-5.29.0-063d15676f-686b8ff05a.zip


BIN
.yarn/cache/@typescript-eslint-types-npm-5.28.0-1ca2d9fd34-e948915d6f.zip → .yarn/cache/@typescript-eslint-types-npm-5.29.0-2bea7f0c9b-982ecdd691.zip


BIN
.yarn/cache/@typescript-eslint-typescript-estree-npm-5.28.0-295ef500dc-e7be6e9ff7.zip → .yarn/cache/@typescript-eslint-typescript-estree-npm-5.29.0-f23de2ab5c-b91107a9fc.zip


BIN
.yarn/cache/@typescript-eslint-utils-npm-5.28.0-4141c5605c-d309585524.zip → .yarn/cache/@typescript-eslint-utils-npm-5.29.0-f3bfc5f3f3-216f51fb9c.zip


BIN
.yarn/cache/@typescript-eslint-visitor-keys-npm-5.28.0-a8c415586b-e97251968e.zip → .yarn/cache/@typescript-eslint-visitor-keys-npm-5.29.0-fe23f55f18-15f228ad9f.zip


+ 5 - 5
jest.config.js

@@ -12,15 +12,15 @@ module.exports = {
   ],
   globals: {
     'ts-jest': {
-      tsconfig: 'tsconfig.json',
+      tsconfig: './linter.tsconfig.json',
     },
   },
   coverageThreshold: {
     global: {
-      branches: 90,
-      functions: 90,
-      lines: 90,
-      statements: 90,
+      branches: 100,
+      functions: 100,
+      lines: 100,
+      statements: 100,
     },
   },
 };

+ 3 - 4
package.json

@@ -27,11 +27,10 @@
     "@lerna-lite/cli": "^1.5.1",
     "@lerna-lite/list": "^1.5.1",
     "@lerna-lite/run": "^1.5.1",
-    "@standardnotes/config": "^2.4.3",
-    "@typescript-eslint/eslint-plugin": "^5.20.0",
-    "@typescript-eslint/parser": "^5.20.0",
+    "@typescript-eslint/parser": "^5.29.0",
     "eslint": "^8.17.0",
-    "prettier": "^2.6.2",
+    "eslint-config-prettier": "^8.5.0",
+    "prettier": "^2.7.1",
     "ts-node": "^10.8.1",
     "typescript": "^4.7.4"
   },

+ 6 - 0
packages/scheduler/.eslintrc

@@ -0,0 +1,6 @@
+{
+  "extends": "../../.eslintrc",
+  "parserOptions": {
+    "project": "./linter.tsconfig.json"
+  }
+}

+ 1 - 5
packages/scheduler/linter.tsconfig.json

@@ -1,8 +1,4 @@
 {
   "extends": "./tsconfig.json",
-  "exclude": [
-    "node_modules",
-    "dist",
-    "data"
-  ]
+  "exclude": ["dist", "test-setup.ts"]
 }

+ 2 - 0
packages/scheduler/package.json

@@ -45,6 +45,8 @@
     "@types/jest": "^28.1.2",
     "@types/newrelic": "^7.0.2",
     "@types/node": "^18.0.0",
+    "@typescript-eslint/eslint-plugin": "^5.29.0",
+    "eslint-plugin-prettier": "^4.0.0",
     "jest": "^28.1.1",
     "ts-jest": "^28.0.5"
   },

+ 53 - 65
yarn.lock

@@ -1688,19 +1688,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@standardnotes/config@npm:^2.4.3":
-  version: 2.4.3
-  resolution: "@standardnotes/config@npm:2.4.3"
-  dependencies:
-    "@typescript-eslint/eslint-plugin": ^5.12.1
-    "@typescript-eslint/parser": ^5.12.1
-    eslint-config-prettier: ^8.5.0
-    eslint-plugin-prettier: ^4.0.0
-    prettier: ^2.6.2
-  checksum: b57b49242ac5ad31db96600b5ac1e28f2e2f71179578f5d35b8f1c07a68fdebba51fdaed7d648f7aaed7db3ca83570a70b973ffe81bcfdd38513808a4cbac405
-  languageName: node
-  linkType: hard
-
 "@standardnotes/domain-events-infra@npm:^1.5.0":
   version: 1.5.2
   resolution: "@standardnotes/domain-events-infra@npm:1.5.2"
@@ -1752,9 +1739,11 @@ __metadata:
     "@types/jest": ^28.1.2
     "@types/newrelic": ^7.0.2
     "@types/node": ^18.0.0
+    "@typescript-eslint/eslint-plugin": ^5.29.0
     aws-sdk: ^2.1158.0
     dayjs: ^1.11.3
     dotenv: 8.2.0
+    eslint-plugin-prettier: ^4.0.0
     inversify: 5.0.5
     ioredis: ^5.0.6
     jest: ^28.1.1
@@ -1785,11 +1774,10 @@ __metadata:
     "@lerna-lite/cli": ^1.5.1
     "@lerna-lite/list": ^1.5.1
     "@lerna-lite/run": ^1.5.1
-    "@standardnotes/config": ^2.4.3
-    "@typescript-eslint/eslint-plugin": ^5.20.0
-    "@typescript-eslint/parser": ^5.20.0
+    "@typescript-eslint/parser": ^5.29.0
     eslint: ^8.17.0
-    prettier: ^2.6.2
+    eslint-config-prettier: ^8.5.0
+    prettier: ^2.7.1
     ts-node: ^10.8.1
     typescript: ^4.7.4
   languageName: unknown
@@ -2028,13 +2016,13 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@typescript-eslint/eslint-plugin@npm:^5.12.1, @typescript-eslint/eslint-plugin@npm:^5.20.0":
-  version: 5.28.0
-  resolution: "@typescript-eslint/eslint-plugin@npm:5.28.0"
+"@typescript-eslint/eslint-plugin@npm:^5.29.0":
+  version: 5.29.0
+  resolution: "@typescript-eslint/eslint-plugin@npm:5.29.0"
   dependencies:
-    "@typescript-eslint/scope-manager": 5.28.0
-    "@typescript-eslint/type-utils": 5.28.0
-    "@typescript-eslint/utils": 5.28.0
+    "@typescript-eslint/scope-manager": 5.29.0
+    "@typescript-eslint/type-utils": 5.29.0
+    "@typescript-eslint/utils": 5.29.0
     debug: ^4.3.4
     functional-red-black-tree: ^1.0.1
     ignore: ^5.2.0
@@ -2047,42 +2035,42 @@ __metadata:
   peerDependenciesMeta:
     typescript:
       optional: true
-  checksum: 49e08865abd35acdc44829b929f2cd01d01a1f91d3c3c357963b6980e938de365f178efcec21e0ed6ec13a2ad9373f52b73001ddd5cdc7b0245fcf02b9564dd3
+  checksum: b1022a640f80c314ac8b247a2ccdd21f4b523b3cb8906956f5d276008ac964c8a1e951b2b2b16ca9621eb795dc9bbf6447b5b767acfe4866a1bc3e3527d966fc
   languageName: node
   linkType: hard
 
-"@typescript-eslint/parser@npm:^5.12.1, @typescript-eslint/parser@npm:^5.20.0":
-  version: 5.28.0
-  resolution: "@typescript-eslint/parser@npm:5.28.0"
+"@typescript-eslint/parser@npm:^5.29.0":
+  version: 5.29.0
+  resolution: "@typescript-eslint/parser@npm:5.29.0"
   dependencies:
-    "@typescript-eslint/scope-manager": 5.28.0
-    "@typescript-eslint/types": 5.28.0
-    "@typescript-eslint/typescript-estree": 5.28.0
+    "@typescript-eslint/scope-manager": 5.29.0
+    "@typescript-eslint/types": 5.29.0
+    "@typescript-eslint/typescript-estree": 5.29.0
     debug: ^4.3.4
   peerDependencies:
     eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
   peerDependenciesMeta:
     typescript:
       optional: true
-  checksum: cb18ff47b0a10373ba1c05c90901d08f5f99180e624f3f2faa85f13d1048fc59601a3cab6b852f72d13287b314d94c4d4997129ff6c639496a9144c762f6d31e
+  checksum: 7805796638d1ddbe21f2627e9f03493ec17710e22ae81d2345f3e0f5ff9cbf6f0cd1b0e05d8d0b9aa08435bafdb6b5c86f27d7115f0959de43e3322b86c00709
   languageName: node
   linkType: hard
 
-"@typescript-eslint/scope-manager@npm:5.28.0":
-  version: 5.28.0
-  resolution: "@typescript-eslint/scope-manager@npm:5.28.0"
+"@typescript-eslint/scope-manager@npm:5.29.0":
+  version: 5.29.0
+  resolution: "@typescript-eslint/scope-manager@npm:5.29.0"
   dependencies:
-    "@typescript-eslint/types": 5.28.0
-    "@typescript-eslint/visitor-keys": 5.28.0
-  checksum: f187fd295d152508aa85233ef3ac89031952300fbbe277e188dfba3fbfd82656b15d3d8daa6d85984970ce00a30fdf75da912c4024df982004b24f3a95420b8f
+    "@typescript-eslint/types": 5.29.0
+    "@typescript-eslint/visitor-keys": 5.29.0
+  checksum: 540642bef9c55fd7692af98dfb42ab99eeb82553f42ab2a3c4e132e02b5ba492da1c6bf1ca6b02b900a678fc74399ad6c564c0ca20d91032090b6cbcb01a5bde
   languageName: node
   linkType: hard
 
-"@typescript-eslint/type-utils@npm:5.28.0":
-  version: 5.28.0
-  resolution: "@typescript-eslint/type-utils@npm:5.28.0"
+"@typescript-eslint/type-utils@npm:5.29.0":
+  version: 5.29.0
+  resolution: "@typescript-eslint/type-utils@npm:5.29.0"
   dependencies:
-    "@typescript-eslint/utils": 5.28.0
+    "@typescript-eslint/utils": 5.29.0
     debug: ^4.3.4
     tsutils: ^3.21.0
   peerDependencies:
@@ -2090,23 +2078,23 @@ __metadata:
   peerDependenciesMeta:
     typescript:
       optional: true
-  checksum: 05563dab5414a42b7781f5ce65ee540b10a946c419bde3fbc45593aa3b1225b2a70558581f311720d670dc82ab699a3f9ecb4b1447d6fd557bd330cf8890d8ca
+  checksum: 686b8ff05a7591f76a2a1d3746b988168dcbd59c2f52de095b19e4f8e17063e03dc3d0f7b3d84f7be6880f2df97c3e184877664d0b4275ea9871c31d1e58c7d2
   languageName: node
   linkType: hard
 
-"@typescript-eslint/types@npm:5.28.0":
-  version: 5.28.0
-  resolution: "@typescript-eslint/types@npm:5.28.0"
-  checksum: e948915d6f24ece98043763a48e34ced5e16a1aa88cc86ea7d9057010ed92ce39457a753dd7a140be52f9b546b27f8a3b33bdc7d671427a386aa1aa381d908ef
+"@typescript-eslint/types@npm:5.29.0":
+  version: 5.29.0
+  resolution: "@typescript-eslint/types@npm:5.29.0"
+  checksum: 982ecdd69103105cabff8deac7f82f6002cf909238702ce902133e9af655cd962f977d5adf650c5ddae80d8c0e46abe1612a9141b25c7ed20ba8d662eb7ab871
   languageName: node
   linkType: hard
 
-"@typescript-eslint/typescript-estree@npm:5.28.0":
-  version: 5.28.0
-  resolution: "@typescript-eslint/typescript-estree@npm:5.28.0"
+"@typescript-eslint/typescript-estree@npm:5.29.0":
+  version: 5.29.0
+  resolution: "@typescript-eslint/typescript-estree@npm:5.29.0"
   dependencies:
-    "@typescript-eslint/types": 5.28.0
-    "@typescript-eslint/visitor-keys": 5.28.0
+    "@typescript-eslint/types": 5.29.0
+    "@typescript-eslint/visitor-keys": 5.29.0
     debug: ^4.3.4
     globby: ^11.1.0
     is-glob: ^4.0.3
@@ -2115,33 +2103,33 @@ __metadata:
   peerDependenciesMeta:
     typescript:
       optional: true
-  checksum: e7be6e9ff778ab2728bdc545713f29cd40bbe1282662461453fe46bc18f676f9b33c60e3514347fbc4e5e94d764525c20b8ef3d47baa62fec6bd3ce05fdde6eb
+  checksum: b91107a9fc31bf511aaa70f1e6d1d832d3acf08cfe999c870169447a7c223abff54c1d604bbb08d7c069dd98b43fb279bc314d1726097704fe8ad4c6e0969b12
   languageName: node
   linkType: hard
 
-"@typescript-eslint/utils@npm:5.28.0":
-  version: 5.28.0
-  resolution: "@typescript-eslint/utils@npm:5.28.0"
+"@typescript-eslint/utils@npm:5.29.0":
+  version: 5.29.0
+  resolution: "@typescript-eslint/utils@npm:5.29.0"
   dependencies:
     "@types/json-schema": ^7.0.9
-    "@typescript-eslint/scope-manager": 5.28.0
-    "@typescript-eslint/types": 5.28.0
-    "@typescript-eslint/typescript-estree": 5.28.0
+    "@typescript-eslint/scope-manager": 5.29.0
+    "@typescript-eslint/types": 5.29.0
+    "@typescript-eslint/typescript-estree": 5.29.0
     eslint-scope: ^5.1.1
     eslint-utils: ^3.0.0
   peerDependencies:
     eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
-  checksum: d30958552470c3f46b2183b690fa8c922a375a84ef83ccfda4785148b8dafb7bf428ab01de6608f67cefbcae35c6a2b0c54b5a6a89bba31566ec3b41f098c02e
+  checksum: 216f51fb9c176437919af55db9ed14db8af7b020611e954c06e69956b9e3248cbfe6a218013d6c17b716116dca6566a4c03710f9b48ce4e94f89312d61c16d07
   languageName: node
   linkType: hard
 
-"@typescript-eslint/visitor-keys@npm:5.28.0":
-  version: 5.28.0
-  resolution: "@typescript-eslint/visitor-keys@npm:5.28.0"
+"@typescript-eslint/visitor-keys@npm:5.29.0":
+  version: 5.29.0
+  resolution: "@typescript-eslint/visitor-keys@npm:5.29.0"
   dependencies:
-    "@typescript-eslint/types": 5.28.0
+    "@typescript-eslint/types": 5.29.0
     eslint-visitor-keys: ^3.3.0
-  checksum: e97251968ea273ce33fa0de8a9c04426499b797f6f7800379ff880c4be6e6e02fe023038be0092c595be394a8636f73ee8911974214d5232b3d59492a50771bf
+  checksum: 15f228ad9ffaf0e42cc6b2ee4e5095c1e89c4c2dc46a65d19ca0e2296d88c08a1192039d942bd9600b1496176749f6322d636dd307602dbab90404a9501b4d6e
   languageName: node
   linkType: hard
 
@@ -6842,7 +6830,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"prettier@npm:^2.6.2":
+"prettier@npm:^2.7.1":
   version: 2.7.1
   resolution: "prettier@npm:2.7.1"
   bin: