New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

@lightspeed/eslint-config

Package Overview
Dependencies
Maintainers
5
Versions
38
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@lightspeed/eslint-config

ESLint shareable config and rules for Lightspeed web apps

latest
Source
npmnpm
Version
7.0.5
Version published
Weekly downloads
2K
-45.9%
Maintainers
5
Weekly downloads
 
Created
Source

@lightspeed/eslint-config

npm version

Introduction

ESLint static analysis shareable configs and rules for Lightspeed web and node applications.

Included

For both web and node environments:

For web only:

Opt-in

Quick start

Install

Install dependencies in your app:

yarn add -D eslint @lightspeed/eslint-config

Prettier

You need Prettier installed so linting can pick up your configuration as rules:

yarn add prettier -D

Note for monorepos: you do not need to install Prettier if it's installed at the root, see Prettier in a monorepo.

Configure ESLint

Consume the base ESLint configuration in the extends section of your ESLint configuration.

For web (front-end) projects:

// .eslintrc.js
module.exports = {
  extends: '@lightspeed/eslint-config/web',
};

For node (back-end) projects:

// .eslintrc.js
module.exports = {
  extends: '@lightspeed/eslint-config/node',
};

Optionally, extend the configuration as you see fit.

// .eslintrc.js
module.exports = {
  // Additional, per-project plugins and rules...
  extends: ['@lightspeed/eslint-config/node', '...']
  rules: {
    // ...
  },
};

Prettier in a monorepo

In a monorepo context where Prettier is installed at the root, configure ESLint to pick the top-level configuration:

// .eslintrc.js
module.exports = {
  // ...
  rules: {
    // We need to point to our root prettier config since it's bubbled up there
    prettier: [2, '../../prettier.config.js'],
  },
};

Add script

Create an npm script in your package.json to run linting:

"lint": "eslint '**/*.{js,jsx,ts,tsx}'",

VSCode setup

If using VSCode and your repo has a .vscode/settings.json file, we recommend adding the following settings to get a better developer experience:

"editor.codeActionsOnSave": {
  "source.fixAll.eslint": true
},
"editor.formatOnSave": true,
"eslint.validate": ["javascript", "javascriptreact", "typescript", "typescriptreact"],
"tslint.enable": false

Jest

Jest linting is opt-in. Since eslint-plugin-jest attempts to locate Jest to determine its version for some rules, our ESLint configuration will error out if jest isn't installed in your package.

We already include the plugin in this package's dependencies, but you'll need to manually turn on the shared configuration in your project:

// .eslintrc.js
module.exports = {
  extends: [
    '@lightspeed/eslint-config',
    // Extend our Jest shared configuration
    '@lightspeed/eslint-config/shared/jest',
  ],
};

GraphQL

GraphQL linting is opt-in. You will first need to install the ESLint plugin:

yarn add eslint-plugin-graphql -D

Then, in your ESLint configuration file, add the following:

// .eslintrc.js
module.exports = {
  extends: ['@lightspeed/eslint-config', '@lightspeed/eslint-config/shared/graphql'],
};

By default, we tell eslint-plugin-graphql to look for one of these schema files in your project:

  • src/__generated__/graphql-schema.graphql
  • src/__generated__/schema.graphql
  • schema.graphql

When one is found, GraphQL queries will be linted against that schema.

Custom schema location

If your schema path is different than the above, configure this way:

// .eslintrc.js
const fs = require('fs');

module.exports = {
  extends: ['@lightspeed/eslint-config', '@lightspeed/eslint-config/shared/graphql'],
  rules: {
    'graphql/template-strings': [
      'error',
      { schemaString: fs.readFileSync('custom/path/to/schema.graphql', 'utf-8') },
    ],
  },
};

Options

See eslint-plugin-graphql's example config for all options.

FAQs

Package last updated on 26 Jun 2025

Did you know?

Socket

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.

Install

Related posts