@tinkoff/eslint-plugin-tramvai
TypeScript icon, indicating that this package has built-in type declarations

0.6.7 • Public • Published

eslint-plugin-tramvai

Set of eslint rules specific to tramvai apps. Should be used primarily as an extension to @tinkoff/eslint-config

Installation

Install necessary packages first

npm i --save-dev @tinkoff/eslint-config @tinkoff/eslint-config-react @tinkoff/eslint-plugin-tramvai

Add recommended settings to .eslintrc:

{
  "extends": [
    "@tinkoff/eslint-config/app",
    "@tinkoff/eslint-config-react",
    "plugin:@tinkoff/tramvai/recommended"
  ]
}

Or add plugin manually:

{
  "extends": [
    "@tinkoff/eslint-config/app",
    "@tinkoff/eslint-config-react"
  ],
  "plugins": [
    "@tinkoff/tramvai"
  ],
  "rules": {
    "@tinkoff/tramvai/bundle-chunk-name": "warn"
  }
}

Rules

bundle-chunk-name

In a tramvai app, in order to work properly with the bundle system it is necessary to put a special comment for dynamic imports. This rule checks that dynamic imports of bundles are marked with a proper control comment webpackChunkName: [name].

The rule also provides autofix in order to add add/fix control comment automatically.

Example of the wrong code:

createApp({
  bundles: {
    'tramvai/bundle-1': () => import('./bundles/bundle1'),
    'tramvai/bundle-2': () => import(/* webpackChunkName: "randomValue" */ './bundles/bundle2'),
  },
});

Example of the right code after autofix for the code above:

createApp({
  bundles: {
    'tramvai/bundle-1': () => import(/* webpackChunkName: "bundle-1" */ './bundles/bundle1'),
    'tramvai/bundle-2': () => import(/* webpackChunkName: "bundle-2" */ './bundles/bundle2'),
  },
});

Options:

  • propertyNames: defines array of object properties which will be analyzed. By default it equals to ["bundles"].

Readme

Keywords

none

Package Sidebar

Install

npm i @tinkoff/eslint-plugin-tramvai

Weekly Downloads

9

Version

0.6.7

License

Apache-2.0

Unpacked Size

12.9 kB

Total Files

10

Last publish

Collaborators

  • yeahga
  • sradyukov
  • hondasmx
  • makar_l
  • tinkoffbank
  • dmitry-korolev
  • rouland
  • ishivan
  • ytsareva
  • shoom3301
  • waterplea
  • meskill
  • marsibarsi
  • zig-green
  • super_oleg
  • dersizes
  • alexkvak