{"version":3,"sources":["webpack:///./src/pages/docs/installation/building-viz-plugins.mdx"],"names":["_frontmatter","layoutProps","MDXLayout","DefaultLayout","MDXContent","components","props","mdxType","src","isMDXComponent"],"mappings":"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","file":"component---src-pages-docs-installation-building-viz-plugins-mdx-2f7acdf719701b35a011.js","sourcesContent":["import * as React from 'react'\n  /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsx mdx */\n\nimport DefaultLayout from \"/Users/max/code/superset/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\n\nconst makeShortcode = name => function MDXDefaultShortcode(props) {\n  console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n  return <div {...props} />;\n};\n\nconst layoutProps = {\n  _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n  components,\n  ...props\n}) {\n  return <MDXLayout {...layoutProps} {...props} components={components} mdxType=\"MDXLayout\">\n    <p>{`This is a tutorial to help you build a \"Hello World\" viz plugin. The intent is to provide a basic\nscaffolding to build any sort of data visualization, using any viz libary you'd like (e.g. ECharts,\nAntV, HighCharts, VX, and D3.).`}</p>\n    <p>{`You can build the Hello World plugin by running a `}\n      <a {...{\n        \"href\": \"https://yeoman.io/\",\n        \"parentName\": \"p\"\n      }}>{`Yeoman`}</a>\n      {` generator, which\ntakes a few simple options, and provides this plugin scaffolding.`}</p>\n    <h2 {...{\n      \"id\": \"getting-set-up\"\n    }}>{`Getting Set Up`}</h2>\n    <h3 {...{\n      \"id\": \"install-yeoman-and-the-superset-package-generator\"\n    }}>{`Install Yeoman and the Superset Package Generator`}</h3>\n    <p>{`This Hello World plugin we'll be building is generated automatically with\n`}\n      <a {...{\n        \"href\": \"https://yeoman.io/\",\n        \"parentName\": \"p\"\n      }}>{`Yeoman`}</a>\n      {`. Let's first get that installed by opening up a terminal and installing\nboth the `}\n      <inlineCode {...{\n        \"parentName\": \"p\"\n      }}>{`yo`}</inlineCode>\n      {` module and the\n`}\n      <a {...{\n        \"href\": \"https://github.com/apache-superset/superset-ui/tree/master/packages/generator-superset\",\n        \"parentName\": \"p\"\n      }}>{`superset package generator`}</a>\n      {`\n(`}\n      <inlineCode {...{\n        \"parentName\": \"p\"\n      }}>{`v0.14.7`}</inlineCode>\n      {`) to create the new plugin.`}</p>\n    <pre><code {...{\n        \"parentName\": \"pre\"\n      }}>{`npm install -g yo @superset-ui/generator-superset\n`}</code></pre>\n    <h3 {...{\n      \"id\": \"install-superset\"\n    }}>{`Install Superset`}</h3>\n    <p>{`There are\n`}\n      <a {...{\n        \"href\": \"https://github.com/apache/incubator-superset#installation-and-configuration\",\n        \"parentName\": \"p\"\n      }}>{`complete instructions`}</a>\n      {`\navailable on the `}\n      <a {...{\n        \"href\": \"https://github.com/apache/incubator-superset\",\n        \"parentName\": \"p\"\n      }}>{`Superset Github repository`}</a>\n      {`. In a\nnutshell, the easiest way is to:`}</p>\n    <ol>\n\n      <li {...{\n        \"parentName\": \"ol\"\n      }}>{`Have a Mac or linux-based machine`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ol\"\n      }}>{`Install `}\n        <a {...{\n          \"href\": \"https://docs.docker.com/get-docker/\",\n          \"parentName\": \"li\"\n        }}>{`Docker`}</a></li>\n\n\n      <li {...{\n        \"parentName\": \"ol\"\n      }}>{`Clone `}\n        <a {...{\n          \"href\": \"https://github.com/apache/incubator-superset\",\n          \"parentName\": \"li\"\n        }}>{`the repository`}</a>\n        {` to your computer`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ol\"\n      }}>{`Use your terminal to `}\n        <inlineCode {...{\n          \"parentName\": \"li\"\n        }}>{`cd`}</inlineCode>\n        {` into the `}\n        <inlineCode {...{\n          \"parentName\": \"li\"\n        }}>{`incubator-superset`}</inlineCode>\n        {` directory`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ol\"\n      }}>{`Run `}\n        <inlineCode {...{\n          \"parentName\": \"li\"\n        }}>{`docker-compose up`}</inlineCode></li>\n\n\n      <li {...{\n        \"parentName\": \"ol\"\n      }}>{`Open `}\n        <em {...{\n          \"parentName\": \"li\"\n        }}>{`another`}</em>\n        {` terminal, and `}\n        <inlineCode {...{\n          \"parentName\": \"li\"\n        }}>{`cd`}</inlineCode>\n        {` into `}\n        <inlineCode {...{\n          \"parentName\": \"li\"\n        }}>{`incubator-superset/superset-frontend`}</inlineCode></li>\n\n\n      <li {...{\n        \"parentName\": \"ol\"\n      }}>{`Run `}\n        <inlineCode {...{\n          \"parentName\": \"li\"\n        }}>{`npm install`}</inlineCode>\n        {` to load up all the npm packages.`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ol\"\n      }}>{`Run `}\n        <inlineCode {...{\n          \"parentName\": \"li\"\n        }}>{`npm run dev-server`}</inlineCode>\n        {` to spin up the Webpack hot-reloading server`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ol\"\n      }}>{`Wait for it to build, and then open your browser to `}\n        <inlineCode {...{\n          \"parentName\": \"li\"\n        }}>{`http://localhost:9000`}</inlineCode>\n        {` and log in with\n`}\n        <inlineCode {...{\n          \"parentName\": \"li\"\n        }}>{`admin`}</inlineCode>\n        {`/`}\n        <inlineCode {...{\n          \"parentName\": \"li\"\n        }}>{`admin`}</inlineCode>\n        {`. You're off to the races! (Note: we'll be restarting this later)`}</li>\n\n    </ol>\n    <h3 {...{\n      \"id\": \"install-superset-ui\"\n    }}>{`Install Superset-UI`}</h3>\n    <ol>\n\n      <li {...{\n        \"parentName\": \"ol\"\n      }}>{`Clone `}\n        <a {...{\n          \"href\": \"https://github.com/apache-superset/superset-ui\",\n          \"parentName\": \"li\"\n        }}>{`the `}\n          <inlineCode {...{\n            \"parentName\": \"a\"\n          }}>{`superset-ui`}</inlineCode>\n          {` repository`}</a>\n        {` to your\ncomputer. It can sit in the same parent directory as your `}\n        <inlineCode {...{\n          \"parentName\": \"li\"\n        }}>{`incubator-superset`}</inlineCode>\n        {` repo`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ol\"\n      }}>{`Use your terminal to `}\n        <inlineCode {...{\n          \"parentName\": \"li\"\n        }}>{`cd`}</inlineCode>\n        {` into `}\n        <inlineCode {...{\n          \"parentName\": \"li\"\n        }}>{`superset-ui`}</inlineCode></li>\n\n\n      <li {...{\n        \"parentName\": \"ol\"\n      }}>{`Run `}\n        <inlineCode {...{\n          \"parentName\": \"li\"\n        }}>{`yarn install`}</inlineCode>\n        {` and wait for all the packages to get installed`}</li>\n\n    </ol>\n    <h2 {...{\n      \"id\": \"build-your-hello-world\"\n    }}>{`Build Your \"Hello, World\"`}</h2>\n    <h3 {...{\n      \"id\": \"write-generate-some-code\"\n    }}><del {...{\n        \"parentName\": \"h3\"\n      }}>{`Write`}</del>\n      {` `}\n      <em {...{\n        \"parentName\": \"h3\"\n      }}>{`generate`}</em>\n      {` some code!`}</h3>\n    <ol>\n\n      <li {...{\n        \"parentName\": \"ol\"\n      }}>{`Using your terminal, `}\n        <inlineCode {...{\n          \"parentName\": \"li\"\n        }}>{`cd`}</inlineCode>\n        {` into your local `}\n        <inlineCode {...{\n          \"parentName\": \"li\"\n        }}>{`superset-ui`}</inlineCode>\n        {` repo folder and then into the `}\n        <inlineCode {...{\n          \"parentName\": \"li\"\n        }}>{`plugins`}</inlineCode>\n        {`\nsubdirectory.`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ol\"\n      }}>{`Make a new directory for your plugin, i.e. `}\n        <inlineCode {...{\n          \"parentName\": \"li\"\n        }}>{`mkdir plugin-chart-hello-world`}</inlineCode>\n        {`. `}\n        <strong {...{\n          \"parentName\": \"li\"\n        }}>{`Note:`}</strong>\n        {` we\n`}\n        <em {...{\n          \"parentName\": \"li\"\n        }}>{`highly`}</em>\n        {` recommend following the `}\n        <inlineCode {...{\n          \"parentName\": \"li\"\n        }}>{`plugin-chart-your-plugin-name`}</inlineCode>\n        {` pattern.`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ol\"\n      }}>{`Now `}\n        <inlineCode {...{\n          \"parentName\": \"li\"\n        }}>{`cd plugin-chart-hello-world`}</inlineCode></li>\n\n\n      <li {...{\n        \"parentName\": \"ol\"\n      }}>{`Finally, run `}\n        <inlineCode {...{\n          \"parentName\": \"li\"\n        }}>{`yo @superset-ui/superset`}</inlineCode></li>\n\n\n      <li {...{\n        \"parentName\": \"ol\"\n      }}>{`Select `}\n        <inlineCode {...{\n          \"parentName\": \"li\"\n        }}>{`Create superset-ui chart plugin package`}</inlineCode>\n        {` on the following screen:`}</li>\n\n    </ol>\n    <p><img src=\"/images/plugin-1-yeoman-select.png\" />\n      {' '}</p>\n    <ol {...{\n      \"start\": 6\n    }}>\n\n      <li {...{\n        \"parentName\": \"ol\"\n      }}>\n\n        <p {...{\n          \"parentName\": \"li\"\n        }}>{`Give it a name (in our case, go with the default, based on the folder name):`}</p>\n\n\n        <img src=\"/images/plugin-2-yeoman-package-name.png\" />\n\n      </li>\n\n\n      <li {...{\n        \"parentName\": \"ol\"\n      }}>\n\n        <p {...{\n          \"parentName\": \"li\"\n        }}>{`Give it a description (again, default is fine!)`}</p>\n\n\n        <p {...{\n          \"parentName\": \"li\"\n        }}><img src=\"/images/plugin-3-yeoman-description.png\" />\n          {' '}</p>\n\n      </li>\n\n\n      <li {...{\n        \"parentName\": \"ol\"\n      }}>\n\n        <p {...{\n          \"parentName\": \"li\"\n        }}>{`Choose which type of React component you want to make (Class, or Function component).`}</p>\n\n\n        <p {...{\n          \"parentName\": \"li\"\n        }}><img src=\"/images/plugin-4-yeoman-component-type.png\" />\n          {' '}</p>\n\n      </li>\n\n\n      <li {...{\n        \"parentName\": \"ol\"\n      }}>\n\n        <p {...{\n          \"parentName\": \"li\"\n        }}>{`Select whether you'd like your visualization to be timeseries-based or not`}</p>\n\n\n        <p {...{\n          \"parentName\": \"li\"\n        }}><img src=\"/images/plugin-5-yeoman-timeseries.png\" />\n          {' '}</p>\n\n      </li>\n\n\n      <li {...{\n        \"parentName\": \"ol\"\n      }}>\n\n        <p {...{\n          \"parentName\": \"li\"\n        }}>{`Select whether or not you want to include badges at the top of your README file (really only\nneeded if you intend to contribute your plugin to the `}\n          <inlineCode {...{\n            \"parentName\": \"p\"\n          }}>{`superset-ui`}</inlineCode>\n          {` repo).`}</p>\n\n\n        <p {...{\n          \"parentName\": \"li\"\n        }}><img src=\"/images/plugin-6-yeoman-badges.png\" />\n          {' '}</p>\n\n      </li>\n\n\n      <li {...{\n        \"parentName\": \"ol\"\n      }}>\n\n        <p {...{\n          \"parentName\": \"li\"\n        }}>{`Admire all the files the generator has created for you. Note that EACH of these is chock full of\ncomments about what they're for, and how best to use them.`}</p>\n\n\n        <p {...{\n          \"parentName\": \"li\"\n        }}><img src=\"/images/plugin-7-yeoman-files.png\" />\n          {' '}</p>\n\n      </li>\n\n    </ol>\n    <h3 {...{\n      \"id\": \"add-your-plugin-to-superset-with-npm-link\"\n    }}>{`Add your Plugin to Superset (with NPM Link)`}</h3>\n    <p>{`Now, we want to see this thing actually RUN! To do that, we'll add your package to Superset and\nembrace the magic power of `}\n      <inlineCode {...{\n        \"parentName\": \"p\"\n      }}>{`npm link`}</inlineCode>\n      {` to see it in-situ, without needing to `}\n      <strong {...{\n        \"parentName\": \"p\"\n      }}>{`build`}</strong>\n      {` the plugin, or\nopen any PRs on Github.`}</p>\n    <ol>\n\n      <li {...{\n        \"parentName\": \"ol\"\n      }}>\n\n        <p {...{\n          \"parentName\": \"li\"\n        }}>{`Add your package to the `}\n          <inlineCode {...{\n            \"parentName\": \"p\"\n          }}>{`package.json`}</inlineCode>\n          {` file in `}\n          <inlineCode {...{\n            \"parentName\": \"p\"\n          }}>{`incubator-superset/superset-frontend`}</inlineCode>\n          {`.`}</p>\n\n\n        <p {...{\n          \"parentName\": \"li\"\n        }}><img src=\"/images/plugin-8-package-json.png\" />\n          {' '}</p>\n\n      </li>\n\n    </ol>\n    <p>{`Note: Do `}\n      <em {...{\n        \"parentName\": \"p\"\n      }}>{`not`}</em>\n      {` run `}\n      <inlineCode {...{\n        \"parentName\": \"p\"\n      }}>{`npm install`}</inlineCode>\n      {`... explanation below.`}</p>\n    <ol {...{\n      \"start\": 2\n    }}>\n\n      <li {...{\n        \"parentName\": \"ol\"\n      }}>\n\n        <p {...{\n          \"parentName\": \"li\"\n        }}>{`Add your plugin to the `}\n          <inlineCode {...{\n            \"parentName\": \"p\"\n          }}>{`MainPreset.js`}</inlineCode>\n          {` file (located in\n`}\n          <inlineCode {...{\n            \"parentName\": \"p\"\n          }}>{`incubator-superset/superset-frontend/src/visualizations/presets/MainPreset.js`}</inlineCode>\n          {`) in two places,\nalongside the other plugins.`}</p>\n\n\n        <p {...{\n          \"parentName\": \"li\"\n        }}><img src=\"/images/plugin-9-mainpreset-import.png\" />\n          {' '}</p>\n\n\n        {' '}\n\n\n        <img src=\"/images/plugin-9-mainpreset-register.png\" />\n\n      </li>\n\n\n      <li {...{\n        \"parentName\": \"ol\"\n      }}>\n\n        <p {...{\n          \"parentName\": \"li\"\n        }}>{`Open a terminal window to `}\n          <inlineCode {...{\n            \"parentName\": \"p\"\n          }}>{`incubator-superset/superset-frontend`}</inlineCode>\n          {`. If you did the Install Superset\nsteps above, you may still have webpack running there, and you can just stop it with `}\n          <inlineCode {...{\n            \"parentName\": \"p\"\n          }}>{`ctrol-c`}</inlineCode>\n          {`.\nIf not, just open a new window and or `}\n          <inlineCode {...{\n            \"parentName\": \"p\"\n          }}>{`cd`}</inlineCode>\n          {` to that directory path.`}</p>\n\n      </li>\n\n    </ol>\n    <p>{`4) Use `}\n      <inlineCode {...{\n        \"parentName\": \"p\"\n      }}>{`npm link`}</inlineCode>\n      {` to symlink plugin, using a relative path to `}\n      <inlineCode {...{\n        \"parentName\": \"p\"\n      }}>{`superset-ui`}</inlineCode>\n      {` and your plugin folder,\ne.g. `}\n      <inlineCode {...{\n        \"parentName\": \"p\"\n      }}>{`npm link ../../superset-ui/plugins/plugin-chart-hello-world`}</inlineCode>\n      {`.`}</p>\n    <ol {...{\n      \"start\": 5\n    }}>\n\n      <li {...{\n        \"parentName\": \"ol\"\n      }}>{`Restart your webpack dev server with `}\n        <inlineCode {...{\n          \"parentName\": \"li\"\n        }}>{`npm run dev-server`}</inlineCode>\n        {`. You'll know it worked if you see a\nline stating\n`}\n        <inlineCode {...{\n          \"parentName\": \"li\"\n        }}>{`[Superset Plugin] Use symlink source for @superset-ui/plugin-chart-hello-world @ ^0.0.0`}</inlineCode>\n        {`.`}</li>\n\n    </ol>\n    <p><strong {...{\n        \"parentName\": \"p\"\n      }}>{`NOTE:`}</strong>\n      {` If/when you do an `}\n      <inlineCode {...{\n        \"parentName\": \"p\"\n      }}>{`npm install`}</inlineCode>\n      {` that erases the symlink generated by `}\n      <inlineCode {...{\n        \"parentName\": \"p\"\n      }}>{`npm link`}</inlineCode>\n      {`, so you'll\nhave to redo those steps.`}</p>\n    <p><strong {...{\n        \"parentName\": \"p\"\n      }}>{`NOTE:`}</strong>\n      {` Dynamic import is a work in progress. We hope you won't even need to DO this soon. We'll\nbe blogging again when that day comes, we assure you. In short, we have a goal to make editing\n`}\n      <inlineCode {...{\n        \"parentName\": \"p\"\n      }}>{`package.json`}</inlineCode>\n      {` and `}\n      <inlineCode {...{\n        \"parentName\": \"p\"\n      }}>{`MainPreset.js`}</inlineCode>\n      {` unnecessary, so all the code changes are made in ONE repo.`}</p>\n    <h3 {...{\n      \"id\": \"see-it-with-your-own-eyes\"\n    }}>{`See it with your own eyes!`}</h3>\n    <p>{`You should now be able to go to the Explore view in your local Superset and add a new chart! You'll\nsee your new plugin when you go to select your viz type.`}</p>\n    <p><img src=\"/images/plugin-10-hello-thumbnail.png\" />\n      {' '}</p>\n    <p>{`Now you can load up some data, and you'll see it appear in the plugin!`}</p>\n    <p><img src=\"/images/plugin-11-explore-view.png\" />\n      {' '}</p>\n    <p>{`The plugin also outputs three things to your browser's console:`}</p>\n    <ul>\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}><inlineCode {...{\n          \"parentName\": \"li\"\n        }}>{`formData`}</inlineCode>\n        {`, a.k.a. everything sent into your viz from the controls`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}><inlineCode {...{\n          \"parentName\": \"li\"\n        }}>{`props`}</inlineCode>\n        {`, as output from the `}\n        <inlineCode {...{\n          \"parentName\": \"li\"\n        }}>{`transformProps`}</inlineCode>\n        {` file for your plugin's consumption`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`The actual HTML element, which your plugin has hooks into for any necessary DOM maniupluation`}</li>\n\n    </ul>\n    <p><img src=\"/images/plugin-12-console-logs.png\" />\n      {' '}</p>\n    <h2 {...{\n      \"id\": \"make-it-your-own\"\n    }}>{`Make it Your Own`}</h2>\n    <p>{`Now you're free to run wild with your new plugin! Here are a few places to start digging in:`}</p>\n    <h3 {...{\n      \"id\": \"read-the-comments-and-docs\"\n    }}>{`Read the comments and docs`}</h3>\n    <p>{`Take a look through the full file tree of the plugin. The Readme gives details for the job of each\nfile. EACH of these files has been annotated with extensive comments of what the file is for, and\nthe basics of what you can do with it.`}</p>\n    <h3 {...{\n      \"id\": \"take-control\"\n    }}>{`Take control!`}</h3>\n    <p>{`The plugin includes a couple of example controls, but you can certainly continue to add as many as\nyou need to. The comments/documentation within the controls file is a start, but we recommend\nlooking at existing `}\n      <inlineCode {...{\n        \"parentName\": \"p\"\n      }}>{`superset-ui`}</inlineCode>\n      {` plugins for more examples of how you can implement controls to\nenhance your queries, work with your data, and change your visualization's display.`}</p>\n    <h3 {...{\n      \"id\": \"build-the-perfect-query\"\n    }}>{`Build the perfect query`}</h3>\n    <p>{`The `}\n      <inlineCode {...{\n        \"parentName\": \"p\"\n      }}>{`buildQuery`}</inlineCode>\n      {` file where your plugin actually fetches data from the Superset backend. This file\nbuilds he query \"context\" for your plugin. For a simple plugin, this file needn't do much. There are\na couple changes that need to be made for a timeseries plugin, thus the option in the Yeoman\ngenerator.`}</p>\n    <p>{`This file also allows you to add various post-processing operations, to have the Superset backend\nprocess your data in various ways (pivoting, etc), but that's a whole other topic we'll cover\nseparately in the near future.`}</p>\n    <h3 {...{\n      \"id\": \"style-with-emotion\"\n    }}>{`Style with Emotion`}</h3>\n    <p>{`Each of these methods lets you add custom CSS styles using Emotion 👩‍🎤(a CSS-in-JS approach) which\nhas access to Superset's burgeoning set of theme variables, and also automatically scopes the styles\nto your plugin, so they don't \"leak\" to other areas of Superset.`}</p>\n    <p>{`In the Hello World plugin, we've included a few example Theme variables (`}\n      <inlineCode {...{\n        \"parentName\": \"p\"\n      }}>{`colors`}</inlineCode>\n      {`, `}\n      <inlineCode {...{\n        \"parentName\": \"p\"\n      }}>{`gridUnit`}</inlineCode>\n      {`s, and\ntypographic weights/sizes). We'll be continuing to add more variables to this theme file as we\ncontinue to push Superset (and the viz plugins) toward the standards of the Superset redesign (see\n`}\n      <a {...{\n        \"href\": \"https://github.com/apache/incubator-superset/issues/8976\",\n        \"parentName\": \"p\"\n      }}>{`SIP-34`}</a>\n      {`)`}</p>\n    <h3 {...{\n      \"id\": \"give-it-a-thumbnail\"\n    }}>{`Give it a thumbnail`}</h3>\n    <p>{`Because come on... that's the fun part, right?`}</p>\n    <h3 {...{\n      \"id\": \"build-it\"\n    }}>{`Build it!`}</h3>\n    <p>{`In this tutorial, you built your plugin in the `}\n      <inlineCode {...{\n        \"parentName\": \"p\"\n      }}>{`superset-ui`}</inlineCode>\n      {` repo. This means you can use the\nbuilt-in build scripts that the repo provides. With your terminal of choice, simply `}\n      <inlineCode {...{\n        \"parentName\": \"p\"\n      }}>{`cd`}</inlineCode>\n      {` into the\nroot directory of `}\n      <inlineCode {...{\n        \"parentName\": \"p\"\n      }}>{`supeset-ui`}</inlineCode>\n      {` and run `}\n      <inlineCode {...{\n        \"parentName\": \"p\"\n      }}>{`yarn build`}</inlineCode>\n      {`. This will kick off a build of ALL the Superset\nplugins and packages, including yours.`}</p>\n    <h3 {...{\n      \"id\": \"test-early-test-often\"\n    }}>{`Test early, test often!`}</h3>\n    <p>{`The Hello World plugin includes some basic Jest tests to act as a starting point to add unit tests\nto your plugin. These do a quick sanity check that the plugin actually loads correctly, and then run\nthrough the basics of making sure that your controls are properly respected by modifying the\nresulting data and/or props of the plugin. Running `}\n      <inlineCode {...{\n        \"parentName\": \"p\"\n      }}>{`yarn test`}</inlineCode>\n      {` from the root directory of\n`}\n      <inlineCode {...{\n        \"parentName\": \"p\"\n      }}>{`superset-ui`}</inlineCode>\n      {` will run all the tests for plugins/packages, including your Hello World.`}</p>\n\n  </MDXLayout>;\n}\n;\nMDXContent.isMDXComponent = true;\n      "],"sourceRoot":""}