Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@manifoldxyz/lint-configs

Package Overview
Dependencies
Maintainers
0
Versions
41
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@manifoldxyz/lint-configs

Shared linting/formatting configs for Typescript

  • 1.1.1
  • latest
  • npm
  • Socket score

Version published
Weekly downloads
586
increased by181.73%
Maintainers
0
Weekly downloads
 
Created
Source

@manifoldxyz/lint-configs

Shareable configurations to keep our Typescript code syntax/format consistent across all of our repositories.

Installation In External Project

1. Install the package:

yarn add -D @manifoldxyz/lint-configs

2. Install the peer dependencies associated with the package:

You can just copy and paste the peerDependencies from the package.json into your devDependencies of your repo.

You can also use CLI:

(
export PKG=@manifoldxyz/lint-configs;
npm info "$PKG" peerDependencies --json | command sed 's/[\{\},]//g ; s/: /@/g' | xargs yarn add -D "$PKG"
)

3. Configure the appropriate config file for your linter:

eslint
  • Node

    • Our default node lint config can be extended via @manifoldxyz.
      // .eslintrc.js
      module.exports = {
        extends: ["@manifoldxyz"],
      };
      
  • Vue 3

    • Adding lint to vue app? Use the vue config @manifoldxyz/eslint-config/vue3

      // .eslintrc.js
      module.exports = {
        extends: ["@manifoldxyz/eslint-config/vue3"],
      };
      

      ⚠️ If you run into a CLIEngine not found error, you may need to use eslint@7 (whereas we use eslint@8 otherwise)

    • For vue2 use @manifoldxyz/eslint-config/vue

prettier
// .prettierrc.js
module.exports = require("@manifoldxyz/lint-configs/prettier");

4. You can then setup scripts in your package json like the below:

  // package.json
  ...
  "scripts": {
    ...
    "lint": "eslint .",
    "format": "prettier . --write && eslint . --fix"
    ...
  }
  ...
StyleLint
// .stylelintrc.js
module.exports = require('@manifoldxyz/lint-configs/stylelint');

// for vue
module.exports = require('@manifoldxyz/lint-configs/stylelintvue');

// you could choose to modify and extend it like this as instead
const manifoldVueConfig = require('@manifoldxyz/lint-configs/stylelintvue');
module.exports = {
  ...manifoldVueConfig,
  rules: {
    ...manifoldVueConfig.rules,
    'declaration-property-value-no-unknown': null,
  },
};

4. You can then setup scripts in your package json like the below:

  // package.json
  ...
  "scripts": {
    ...
    "lint:css": "stylelint 'src/**/*.{vue,css,scss}'",
    "lint:css:fix": "stylelint 'src/**/*.{vue,css,scss}' --fix"
    ...
  }
  ...
Solhint
// .solhintrc.js
module.exports = require('@manifoldxyz/lint-configs/solhint');

4. You can then setup scripts in your package json like the below:

  // package.json
  ...
  "scripts": {
    ...
    "lint:sol": "solhint 'contracts/*.sol'",
    "lint:sol:fix": "solhint 'contracts/.sol' --fix"
    ...
  }
  ...

Troubleshooting

If you have issues relating Yarn 1 finding the wrong versions of strip-ansi, stylish, or string-width give this a shot in your package.json, it might patch your issue:

"resolutions": {
  "strip-ansi": "^6.0.1",
  "string-width": "^4.0.0"
}

Testing

When making updates to any of the configs or their packages, you should test that the Linter is working as expected. To do this, head to our package.json and run the corresponding test: script.

For example if you make changes to eslint, you should run test:eslint to ensure that the linter is working as expected.

FAQs

Package last updated on 07 Aug 2024

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

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc