{"version":3,"sources":["webpack:///./src/pages/docs/contributing-page.mdx"],"names":["_frontmatter","layoutProps","MDXLayout","DefaultLayout","MDXContent","components","props","mdxType","isMDXComponent"],"mappings":"wPAMaA,G,UAAe,S,sNAE5B,IAKMC,EAAc,CAClBD,gBAEIE,EAAYC,IACH,SAASC,EAAT,GAGZ,IAFDC,EAEC,EAFDA,WACGC,EACF,8BACD,OAAO,YAACJ,EAAD,eAAeD,EAAiBK,EAAhC,CAAuCD,WAAYA,EAAYE,QAAQ,cAC5E,iBAAQ,CACN,GAAM,4BADR,4BAGA,kEAEE,gBAAO,CACL,KAAQ,iDACR,WAAc,KAFhB,kCAFF,sIASA,sBAEE,iBAAQ,CACN,WAAc,MACb,gBAAO,CACN,KAAQ,6DACR,WAAc,MAFf,iBAMH,iBAAQ,CACN,WAAc,MACb,gBAAO,CACN,KAAQ,4FACR,WAAc,MAFf,oCAMH,iBAAQ,CACN,WAAc,MACb,gBAAO,CACN,KAAQ,sDACR,WAAc,MAFf,4BAML,qHAEE,gBAAO,CACL,KAAQ,2EACR,WAAc,KAFhB,gCAFF,iEAQA,sBAEE,iBAAQ,CACN,WAAc,MACb,gBAAO,CACN,KAAQ,kGACR,WAAc,MAFf,uCAMH,iBAAQ,CACN,WAAc,MACb,gBAAO,CACN,KAAQ,mGACR,WAAc,MAFf,4BAMH,iBAAQ,CACN,WAAc,MACb,gBAAO,CACN,KAAQ,mGACR,WAAc,MAFf,6BAMH,iBAAQ,CACN,WAAc,MACb,gBAAO,CACN,KAAQ,mHACR,WAAc,MAFf,wD,oNAUTH,EAAWI,gBAAiB","file":"component---src-pages-docs-contributing-page-mdx-36710ddda9f20151117f.js","sourcesContent":["import * as React from 'react'\n  /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsx mdx */\n\nimport DefaultLayout from \"/Users/evan/GitHub/incubator-superset_preset/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    <h2 {...{\n      \"id\": \"contributing-to-superset\"\n    }}>{`Contributing to Superset`}</h2>\n    <p>{`Superset is currently being incubated at\n`}\n      <a {...{\n        \"href\": \"https://www.apache.org/theapacheway/index.html\",\n        \"parentName\": \"p\"\n      }}>{`the Apache Software Foundation`}</a>\n      {`. The core\ncontributors (or committers) to Superset communicate primarily in the following channels (all of\nwhich you can join):`}</p>\n    <ul>\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}><a {...{\n          \"href\": \"https://lists.apache.org/list.html?dev@superset.apache.org\",\n          \"parentName\": \"li\"\n        }}>{`mailing list`}</a></li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}><a {...{\n          \"href\": \"https://apache-superset.slack.com/join/shared_invite/zt-g8lpruog-HeqpgYrwdfrD5OYhlU7hPQ#/\",\n          \"parentName\": \"li\"\n        }}>{`Apache Superset Slack community`}</a></li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}><a {...{\n          \"href\": \"https://github.com/apache/incubator-superset/issues\",\n          \"parentName\": \"li\"\n        }}>{`Github issues and PR's`}</a></li>\n\n    </ul>\n    <p>{`If you're interested in contributing, we recommend reading the Community Contribution Guide\n`}\n      <a {...{\n        \"href\": \"https://github.com/apache/incubator-superset/blob/master/CONTRIBUTING.md\",\n        \"parentName\": \"p\"\n      }}>{`described in CONTRIBUTING.MD`}</a>\n      {`\nto get started. Here are some helpful links from that page:`}</p>\n    <ul>\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}><a {...{\n          \"href\": \"https://github.com/apache/incubator-superset/blob/master/CONTRIBUTING.md#types-of-contributions\",\n          \"parentName\": \"li\"\n        }}>{`Overview of types of contributions`}</a></li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}><a {...{\n          \"href\": \"https://github.com/apache/incubator-superset/blob/master/CONTRIBUTING.md#pull-request-guidelines\",\n          \"parentName\": \"li\"\n        }}>{`Pull request guidelines`}</a></li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}><a {...{\n          \"href\": \"https://github.com/apache/incubator-superset/blob/master/CONTRIBUTING.md#managing-issues-and-prs\",\n          \"parentName\": \"li\"\n        }}>{`Managing Issues and PR's`}</a></li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}><a {...{\n          \"href\": \"https://github.com/apache/incubator-superset/blob/master/CONTRIBUTING.md#setup-local-environment-for-development\",\n          \"parentName\": \"li\"\n        }}>{`Setting up local environment for development`}</a></li>\n\n    </ul>\n\n  </MDXLayout>;\n}\n;\nMDXContent.isMDXComponent = true;\n      "],"sourceRoot":""}