You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by su...@apache.org on 2022/01/13 23:44:16 UTC

[superset] branch guest-token-rls updated (a3f2e37 -> 378709d)

This is an automated email from the ASF dual-hosted git repository.

suddjian pushed a change to branch guest-token-rls
in repository https://gitbox.apache.org/repos/asf/superset.git.


    from a3f2e37  rls rules for guest tokens
     add 2141f2d  move row level security tests to their own file
     add bfdbad5  a bit of refactoring
     add 36a1224  add guest token security tests
     add 7181333  refactor tests
     add 27a2ec3  clean imports
     add 09aed96  variable names can be too long apparently
     add c7bfa96  missing argument to get_user_roles
     add aa672b9  don't redefine builtins
     add 091786d  remove unused imports
     add 5e23ce9  fix test import
     add a62b2f5  default to global user when getting roles
     add 89d0d38  fix(Mixed Timeseries Chart): Custom Metric Label  (#17649)
     add 07bbe84  refactor(monorepo): change coverage of core to 100% (#17698)
     add e2e7992  chore: bump FAB to 3.4.1 (#17723)
     add 2633bcc  fix: import dashboard stale filter_scopes (#17741)
     add 215ee08  feat: Update makefile with frontend build (#17734)
     add 63d9693  feat: add main datetime column to dataset editor (#17739)
     add 2a6e5e5  fix: import DB errors (#17748)
     add 37cc2c4  fix: column extra in import/export (#17738)
     add 142b5bc  fix: local warning in the frontend development (#17727)
     add 124af4c  chore(explore): Migrate BigNumber to v1 api [ID-28][ID-55] (#17587)
     add 6d97e89  chore: bump react-resize-detector (#17764)
     add ec24256  fix: add __init__.py to key_value (#17730)
     add 274fb37  fix: Remove positions from json_metadata (#17766)
     add 82b47ca  fix(plugin-chart-table): sort alphanumeric columns case insensitive (#17765)
     add 71e4131  fix: miss-spelling on CONTRIBUTING.md line 1351 (#17760)
     add 3aa1161  fix: change 401 response to a 403 for Security Exceptions (#17768)
     add b3db614  fix(alembic): Making Alembic logger config optional (#17774)
     add c18d486  chore: skip flaky test (#17772)
     add 961766e  fix(filter-sets): 404 on dashboard load (#17777)
     add a01c4c9  fix: [alert] should run alert query from report account (#17499)
     add 4fd6df9  fix: running dev-server on a different port (#17775)
     add 73ae892  feat: don't ask for password when DB exists (#17776)
     add bcd698d  chore: print test runtime (#17770)
     add 3657cbe  fix(dashboard): commit update once (#17781)
     add d9acb28  fix: New Members per Month time range (#17783)
     add afd2e9f  chore: update fixtures scope that are loading data into the analytical db (#17780)
     add 4beaa81  docs: Fix typo on line 967 (#17785)
     add c5af7a4  fix: [alert] allow decimal for alert threshold value (#17751)
     add 9c9edbe  chore(plugin-chart-pivot-table): migrate react-pivottable into superset codebase (#17769)
     add b5dca4e  chore(plugin-chart-pivot-table): swap order of Columns and Rows controls (#17798)
     add a2d8b94  chore(plugin-chart-table): move adhoc filters control closer to the metrics (#17797)
     add f396818  fix(docs): bump broken packages (#17800)
     add 53e2fa6  chore: updated screenshots in README.md and added recent events (#17650)
     add dc50578  doc: update contribuing docs (#17754)
     add b82da5c  accept null params for validation (#17788)
     add 61a6aa0f Map schemes json to SequentialScheme (#17813)
     add 0199104  fix: import typeddict from extensions (#17823)
     add 8fe2f5f  refactor(monorepo): migrate plugins release workflow (#17827)
     add 0a33fcf  chore: add lerna version (#17828)
     add e3b44f4  feat: Add Helm chart option for configOverrides through file (#17811)
     add 6edc183  chore: Refactor localstorage into typesafe version (#17832)
     add 5b0aa27  feat: Persist SQL Lab autocomplete setting across tabs and visits (#17708)
     add d5768ab  fix(explore): make SORT-Descending visible if Sort-by has value (#17726)
     add 19daf65  chore(generator-superset): migrate to monorepo (#17829)
     add 2c3f39f  feat(plugin-chart-pivot-table): support series limit (#17803)
     add cfd851a  fix: replace datamask with key from new key value api (#17680)
     add ec48dd5  fix(dashboard): update native filter info in metadata is not updated (#17842)
     add 9840fbf  refactor(monorepo): update plugin dependencies (#17837)
     add b7707e8  feat: bypass cache on screenshots for alerts (#17695)
     add c49545a  fix: dataset extra import/export (#17740)
     add d2ed1b7  chore: Help user to find the input fields in the dataset editor (#17824)
     add 30c0459  fix: extra column in metrics (#17784)
     add cb0b7a2  corrected misspelling in percent_metrics (#17856)
     add 2cd8054  feat: add force option to report screenshots (#17853)
     add 9baeafe  feat: configure force_screenshot (#17855)
     add 52f5dcb  fix(deckgl): deckgl unable to load map (#17851)
     add f8a65f8  Update UPDATING.md (#17717)
     add c6c4143  fix: show SCHEDULED_QUERIES when defined (#17854)
     add ef57bd1  fix: failed mypy (#17886)
     add 886e4ef  fix: tests can failed on different order executions (#17885)
     add 8ebec60  fix: Removes duplicated import in dashboard filter state tests (#17887)
     add 4954d52  ci: make presto hive tests to cover only chartData and sqljson (#17782)
     add 07998fe  fix(explore): simple tab content input problem (#17872)
     add 6e59a51  bump gunicorn 20.1.0 (#17894)
     add 6991417  feat: Helm - custom service account creation and management (#17880)
     add e0bd937  Compile translations (#17877)
     add 48d5dc1  fix(helm): service account apiVersion indent (#17920)
     add eff4d38  fix(cypress): flake cypress test case (#17918)
     add cac704d  chore: fix misspelling of button (#17924)
     add de3d397  fix: process color scheme configs correctly (#17786)
     add 4479fc9  fix: force_screenshot migration (#17928)
     add 97a78d3  refactor(storybok): upgrade to webpack5 in storybook of plugins (#17909)
     add ceecc70  chore: remove unused eslintrc (#17860)
     add 9e69940  feat: Update query states to use spinner vs. progress bar (#17804)
     add f75908b  Fixed spelling error (#17942)
     add 79b6dc2  fix: package.json local file dependencies (#17957)
     add 3b5cee4  chore(deps): bump urijs from 1.19.6 to 1.19.7 in /superset-frontend (#17962)
     add 53d8d38  chore: Moves the hooks folder to the src folder (#17896)
     add aa91662  chore: Moves the Menu to views/components folder (#17897)
     add e6ef7da  chore: Moves spec files to the src folder - iteration 8 (#17899)
     add eeaa573  chore: unbreak pip-compile-multi (#17963)
     add ea3a583  chore: bump FAB to 3.4.3 (#17964)
     add 2ae29c9  fix(Select): options will be overwritten due to seState (#17951)
     add 2098898  chore: Adding more viz category mappings for viz picker (#17956)
     add c95d6bf  Update clickhouse.mdx (#17937)
     add bb7e979  chore: Moves spec files to the src folder - iteration 9 (#17901)
     add 647bbf1  chore: Moves spec files to the src folder - iteration 10 (#17902)
     add 5bf9634  chore(deps): bump @storybook/addon-actions in /superset-frontend (#17904)
     add 765c72a  fix: update slug name (#17961)
     add be20b0d  chore(deps): bump babel from 2.5.3 to 2.9.1 in /superset/translations (#17958)
     add 8b1e44c  chore(deps): bump underscore from 1.12.0 to 1.12.1 in /superset-frontend (#17959)
     add cb97e37  refactor: import value name from root of superset-ui/core (#17947)
     add fecb6d9  chore: fixing annoying warning about escaping in Emotion styling (#17972)
     add c0a7695  chore: bump typescript to 4.5.4, and adjust storybook story. (#17971)
     add d2d4f8e  feat: Add support for Azure Data Explorer (Kusto) db engine spec (#17898)
     add d35da1f  fix: css template API response, less data (#17980)
     add 7964465  Close bracket on Helm chart reference (#17975)
     add 35f4c33  fix(native-filters): apply default value correctly when it's set (#17982)
     add 7329e3c  docs(contributing): update contributing section on docs page to match CONTRIBUTING.md (#17718)
     add bd9e123  fix(dashboard): scope status of filter not update in dashboard metadata (#17945)
     add 3a9bd12  fix: Returns 404 instead of 500 for unknown dashboard filter state keys (#17878)
     add 1e544ce  fix: null dates in table chart (#17974)
     add 05d9cde  feat: update time comparison choices (again) (#17968)
     add f6b9393  Tooltip no longer dancing (#17931)
     add df69920  Moved dataset editor lock to top of component (#17930)
     add c139312  fix:  dashboard full screen layout (#17985)
     add f7add54  Fixed error handling in Report modal (#17988)
     add 3d829fc  fix:  dashboard reload crash (#17992)
     add e91b9a6  refactor: move superset-ui dependencies to peerDependencies (#17965)
     add d8d47ce  chore: reenable lint for test files (#17979)
     add cdcdf11  fix(helm): pin correct psycopg2 version (#17999)
     add 44df04f  chore: use new FAB functionality for component schemas update OAS (#17967)
     add 3a58424  fix: API logger output (#17981)
     add 7fc6a2f  refactor: examples data loading for tests  (#17893)
     add 412189f  fix: Change default SECRET_KEY, improve docs and banner warning (#17984)
     add 46715b2  refactor: remove unused ts-jest (#17996)
     add bdc35a2  feat(alerts): Select tabs to send backend (#17749)
     add ce614ea  fix: Adhere to series limit ordering for prequery (#17388)
     add 63ca09e  fix: Workaround for sqlparse issue #652 (#17995)
     add f451081  feat(chart): add Mexico to country map viz (#18007)
     add 5e84fd1  refactor: Migration for Tabbed Sql Editor (#17925)
     add 536ca1f  chore(DatasourceEditor): Create Datasource Legacy Editor Feature Flag (#18003)
     add 27000da  fix: SQL Lab sorting of non-numbers (#18006)
     add 6bd4dd2  feat(timeseries-chart): add percentage threshold input control (#17758)
     add 51090c3  feat: shorter timeout on test_connection (#18001)
     add 14b9298  fix: revert #17654 to fix subselect table name parsing (#18017)
     add 343d3f8  fix: Disable filtering on wide result sets (#18021)
     add d2774e4  Merge branch 'master' into embedded
     add e9d50c2  Merge branch 'embedded' into guest-token-authz
     add 4c74e53  correct import
     add 67affe4  Merge branch 'embedded' into guest-token-authz
     add 378709d  Merge branch 'guest-token-authz' into guest-token-rls

No new revisions were added by this update.

Summary of changes:
 .codecov.yml                                       |     2 +-
 .../.github => .github}/workflows/release.yml      |    12 +-
 .github/workflows/superset-python-misc.yml         |     5 +-
 .github/workflows/superset-python-presto-hive.yml  |     4 +-
 .github/workflows/superset-python-unittest.yml     |     2 +-
 CONTRIBUTING.md                                    |    82 +-
 Dockerfile                                         |     3 +-
 Makefile                                           |     3 +
 README.md                                          |    79 +-
 UPDATING.md                                        |     2 +
 docs/doczrc.js                                     |     2 +-
 docs/gatsby-node.js                                |     2 +-
 docs/installation.rst                              |    17 +
 docs/package-lock.json                             | 34513 ++++++++++++++++++-
 docs/package.json                                  |     6 +-
 docs/src/components/footer.tsx                     |     2 +-
 .../docs/Connecting to Databases/clickhouse.mdx    |     2 +-
 .../pages/docs/Connecting to Databases/index.mdx   |     1 +
 .../pages/docs/Connecting to Databases/kusto.mdx   |    21 +
 .../pages/docs/Connecting to Databases/pinot.mdx   |     2 +-
 .../pages/docs/Contributing/contributing-page.mdx  |    21 +
 .../docs/Contributing/conventions-and-typing.mdx   |    58 +
 .../pages/docs/Contributing/hooks-and-linting.mdx  |    62 +
 docs/src/pages/docs/Contributing/local-backend.mdx |   107 +
 .../docs/Contributing/pull-request-guidelines.mdx  |    97 +
 docs/src/pages/docs/Contributing/style-guide.mdx   |    55 +
 .../pages/docs/Contributing/testing-locally.mdx    |   276 +
 docs/src/pages/docs/Contributing/translations.mdx  |   104 +
 .../docs/Contributing/types-of-contributions.mdx   |    61 +
 docs/src/pages/docs/Miscellaneous/chart-params.mdx |   148 +
 docs/src/pages/docs/contributing-page.mdx          |    24 -
 .../src/pages/docs/installation/alerts_reports.mdx |     2 +-
 .../docs/installation/async_queries_celery.mdx     |     2 +-
 .../docs/installation/building-viz-plugins.mdx     |     2 +-
 docs/src/pages/docs/installation/caching.mdx       |     2 +-
 docs/src/pages/docs/installation/configuring.mdx   |     7 +-
 .../pages/docs/installation/event-logging-page.mdx |     2 +-
 .../pages/docs/installation/frontend-assets.mdx    |    92 +
 .../pages/docs/installation/installing_scratch.mdx |     2 +-
 docs/src/pages/docs/installation/kubernetes.mdx    |     4 +-
 .../docs/installation/networking_settings.mdx      |     2 +-
 .../src/pages/docs/installation/sql_templating.mdx |     4 +-
 .../pages/docs/installation/upgrading_superset.mdx |     2 +-
 docs/src/resources/openapi.json                    |  8504 +++--
 helm/superset/Chart.yaml                           |     2 +-
 helm/superset/templates/_helpers.tpl               |    19 +
 helm/superset/templates/deployment-beat.yaml       |     1 +
 helm/superset/templates/deployment-worker.yaml     |     5 +-
 helm/superset/templates/deployment.yaml            |     5 +-
 helm/superset/templates/init-job.yaml              |     3 +
 .../{Chart.yaml => templates/service-account.yaml} |    33 +-
 helm/superset/values.yaml                          |    14 +-
 requirements/base.in                               |     1 +
 requirements/base.txt                              |    12 +-
 requirements/integration.in                        |     1 -
 requirements/integration.txt                       |    10 +-
 requirements/testing.in                            |     1 -
 requirements/testing.txt                           |     2 +-
 scripts/python_tests.sh                            |     3 +-
 setup.py                                           |    10 +-
 superset-frontend/.eslintrc.js                     |    89 +-
 superset-frontend/.prettierignore                  |     2 +
 .../integration/dashboard/key_value.test.ts        |    54 +
 .../integration/dashboard/nativeFilters.test.ts    |    19 +-
 .../cypress/integration/explore/control.test.ts    |     6 +-
 .../explore/visualizations/big_number.test.js      |    12 +-
 .../visualizations/big_number_total.test.js        |    17 +-
 .../cypress-base/cypress/plugins/index.js          |     1 +
 .../cypress-base/cypress/utils/vizPlugins.ts       |     2 +
 superset-frontend/cypress-base/package-lock.json   |    24 +
 superset-frontend/cypress-base/package.json        |     2 +
 superset-frontend/jest.config.js                   |    32 +-
 superset-frontend/lerna.json                       |    14 +-
 superset-frontend/package-lock.json                | 18481 ++++------
 superset-frontend/package.json                     |    76 +-
 .../generator-superset/generators/app/index.js     |    27 +-
 .../generator-superset/generators/package/index.js |    78 -
 .../generators/package/templates/README.md         |    46 -
 .../generators/package/templates/_package.json     |    23 -
 .../generators/package/templates/src/index.txt     |     2 -
 .../generators/package/templates/test/index.txt    |     5 -
 .../generators/plugin-chart/index.js               |    35 +-
 .../generators/plugin-chart/templates/README.erb   |     4 +-
 .../plugin-chart/templates/babel.config.erb        |    20 +
 .../plugin-chart/templates/jest.config.erb         |     6 +
 .../generators/plugin-chart/templates/package.erb  |    41 +-
 .../plugin-chart/templates/src/MyChart.erb         |    38 +-
 .../templates}/test/__mocks__/mockExportString.js  |     0
 .../templates/test/plugin/buildQuery.test.erb      |     2 +-
 .../plugin-chart/templates/tsconfig.json           |    43 +-
 .../generator-superset/test/package.test.js        |    60 -
 .../generator-superset/test/plugin-chart.test.js   |     3 +
 .../superset-ui-chart-controls/package.json        |     5 +-
 .../src/components/Tooltip.tsx                     |     4 +-
 .../src/sections/advancedAnalytics.tsx             |     2 +
 .../superset-ui-chart-controls/src/types.ts        |     8 +-
 .../packages/superset-ui-core/package.json         |     5 +-
 .../packages/superset-ui-core/src/chart/index.ts   |     2 +-
 .../src/color/CategoricalColorNamespace.ts         |     7 +-
 .../packages/superset-ui-core/src/color/index.ts   |     4 +
 .../src/connection/SupersetClientClass.ts          |    15 +-
 .../src/query/types/QueryResponse.ts               |     4 +-
 .../superset-ui-core/src/utils/featureFlags.ts     |     1 +
 .../packages/superset-ui-core/src/utils/random.ts  |     9 +-
 .../test/chart-composition/ChartFrame.test.tsx     |     2 +-
 .../chart-composition/legend/WithLegend.test.tsx   |     3 +-
 .../tooltip/TooltipFrame.test.tsx                  |     2 +-
 .../tooltip/TooltipTable.test.tsx                  |     2 +-
 .../test/chart/clients/ChartClient.test.ts         |     8 +-
 .../chart/components/ChartDataProvider.test.tsx    |    12 +-
 .../chart/components/FallbackComponent.test.tsx    |     2 +-
 .../test/chart/components/MockChartPlugins.tsx     |     3 +-
 .../chart/components/NoResultsComponent.test.tsx   |     4 +-
 .../test/chart/components/SuperChart.test.tsx      |     9 +-
 .../test/chart/components/SuperChartCore.test.tsx  |     5 +-
 .../components/createLoadableRenderer.test.tsx     |     4 +-
 .../test/chart/components/reactify.test.tsx        |     5 +-
 .../superset-ui-core/test/chart/index.test.ts      |     2 +-
 .../test/chart/models/ChartMetadata.test.ts        |     2 +-
 .../test/chart/models/ChartPlugin.test.tsx         |     5 +-
 .../test/chart/models/ChartProps.test.ts           |     2 +-
 .../test/color/CategoricalColorNameSpace.test.ts   |    11 +-
 .../test/color/CategoricalColorScale.test.ts       |     2 +-
 .../CategoricalSchemeRegistrySingleton.test.ts     |     2 +-
 .../test/color/ColorScheme.test.ts                 |     2 +-
 .../test/color/ColorSchemeRegistry.test.ts         |     2 +-
 .../test/color/SequentialScheme.test.ts            |     2 +-
 .../SequentialSchemeRegistrySingleton.test.ts      |     2 +-
 .../test/color/colorSchemes.test.ts                |    41 +-
 .../superset-ui-core/test/color/index.test.ts      |     2 +-
 .../superset-ui-core/test/color/utils.test.ts      |     2 +-
 .../test/connection/SupersetClient.test.ts         |     5 +-
 .../test/connection/SupersetClientClass.test.ts    |    49 +-
 .../test/connection/callApi/callApi.test.ts        |    11 +-
 .../callApi/callApiAndParseWithTimeout.test.ts     |     8 +-
 .../test/connection/callApi/parseResponse.test.ts  |     4 +-
 .../connection/callApi/rejectAfterTimeout.test.ts  |     2 +-
 .../test/dimension/computeMaxFontSize.test.ts      |     2 +-
 .../dimension/getMultipleTextDimensions.test.ts    |     5 +-
 .../test/dimension/getTextDimension.test.ts        |     2 +-
 .../test/dimension/mergeMargin.test.ts             |     2 +-
 .../test/dimension/parseLength.test.ts             |     2 +-
 .../test/dimension/svg/LazyFactory.test.ts         |     2 +-
 .../test/dimension/svg/getBBoxCeil.test.ts         |     4 +-
 .../test/dimension/svg/updateTextNode.test.ts      |    13 +-
 .../packages/superset-ui-core/test/fixtures.ts     |     2 +-
 .../packages/superset-ui-core/test/index.test.ts   |     2 +-
 .../test/math-expression/index.test.ts             |     5 +-
 .../test/models/ExtensibleFunction.test.ts         |     2 +-
 .../superset-ui-core/test/models/Plugin.test.ts    |     2 +-
 .../superset-ui-core/test/models/Preset.test.ts    |     2 +-
 .../superset-ui-core/test/models/Registry.test.ts  |     2 +-
 .../test/models/RegistryWithDefaultKey.test.ts     |     2 +-
 .../test/number-format/NumberFormatter.test.ts     |     2 +-
 .../number-format/NumberFormatterRegistry.test.ts  |     2 +-
 .../NumberFormatterRegistrySingleton.test.ts       |     2 +-
 .../factories/createD3NumberFormatter.test.ts      |     2 +-
 .../factories/createDurationFormatter.test.ts      |     5 +-
 .../createSiAtMostNDigitFormatter.test.ts          |     2 +-
 .../factories/createSmartNumberFormatter.test.ts   |     5 +-
 .../test/number-format/index.test.ts               |     2 +-
 .../test/query/DatasourceKey.test.ts               |     2 +-
 .../test/query/api/legacy/fetchExploreJson.test.ts |     2 +-
 .../query/api/legacy/getDatasourceMetadata.test.ts |     2 +-
 .../test/query/api/legacy/getFormData.test.ts      |     2 +-
 .../test/query/api/setupClientForTest.ts           |     2 +-
 .../test/query/api/v1/getChartData.test.ts         |     2 +-
 .../test/query/api/v1/handleError.test.ts          |    10 +-
 .../test/query/api/v1/makeApi.test.ts              |     7 +-
 .../test/query/buildQueryContext.test.ts           |     2 +-
 .../test/query/buildQueryObject.test.ts            |     4 +-
 .../test/query/convertFilter.test.ts               |     2 +-
 .../test/query/extractExtras.test.ts               |     2 +-
 .../test/query/extractQueryFields.test.ts          |     5 +-
 .../test/query/extractTimegrain.test.ts            |     3 +-
 .../test/query/getColumnLabel.test.ts              |     2 +-
 .../test/query/getMetricLabel.test.ts              |     2 +-
 .../test/query/normalizeOrderBy.test.ts            |     2 +-
 .../test/query/processExtraFormData.test.ts        |     2 +-
 .../test/query/processFilters.test.ts              |     2 +-
 .../test/query/types/AnnotationLayer.test.ts       |     2 +-
 .../test/query/types/Filter.test.ts                |     2 +-
 .../test/query/types/PostProcessing.test.ts        |     2 +-
 .../test/time-format/TimeFormatter.test.ts         |     4 +-
 .../test/time-format/TimeFormatterRegistry.test.ts |     8 +-
 .../TimeFormatterRegistrySingleton.test.ts         |    15 +-
 .../factories/createD3TimeFormatter.test.ts        |     8 +-
 .../factories/createMultiFormatter.test.ts         |     2 +-
 .../test/time-format/formatters/smartDate.test.ts  |     3 +-
 .../formatters/smartDateDetailed.test.ts           |     3 +-
 .../formatters/smartDateVerbose.test.ts            |     3 +-
 .../test/time-format/index.test.ts                 |     2 +-
 .../test/time-format/utils/createTime.test.ts      |     2 +-
 .../utils/createTimeRangeFromGranularity.test.ts   |     4 +-
 .../test/time-format/utils/d3Time.test.ts          |     2 +-
 .../test/translation/Translator.test.ts            |     6 +-
 .../test/translation/TranslatorSingleton.test.ts   |    21 +-
 .../test/translation/index.test.ts                 |     2 +-
 .../test/translation/languagePacks/en.ts           |     2 +-
 .../test/translation/languagePacks/zh.ts           |     2 +-
 .../test/utils/convertKeysToCamelCase.test.ts      |     2 +-
 .../test/utils/ensureIsArray.test.ts               |     2 +-
 .../test/utils/ensureIsInt.test.ts                 |     2 +-
 .../test/utils/featureFlag.test.ts                 |     2 +-
 .../superset-ui-core/test/utils/isDefined.test.ts  |     2 +-
 .../superset-ui-core/test/utils/isRequired.test.ts |     2 +-
 .../superset-ui-core/test/utils/logging.test.ts    |    39 +-
 .../test/utils/makeSingleton.test.ts               |     2 +-
 .../test/utils/promiseTimeout.test.ts              |     2 +-
 .../superset-ui-core/test/utils/random.test.ts     |     2 +-
 .../test/utils/removeDuplicates.test.ts            |     2 +-
 .../test/validator/legacyValidateInteger.test.ts   |     2 +-
 .../test/validator/legacyValidateNumber.test.ts    |     2 +-
 .../superset-ui-core/test/validator/setup.ts       |     2 +-
 .../test/validator/validateInteger.test.ts         |     2 +-
 .../test/validator/validateNonEmpty.test.ts        |     2 +-
 .../test/validator/validateNumber.test.ts          |     2 +-
 .../packages/superset-ui-demo/.storybook/main.js   |    79 +-
 .../packages/superset-ui-demo/package.json         |    59 +-
 .../BigNumber/BigNumberStories.tsx                 |     4 +-
 .../BigNumberTotal/BigNumberTotalStories.tsx       |     2 +-
 .../plugin-chart-echarts/Timeseries/Stories.tsx    |     3 +
 .../stories/plugins/plugin-chart-table/testData.ts |     7 +-
 .../superset-ui-chart/ChartDataProviderStories.tsx |     6 +-
 .../superset-ui-chart/SuperChartStories.tsx        |     2 +-
 .../superset-ui-connection/ConnectionStories.tsx   |     2 +-
 .../packages/superset-ui-demo/tsconfig.json        |     2 +
 .../legacy-plugin-chart-calendar/package.json      |     4 +-
 .../plugins/legacy-plugin-chart-chord/package.json |     6 +-
 .../legacy-plugin-chart-country-map/package.json   |     6 +-
 .../scripts/Country Map GeoJSON Generator.ipynb    |   656 +-
 .../src/countries.ts                               |    95 +-
 .../src/countries/australia.geojson                |   136 +-
 .../src/countries/belgium.geojson                  |     8 +-
 .../src/countries/bulgaria.geojson                 |    12 +-
 .../src/countries/canada.geojson                   |     2 +-
 .../src/countries/china.geojson                    |    69 +-
 .../src/countries/egypt.geojson                    |     8 +-
 .../src/countries/estonia.geojson                  |    22 +-
 .../src/countries/finland.geojson                  |    31 +-
 .../src/countries/france.geojson                   |     8 +-
 .../src/countries/germany.geojson                  |    18 +-
 .../src/countries/india.geojson                    |    71 +-
 .../src/countries/indonesia.geojson                |    66 +-
 .../src/countries/iran.geojson                     |     6 +-
 .../src/countries/italy.geojson                    |    12 +-
 .../src/countries/japan.geojson                    |    22 +-
 .../src/countries/korea.geojson                    |     8 +-
 .../src/countries/malaysia.geojson                 |    12 +-
 .../src/countries/mexico.geojson                   |    39 +
 .../src/countries/morocco.geojson                  |    10 +-
 .../src/countries/myanmar.geojson                  |    10 +-
 .../src/countries/netherlands.geojson              |    10 +-
 .../src/countries/poland.geojson                   |     4 +-
 .../src/countries/portugal.geojson                 |    22 +-
 .../src/countries/russia.geojson                   |   171 +-
 .../src/countries/slovenia.geojson                 |    56 +-
 .../src/countries/spain.geojson                    |    22 +-
 .../src/countries/sweden.geojson                   |     6 +-
 .../src/countries/switzerland.geojson              |    14 +-
 .../src/countries/syria.geojson                    |    16 +-
 .../src/countries/thailand.geojson                 |     6 +-
 .../src/countries/uk.geojson                       |    28 +-
 .../src/countries/ukraine.geojson                  |     8 +-
 .../src/countries/uruguay.geojson                  |    10 +-
 .../src/countries/zambia.geojson                   |     6 +-
 .../src/geojson.d.ts                               |     2 +-
 .../legacy-plugin-chart-event-flow/package.json    |     6 +-
 .../package.json                                   |     4 +-
 .../legacy-plugin-chart-heatmap/package.json       |     6 +-
 .../legacy-plugin-chart-histogram/package.json     |     4 +-
 .../legacy-plugin-chart-horizon/package.json       |     4 +-
 .../src/controlPanel.ts                            |     2 +
 .../legacy-plugin-chart-map-box/package.json       |     8 +-
 .../legacy-plugin-chart-paired-t-test/package.json |     4 +-
 .../src/controlPanel.ts                            |     2 +
 .../package.json                                   |     4 +-
 .../src/controlPanel.ts                            |     2 +
 .../legacy-plugin-chart-partition/package.json     |     7 +-
 .../src/controlPanel.tsx                           |     4 +
 .../legacy-plugin-chart-pivot-table/package.json   |     6 +-
 .../src/controlPanel.ts                            |     2 +
 .../plugins/legacy-plugin-chart-rose/package.json  |     4 +-
 .../legacy-plugin-chart-rose/src/controlPanel.tsx  |     4 +
 .../legacy-plugin-chart-sankey-loop/package.json   |     6 +-
 .../legacy-plugin-chart-sankey/package.json        |     4 +-
 .../legacy-plugin-chart-sunburst/package.json      |     6 +-
 .../legacy-plugin-chart-treemap/package.json       |     6 +-
 .../src/controlPanel.ts                            |     2 +
 .../legacy-plugin-chart-world-map/package.json     |     4 +-
 .../legacy-preset-chart-big-number/README.md       |    67 -
 .../legacy-preset-chart-big-number/package.json    |    42 -
 .../src/BigNumber/transformProps.ts                |   187 -
 .../legacy-preset-chart-big-number/src/preset.ts   |    33 -
 .../src/types/external.d.ts                        |    21 -
 .../test/tsconfig.json                             |    19 -
 .../legacy-preset-chart-big-number/tsconfig.json   |    25 -
 .../legacy-preset-chart-deckgl/package.json        |    10 +-
 .../src/DeckGLContainer.jsx                        |     1 -
 .../plugins/legacy-preset-chart-nvd3/package.json  |     4 +-
 .../legacy-preset-chart-nvd3/src/Bar/index.js      |     2 +
 .../src/DistBar/controlPanel.ts                    |     2 +
 .../legacy-preset-chart-nvd3/src/DistBar/index.js  |     1 +
 .../legacy-preset-chart-nvd3/src/DualLine/index.js |     2 +-
 .../legacy-preset-chart-nvd3/src/NVD3Controls.tsx  |     4 +
 .../legacy-preset-chart-nvd3/src/ReactNVD3.jsx     |     5 +-
 .../plugins/plugin-chart-echarts/package.json      |     7 +-
 .../src/BigNumber/BigNumberTotal/buildQuery.ts}    |     6 +-
 .../src/BigNumber}/BigNumberTotal/controlPanel.ts  |    47 +-
 .../BigNumber}/BigNumberTotal/images/BigNumber.jpg |   Bin
 .../BigNumberTotal/images/BigNumber2.jpg           |   Bin
 .../BigNumber}/BigNumberTotal/images/thumbnail.png |   Bin
 .../BigNumberTotal/images/thumbnailLarge.png       |   Bin
 .../src/BigNumber}/BigNumberTotal/index.ts         |    15 +-
 .../src/BigNumber/BigNumberTotal/transformProps.ts |    76 +
 .../src/BigNumber/BigNumberViz.tsx}                |   122 +-
 .../BigNumber/BigNumberWithTrendline/buildQuery.ts |    92 +
 .../BigNumberWithTrendline}/controlPanel.tsx       |    45 +-
 .../images/Big_Number_Trendline.jpg                |   Bin
 .../BigNumberWithTrendline}/images/thumbnail.png   |   Bin
 .../images/thumbnailLarge.png                      |   Bin
 .../src/BigNumber/BigNumberWithTrendline}/index.ts |    20 +-
 .../BigNumberWithTrendline/transformProps.ts       |   252 +
 .../src/BigNumber}/CHANGELOG.md                    |     0
 .../src/BigNumber}/index.ts                        |     5 +-
 .../src/BigNumber}/sharedControls.ts               |     2 +-
 .../plugin-chart-echarts/src/BigNumber/types.ts    |    57 +
 .../plugin-chart-echarts/src/BigNumber/utils.ts}   |    52 +-
 .../src/MixedTimeseries/transformProps.ts          |    25 +-
 .../src/Timeseries/Area/controlPanel.tsx           |     2 +
 .../src/Timeseries/Regular/Bar/controlPanel.tsx    |     2 +
 .../Timeseries/Regular/Scatter/controlPanel.tsx    |     2 +
 .../src/Timeseries/Regular/controlPanel.tsx        |     2 +
 .../src/Timeseries/Step/controlPanel.tsx           |     2 +
 .../src/Timeseries/controlPanel.tsx                |     2 +
 .../src/Timeseries/transformProps.ts               |     4 +
 .../src/Timeseries/transformers.ts                 |    10 +-
 .../plugin-chart-echarts/src/Timeseries/types.ts   |     2 +
 .../plugins/plugin-chart-echarts/src/controls.tsx  |    20 +
 .../plugins/plugin-chart-echarts/src/index.ts      |     1 +
 .../test/BigNumber}/transformProps.test.ts         |    21 +-
 .../test/Timeseries/transformProps.test.ts         |   226 +-
 .../plugins/plugin-chart-pivot-table/package.json  |    11 +-
 .../src/PivotTableChart.tsx                        |   151 +-
 .../src/plugin/buildQuery.ts                       |    34 +-
 .../src/plugin/controlPanel.tsx                    |    49 +-
 .../src/react-pivottable/PivotTable.jsx}           |    27 +-
 .../src/react-pivottable/Styles.js                 |   139 +
 .../src/react-pivottable/TableRenderers.jsx        |   890 +
 .../src/react-pivottable/index.js}                 |     3 +-
 .../src/react-pivottable/utilities.js              |   853 +
 .../plugins/plugin-chart-table/package.json        |     5 +-
 .../plugin-chart-table/src/DataTable/DataTable.tsx |     6 +
 .../utils/sortAlphanumericCaseInsensitive.ts}      |    28 +-
 .../plugin-chart-table/src/controlPanel.tsx        |     2 +-
 .../plugin-chart-table/src/utils/formatValue.ts    |     8 +-
 .../plugin-chart-table/test/TableChart.test.tsx    |     3 +-
 .../test/sortAlphanumericCaseInsensitive.test.ts   |   135 +
 .../plugins/plugin-chart-table/test/testData.ts    |     9 +-
 .../plugins/plugin-chart-word-cloud/package.json   |     4 +-
 .../plugins/preset-chart-xy/package.json           |     4 +-
 superset-frontend/scripts/lernaVersion.sh          |     6 +-
 superset-frontend/spec/fixtures/mockDatasource.js  |     1 +
 superset-frontend/spec/fixtures/mockState.js       |     2 +-
 .../spec/fixtures/mockStateWithoutUser.tsx         |     2 +-
 .../SqlLab/components/ResultSet/ResultSet.test.jsx |    18 +
 .../src/SqlLab/components/ResultSet/index.tsx      |    20 +-
 .../RunQueryActionButton.test.jsx}                 |     0
 .../src/SqlLab/components/SqlEditor/index.jsx      |    22 +-
 .../components/TemplateParamsEditor/index.tsx      |     2 +-
 superset-frontend/src/assets/images/firebolt.png   |   Bin 0 -> 27249 bytes
 superset-frontend/src/assets/images/rockset.png    |   Bin 0 -> 23189 bytes
 .../src/assets/images/screenshots/bank_dash.png    |   Bin 379892 -> 0 bytes
 .../src/assets/images/screenshots/deckgl_dash.png  |   Bin 493439 -> 0 bytes
 .../src/assets/images/screenshots/explore.png      |   Bin 445619 -> 0 bytes
 .../images/screenshots/explore_visualizations.jpg  |   Bin 485516 -> 0 bytes
 .../src/assets/images/screenshots/gallery.jpg      |   Bin 281558 -> 413974 bytes
 .../src/assets/images/screenshots/gallery.png      |   Bin 281558 -> 0 bytes
 .../assets/images/screenshots/geospatial_dash.jpg  |   Bin 493439 -> 0 bytes
 .../src/assets/images/screenshots/slack_dash.jpg   |   Bin 379892 -> 360464 bytes
 .../src/assets/images/screenshots/sqllab.png       |   Bin 415938 -> 0 bytes
 .../assets/images/screenshots/visualizations.png   |   Bin 485516 -> 0 bytes
 superset-frontend/src/assets/images/timescale.png  |   Bin 0 -> 16120 bytes
 superset-frontend/src/chart/Chart.jsx              |     6 +-
 superset-frontend/src/chart/ChartErrorMessage.tsx  |     2 +-
 superset-frontend/src/common/components/index.tsx  |    19 +-
 superset-frontend/src/components/.eslintrc         |    34 -
 .../src/components/Datasource/DatasourceEditor.jsx |   124 +-
 .../Datasource/DatasourceEditor.test.jsx           |    35 +-
 .../components/Datasource/DatasourceModal.test.jsx |     7 +-
 .../src/components/Datasource/DatasourceModal.tsx  |     6 +-
 .../src/components/FaveStar/index.tsx              |     2 +-
 .../FilterableTable/FilterableTable.test.tsx       |    59 +
 .../components/FilterableTable/FilterableTable.tsx |    21 +-
 .../src/components/FlashProvider/index.tsx         |     2 +-
 superset-frontend/src/components/Form/Form.tsx     |     2 +-
 superset-frontend/src/components/Form/index.tsx    |     3 +-
 superset-frontend/src/components/Icons/index.tsx   |     2 +-
 .../ModalTrigger/ModalTrigger.stories.tsx          |     2 +-
 .../src/components/OmniContainer/index.tsx         |     2 +-
 .../src/components/ReportModal/index.tsx           |    77 +-
 .../src/components/Select/DeprecatedSelect.tsx     |     4 +-
 .../src/components/Select/NativeSelect.tsx         |     2 +-
 superset-frontend/src/components/Select/Select.tsx |    45 +-
 superset-frontend/src/components/Select/styles.tsx |     6 +-
 superset-frontend/src/components/Slider/index.tsx  |     2 +-
 superset-frontend/src/components/Switch/index.tsx  |     2 +-
 superset-frontend/src/constants.ts                 |     4 +
 superset-frontend/src/dashboard/.eslintrc          |    31 -
 .../dashboard/actions/dashboardLayout.test.js}     |     0
 .../src/dashboard/actions/dashboardState.js        |     7 +
 .../dashboard/actions/dashboardState.test.js}      |     0
 superset-frontend/src/dashboard/actions/hydrate.js |     6 +-
 .../src/dashboard/actions/nativeFilters.ts         |    28 +-
 .../dashboard/components/Dashboard.test.jsx}       |     0
 .../DashboardBuilder/DashboardBuilder.test.jsx}    |     0
 .../DashboardBuilder/DashboardBuilder.tsx          |     4 +-
 .../dashboard/components/DashboardBuilder/utils.ts |     2 +-
 .../src/dashboard/components/DashboardGrid.jsx     |     4 +-
 .../dashboard/components/DashboardGrid.test.jsx}   |     0
 .../components/FiltersBadge/FiltersBadge.test.tsx} |     0
 .../dashboard/components/FiltersBadge/index.tsx    |     2 +-
 .../Header/HeaderActionsDropdown/index.jsx         |     4 +-
 .../src/dashboard/components/Header/index.jsx      |    30 +-
 .../dashboard/components/MissingChart.test.tsx}    |     0
 .../PropertiesModal/PropertiesModal.test.jsx}      |     0
 .../dashboard/components/PropertiesModal/index.tsx |     7 +-
 .../components/RefreshIntervalModal.test.tsx}      |     0
 .../dashboard/components/SliceAdder.test.jsx}      |     0
 .../components/dnd/DragDroppable.test.jsx}         |     0
 .../components/gridComponents/Chart.test.jsx}      |     0
 .../components/gridComponents/ChartHolder.jsx      |     3 +-
 .../gridComponents/ChartHolder.test.jsx}           |    11 +-
 .../components/gridComponents/ChartHolder.test.tsx |     2 +-
 .../components/gridComponents/Column.test.jsx}     |     0
 .../components/gridComponents/Divider.test.jsx}    |     0
 .../components/gridComponents/Header.test.jsx}     |     0
 .../components/gridComponents/Markdown.test.jsx}   |     0
 .../components/gridComponents/Row.test.jsx}        |     0
 .../components/gridComponents/Tab.test.jsx}        |     0
 .../components/gridComponents/Tabs.test.jsx}       |     0
 .../components/gridComponents/Tabs.test.tsx        |     2 +-
 .../new/DraggableNewComponent.test.jsx}            |     0
 .../gridComponents/new/NewColumn.test.jsx}         |     0
 .../gridComponents/new/NewDivider.test.jsx}        |     0
 .../gridComponents/new/NewHeader.test.jsx}         |     0
 .../components/gridComponents/new/NewRow.test.jsx} |     0
 .../gridComponents/new/NewTabs.test.jsx}           |     0
 .../dashboard/components/menu/HoverMenu.test.tsx}  |     0
 .../menu/ShareMenuItems/ShareMenuItems.test.tsx    |     4 +-
 .../components/menu/ShareMenuItems/index.tsx       |    32 +-
 .../components/menu/WithPopoverMenu.test.jsx}      |     0
 .../CascadeFilterControl.test.tsx                  |     2 +-
 .../components/nativeFilters/FilterBar/index.tsx   |    38 +-
 .../nativeFilters/FilterBar/keyValue.tsx           |    54 +
 .../components/nativeFilters/FilterBar/state.ts    |     1 -
 .../components/nativeFilters/FilterBar/utils.ts    |     1 -
 .../FiltersConfigForm/ColumnSelect.tsx             |     2 +-
 .../FiltersConfigForm/FilterScope/FilterScope.tsx  |     2 +-
 .../NativeFiltersModal.test.tsx}                   |     0
 .../nativeFilters/FiltersConfigModal/state.ts      |     2 +-
 .../resizable/ResizableContainer.test.tsx}         |     0
 .../components/resizable/ResizableHandle.test.tsx} |     0
 .../src/dashboard/containers/Dashboard.ts          |     4 +-
 .../src/dashboard/containers/DashboardPage.tsx     |    61 +-
 .../dashboard/fixtures/mockNativeFilters.ts        |     0
 .../dashboard/reducers/dashboardFilters.test.js}   |     0
 .../dashboard/reducers/dashboardLayout.test.js}    |     0
 .../dashboard/reducers/dashboardState.test.js}     |     0
 .../dashboard/reducers/sliceEntities.test.js}      |     0
 .../dashboard/util/componentIsResizable.test.ts}   |     0
 .../dashboard/util/dnd-reorder.test.js}            |     0
 .../dashboard/util/dropOverflowsParent.test.js}    |     0
 .../util/findFirstParentContainer.test.js}         |     0
 .../dashboard/util/findParentId.test.js}           |     0
 .../util/findTabIndexByComponentId.test.js}        |     0
 .../getChartAndLabelComponentIdFromPath.test.js}   |     0
 .../dashboard/util/getChartIdsFromLayout.test.js}  |     0
 .../dashboard/util/getDashboardUrl.test.js}        |    28 +-
 .../src/dashboard/util/getDashboardUrl.ts          |    14 +-
 .../util/getDetailedComponentWidth.test.js}        |     0
 .../dashboard/util/getDropPosition.test.js}        |     0
 .../util/getEffectiveExtraFilters.test.js}         |     0
 .../util/getFilterConfigsFromFormdata.test.js}     |     0
 .../util/getFilterScopeFromNodesTree.test.js}      |     0
 .../util/getFormDataWithExtraFilters.test.ts}      |     4 +-
 .../util/getLeafComponentIdFromPath.test.js}       |     0
 .../dashboard/util/isDashboardEmpty.test.ts}       |     0
 .../dashboard/util/isValidChild.test.ts}           |     0
 .../dashboard/util/newComponentFactory.test.js}    |     0
 .../dashboard/util/newEntitiesFromDrop.test.js}    |     0
 .../util/updateComponentParentsList.test.js}       |     0
 superset-frontend/src/dataMask/actions.ts          |     6 +
 superset-frontend/src/dataMask/reducer.ts          |     9 +-
 .../explore/actions/exploreActions.test.js}        |     0
 .../components/ControlPanelsContainer.test.tsx}    |     0
 .../explore/components/ControlRow.test.tsx}        |     0
 .../explore/components/DataTablesPane/index.tsx    |    13 +-
 .../explore/components/EmbedCodeButton.test.jsx}   |     0
 .../components/ExploreActionButtons.test.jsx}      |     0
 .../explore/components/ExploreActionButtons.tsx    |     2 +-
 .../ExploreAdditionalActionsMenu.test.jsx}         |    18 +-
 .../src/explore/components/ExploreChartPanel.jsx   |    17 +-
 .../explore/components/ExploreChartPanel.test.jsx} |     0
 .../explore/components/ExploreViewContainer.jsx    |    38 +-
 .../components/ExploreViewContainer.test.jsx}      |     0
 .../explore/components/QueryAndSaveBtns.test.jsx}  |     0
 .../explore/components/RowCountLabel.test.jsx}     |     0
 .../explore/components/SaveModal.test.jsx}         |     0
 .../components/controls/BoundsControl.test.jsx}    |     0
 .../components/controls/CheckboxControl.test.tsx}  |     0
 .../controls/ColorPickerControl.test.tsx}          |     0
 .../ColorSchemeControl/ColorScheme.test.jsx}       |     0
 .../ConditionalFormattingControl.tsx               |     2 +-
 .../DatasourceControl/DatasourceControl.test.jsx}  |     0
 .../DndColumnSelectControl/DndColumnSelect.tsx     |     2 +-
 .../DndColumnSelectControl/DndMetricSelect.tsx     |     2 +-
 .../FilterBoxItemControl.test.jsx}                 |     0
 .../index.tsx                                      |     4 +-
 .../controls/MetricControl/AdhocMetric.test.js}    |     0
 .../AdhocMetricEditPopover.test.jsx}               |     0
 .../AdhocMetricEditPopoverTitle.test.jsx}          |     0
 .../MetricControl/AdhocMetricOption.test.jsx}      |     0
 .../MetricControl/AggregateOption.test.tsx}        |     0
 .../MetricControl/FilterDefinitionOption.test.jsx} |     0
 .../MetricControl/MetricDefinitionOption.test.jsx} |     0
 .../MetricControl/MetricDefinitionValue.test.jsx}  |     0
 .../controls/MetricControl/MetricsControl.jsx      |     2 +-
 .../MetricControl/MetricsControl.test.jsx}         |     0
 .../components/controls/SelectControl.test.jsx}    |     0
 .../components/controls/TextAreaControl.test.jsx}  |     0
 .../components/controls/ViewportControl.test.jsx}  |     0
 .../VizTypeControl/VizTypeControl.test.jsx}        |     0
 .../controls/withAsyncVerification.test.tsx}       |     0
 superset-frontend/src/explore/constants.ts         |     2 -
 .../src/explore/controlPanels/sections.tsx         |     4 +
 .../explore/controlUtils/controlUtils.test.tsx}    |     2 +-
 .../explore/exploreUtils/exploreUtils.test.jsx}    |     0
 .../explore/exploreUtils/getExploreLongUrl.test.ts |    19 +-
 .../src/explore/exploreUtils/index.js              |    16 +-
 .../{spec/javascripts => src}/explore/fixtures.tsx |     0
 .../src/explore/reducers/getInitialState.ts        |     1 +
 .../store_spec.jsx => src/explore/store.test.jsx}  |     0
 superset-frontend/src/featureFlags.ts              |     3 +-
 .../hooks/apiResources/apiResources.test.ts        |     0
 .../hooks/apiResources/apiResources.ts             |     0
 .../src/{common => }/hooks/apiResources/charts.ts  |     0
 .../{common => }/hooks/apiResources/dashboards.ts  |     0
 .../src/{common => }/hooks/apiResources/index.ts   |     0
 .../{common => }/hooks/useChangeEffect/index.ts    |     0
 .../hooks/useChangeEffect/useChangeEffect.test.ts  |     0
 .../hooks/useChangeEffect/useChangeEffect.ts       |     0
 .../hooks/useComponentDidMount/index.ts            |     0
 .../useComponentDidMount.test.ts                   |     0
 .../useComponentDidMount/useComponentDidMount.ts   |     0
 .../hooks/useComponentDidUpdate/index.ts           |     0
 .../useComponentDidUpdate.test.ts                  |     0
 .../useComponentDidUpdate/useComponentDidUpdate.ts |     0
 .../{common => }/hooks/useElementOnScreen/index.ts |     0
 .../src/{common => }/hooks/usePrevious/index.ts    |     0
 .../hooks/usePrevious/usePrevious.test.ts          |     0
 .../{common => }/hooks/usePrevious/usePrevious.ts  |     0
 .../src/{common => }/hooks/useUrlShortener.ts      |     4 +-
 superset-frontend/src/middleware/asyncEvent.ts     |    25 +-
 superset-frontend/src/reports/actions/reports.js   |    21 +-
 superset-frontend/src/setup/setupColors.ts         |    25 +-
 .../utils/localStorageHelpers.test.ts}             |    32 +-
 superset-frontend/src/utils/localStorageHelpers.ts |    91 +-
 superset-frontend/src/utils/urlUtils.ts            |     5 +-
 superset-frontend/src/views/App.tsx                |     2 +-
 .../src/views/CRUD/alert/AlertList.test.jsx        |     2 +-
 .../src/views/CRUD/alert/AlertList.tsx             |     2 +-
 .../src/views/CRUD/alert/AlertReportModal.tsx      |    61 +-
 .../src/views/CRUD/alert/ExecutionLog.tsx          |     2 +-
 superset-frontend/src/views/CRUD/alert/types.ts    |     1 +
 .../views/CRUD/annotation/AnnotationList.test.jsx  |     2 +-
 .../src/views/CRUD/annotation/AnnotationList.tsx   |     2 +-
 .../annotationlayers/AnnotationLayersList.test.jsx |     2 +-
 .../CRUD/annotationlayers/AnnotationLayersList.tsx |     2 +-
 .../src/views/CRUD/chart/ChartList.tsx             |    17 +-
 .../CRUD/csstemplates/CssTemplatesList.test.jsx    |     2 +-
 .../views/CRUD/csstemplates/CssTemplatesList.tsx   |     2 +-
 .../src/views/CRUD/dashboard/DashboardList.tsx     |     7 +-
 .../views/CRUD/data/database/DatabaseList.test.jsx |     2 +-
 .../src/views/CRUD/data/database/DatabaseList.tsx  |     2 +-
 .../data/database/DatabaseModal/SqlAlchemyForm.tsx |     3 +
 .../CRUD/data/database/DatabaseModal/index.tsx     |    15 +-
 .../src/views/CRUD/data/dataset/DatasetList.tsx    |     2 +-
 .../src/views/CRUD/data/query/QueryList.tsx        |     2 +-
 .../CRUD/data/savedquery/SavedQueryList.test.jsx   |     2 +-
 .../views/CRUD/data/savedquery/SavedQueryList.tsx  |     2 +-
 superset-frontend/src/views/CRUD/storageKeys.ts    |    24 -
 superset-frontend/src/views/CRUD/utils.test.tsx    |    28 +
 superset-frontend/src/views/CRUD/utils.tsx         |     9 +-
 .../src/views/CRUD/welcome/ActivityTable.tsx       |    13 +-
 .../src/views/CRUD/welcome/ChartTable.tsx          |    21 +-
 .../src/views/CRUD/welcome/DashboardTable.tsx      |    27 +-
 .../src/views/CRUD/welcome/SavedQueries.test.tsx   |     2 +-
 .../src/views/CRUD/welcome/SavedQueries.tsx        |     2 +-
 .../src/views/CRUD/welcome/Welcome.tsx             |    25 +-
 .../components}/LanguagePicker.test.tsx            |     0
 .../Menu => views/components}/LanguagePicker.tsx   |     0
 .../Menu => views/components}/Menu.test.tsx        |     0
 .../{components/Menu => views/components}/Menu.tsx |    11 +-
 .../Menu => views/components}/MenuRight.tsx        |     0
 .../Menu => views/components}/SubMenu.test.tsx     |     0
 .../Menu => views/components}/SubMenu.tsx          |     3 +-
 superset-frontend/src/views/menu.tsx               |     2 +-
 .../visualizations/FilterBox/FilterBox.test.jsx}   |     0
 .../src/visualizations/presets/MainPreset.js       |     6 +-
 superset-frontend/webpack.config.js                |    42 +-
 superset/charts/commands/importers/v1/__init__.py  |     2 +-
 superset/charts/schemas.py                         |    10 +
 superset/cli.py                                    |    34 +-
 superset/common/query_context_processor.py         |     4 +
 superset/config.py                                 |    21 +-
 superset/connectors/sqla/models.py                 |     2 +-
 superset/constants.py                              |     1 +
 superset/css_templates/api.py                      |     4 +-
 superset/dashboards/commands/importers/v1/utils.py |     2 +
 superset/dashboards/commands/update.py             |     6 +-
 superset/dashboards/dao.py                         |     3 +
 superset/dashboards/filter_state/api.py            |     6 +-
 superset/dashboards/filter_state/commands/entry.py |     2 +-
 superset/dashboards/filter_state/commands/get.py   |    17 +-
 superset/databases/commands/test_connection.py     |    35 +-
 superset/databases/schemas.py                      |     8 +-
 superset/datasets/commands/export.py               |    17 +-
 superset/datasets/commands/importers/v1/utils.py   |    33 +-
 superset/datasets/schemas.py                       |    39 +-
 superset/db_engine_specs/base.py                   |     4 +
 superset/db_engine_specs/kusto.py                  |   164 +
 superset/errors.py                                 |     2 +
 .../configs/charts/New_Members_per_Month.yaml      |     2 +-
 .../datasets/examples/cleaned_sales_data.yaml      |     2 +-
 superset/exceptions.py                             |     2 +-
 superset/initialization/__init__.py                |    16 +
 .../v1 => superset/key_value}/__init__.py          |     0
 superset/key_value/commands/get.py                 |     6 +-
 superset/migrations/env.py                         |     4 +-
 ...d1d2_move_pivot_table_v2_legacy_order_by_to_.py |    95 +
 ...aa3ff_add_force_screenshot_to_alerts_reports.py |    65 +
 ...8dd_add_saved_query_foreign_key_to_tab_state.py |    36 +-
 ...5b9441_rename_big_viz_total_form_data_fields.py |   100 +
 superset/models/core.py                            |     8 +-
 superset/models/helpers.py                         |     4 +
 superset/models/reports.py                         |    14 +-
 superset/reports/api.py                            |     2 +
 superset/reports/commands/alert.py                 |     7 +-
 superset/reports/commands/create.py                |    20 +
 superset/reports/commands/execute.py               |    88 +-
 superset/reports/notifications/base.py             |     2 +-
 superset/reports/notifications/email.py            |    32 +-
 superset/reports/notifications/slack.py            |    31 +-
 superset/reports/schemas.py                        |     6 +-
 superset/security/manager.py                       |    33 +-
 superset/sql_parse.py                              |    27 +-
 .../fab_overrides/list_with_checkboxes.html        |     2 +-
 superset/translations/messages.pot                 |     2 +-
 superset/translations/requirements.txt             |     2 +-
 superset/utils/async_query_manager.py              |     4 +-
 superset/utils/core.py                             |     2 +-
 superset/utils/encrypt.py                          |   121 +-
 superset/utils/webdriver.py                        |     6 -
 superset/views/base.py                             |     3 +-
 superset/views/base_api.py                         |    31 +-
 superset/views/core.py                             |    19 +-
 tests/common/example_data_generator/__init__.py    |    25 +
 .../example_data_generator/base_generator.py       |    34 +
 .../example_data_generator/birth_names/__init__.py |    33 +
 .../birth_names/birth_names_generator.py           |   119 +
 .../birth_names/birth_names_generator_factory.py   |    74 +
 tests/common/example_data_generator/consts.py      |    69 +
 .../example_data_generator/string_generator.py     |    42 +
 .../string_generator_factory.py                    |    46 +
 .../example_data_generator/tests/__init__.py       |    25 +
 .../tests/test_string_generator.py                 |    35 +
 tests/integration_tests/access_tests.py            |     3 +
 tests/integration_tests/alerts_tests.py            |     3 +
 tests/integration_tests/base_api_tests.py          |     1 +
 tests/integration_tests/base_tests.py              |     8 +-
 tests/integration_tests/cache_tests.py             |     1 +
 tests/integration_tests/celery_tests.py            |     1 +
 tests/integration_tests/charts/api_tests.py        |     4 +
 tests/integration_tests/charts/commands_tests.py   |     1 +
 tests/integration_tests/charts/data/api_tests.py   |    28 +-
 tests/integration_tests/charts/schema_tests.py     |     1 +
 tests/integration_tests/cli_tests.py               |     1 +
 tests/integration_tests/core_tests.py              |     3 +
 tests/integration_tests/css_templates/api_tests.py |    20 +-
 tests/integration_tests/dashboard_tests.py         |     4 +
 tests/integration_tests/dashboard_utils.py         |    36 +-
 tests/integration_tests/dashboards/api_tests.py    |     2 +
 .../integration_tests/dashboards/commands_tests.py |     1 +
 tests/integration_tests/dashboards/dao_tests.py    |     1 +
 .../dashboards/filter_state/api_tests.py           |     6 +-
 .../dashboards/security/security_dataset_tests.py  |     1 +
 .../dashboards/security/security_rbac_tests.py     |     7 +-
 tests/integration_tests/databases/api_tests.py     |     4 +
 .../integration_tests/databases/commands_tests.py  |    31 +-
 tests/integration_tests/datasets/api_tests.py      |     2 +
 tests/integration_tests/datasets/commands_tests.py |     7 +-
 tests/integration_tests/datasource_tests.py        |     1 +
 .../db_engine_specs/base_engine_spec_tests.py      |    10 +-
 .../db_engine_specs/bigquery_tests.py              |     1 +
 tests/integration_tests/fixtures/__init__.py       |     2 +-
 .../fixtures/birth_names_dashboard.py              |   183 +-
 .../integration_tests/fixtures/energy_dashboard.py |    54 +-
 tests/integration_tests/fixtures/importexport.py   |     2 +-
 .../integration_tests/fixtures/tabbed_dashboard.py |    77 +
 .../fixtures/unicode_dashboard.py                  |    52 +-
 .../fixtures/world_bank_dashboard.py               |    64 +-
 tests/integration_tests/import_export_tests.py     |     3 +
 tests/integration_tests/model_tests.py             |    18 +-
 tests/integration_tests/query_context_tests.py     |     1 +
 tests/integration_tests/reports/api_tests.py       |    80 +-
 tests/integration_tests/reports/commands_tests.py  |   176 +-
 tests/integration_tests/reports/utils.py           |     6 +-
 tests/integration_tests/schedules_test.py          |     1 +
 .../security/guest_token_security_tests.py         |    73 +
 .../security/row_level_security_tests.py           |   195 +
 tests/integration_tests/security_tests.py          |   198 +-
 tests/integration_tests/sql_validator_tests.py     |    31 +
 tests/integration_tests/sqla_models_tests.py       |     1 +
 tests/integration_tests/sqllab_tests.py            |     2 +
 tests/integration_tests/strategy_tests.py          |     8 +-
 .../integration_tests/tasks/async_queries_tests.py |     1 +
 tests/integration_tests/utils_tests.py             |     2 +
 tests/unit_tests/conftest.py                       |    41 +-
 .../dashboards/commands/importers/v1/utils_test.py |     5 +-
 .../commands/importers/v1 => datasets}/__init__.py |     0
 .../importers/v1 => datasets/commands}/__init__.py |     0
 tests/unit_tests/datasets/commands/export_test.py  |   198 +
 .../v1 => datasets/commands/importers}/__init__.py |     0
 .../commands/importers/v1/__init__.py              |     0
 .../datasets/commands/importers/v1/import_test.py  |   209 +
 tests/unit_tests/db_engine_specs/test_base.py      |    27 +-
 tests/unit_tests/db_engine_specs/test_kusto.py     |   155 +
 tests/unit_tests/sql_parse_tests.py                |    30 +-
 tox.ini                                            |     2 +-
 740 files changed, 56871 insertions(+), 18837 deletions(-)
 rename {superset-frontend/temporary_superset_ui/superset-ui/.github => .github}/workflows/release.yml (89%)
 create mode 100644 docs/src/pages/docs/Connecting to Databases/kusto.mdx
 create mode 100644 docs/src/pages/docs/Contributing/contributing-page.mdx
 create mode 100644 docs/src/pages/docs/Contributing/conventions-and-typing.mdx
 create mode 100644 docs/src/pages/docs/Contributing/hooks-and-linting.mdx
 create mode 100644 docs/src/pages/docs/Contributing/local-backend.mdx
 create mode 100644 docs/src/pages/docs/Contributing/pull-request-guidelines.mdx
 create mode 100644 docs/src/pages/docs/Contributing/style-guide.mdx
 create mode 100644 docs/src/pages/docs/Contributing/testing-locally.mdx
 create mode 100644 docs/src/pages/docs/Contributing/translations.mdx
 create mode 100644 docs/src/pages/docs/Contributing/types-of-contributions.mdx
 create mode 100644 docs/src/pages/docs/Miscellaneous/chart-params.mdx
 delete mode 100644 docs/src/pages/docs/contributing-page.mdx
 create mode 100644 docs/src/pages/docs/installation/frontend-assets.mdx
 copy helm/superset/{Chart.yaml => templates/service-account.yaml} (58%)
 mode change 100644 => 100755
 create mode 100644 superset-frontend/cypress-base/cypress/integration/dashboard/key_value.test.ts
 delete mode 100644 superset-frontend/packages/generator-superset/generators/package/index.js
 delete mode 100644 superset-frontend/packages/generator-superset/generators/package/templates/README.md
 delete mode 100644 superset-frontend/packages/generator-superset/generators/package/templates/_package.json
 delete mode 100644 superset-frontend/packages/generator-superset/generators/package/templates/src/index.txt
 delete mode 100644 superset-frontend/packages/generator-superset/generators/package/templates/test/index.txt
 create mode 100644 superset-frontend/packages/generator-superset/generators/plugin-chart/templates/babel.config.erb
 create mode 100644 superset-frontend/packages/generator-superset/generators/plugin-chart/templates/jest.config.erb
 copy superset-frontend/{temporary_superset_ui/superset-ui => packages/generator-superset/generators/plugin-chart/templates}/test/__mocks__/mockExportString.js (100%)
 delete mode 100644 superset-frontend/packages/generator-superset/test/package.test.js
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/mexico.geojson
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-big-number/README.md
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-big-number/package.json
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-big-number/src/BigNumber/transformProps.ts
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-big-number/src/preset.ts
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-big-number/src/types/external.d.ts
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-big-number/test/tsconfig.json
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-big-number/tsconfig.json
 copy superset-frontend/plugins/{legacy-plugin-chart-country-map/src/geojson.d.ts => plugin-chart-echarts/src/BigNumber/BigNumberTotal/buildQuery.ts} (79%)
 rename superset-frontend/plugins/{legacy-preset-chart-big-number/src => plugin-chart-echarts/src/BigNumber}/BigNumberTotal/controlPanel.ts (81%)
 rename superset-frontend/plugins/{legacy-preset-chart-big-number/src => plugin-chart-echarts/src/BigNumber}/BigNumberTotal/images/BigNumber.jpg (100%)
 rename superset-frontend/plugins/{legacy-preset-chart-big-number/src => plugin-chart-echarts/src/BigNumber}/BigNumberTotal/images/BigNumber2.jpg (100%)
 rename superset-frontend/plugins/{legacy-preset-chart-big-number/src => plugin-chart-echarts/src/BigNumber}/BigNumberTotal/images/thumbnail.png (100%)
 rename superset-frontend/plugins/{legacy-preset-chart-big-number/src => plugin-chart-echarts/src/BigNumber}/BigNumberTotal/images/thumbnailLarge.png (100%)
 rename superset-frontend/plugins/{legacy-preset-chart-big-number/src => plugin-chart-echarts/src/BigNumber}/BigNumberTotal/index.ts (86%)
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/BigNumberTotal/transformProps.ts
 rename superset-frontend/plugins/{legacy-preset-chart-big-number/src/BigNumber/BigNumber.tsx => plugin-chart-echarts/src/BigNumber/BigNumberViz.tsx} (73%)
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/BigNumberWithTrendline/buildQuery.ts
 rename superset-frontend/plugins/{legacy-preset-chart-big-number/src/BigNumber => plugin-chart-echarts/src/BigNumber/BigNumberWithTrendline}/controlPanel.tsx (91%)
 rename superset-frontend/plugins/{legacy-preset-chart-big-number/src/BigNumber => plugin-chart-echarts/src/BigNumber/BigNumberWithTrendline}/images/Big_Number_Trendline.jpg (100%)
 rename superset-frontend/plugins/{legacy-preset-chart-big-number/src/BigNumber => plugin-chart-echarts/src/BigNumber/BigNumberWithTrendline}/images/thumbnail.png (100%)
 rename superset-frontend/plugins/{legacy-preset-chart-big-number/src/BigNumber => plugin-chart-echarts/src/BigNumber/BigNumberWithTrendline}/images/thumbnailLarge.png (100%)
 rename superset-frontend/plugins/{legacy-preset-chart-big-number/src/BigNumber => plugin-chart-echarts/src/BigNumber/BigNumberWithTrendline}/index.ts (80%)
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/BigNumberWithTrendline/transformProps.ts
 rename superset-frontend/plugins/{legacy-preset-chart-big-number => plugin-chart-echarts/src/BigNumber}/CHANGELOG.md (100%)
 rename superset-frontend/plugins/{legacy-preset-chart-big-number/src => plugin-chart-echarts/src/BigNumber}/index.ts (85%)
 rename superset-frontend/plugins/{legacy-preset-chart-big-number/src => plugin-chart-echarts/src/BigNumber}/sharedControls.ts (98%)
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/types.ts
 copy superset-frontend/{packages/superset-ui-core/test/time-format/index.test.ts => plugins/plugin-chart-echarts/src/BigNumber/utils.ts} (55%)
 rename superset-frontend/plugins/{legacy-preset-chart-big-number/test => plugin-chart-echarts/test/BigNumber}/transformProps.test.ts (87%)
 rename superset-frontend/{src/common/components/.eslintrc => plugins/plugin-chart-pivot-table/src/react-pivottable/PivotTable.jsx} (70%)
 create mode 100644 superset-frontend/plugins/plugin-chart-pivot-table/src/react-pivottable/Styles.js
 create mode 100644 superset-frontend/plugins/plugin-chart-pivot-table/src/react-pivottable/TableRenderers.jsx
 copy superset-frontend/{src/common/hooks/useComponentDidMount/index.ts => plugins/plugin-chart-pivot-table/src/react-pivottable/index.js} (90%)
 create mode 100644 superset-frontend/plugins/plugin-chart-pivot-table/src/react-pivottable/utilities.js
 copy superset-frontend/{src/utils/localStorageHelpers.ts => plugins/plugin-chart-table/src/DataTable/utils/sortAlphanumericCaseInsensitive.ts} (66%)
 create mode 100644 superset-frontend/plugins/plugin-chart-table/test/sortAlphanumericCaseInsensitive.test.ts
 rename superset-frontend/{spec/javascripts/explore/components/RunQueryActionButton_spec.jsx => src/SqlLab/components/RunQueryActionButton/RunQueryActionButton.test.jsx} (100%)
 create mode 100644 superset-frontend/src/assets/images/firebolt.png
 create mode 100644 superset-frontend/src/assets/images/rockset.png
 delete mode 100644 superset-frontend/src/assets/images/screenshots/bank_dash.png
 delete mode 100644 superset-frontend/src/assets/images/screenshots/deckgl_dash.png
 delete mode 100644 superset-frontend/src/assets/images/screenshots/explore.png
 delete mode 100644 superset-frontend/src/assets/images/screenshots/explore_visualizations.jpg
 delete mode 100644 superset-frontend/src/assets/images/screenshots/gallery.png
 delete mode 100644 superset-frontend/src/assets/images/screenshots/geospatial_dash.jpg
 delete mode 100644 superset-frontend/src/assets/images/screenshots/sqllab.png
 delete mode 100644 superset-frontend/src/assets/images/screenshots/visualizations.png
 create mode 100644 superset-frontend/src/assets/images/timescale.png
 delete mode 100644 superset-frontend/src/components/.eslintrc
 delete mode 100644 superset-frontend/src/dashboard/.eslintrc
 rename superset-frontend/{spec/javascripts/dashboard/actions/dashboardLayout_spec.js => src/dashboard/actions/dashboardLayout.test.js} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/actions/dashboardState_spec.js => src/dashboard/actions/dashboardState.test.js} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/Dashboard_spec.jsx => src/dashboard/components/Dashboard.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/DashboardBuilder_spec.jsx => src/dashboard/components/DashboardBuilder/DashboardBuilder.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/DashboardGrid_spec.jsx => src/dashboard/components/DashboardGrid.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/FiltersBadge_spec.tsx => src/dashboard/components/FiltersBadge/FiltersBadge.test.tsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/MissingChart_spec.tsx => src/dashboard/components/MissingChart.test.tsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/PropertiesModal_spec.jsx => src/dashboard/components/PropertiesModal/PropertiesModal.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/RefreshIntervalModal_spec.tsx => src/dashboard/components/RefreshIntervalModal.test.tsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/SliceAdder_spec.jsx => src/dashboard/components/SliceAdder.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/dnd/DragDroppable_spec.jsx => src/dashboard/components/dnd/DragDroppable.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/gridComponents/Chart_spec.jsx => src/dashboard/components/gridComponents/Chart.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/gridComponents/ChartHolder_spec.jsx => src/dashboard/components/gridComponents/ChartHolder.test.jsx} (93%)
 rename superset-frontend/{spec/javascripts/dashboard/components/gridComponents/Column_spec.jsx => src/dashboard/components/gridComponents/Column.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/gridComponents/Divider_spec.jsx => src/dashboard/components/gridComponents/Divider.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/gridComponents/Header_spec.jsx => src/dashboard/components/gridComponents/Header.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/gridComponents/Markdown_spec.jsx => src/dashboard/components/gridComponents/Markdown.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/gridComponents/Row_spec.jsx => src/dashboard/components/gridComponents/Row.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/gridComponents/Tab_spec.jsx => src/dashboard/components/gridComponents/Tab.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/gridComponents/Tabs_spec.jsx => src/dashboard/components/gridComponents/Tabs.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/gridComponents/new/DraggableNewComponent_spec.jsx => src/dashboard/components/gridComponents/new/DraggableNewComponent.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/gridComponents/new/NewColumn_spec.jsx => src/dashboard/components/gridComponents/new/NewColumn.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/gridComponents/new/NewDivider_spec.jsx => src/dashboard/components/gridComponents/new/NewDivider.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/gridComponents/new/NewHeader_spec.jsx => src/dashboard/components/gridComponents/new/NewHeader.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/gridComponents/new/NewRow_spec.jsx => src/dashboard/components/gridComponents/new/NewRow.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/gridComponents/new/NewTabs_spec.jsx => src/dashboard/components/gridComponents/new/NewTabs.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/menu/HoverMenu_spec.tsx => src/dashboard/components/menu/HoverMenu.test.tsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/menu/WithPopoverMenu_spec.jsx => src/dashboard/components/menu/WithPopoverMenu.test.jsx} (100%)
 create mode 100644 superset-frontend/src/dashboard/components/nativeFilters/FilterBar/keyValue.tsx
 rename superset-frontend/{spec/javascripts/dashboard/components/nativeFilters/NativeFiltersModal_spec.tsx => src/dashboard/components/nativeFilters/FiltersConfigModal/NativeFiltersModal.test.tsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/resizable/ResizableContainer_spec.tsx => src/dashboard/components/resizable/ResizableContainer.test.tsx} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/components/resizable/ResizableHandle_spec.tsx => src/dashboard/components/resizable/ResizableHandle.test.tsx} (100%)
 rename superset-frontend/{spec/javascripts => src}/dashboard/fixtures/mockNativeFilters.ts (100%)
 rename superset-frontend/{spec/javascripts/dashboard/reducers/dashboardFilters_spec.js => src/dashboard/reducers/dashboardFilters.test.js} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/reducers/dashboardLayout_spec.js => src/dashboard/reducers/dashboardLayout.test.js} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/reducers/dashboardState_spec.js => src/dashboard/reducers/dashboardState.test.js} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/reducers/sliceEntities_spec.js => src/dashboard/reducers/sliceEntities.test.js} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/util/componentIsResizable_spec.ts => src/dashboard/util/componentIsResizable.test.ts} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/util/dnd-reorder_spec.js => src/dashboard/util/dnd-reorder.test.js} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/util/dropOverflowsParent_spec.js => src/dashboard/util/dropOverflowsParent.test.js} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/util/findFirstParentContainer_spec.js => src/dashboard/util/findFirstParentContainer.test.js} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/util/findParentId_spec.js => src/dashboard/util/findParentId.test.js} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/util/findTabIndexByComponentId_spec.js => src/dashboard/util/findTabIndexByComponentId.test.js} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/util/getChartAndLabelComponentIdFromPath_spec.js => src/dashboard/util/getChartAndLabelComponentIdFromPath.test.js} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/util/getChartIdsFromLayout_spec.js => src/dashboard/util/getChartIdsFromLayout.test.js} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/util/getDashboardUrl_spec.js => src/dashboard/util/getDashboardUrl.test.js} (80%)
 rename superset-frontend/{spec/javascripts/dashboard/util/getDetailedComponentWidth_spec.js => src/dashboard/util/getDetailedComponentWidth.test.js} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/util/getDropPosition_spec.js => src/dashboard/util/getDropPosition.test.js} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/util/getEffectiveExtraFilters_spec.js => src/dashboard/util/getEffectiveExtraFilters.test.js} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/util/getFilterConfigsFromFormdata_spec.js => src/dashboard/util/getFilterConfigsFromFormdata.test.js} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/util/getFilterScopeFromNodesTree_spec.js => src/dashboard/util/getFilterScopeFromNodesTree.test.js} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/util/getFormDataWithExtraFilters_spec.ts => src/dashboard/util/getFormDataWithExtraFilters.test.ts} (95%)
 rename superset-frontend/{spec/javascripts/dashboard/util/getLeafComponentIdFromPath_spec.js => src/dashboard/util/getLeafComponentIdFromPath.test.js} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/util/isDashboardEmpty_spec.ts => src/dashboard/util/isDashboardEmpty.test.ts} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/util/isValidChild_spec.ts => src/dashboard/util/isValidChild.test.ts} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/util/newComponentFactory_spec.js => src/dashboard/util/newComponentFactory.test.js} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/util/newEntitiesFromDrop_spec.js => src/dashboard/util/newEntitiesFromDrop.test.js} (100%)
 rename superset-frontend/{spec/javascripts/dashboard/util/updateComponentParentsList_spec.js => src/dashboard/util/updateComponentParentsList.test.js} (100%)
 rename superset-frontend/{spec/javascripts/explore/exploreActions_spec.js => src/explore/actions/exploreActions.test.js} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/ControlPanelsContainer_spec.tsx => src/explore/components/ControlPanelsContainer.test.tsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/ControlRow_spec.tsx => src/explore/components/ControlRow.test.tsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/EmbedCodeButton_spec.jsx => src/explore/components/EmbedCodeButton.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/ExploreActionButtons_spec.jsx => src/explore/components/ExploreActionButtons.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/ExploreAdditionalActionsMenu.jsx => src/explore/components/ExploreAdditionalActionsMenu/ExploreAdditionalActionsMenu.test.jsx} (82%)
 rename superset-frontend/{spec/javascripts/explore/components/ExploreChartPanel_spec.jsx => src/explore/components/ExploreChartPanel.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/ExploreViewContainer_spec.jsx => src/explore/components/ExploreViewContainer.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/QueryAndSaveBtns_spec.jsx => src/explore/components/QueryAndSaveBtns.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/RowCountLabel_spec.jsx => src/explore/components/RowCountLabel.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/SaveModal_spec.jsx => src/explore/components/SaveModal.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/BoundsControl_spec.jsx => src/explore/components/controls/BoundsControl.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/CheckboxControl_spec.tsx => src/explore/components/controls/CheckboxControl.test.tsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/ColorPickerControl_spec.tsx => src/explore/components/controls/ColorPickerControl.test.tsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/ColorScheme_spec.jsx => src/explore/components/controls/ColorSchemeControl/ColorScheme.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/DatasourceControl_spec.jsx => src/explore/components/controls/DatasourceControl/DatasourceControl.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/FilterBoxItemControl_spec.jsx => src/explore/components/controls/FilterBoxItemControl/FilterBoxItemControl.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/AdhocMetric_spec.js => src/explore/components/controls/MetricControl/AdhocMetric.test.js} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/AdhocMetricEditPopover_spec.jsx => src/explore/components/controls/MetricControl/AdhocMetricEditPopover/AdhocMetricEditPopover.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/AdhocMetricEditPopoverTitle_spec.jsx => src/explore/components/controls/MetricControl/AdhocMetricEditPopoverTitle.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/AdhocMetricOption_spec.jsx => src/explore/components/controls/MetricControl/AdhocMetricOption.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/AggregateOption_spec.tsx => src/explore/components/controls/MetricControl/AggregateOption.test.tsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/FilterDefinitionOption_spec.jsx => src/explore/components/controls/MetricControl/FilterDefinitionOption.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/MetricDefinitionOption_spec.jsx => src/explore/components/controls/MetricControl/MetricDefinitionOption.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/MetricDefinitionValue_spec.jsx => src/explore/components/controls/MetricControl/MetricDefinitionValue.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/MetricsControl_spec.jsx => src/explore/components/controls/MetricControl/MetricsControl.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/SelectControl_spec.jsx => src/explore/components/controls/SelectControl.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/TextArea_spec.jsx => src/explore/components/controls/TextAreaControl.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/ViewportControl_spec.jsx => src/explore/components/controls/ViewportControl.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/VizTypeControl_spec.jsx => src/explore/components/controls/VizTypeControl/VizTypeControl.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/components/withAsyncVerification_spec.tsx => src/explore/components/controls/withAsyncVerification.test.tsx} (100%)
 rename superset-frontend/{spec/javascripts/explore/controlUtils_spec.tsx => src/explore/controlUtils/controlUtils.test.tsx} (99%)
 rename superset-frontend/{spec/javascripts/explore/utils_spec.jsx => src/explore/exploreUtils/exploreUtils.test.jsx} (100%)
 rename superset-frontend/{spec/javascripts => src}/explore/fixtures.tsx (100%)
 rename superset-frontend/{spec/javascripts/explore/store_spec.jsx => src/explore/store.test.jsx} (100%)
 rename superset-frontend/src/{common => }/hooks/apiResources/apiResources.test.ts (100%)
 rename superset-frontend/src/{common => }/hooks/apiResources/apiResources.ts (100%)
 rename superset-frontend/src/{common => }/hooks/apiResources/charts.ts (100%)
 rename superset-frontend/src/{common => }/hooks/apiResources/dashboards.ts (100%)
 rename superset-frontend/src/{common => }/hooks/apiResources/index.ts (100%)
 rename superset-frontend/src/{common => }/hooks/useChangeEffect/index.ts (100%)
 rename superset-frontend/src/{common => }/hooks/useChangeEffect/useChangeEffect.test.ts (100%)
 rename superset-frontend/src/{common => }/hooks/useChangeEffect/useChangeEffect.ts (100%)
 rename superset-frontend/src/{common => }/hooks/useComponentDidMount/index.ts (100%)
 rename superset-frontend/src/{common => }/hooks/useComponentDidMount/useComponentDidMount.test.ts (100%)
 rename superset-frontend/src/{common => }/hooks/useComponentDidMount/useComponentDidMount.ts (100%)
 rename superset-frontend/src/{common => }/hooks/useComponentDidUpdate/index.ts (100%)
 rename superset-frontend/src/{common => }/hooks/useComponentDidUpdate/useComponentDidUpdate.test.ts (100%)
 rename superset-frontend/src/{common => }/hooks/useComponentDidUpdate/useComponentDidUpdate.ts (100%)
 rename superset-frontend/src/{common => }/hooks/useElementOnScreen/index.ts (100%)
 rename superset-frontend/src/{common => }/hooks/usePrevious/index.ts (100%)
 rename superset-frontend/src/{common => }/hooks/usePrevious/usePrevious.test.ts (100%)
 rename superset-frontend/src/{common => }/hooks/usePrevious/usePrevious.ts (100%)
 rename superset-frontend/src/{common => }/hooks/useUrlShortener.ts (91%)
 copy superset-frontend/{packages/superset-ui-core/test/translation/index.test.ts => src/utils/localStorageHelpers.test.ts} (60%)
 delete mode 100644 superset-frontend/src/views/CRUD/storageKeys.ts
 rename superset-frontend/src/{components/Menu => views/components}/LanguagePicker.test.tsx (100%)
 rename superset-frontend/src/{components/Menu => views/components}/LanguagePicker.tsx (100%)
 rename superset-frontend/src/{components/Menu => views/components}/Menu.test.tsx (100%)
 rename superset-frontend/src/{components/Menu => views/components}/Menu.tsx (98%)
 rename superset-frontend/src/{components/Menu => views/components}/MenuRight.tsx (100%)
 rename superset-frontend/src/{components/Menu => views/components}/SubMenu.test.tsx (100%)
 rename superset-frontend/src/{components/Menu => views/components}/SubMenu.tsx (98%)
 rename superset-frontend/{spec/javascripts/explore/components/FilterBox_spec.jsx => src/visualizations/FilterBox/FilterBox.test.jsx} (100%)
 create mode 100644 superset/db_engine_specs/kusto.py
 copy {tests/unit_tests/dashboards/commands/importers/v1 => superset/key_value}/__init__.py (100%)
 create mode 100644 superset/migrations/versions/31bb738bd1d2_move_pivot_table_v2_legacy_order_by_to_.py
 create mode 100644 superset/migrations/versions/bb38f40aa3ff_add_force_screenshot_to_alerts_reports.py
 copy tests/unit_tests/conftest.py => superset/migrations/versions/c53bae8f08dd_add_saved_query_foreign_key_to_tab_state.py (51%)
 create mode 100644 superset/migrations/versions/fe23025b9441_rename_big_viz_total_form_data_fields.py
 create mode 100644 tests/common/example_data_generator/__init__.py
 create mode 100644 tests/common/example_data_generator/base_generator.py
 create mode 100644 tests/common/example_data_generator/birth_names/__init__.py
 create mode 100644 tests/common/example_data_generator/birth_names/birth_names_generator.py
 create mode 100644 tests/common/example_data_generator/birth_names/birth_names_generator_factory.py
 create mode 100644 tests/common/example_data_generator/consts.py
 create mode 100644 tests/common/example_data_generator/string_generator.py
 create mode 100644 tests/common/example_data_generator/string_generator_factory.py
 create mode 100644 tests/common/example_data_generator/tests/__init__.py
 create mode 100644 tests/common/example_data_generator/tests/test_string_generator.py
 create mode 100644 tests/integration_tests/fixtures/tabbed_dashboard.py
 create mode 100644 tests/integration_tests/security/guest_token_security_tests.py
 create mode 100644 tests/integration_tests/security/row_level_security_tests.py
 copy tests/unit_tests/{dashboards/commands/importers/v1 => datasets}/__init__.py (100%)
 copy tests/unit_tests/{dashboards/commands/importers/v1 => datasets/commands}/__init__.py (100%)
 create mode 100644 tests/unit_tests/datasets/commands/export_test.py
 copy tests/unit_tests/{dashboards/commands/importers/v1 => datasets/commands/importers}/__init__.py (100%)
 copy tests/unit_tests/{dashboards => datasets}/commands/importers/v1/__init__.py (100%)
 create mode 100644 tests/unit_tests/datasets/commands/importers/v1/import_test.py
 create mode 100644 tests/unit_tests/db_engine_specs/test_kusto.py