Revision 74c809f54459d235f4d3e9b1c117f291cbf16339 authored by Joey Tawadrous on 07 October 2022, 10:39:14 UTC, committed by GitHub on 07 October 2022, 10:39:14 UTC
* Flamegraph

* Updated flame graph width/height values

* Fix top table rendering issue

* Add feature toggle for flamegraph in explore

* Update tests

* Hide flamegraph from dash panel viz list if feature toggle not enabled

* Show table if no flameGraphFrames

* Add flame graph to testdata ds

* Minor improvement
1 parent a18a3d7
Raw File
.eslintrc
{
  "extends": ["@grafana/eslint-config"],
  "root": true,
  "plugins": ["@emotion", "lodash", "jest", "import", "jsx-a11y"],
  "settings": {
    "import/internal-regex": "^(app/)|(@grafana)",
    "import/external-module-folders": ["node_modules", ".yarn"]
  },
  "rules": {
    "react/prop-types": "off",
    "@emotion/jsx-import": "error",
    "lodash/import-scope": [2, "member"],
    "jest/no-focused-tests": "error",
    "import/order": [
      "error",
      {
        "groups": [["builtin", "external"], "internal", "parent", "sibling", "index"],
        "newlines-between": "always",
        "alphabetize": { "order": "asc" }
      }
    ],
    "no-restricted-imports": [
      "warn",
      {
        "paths": [
          {
            "name": "react-redux",
            "importNames": ["useDispatch", "useSelector"],
            "message": "Please import from app/types instead."
          }
        ]
      }
    ],

    // Use typescript's no-redeclare for compatibility with overrides
    "no-redeclare": "off",
    "@typescript-eslint/no-redeclare": ["error"]
  },
  "overrides": [
    {
      "files": ["packages/grafana-ui/src/components/uPlot/**/*.{ts,tsx}"],
      "rules": {
        "react-hooks/rules-of-hooks": "off",
        "react-hooks/exhaustive-deps": "off"
      }
    },
    {
      "files": ["packages/grafana-ui/src/components/ThemeDemos/**/*.{ts,tsx}"],
      "rules": {
        "@emotion/jsx-import": "off",
        "react/jsx-uses-react": "off",
        "react/react-in-jsx-scope": "off"
      }
    },
    {
      "files": ["public/dashboards/scripted*.js"],
      "rules": {
        "no-redeclare": "error",
        "@typescript-eslint/no-redeclare": "off"
      }
    },
    {
      "files": ["**/*"],
      "excludedFiles": ["**/*.{spec,test}.{ts,tsx}"],
      "rules": {
        // these are all the rules listed in the strict preset
        // we should fix them one by one and mark them as errors
        // once they're all fixed, we can remove them all and instead extend the strict preset
        // with "extends": ["plugin:jsx-a11y/strict"]
        "jsx-a11y/alt-text": "error",
        "jsx-a11y/anchor-has-content": "error",
        "jsx-a11y/anchor-is-valid": "off",
        "jsx-a11y/aria-activedescendant-has-tabindex": "error",
        "jsx-a11y/aria-props": "error",
        "jsx-a11y/aria-proptypes": "error",
        "jsx-a11y/aria-role": "error",
        "jsx-a11y/aria-unsupported-elements": "error",
        "jsx-a11y/autocomplete-valid": "error",
        "jsx-a11y/click-events-have-key-events": "off",
        "jsx-a11y/heading-has-content": "error",
        "jsx-a11y/html-has-lang": "error",
        "jsx-a11y/iframe-has-title": "error",
        "jsx-a11y/img-redundant-alt": "error",
        "jsx-a11y/interactive-supports-focus": [
          "off",
          {
            "tabbable": [
              "button",
              "checkbox",
              "link",
              "progressbar",
              "searchbox",
              "slider",
              "spinbutton",
              "switch",
              "textbox"
            ]
          }
        ],
        "jsx-a11y/label-has-associated-control": "off",
        "jsx-a11y/media-has-caption": "error",
        "jsx-a11y/mouse-events-have-key-events": "off",
        "jsx-a11y/no-access-key": "error",
        "jsx-a11y/no-autofocus": [
          "error",
          {
            "ignoreNonDOM": true
          }
        ],
        "jsx-a11y/no-distracting-elements": "error",
        "jsx-a11y/no-interactive-element-to-noninteractive-role": "error",
        "jsx-a11y/no-noninteractive-element-interactions": [
          "off",
          {
            "body": ["onError", "onLoad"],
            "iframe": ["onError", "onLoad"],
            "img": ["onError", "onLoad"]
          }
        ],
        "jsx-a11y/no-noninteractive-element-to-interactive-role": "off",
        "jsx-a11y/no-noninteractive-tabindex": "error",
        "jsx-a11y/no-redundant-roles": "error",
        "jsx-a11y/no-static-element-interactions": "off",
        "jsx-a11y/role-has-required-aria-props": "error",
        "jsx-a11y/role-supports-aria-props": "error",
        "jsx-a11y/scope": "error",
        "jsx-a11y/tabindex-no-positive": "error"
      }
    }
  ]
}
back to top