{"version":3,"sources":["webpack:///./src/pages/docs/installation/building-viz-plugins.mdx"],"names":["_frontmatter","MDXLayout","DefaultLayout","MDXContent","components","props","mdxType","src","isMDXComponent"],"mappings":"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","file":"component---src-pages-docs-installation-building-viz-plugins-mdx-184bfb65cf66fe7af833.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 MDXLayout = DefaultLayout;\nexport default function MDXContent({\n  components,\n  ...props\n}) {\n  return <MDXLayout {...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":""}