
Product
Introducing Socket Firewall Enterprise: Flexible, Configurable Protection for Modern Package Ecosystems
Socket Firewall Enterprise is now available with flexible deployment, configurable policies, and expanded language support.
@dfinity/eslint-config-oisy-wallet
Advanced tools
Shared ESLint configurations from the Oisy Wallet team
A shareable ESLint configuration library for Oisy Wallet projects, supporting both TypeScript and Svelte.
[!NOTE] This configuration is currently compatible with ESLint 8.
# with npm
npm install --save-dev @dfinity/eslint-config-oisy-wallet
# with pnpm
pnpm add --save-dev @dfinity/eslint-config-oisy-wallet
# with yarn
yarn add -D @dfinity/eslint-config-oisy-wallet
For General Projects (Non-Svelte):
.eslintrc.js in your project root and extend the base configuration:module.exports = {
extends: ["@dfinity/eslint-config-oisy-wallet"],
};
For Svelte Projects:
.eslintrc.js file in your project root and extend the Svelte-specific configuration:module.exports = {
extends: ["@dfinity/eslint-config-oisy-wallet/svelte"],
};
For vitest test suites:
.eslintrc.js file in your project root and extend the vitest-specific configuration:module.exports = {
extends: ["@dfinity/eslint-config-oisy-wallet/vitest"],
};
module.exports = {
overrides: [
{
// Specify the test files and/or folders
files: [
"**/*.test.{ts,js}",
"**/*.spec.{ts,js}",
"**/tests/**/*.{ts,js}",
],
extends: ["@dfinity/eslint-config-oisy-wallet/vitest"],
},
],
};
Finally, create an eslint-local-rules.cjs file at the root of your project containing the following:
module.exports = require("@dfinity/eslint-config-oisy-wallet/eslint-local-rules");
[!NOTE] This is necessary because the
eslint-plugin-local-rulesplugin we use for custom rules requires a file located at the root and does not offer any customizable location option.
You can override, enable, or disable any of the rules provided by this configuration — including custom local rules — just like you would with any ESLint config.
In your .eslintrc.js, simply add a rules section:
module.exports = {
extends: ["@dfinity/eslint-config-oisy-wallet/svelte"],
rules: {
// Disable a built-in rule
"no-console": "off",
// Disable a local custom rule
"local/use-nullish-checks": "off",
// Enable a built-in rule
"local-rules/prefer-object-params": "warn",
// Customize severity or options
"@typescript-eslint/no-unused-vars": ["warn", { argsIgnorePattern: "^_" }],
},
};
Or in eslint.config.ts, adding an object with the rules property:
import { default as svelteConfig } from "@dfinity/eslint-config-oisy-wallet/svelte";
import { default as vitestConfig } from "@dfinity/eslint-config-oisy-wallet/vitest";
export default [
...vitestConfig,
...svelteConfig,
{
rules: {
// Disable a built-in rule
"no-console": "off",
"vitest/expect-expect": "off",
// Disable a local custom rule
"local/use-nullish-checks": "off",
// Enable a built-in rule
"local-rules/prefer-object-params": "warn",
// Customize severity or options
"@typescript-eslint/no-unused-vars": [
"warn",
{ argsIgnorePattern: "^_" },
],
},
},
];
Note: To override local rules, make sure you have the eslint-local-rules.cjs file at the root as described above.
If your project uses TypeScript, make sure you have a tsconfig.json file in your project root.
Here's an example tsconfig.json:
{
"compilerOptions": {
"strict": true,
"target": "ESNext",
"module": "ESNext",
"moduleResolution": "node",
"esModuleInterop": true,
"skipLibCheck": true
},
"include": ["src/**/*.ts", "*.svelte"],
"exclude": ["node_modules", "dist"]
}
To lint your project, add the following script to your package.json:
{
"scripts": {
"lint": "eslint --max-warnings 0 \"src/**/*\""
}
}
Then, run the linting command:
npm run lint
FAQs
Shared ESLint configurations from the Oisy Wallet team
We found that @dfinity/eslint-config-oisy-wallet demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 11 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Socket Firewall Enterprise is now available with flexible deployment, configurable policies, and expanded language support.

Security News
Open source dashboard CNAPulse tracks CVE Numbering Authorities’ publishing activity, highlighting trends and transparency across the CVE ecosystem.

Product
Detect malware, unsafe data flows, and license issues in GitHub Actions with Socket’s new workflow scanning support.