The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
grafana/docs/sources/developers/plugins/plugin-spellcheck.md

2.3 KiB

description draft labels title
Internal docs on how to setup the plugin spellcheck true [{products [enterprise oss]}] Configuring plugin spellcheck

Configuring plugin spellcheck

This process is applicable only for grafana maintained plugins and only if the plugins are activated in drone.grafana.net for CI process.

What it is and why it is required

The spellcheck CI step performs basic spellcheck against the plugin code and documentation.
It helps us to avoid showing things like this to our customers:

image

At the moment spellcheck is mandatory for all internal plugins.

Under the hood, the pipeline uses cspell npm package to perform the spellcheck.

Steps to configure spellcheck

If you ended up here following the link from the failing CI then most probably you don't have spellcheck configured for your plugin. Follow the below steps to set it up.

  1. Install cspell package to your plugin's repo:
yarn add -D cspell@6.13.3
  1. Add spellcheck command to the scripts section in package.json of your plugin:
"spellcheck": "cspell -c cspell.config.json \"**/*.{ts,tsx,js,go,md,mdx,yml,yaml,json,scss,css}\""
  1. Create a cspell.config.json file in the repo root folder and add a basic config there:
{
  "ignorePaths": [
    "coverage/**",
    "cypress/**",
    "dist/**",
    "go.sum",
    "mage_output_file.go",
    "node_modules/**",
    "provisioning/**/*.yaml",
    "src/dashboards/*.json",
    "**/testdata/**/*.json",
    "**/testdata/**/*.jsonc",
    "vendor/**",
    "cspell.config.json",
    "package.json",
    "yarn.lock",
    "docker-compose*.yaml",
    "docker-compose*.yml"
  ],
  "ignoreRegExpList": [
    // ignore multiline imports
    "import\\s*\\((.|[\r\n])*?\\)",
    // ignore single line imports
    "import\\s*.*\".*?\""
  ],
  "words": ["grafana", "datasource", "datasources"]
}
  1. Run yarn spellcheck to see if there are any misspellings
  2. If errors found, either fix them or add to ignorePaths or words section of the cspell.config.json created earlier

Sample PR to add spellcheck to your repo: https://github.com/grafana/athena-datasource/pull/185/files