Socket
Socket
Sign inDemoInstall

@viewar/config-eslint

Package Overview
Dependencies
412
Maintainers
8
Versions
11
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @viewar/config-eslint

ViewAR's shareable config for EsLint


Version published
Weekly downloads
5
decreased by-28.57%
Maintainers
8
Created
Weekly downloads
 

Readme

Source

eslint-config-viewar

Build Status PRs Welcome
NPM Release Conventional Commits Semantic Versioning

Installation

to skip installation and configuration,
just run mrm --preset @viewar/mrm-preset lint

see: lint Task of '@viewar/mrm-preset'

install package: npm i -D eslint @viewar/config-eslint
includes all eslint and prettier related plugins and shared configs

Configuration

eslint (either JS or JSON)

JS - {workspace}/.eslintrc.js:

module.exports = { extends: [require.resolve('@viewar/config-eslint')] };

JSON - {workspace}/.eslintrc:

{ "extends": ["./node_modules/@viewar/config-eslint/index.js"] }

prettier

// {workspace}/prettier.config.js
module.exports = require('@viewar/config-eslint/prettier.config.js');

NPM Lint Script

"lint": "eslint --fix --ext \".js,.jsx,.ts,.tsx\" . --quiet --format pretty && prettier **/*.{css,scss,md,json} --write"

Integration (VsCode)

install extensions:

  • "dbaeumer.vscode-eslint"
  • "teeLang.vsprettier"

configure vscode:

// {workspace}/.vscode/settings.json
{
  // PRETTIER
  {
  "editor.formatOnSaveTimeout": 500,

  "editor.defaultFormatter": "teeLang.vsprettier",
  "vsprettier.requireConfig": true,
  "vsprettier.packageManager": "npm",
  "vsprettier.useEsLint": false,
  "vsprettier.useStyleLint": true,

  "editor.codeActionsOnSave": { "source.fixAll.eslint": true },
  "eslint.validate": [ "javascript", "javascriptreact", "typescript", "typescriptreact" ],
  "eslint.alwaysShowStatus": true,
  "eslint.run": "onType",
  "eslint.lintTask.enable": true,
  "eslint.workingDirectories": [{ "directory": ".", "changeProcessCWD": true }],

  "javascript.implicitProjectConfig.checkJs": true,

  "javascript.validate.enable": false,
  "javascript.format.enable": false,
  "[javascriptreact]": {
    "editor.defaultFormatter": "dbaeumer.vscode-eslint",
    "editor.formatOnPaste": false,
    "editor.formatOnSave": false,
    "editor.formatOnType": false,
    "editor.formatOnSaveTimeout": 500
  },
}

Import Resolvers

enables absolute import paths
like import Header from 'components/Header'

webpack

applied to env 'react'

  • uses 'tsconfig-paths-webpack-plugin' to resolve import paths
    requires: workspaceRoot/tsconfig.json
    see path-mapping for typescript

  • if tsconfig.json is not present it won't use that plugin
    and uses the default resolve config:

      resolve: {
        extensions: ['.jsx', '.js', '.ts', '.tsx', '.json'],
        // paths are relative to workspace root
        alias:      {
          components: join(basename(CONSTANTS.paths.src), 'components'),
          assets: CONSTANTS.paths.assets
        },
        modules: ['node_modules'],
      }
    
  • you can overwrite this config to fit your projects module resolvement,
    if you add 'webpack.config.resolve.js' to your workspaceRoot
    (use format of 'src/webpack.config.resolve.js')

node

applied to env 'browser' and 'node'

{
  paths:      [ './src' ],
  extensions: [ '.js', '.jsx', '.json' ],
}

Keywords

FAQs

Last updated on 29 Sep 2021

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc