0eeaafa722
* chore(NA): update gitignore to include first changes from moving into a single package.json * chore(NA): update gitignore * chore(NA): move all the dependencies into the single package.json and apply changes to bootstrap * chore(NA): fix types problems after the single package json * chore(NA): include code to find the dependencies used across the code * chore(NA): introduce pure lockfile for install dependencies on build * chore(NA): update clean task to not delete anything from xpack node_modules * chore(NA): update gitignore to remove development temporary rules * chore(NA): update notice file * chore(NA): update jest snapshots * chore(NA): fix whitelisted licenses to include a new specify form of an already included one * chore(NA): remove check lockfile symlinks from child projects * chore(NA): fix eslint and add missing declared deps on single pkg json * chore(NA): correctly update notice * chore(NA): fix failing jest test for storyshots.test.tsx * chore(NA): fix cypress multi reporter path * chore(NA): fix Project tests check * chore(NA): fix problem with logic to detect used dependes on oss build * chore(NA): include correct x-pack plugins dep discovery * chore(NA): discover entries under dynamic requires on vis_type_timelion * chore(NA): remove canvas * test(NA): fix jest unit tests * chore(NA): remove double react declaration from storyshot test file * chore(NA): try removing isOSS check * chore(NA): support for plugin development * chore(NA): update logic to fix unit tests and typechecking * chore(NA): support to run npm scripts in child kbn projects across all envs * chore(NA): support github checks reporter on x-pack and remove cpy types as the package correctly provides them * chore(NA): update cpy version * chore(NA): include last kbn pm changes * chore(NA): update style on build_production_projects.ts * chore(NA): remove any cast fom telemetry opt in stats * chore(NA): remove del and re-use rm -rf again Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> |
||
---|---|---|
.. | ||
lib | ||
import_resolver_kibana.js | ||
package.json | ||
README.md |
@kbn/eslint-import-resolver-kibana
Resolver for Kibana imports, meant to be used with eslint-plugin-import.
Installation
To install this utility use yarn
to link to the package from the Kibana project:
yarn add --dev link:../../kibana/packages/kbn-eslint-import-resolver-kibana
Usage
Specify this resolver with the import/resolver
setting in your eslint config file:
# .eslintrc.yml
settings:
import/resolver: "@kbn/eslint-import-resolver-kibana"
Settings
NOTE: All relative paths are resolved as relative to the project root, which is determined by walking up from the first linted file and looking for a package.json
file. If your project has multiple package.json
files then make sure to specify the rootPackageName
setting.
Property | Default | Description |
---|---|---|
rootPackageName | null |
The "name" property of the root package.json file. If your project has multiple package.json files then specify this setting to tell the resolver which package.json file sits at the root of your project. |
pluginPaths | [] if rootPackageName is set, otherwise [.] |
Array of relative paths which contain a Kibana plugin. Plugins must contain a package.json file to be valid. |
pluginDirs | [] |
Array of relative paths pointing to directories which contain Kibana plugins. Plugins must contain a package.json file to be valid. |
pluginMap | {} |
A map of plugin ids to relative paths, explicitly pointing to the location where Kibana should map plugin/{pluginId} import statements. Directories do not need to contain a package.json file to work. |
Settings Usage
To specify additional config add a :
after the resolver name and specify the argument as key-value pairs:
# .eslintrc.yml
settings:
import/resolver:
"@kbn/eslint-import-resolver-kibana":
# if your project has multiple package.json files
rootPackageName: my-project
# if your project stores plugin source in sub directories you can specify
# those directories via `pluginPaths`.
pluginPaths:
- ./plugin-one
- ./plugin-two
# if all of your plugins have the same parent directory you can specify
# that directory and we will look for plugins there
pluginDirs:
- ./kibana-plugins
# if you have some other special configuration supply a map of plugin
# ids to the directory containing their code
pluginMap:
plugin1: plugins/plugin1
plugin2: plugins/plugin2
See the resolvers docs or the resolver spec for more details.
Debugging
For debugging output from this resolver, run your linter with DEBUG=eslint-plugin-import:resolver:kibana
.
This resolver defers to eslint-import-resolver-node and eslint-import-resolver-webpack for all of it's actual resolution logic. To get debugging output from all resolvers use DEBUG=eslint-plugin-import:resolver:*
.