Я работаю с фреймворком («каска»), который автоматически требует пакет («эфиры»), но eslint продолжает называть его неопределенным. Требование «эфира» — это не решение, потому что оно просто все ломает; но, насколько я понимаю, способ добавления исключений ко всему документу заключается в размещении переопределений в блоке комментариев над всем этим.
/*
eslint-disable jest/valid-expect
*/
const { expect } = require("chai");
const { txHist } = require("../scripts/utils.js");
describe("DStor", () => {
let DStor;
let deployer, user1, user2, user3, users; // eslint-disable-line no-unused-vars
beforeEach(async () => {
// Get ContractFactory and Signers
const DStorFactory = await ethers.getContractFactory("DStor"); // 'ethers' is highlighted with no-undef
...
Я подозреваю, что решение состоит в том, чтобы добавить еще одно правило отключения eslint, но я не знаю, как с его помощью настроить таргетинг на пакет «эфиры». У кого-нибудь есть решения?
Обновление: исправлено добавлением const { ethers } = require("hardhat");
Посмотрите на Глобальные переменные ESLint. По сути, вы можете объявить глобальное значение ethers
в своей конфигурации ESLint, и оно будет рассматриваться как определенное во всех linted-файлах.
Для ESLint >= 7, если ваш файл конфигурации .eslintrc, добавьте запись, например:
{
"globals": {
"ethers": "readonly"
}
}
Для ESLint < 7 вместо этого используйте "ethers": false
.