This is an automated email from the ASF dual-hosted git repository.
rusackas pushed a change to branch issue34737
in repository https://gitbox.apache.org/repos/asf/superset.git
discard 10c88c3652c fix: Address bot review comments
discard 48526a01080 Merge branch 'master' into issue34737
discard a0432da67cf fix: Address review feedback for Range filter decimal
support
discard ee3cc0422b2 fix(filters): Enable decimal values in Range filter slider
add cd447ca1fdb chore(deps): update @luma.gl/webgl requirement from ~9.2.2
to ~9.2.6 in /superset-frontend/plugins/legacy-preset-chart-deckgl (#37469)
add b71654877f6 chore(deps-dev): bump @types/node from 25.2.0 to 25.2.1 in
/superset-websocket (#37719)
add 1c35c3f6d04 chore(deps): bump markdown-to-jsx from 9.7.2 to 9.7.3 in
/superset-frontend (#37730)
add 9b861b2848d chore(deps): bump caniuse-lite from 1.0.30001768 to
1.0.30001769 in /docs (#37726)
add 246dbd7f5c0 chore(deps): upgrade react-resize-detector to v9.1.1
(#37741)
add 1e50422a666 chore: remove deprecated react-hot-loader (#36433)
add ddba88ffada chore(deps): bump googleapis from 171.2.0 to 171.4.0 in
/superset-frontend (#37736)
add 7d9a8a0c5a4 chore(deps-dev): bump @babel/node from 7.28.6 to 7.29.0 in
/superset-frontend (#37734)
add 87d15d32c46 chore(deps-dev): bump @types/node from 25.2.0 to 25.2.1 in
/superset-frontend (#37732)
add ec6eaf48982 fix(deps): bump elasticsearch-dbapi to 0.2.12 for urllib3
2.x compatibility (#37758)
add 935bbe6061d docs: Updates extensions docs (#37704)
add 0415118544f chore: Bump @apache-superset/core (0.0.1-rc10) (#37759)
add fc26dbfebf8 chore(deps): upgrade deck.gl and luma.gl packages to
~9.2.6 (#37718)
add a04571fa20f fix(world-map): reset hover highlight on mouse out (#37716)
add 46bca32677c docs(seo): add structured data, OpenGraph tags, and
sitemap improvements (#37404)
add e9ae212c1cc fix(alerts): show screenshot width field for PDF reports
(#37037)
add fc5506e4669 chore(frontend): comprehensive TypeScript quality
improvements (#37625)
add 9086ae8e6c6 feat(ci): only bump patch version for Storybook-related
deps until React 18 (#37749)
add 9ea5ded9880 fix(dashboard): Prevent fatal error when database
connection is unavailable (#37576)
add 174e3c26d31 chore(deps): update @luma.gl/webgl requirement from ~9.2.5
to ~9.2.6 in /superset-frontend/plugins/legacy-preset-chart-deckgl (#37764)
add 76a27d5360e chore(deps): bump d3-format from 1.4.5 to 3.1.2 in
/superset-frontend/packages/superset-ui-core (#37442)
add 5cea4fb7feb chore(deps): update @luma.gl/shadertools requirement from
~9.2.5 to ~9.2.6 in /superset-frontend/plugins/legacy-preset-chart-deckgl
(#37763)
add df253f6aa47 chore(deps-dev): bump @babel/plugin-transform-runtime from
7.28.5 to 7.29.0 in /superset-frontend (#37631)
add b9ab03994ad chore(deps-dev): bump jsdom from 27.4.0 to 28.0.0 in
/superset-frontend (#37688)
add f4708a56484 fix(db): prevent long database error messages from
overflowing UI (#37709)
add 3521f191b24 chore(deps): bump webpack from 5.96.1 to 5.105.0 in
/superset-frontend/cypress-base (#37775)
add c4e7c3b03b7 refactor: consolidating ColorSchemeEnum settings into one
place (#37591)
add 7580bd14015 chore(deps-dev): bump timezone-mock from 1.3.6 to 1.4.0 in
/superset-frontend (#37333)
add c4d2d42b3b0 build(dev-deps): move Webpack-dedicated `js-yaml-loader`
to dev deps section (#37788)
add 563d9f1a3fd chore(lint): migrate Jest lint rules from eslint to oxlint
(#37787)
add 3b75af9ac3b docs(dev_portal/test): remove refs of testing tools not
used in project (#37786)
add 82d6076804b refactor(charts): filter saved metrics by key and label
(#37136)
add ebee9bb3f91 refactor(types): consolidate shared table types and fix
Funnel enum typo (#37768)
add 29aa69b7792 chore(deps): update @luma.gl/engine requirement from
~9.2.5 to ~9.2.6 in /superset-frontend/plugins/legacy-preset-chart-deckgl
(#37762)
add ce872ddaf01 chore(deps-dev): bump @swc/core from 1.14.0 to 1.15.11 in
/superset-frontend (#37511)
add cebdb9e0b7a fix(ListView): add tooltip for layout toggle buttons
(#37581)
add 2b411b32ba0 fix(scatter): Fix ad-hoc metric for pointsize (#37669)
add 15b3c96f8e9 fix(security): Add table blocklist and fix MCP SQL
validation bypass (#37411)
add a1d65c7529c feat(deps): significant `npm audit fix` to trim off
inadvertently runtime dep from upstream libraries (#37220)
add 059b57d784e chore(deps-dev): bump @types/node from 25.2.1 to 25.2.2 in
/superset-frontend (#37801)
add 5125a670025 build(dev-deps): remove `npm` from @apache-superset/core
(#37774)
add f25d95be410 fix: Vertical lines in the middle of Treemap categories
(#37808)
add 6984e93171e fix: SQL Lab improvements and bug fixes (#37760)
add 59dd2fa3857 feat: add global task framework (#36368)
add f6f96ecc49c test(chart-list): migrate Chart List tests from Cypress to
RTL (#37813)
add 76351ff12c4 fix(i18n): ensure language pack loads before React renders
(#36893)
add 6ca028dee90 chore(deps): bump axios from 1.12.2 to 1.13.5 in /docs
(#37814)
add d078f18ff88 chore(deps-dev): bump @types/node from 25.2.1 to 25.2.2 in
/superset-websocket (#37796)
add 2df60f9caf0 chore(deps): bump immer from 11.1.3 to 11.1.4 in
/superset-frontend (#37830)
add f370da5a87a chore(deps-dev): bump @typescript-eslint/parser from
8.54.0 to 8.55.0 in /docs (#37827)
add 4d8ff845875 chore(deps-dev): bump @playwright/test from 1.58.1 to
1.58.2 in /superset-frontend (#37826)
add 8c6bc3eaea3 chore(deps): bump antd from 6.2.3 to 6.3.0 in /docs
(#37824)
add 1cba53a043d chore(deps-dev): bump @typescript-eslint/parser from
8.54.0 to 8.55.0 in /superset-websocket (#37823)
add 3af795af364 chore(deps-dev): bump @typescript-eslint/eslint-plugin
from 8.54.0 to 8.55.0 in /superset-websocket (#37822)
add 948b1d613b2 chore(deps-dev): bump typescript-eslint from 8.54.0 to
8.55.0 in /docs (#37825)
add 0f1278fa614 fix(gtf): set dedup_key on atomic sql (#37820)
add c59d0a73d47 fix: Prevent table rows from overlapping pagination in
table view (#37174)
add ae8d671fea3 fix(sql): fix sql suggestions (#37699)
add c41942a38ad chore(deps): Upgrade sqlglot from 27.15.2 to 28.10.0
(#37841)
add 76aa91f5ea2 fix(deps): pin `react-error-boundary` to 6.0.0 for React
17 peer dep constraint (#37706)
add 7ec5f1d7ecf fix(native-filters): Filters with select first value not
restored correctly from url (#37855)
add fd1265e9e44 fix(filters): Enable decimal values in Range filter slider
add d76e5ab5294 fix: Address review feedback for Range filter decimal
support
add 49dc8b557f9 fix: Address bot review comments
add 256bf5a4ba7 fix: convert it() to test() per project conventions
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (10c88c3652c)
\
N -- N -- N refs/heads/issue34737 (256bf5a4ba7)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
No new revisions were added by this update.
Summary of changes:
.github/dependabot.yml | 26 +-
.github/workflows/prefer-typescript.yml | 70 -
UPDATING.md | 22 +
docker-compose-light.yml | 4 +-
docker-compose.yml | 2 +-
.../contributing/development-setup.md | 2 +-
docs/developer_portal/contributing/howtos.md | 2 +-
docs/developer_portal/extensions/development.md | 16 +-
.../extensions/extension-points/sqllab.md | 82 +-
docs/developer_portal/extensions/overview.md | 1 +
docs/developer_portal/extensions/registry.md | 2 +-
docs/developer_portal/extensions/tasks.md | 440 +
docs/developer_portal/sidebars.js | 1 +
docs/developer_portal/testing/overview.md | 2 -
docs/docs/configuration/cache.mdx | 84 +
docs/docs/faq.mdx | 56 +
docs/docusaurus.config.ts | 143 +-
docs/package.json | 10 +-
docs/plugins/remark-tech-article-schema.mjs | 153 +
docs/plugins/robots-txt-plugin.js | 83 +
docs/sidebarTutorials.js | 1 +
docs/src/components/FAQSchema.tsx | 66 +
docs/src/components/TechArticleSchema.tsx | 91 +
docs/static/img/superset-og-image.png | Bin 0 -> 89831 bytes
docs/yarn.lock | 4097 +-
pyproject.toml | 4 +-
requirements/base.txt | 2 +-
requirements/development.txt | 2 +-
superset-core/pyproject.toml | 2 +-
superset-core/src/superset_core/api/daos.py | 44 +
superset-core/src/superset_core/api/models.py | 129 +
superset-core/src/superset_core/api/tasks.py | 361 +
.../templates/frontend/package.json.j2 | 2 -
superset-frontend/.eslintrc.js | 65 +-
superset-frontend/.swcrc | 64 -
superset-frontend/babel.config.js | 3 -
.../cypress/e2e/chart_list/_skip.filter.test.ts | 57 -
.../cypress/e2e/chart_list/list.test.ts | 57 -
superset-frontend/cypress-base/package-lock.json | 764 +-
.../{index.js => index.ts} | 90 +-
...plate-vars.test.js => no-template-vars.test.ts} | 8 +-
.../eslint-plugin-i18n-strings/package.json | 2 +-
.../eslint-plugin-icons/{index.js => index.ts} | 52 +-
...-fontawesome.test.js => no-fontawesome.test.ts} | 12 +-
.../eslint-rules/eslint-plugin-icons/package.json | 2 +-
.../{colors.js => colors.ts} | 4 +-
.../eslint-plugin-theme-colors/index.js | 119 -
.../eslint-plugin-theme-colors/index.ts | 162 +
.../eslint-plugin-theme-colors/package.json | 2 +-
superset-frontend/jest.config.js | 10 +-
superset-frontend/oxlint.json | 21 +-
superset-frontend/package-lock.json | 72912 ++++++++-----------
superset-frontend/package.json | 77 +-
.../test/{app.test.js => app.test.ts} | 1 +
.../{plugin-chart.test.js => plugin-chart.test.ts} | 8 +-
.../packages/superset-core/package.json | 4 +-
.../superset-core/src/spec/utils/logging.test.ts | 4 +-
.../superset-core/src/ui/theme/utils/utils.test.ts | 8 +-
.../superset-ui-chart-controls/src/types.ts | 80 +
.../src/utils/metricColumnFilter.test.ts | 20 +-
.../test/components/ColumnTypeLabel.test.tsx | 16 +-
.../superset-ui-chart-controls/test/index.test.ts | 2 +-
.../test/operators/aggregateOperator.test.ts | 10 +-
.../operators/utils/extractExtraMetrics.test.ts | 2 +-
.../test/utils/colorControls.test.ts | 10 +-
.../test/utils/columnChoices.test.tsx | 10 +-
.../test/utils/defineSavedMetrics.test.tsx | 6 +-
.../test/utils/expandControlConfig.test.tsx | 14 +-
.../test/utils/getColorFormatters.test.ts | 2 +-
.../test/utils/mainMetric.test.ts | 8 +-
.../test/utils/selectOptions.test.ts | 6 +-
.../packages/superset-ui-core/package.json | 8 +-
.../src/chart/components/FallbackComponent.tsx | 9 +-
.../AsyncAceEditor/useJsonValidation.test.ts | 12 +-
.../src/components/AsyncEsmComponent/index.tsx | 2 +-
.../components/AutoComplete/AutoComplete.test.tsx | 6 +-
.../src/components/Breadcrumb/Breadcrumb.test.tsx | 2 +-
.../components/CachedLabel/CachedLabel.test.tsx | 4 +-
.../src/components/Checkbox/Checkbox.test.tsx | 20 +-
.../CodeSyntaxHighlighter/index.test.tsx | 18 +-
.../components/CronPicker/CronPicker.stories.tsx | 19 +-
.../src/components/Dropdown/Dropdown.test.tsx | 10 +-
.../DynamicEditableTitle.test.tsx | 8 +-
.../EditableTitle/EditableTitle.test.tsx | 10 +-
...ut.test.jsx => LabeledErrorBoundInput.test.tsx} | 17 +-
.../src/components/Grid/Grid.test.tsx | 2 +-
.../src/components/IconButton/IconButton.test.tsx | 12 +-
.../{IconTooltip.test.jsx => IconTooltip.test.tsx} | 0
.../src/components/Icons/AntdEnhanced.tsx | 2 +
.../src/components/Label/Label.test.tsx | 2 +-
.../src/components/Layout/Layout.test.tsx | 10 +-
.../components/ListViewCard/ImageLoader.test.tsx | 6 +-
.../components/ListViewCard/ListViewCard.test.tsx | 6 +-
.../src/components/Modal/FormModal.test.tsx | 10 +-
.../src/components/Radio/Radio.test.tsx | 2 +-
.../src/components/Select/AsyncSelect.tsx | 6 +-
.../src/components/Select/Select.test.tsx | 14 +-
.../src/components/Select/Select.tsx | 2 +-
.../src/components/Skeleton/Skeleton.test.tsx | 6 +-
.../src/components/Table/sorters.test.ts | 40 +-
.../src/components/Table/utils/utils.test.ts | 8 +-
.../TableCollection/TableCollection.test.tsx | 2 +-
.../src/components/Tabs/Tabs.test.tsx | 46 +-
.../src/components/TelemetryPixel/index.tsx | 1 -
.../src/components/Timer/Timer.test.tsx | 2 +-
.../TimezoneSelector/TimezoneOptionsCache.test.tsx | 2 +-
.../src/components/Tree/Tree.test.tsx | 2 +-
.../src/components/TreeSelect/TreeSelect.test.tsx | 2 +-
.../src/components/Typography/Typography.test.tsx | 14 +-
.../src/components/Upload/Upload.test.tsx | 2 +-
.../superset-ui-core/src/math-expression/index.ts | 2 +-
.../src/models/ExtensibleFunction.ts | 2 +-
.../src/number-format/D3FormatConfig.ts | 1 +
.../factories/createD3NumberFormatter.ts | 12 +-
.../factories/createSiAtMostNDigitFormatter.ts | 6 +-
.../factories/createSmartNumberFormatter.ts | 10 +-
.../superset-ui-core/src/query/normalizeOrderBy.ts | 1 -
.../src/query/processExtraFormData.ts | 2 +-
.../superset-ui-core/src/utils/dates.test.ts | 24 +-
.../superset-ui-core/src/utils/featureFlags.ts | 1 +
.../superset-ui-core/src/utils/html.test.tsx | 74 +-
.../superset-ui-core/src/utils/merge.test.ts | 6 +-
.../chart-composition/legend/WithLegend.test.tsx | 19 +-
.../tooltip/TooltipFrame.test.tsx | 4 +-
.../tooltip/TooltipTable.test.tsx | 6 +-
.../test/chart/clients/ChartClient.test.ts | 32 +-
.../chart/components/ChartDataProvider.test.tsx | 36 +-
.../test/chart/components/SuperChart.test.tsx | 34 +-
.../test/chart/components/SuperChartCore.test.tsx | 30 +-
.../components/createLoadableRenderer.test.tsx | 12 +-
.../test/chart/components/reactify.test.tsx | 20 +-
.../superset-ui-core/test/chart/index.test.ts | 2 +-
.../test/chart/models/ChartMetadata.test.ts | 12 +-
.../test/chart/models/ChartPlugin.test.tsx | 40 +-
.../test/chart/models/ChartProps.test.ts | 14 +-
.../test/color/CategoricalColorNameSpace.test.ts | 48 +-
.../test/color/CategoricalColorScale.test.ts | 68 +-
.../CategoricalSchemeRegistrySingleton.test.ts | 2 +-
.../test/color/ColorScheme.test.ts | 2 +-
.../test/color/ColorSchemeRegistry.test.ts | 8 +-
.../test/color/LabelsColorMapSingleton.test.ts | 42 +-
.../test/color/SequentialScheme.test.ts | 20 +-
.../SequentialSchemeRegistrySingleton.test.ts | 2 +-
.../test/color/colorSchemes.test.ts | 4 +-
.../superset-ui-core/test/color/index.test.ts | 2 +-
.../superset-ui-core/test/color/utils.test.ts | 34 +-
.../Icons/AsyncIcon.integration.test.tsx | 8 +-
.../test/components/SafeMarkdown.test.tsx | 12 +-
.../test/connection/SupersetClient.test.ts | 6 +-
.../test/connection/SupersetClientClass.test.ts | 82 +-
.../test/connection/callApi/callApi.test.ts | 58 +-
.../callApi/callApiAndParseWithTimeout.test.ts | 12 +-
.../test/connection/callApi/parseResponse.test.ts | 16 +-
.../connection/callApi/rejectAfterTimeout.test.ts | 2 +-
.../test/currency-format/CurrencyFormatter.test.ts | 10 +-
.../test/dimension/computeMaxFontSize.test.ts | 10 +-
.../test/dimension/getBBoxDummyFill.ts | 6 +-
.../dimension/getMultipleTextDimensions.test.ts | 22 +-
.../test/dimension/getTextDimension.test.ts | 24 +-
.../test/dimension/mergeMargin.test.ts | 20 +-
.../test/dimension/parseLength.test.ts | 10 +-
.../test/dimension/svg/LazyFactory.test.ts | 10 +-
.../test/dimension/svg/getBBoxCeil.test.ts | 8 +-
.../test/dimension/svg/updateTextNode.test.ts | 10 +-
.../test/dynamic-plugins/shared-modules.test.ts | 10 +-
.../packages/superset-ui-core/test/index.test.ts | 2 +-
.../test/models/ExtensibleFunction.test.ts | 12 +-
.../superset-ui-core/test/models/Plugin.test.ts | 18 +-
.../superset-ui-core/test/models/Preset.test.ts | 8 +-
.../superset-ui-core/test/models/Registry.test.ts | 96 +-
.../test/models/RegistryWithDefaultKey.test.ts | 52 +-
.../test/models/TypedRegistry.test.ts | 4 +-
.../test/number-format/NumberFormatter.test.ts | 26 +-
.../number-format/NumberFormatterRegistry.test.ts | 22 +-
.../NumberFormatterRegistrySingleton.test.ts | 16 +-
.../factories/createD3NumberFormatter.test.ts | 32 +-
.../createSiAtMostNDigitFormatter.test.ts | 12 +-
.../factories/createSmartNumberFormatter.test.ts | 47 +-
.../test/number-format/index.test.ts | 2 +-
.../test/query/DatasourceKey.test.ts | 4 +-
.../query/api/legacy/getDatasourceMetadata.test.ts | 2 +-
.../test/query/api/legacy/getFormData.test.ts | 4 +-
.../test/query/api/v1/getChartData.test.ts | 2 +-
.../test/query/api/v1/handleError.test.ts | 26 +-
.../test/query/api/v1/makeApi.test.ts | 28 +-
.../test/query/buildQueryContext.test.ts | 10 +-
.../test/query/buildQueryObject.test.ts | 34 +-
.../test/query/convertFilter.test.ts | 6 +-
.../test/query/extractExtras.test.ts | 6 +-
.../test/query/extractQueryFields.test.ts | 26 +-
.../test/query/extractTimegrain.test.ts | 10 +-
.../test/query/getClientErrorObject.test.ts | 8 +-
.../test/query/getColumnLabel.test.ts | 6 +-
.../test/query/getMetricLabel.test.ts | 10 +-
.../test/query/normalizeOrderBy.test.ts | 22 +-
.../test/query/processExtraFormData.test.ts | 10 +-
.../test/query/processFilters.test.ts | 8 +-
.../test/query/types/AnnotationLayer.test.ts | 20 +-
.../test/query/types/Filter.test.ts | 16 +-
.../time-comparison/customTimeRangeDecode.test.ts | 22 +-
.../time-comparison/getComparisonFilters.test.ts | 8 +-
.../test/time-comparison/getComparisonInfo.test.ts | 12 +-
.../test/time-comparison/getTimeOffset.test.ts | 46 +-
.../test/time-comparison/index.test.ts | 2 +-
.../test/time-comparison/parseDttmToDate.test.ts | 114 +-
.../test/time-format/TimeFormatter.test.ts | 24 +-
.../test/time-format/TimeFormatterRegistry.test.ts | 34 +-
.../TimeFormatterRegistrySingleton.test.ts | 24 +-
.../factories/createD3TimeFormatter.test.ts | 14 +-
.../factories/createMultiFormatter.test.ts | 64 +-
.../test/time-format/formatters/smartDate.test.ts | 20 +-
.../formatters/smartDateDetailed.test.ts | 24 +-
.../formatters/smartDateVerbose.test.ts | 16 +-
.../test/time-format/index.test.ts | 2 +-
.../test/time-format/utils/createTime.test.ts | 8 +-
.../utils/createTimeRangeFromGranularity.test.ts | 4 +-
.../test/time-format/utils/d3Time.test.ts | 28 +-
.../test/utils/convertKeysToCamelCase.test.ts | 8 +-
.../test/utils/ensureIsArray.test.ts | 2 +-
.../test/utils/ensureIsInt.test.ts | 2 +-
.../test/utils/getSelectedText.test.ts | 2 +-
.../superset-ui-core/test/utils/isDefined.test.ts | 4 +-
.../superset-ui-core/test/utils/isRequired.test.ts | 2 +-
.../test/utils/makeSingleton.test.ts | 8 +-
.../test/utils/promiseTimeout.test.ts | 4 +-
.../superset-ui-core/test/utils/random.test.ts | 4 +-
.../test/utils/removeDuplicates.test.ts | 4 +-
.../test/validator/legacyValidateInteger.test.ts | 4 +-
.../test/validator/legacyValidateNumber.test.ts | 4 +-
.../test/validator/validateInteger.test.ts | 4 +-
.../test/validator/validateMapboxStylesUrl.test.ts | 4 +-
.../test/validator/validateNonEmpty.test.ts | 4 +-
.../test/validator/validateNumber.test.ts | 4 +-
.../validateTimeComparisonRangeValues.test.ts | 4 +-
.../stories/plugins/plugin-chart-table/testData.ts | 2 +-
.../src/switchboard.test.ts | 26 +-
.../experimental/dataset/dataset-list.spec.ts | 4 +-
.../src/{Calendar.js => Calendar.ts} | 93 +-
.../src/{ReactCalendar.jsx => ReactCalendar.tsx} | 29 +-
.../src/{index.js => index.ts} | 0
.../src/{transformProps.js => transformProps.ts} | 7 +-
.../src/vendor/{cal-heatmap.js => cal-heatmap.ts} | 1 +
.../test/utils.test.ts | 14 +-
.../types/external.d.ts} | 12 +-
.../src/{Chord.js => Chord.ts} | 46 +-
.../src/{ReactChord.jsx => ReactChord.tsx} | 27 +-
.../src/{index.js => index.ts} | 0
.../src/{transformProps.js => transformProps.ts} | 4 +-
.../types/external.d.ts} | 12 +-
.../src/{CountryMap.js => CountryMap.ts} | 121 +-
.../{ReactCountryMap.jsx => ReactCountryMap.tsx} | 20 +-
.../src/{index.js => index.ts} | 0
.../src/{transformProps.js => transformProps.ts} | 4 +-
.../test/CountryMap.test.tsx | 25 +-
.../types/external.d.ts} | 12 +-
.../src/{HorizonChart.jsx => HorizonChart.tsx} | 66 +-
.../src/{HorizonRow.jsx => HorizonRow.tsx} | 72 +-
.../src/{index.js => index.ts} | 0
.../src/{transformProps.js => transformProps.ts} | 16 +-
.../types/external.d.ts} | 12 +-
.../src/{MapBox.jsx => MapBox.tsx} | 116 +-
...tGlowOverlay.jsx => ScatterPlotGlowOverlay.tsx} | 182 +-
.../src/{index.js => index.ts} | 4 +-
.../src/{transformProps.js => transformProps.ts} | 34 +-
.../src/utils/{geo.js => geo.ts} | 6 +-
.../{luminanceFromRGB.js => luminanceFromRGB.ts} | 6 +-
.../test/utils/roundDecimal.test.ts | 2 +-
.../types/external.d.ts | 101 +
.../src/{PairedTTest.jsx => PairedTTest.tsx} | 30 +-
.../src/{TTestTable.jsx => TTestTable.tsx} | 86 +-
.../src/{index.js => index.ts} | 0
.../src/{transformProps.js => transformProps.ts} | 9 +-
.../types/external.d.ts | 83 +
...rallelCoordinates.js => ParallelCoordinates.ts} | 69 +-
...oordinates.jsx => ReactParallelCoordinates.tsx} | 21 +-
.../src/{index.js => index.ts} | 0
.../src/{transformProps.js => transformProps.ts} | 8 +-
.../parcoords/{d3.parcoords.js => d3.parcoords.ts} | 3 +-
.../vendor/parcoords/{divgrid.js => divgrid.ts} | 3 +-
.../types/d3-parcoords.d.ts | 28 +-
.../types/d3.d.ts | 2 +-
.../types/{d3.d.ts => external.d.ts} | 15 +-
.../src/{Partition.js => Partition.ts} | 82 +-
.../src/{ReactPartition.jsx => ReactPartition.tsx} | 19 +-
.../src/{index.js => index.ts} | 0
.../src/{transformProps.js => transformProps.ts} | 8 +-
...ription.test.jsx => OptionDescription.test.tsx} | 7 +-
.../types/external.d.ts} | 12 +-
.../src/{ReactRose.jsx => ReactRose.tsx} | 17 +-
.../src/{Rose.js => Rose.ts} | 85 +-
.../src/{index.js => index.ts} | 0
.../src/{transformProps.js => transformProps.ts} | 4 +-
.../types/external.d.ts} | 12 +-
.../src/{ReactWorldMap.jsx => ReactWorldMap.tsx} | 25 +-
.../src/{WorldMap.js => WorldMap.ts} | 90 +-
.../src/{index.js => index.ts} | 0
.../src/{transformProps.js => transformProps.ts} | 4 +-
.../test/WorldMap.test.ts | 389 +
.../test/tsconfig.json | 8 +
.../types/external.d.ts} | 12 +-
.../legacy-preset-chart-deckgl/package.json | 8 +-
.../src/Multi/Multi.test.tsx | 36 +-
.../legacy-preset-chart-deckgl/src/Multi/Multi.tsx | 2 +-
.../src/layers/Contour/getSafeCellSize.test.ts | 12 +-
.../src/layers/Grid/Grid.tsx | 6 +-
.../src/layers/Hex/Hex.tsx | 6 +-
.../src/layers/Path/Path.test.tsx | 3 +-
.../src/layers/Polygon/Polygon.test.tsx | 22 +-
.../src/layers/Scatter/buildQuery.test.ts | 245 +-
.../src/layers/Scatter/buildQuery.ts | 44 +-
.../src/layers/buildQueryUtils.ts | 4 -
.../src/layers/common.test.ts | 42 +-
.../src/layers/spatialUtils.test.ts | 54 +-
.../legacy-preset-chart-deckgl/src/utils.test.ts | 48 +-
.../src/utils/crossFiltersDataMask.test.ts | 14 +-
.../test/utils/colors.test.ts | 2 +-
.../test/utils/getPointsFromPolygon.test.ts | 4 +-
.../src/Bubble/{index.js => index.ts} | 0
.../src/Bullet/{index.js => index.ts} | 0
.../src/Compare/{index.js => index.ts} | 0
.../src/{NVD3Vis.js => NVD3Vis.ts} | 1 +
.../src/{PropTypes.js => PropTypes.ts} | 0
.../src/{ReactNVD3.jsx => ReactNVD3.tsx} | 1 +
.../src/TimePivot/{index.js => index.ts} | 0
.../src/{index.js => index.ts} | 0
.../src/{preset.js => preset.ts} | 0
.../src/{transformProps.js => transformProps.ts} | 22 +-
.../src/{utils.js => utils.ts} | 1 +
.../src/utils/{isTruthy.js => isTruthy.ts} | 2 +-
.../{AnnotationTypes.js => AnnotationTypes.ts} | 1 +
.../superset/{exploreUtils.js => exploreUtils.ts} | 1 +
.../test/{utils.test.js => utils.test.ts} | 21 +-
.../utils/{isTruthy.test.js => isTruthy.test.ts} | 12 +-
.../utils/{tokenize.test.js => tokenize.test.ts} | 14 +-
.../types/external.d.ts} | 31 +-
.../src/controlPanel.tsx | 2 +-
.../src/transformProps.ts | 2 +-
.../plugin-chart-ag-grid-table/src/types.ts | 86 +-
.../src/utils/formatValue.ts | 2 +-
.../test/buildQuery.test.ts | 120 +-
.../test/controlPanel.test.tsx | 2 +-
.../test/utils/agGridFilterConverter.test.ts | 90 +-
.../test/utils/filterStateManager.test.ts | 40 +-
.../test/utils/getInitialFilterModel.test.ts | 42 +-
.../src/util/layerUtil.tsx | 1 -
.../test/components/chartLayer.test.ts | 4 +-
.../plugin-chart-cartodiagram/test/index.test.ts | 2 +-
.../test/plugin/buildQuery.test.ts | 4 +-
.../test/plugin/index.test.ts | 2 +-
.../test/plugin/transformProps.test.ts | 4 +-
.../test/util/chartUtil.test.ts | 6 +-
.../test/util/controlPanelUtil.test.tsx | 12 +-
.../test/util/geometryUtil.test.ts | 6 +-
.../test/util/layerUtil.test.ts | 12 +-
.../test/util/mapUtil.test.ts | 2 +-
.../test/util/serviceUtil.test.ts | 8 +-
.../test/util/transformPropsUtil.test.ts | 34 +-
.../BigNumber/BigNumberPeriodOverPeriod/PopKPI.tsx | 6 +-
.../BigNumberPeriodOverPeriod/controlPanel.ts | 2 +-
.../BigNumber/BigNumberPeriodOverPeriod/types.ts | 5 -
.../BigNumber/BigNumberTotal/controlPanel.test.ts | 6 +-
.../BigNumberTotal/transformProps.test.ts | 14 +-
.../src/BigNumber/BigNumberViz.tsx | 15 +-
.../BigNumberWithTrendline/buildQuery.test.ts | 8 +-
.../BigNumberWithTrendline/transformProps.test.ts | 12 +-
.../BigNumberWithTrendline/transformProps.ts | 13 +-
.../src/BoxPlot/transformProps.ts | 4 +-
.../plugin-chart-echarts/src/BoxPlot/types.ts | 2 +-
.../src/Funnel/controlPanel.tsx | 28 +-
.../src/Funnel/transformProps.ts | 19 +-
.../plugin-chart-echarts/src/Funnel/types.ts | 12 +-
.../src/Gauge/transformProps.ts | 1 -
.../plugin-chart-echarts/src/Graph/types.ts | 2 +-
.../src/MixedTimeseries/EchartsMixedTimeseries.tsx | 1 -
.../src/MixedTimeseries/index.ts | 1 -
.../src/MixedTimeseries/transformProps.ts | 1 -
.../src/MixedTimeseries/types.ts | 2 +-
.../plugins/plugin-chart-echarts/src/Pie/types.ts | 2 +-
.../plugin-chart-echarts/src/Radar/types.ts | 2 +-
.../src/Timeseries/EchartsTimeseries.test.tsx | 7 +-
.../src/Timeseries/EchartsTimeseries.tsx | 2 +-
.../src/Timeseries/constants.ts | 2 +-
.../src/Timeseries/transformers.ts | 10 +-
.../src/Treemap/transformProps.ts | 2 -
.../src/utils/themeOverrides.test.ts | 14 +-
.../test/BigNumber/transformProps.test.ts | 40 +-
.../test/BoxPlot/buildQuery.test.ts | 4 +-
.../test/BoxPlot/transformProps.test.ts | 2 +-
.../test/Bubble/buildQuery.test.ts | 4 +-
.../test/Bubble/transformProps.test.ts | 14 +-
.../test/Funnel/buildQuery.test.ts | 2 +-
.../test/Funnel/transformProps.test.ts | 10 +-
.../test/Gantt/buildQuery.test.ts | 2 +-
.../test/Gantt/transformProps.test.ts | 8 +-
.../test/Gauge/buildQuery.test.ts | 6 +-
.../test/Gauge/transformProps.test.ts | 36 +-
.../test/Graph/buildQuery.test.ts | 8 +-
.../test/Graph/transformProps.test.ts | 10 +-
.../test/MixedTimeseries/transformProps.test.ts | 6 +-
.../test/Pie/buildQuery.test.ts | 2 +-
.../test/Pie/transformProps.test.ts | 32 +-
.../test/Radar/transformProps.test.ts | 8 +-
.../test/Timeseries/Bar/controlPanel.test.ts | 14 +-
.../test/Timeseries/Bar/transformProps.test.ts | 24 +-
.../test/Timeseries/Scatter/controlPanel.test.ts | 2 +-
.../test/Timeseries/Scatter/transformProps.test.ts | 4 -
.../test/Timeseries/buildQuery.test.ts | 10 +-
.../test/Timeseries/constants.test.ts | 8 +-
.../test/Timeseries/transformProps.test.ts | 28 +-
.../test/Timeseries/transformers.test.ts | 34 +-
.../test/Tree/buildQuery.test.ts | 4 +-
.../test/Tree/transformProps.test.ts | 10 +-
.../test/Treemap/buildQuery.test.ts | 2 +-
.../test/Treemap/transformProps.test.ts | 2 +-
.../test/Waterfall/buildQuery.test.ts | 2 +-
.../test/utils/annotation.test.ts | 16 +-
.../test/utils/controls.test.ts | 4 +-
.../test/utils/forecast.test.ts | 14 +-
.../test/utils/formatters.test.ts | 6 +-
.../plugin-chart-echarts/test/utils/series.test.ts | 80 +-
.../test/utils/transformers.test.ts | 16 +-
.../test/utils/treeBuilder.test.ts | 4 +-
.../plugin-chart-handlebars/test/index.test.ts | 2 +-
.../test/plugin/buildQuery.test.ts | 2 +-
.../test/plugin/transformProps.test.ts | 2 +-
.../src/PivotTableChart.tsx | 24 +-
.../{PivotTable.jsx => PivotTable.tsx} | 8 +-
.../src/react-pivottable/{Styles.js => Styles.ts} | 2 +-
.../{TableRenderers.jsx => TableRenderers.tsx} | 432 +-
.../src/react-pivottable/{index.js => index.ts} | 0
.../{utilities.js => utilities.ts} | 523 +-
.../plugin-chart-pivot-table/test/index.test.ts | 2 +-
.../test/plugin/transformProps.test.ts | 12 +-
.../test/react-pivottable/tableRenders.test.tsx | 16 +-
.../plugins/plugin-chart-table/src/TableChart.tsx | 3 +-
.../plugin-chart-table/src/controlPanel.tsx | 2 +-
.../plugin-chart-table/src/transformProps.ts | 2 +-
.../plugins/plugin-chart-table/src/types.ts | 91 +-
.../plugin-chart-table/test/TableChart.test.tsx | 4 +-
.../plugin-chart-table/test/buildQuery.test.ts | 26 +-
.../plugin-chart-table/test/controlPanel.test.tsx | 2 +-
.../test/sortAlphanumericCaseInsensitive.test.ts | 6 +-
.../test/buildQuery.test.ts | 2 +-
.../spec/fixtures/mockNativeFilters.ts | 2 +-
superset-frontend/spec/helpers/testing-library.tsx | 2 +-
superset-frontend/src/.eslintrc.json | 11 -
.../actions/{sqlLab.test.js => sqlLab.test.ts} | 443 +-
superset-frontend/src/SqlLab/actions/sqlLab.ts | 353 +-
.../components/EditorWrapper/useKeywords.test.ts | 8 +-
.../QueryAutoRefresh/QueryAutoRefresh.test.tsx | 23 +-
.../SqlLab/components/ResultSet/ResultSet.test.tsx | 1 -
.../src/SqlLab/components/ResultSet/index.tsx | 7 +-
.../SaveDatasetModal/SaveDatasetModal.test.tsx | 9 +-
.../SqlLab/components/SaveDatasetModal/index.tsx | 4 +-
.../src/SqlLab/components/SqlEditor/index.tsx | 7 +-
.../TableExploreTree/TreeNodeRenderer.tsx | 2 +-
.../SqlLab/components/TableExploreTree/index.tsx | 63 +-
superset-frontend/src/SqlLab/fixtures.ts | 5 +-
.../src/SqlLab/reducers/getInitialState.ts | 2 +
.../reducers/{sqlLab.test.js => sqlLab.test.ts} | 67 +-
.../TimeColumn/TimeColumnFilterPlugin.tsx | 2 +-
.../src/components/AuditInfo/index.tsx | 25 +-
.../src/components/AuditInfo/types.ts | 2 +-
superset-frontend/src/components/Chart/Chart.tsx | 21 +-
.../ChartContextMenu/ChartContextMenu.test.tsx | 6 +-
.../Chart/ChartContextMenu/useContextMenu.test.tsx | 2 +-
...artRenderer.test.jsx => ChartRenderer.test.tsx} | 177 +-
.../Chart/{ChartRenderer.jsx => ChartRenderer.tsx} | 294 +-
.../Chart/DrillBy/useResultsTableView.test.ts | 48 +
.../Chart/DrillBy/useResultsTableView.tsx | 5 +-
.../Chart/DrillDetail/DrillDetailPane.tsx | 5 +-
.../src/components/Chart/chartAction.js | 652 -
.../src/components/Chart/chartAction.ts | 1013 +
.../{chartActions.test.js => chartActions.test.ts} | 441 +-
...chartReducers.test.js => chartReducers.test.ts} | 32 +-
.../useDrillDetailMenuItems.test.tsx | 1 +
...dal.test.jsx => ChangeDatasourceModal.test.tsx} | 3 +-
...urceModal.test.jsx => DatasourceModal.test.tsx} | 19 +-
.../components/CollectionTable/index.tsx | 2 +-
.../{DatasourceEditor.jsx => DatasourceEditor.tsx} | 677 +-
.../tests/DatasourceEditor.test.tsx | 3 +
.../Datasource/components/Field/index.tsx | 10 +-
.../Datasource/components/Fieldset/index.tsx | 12 +-
.../src/components/Datasource/types.ts | 34 +-
.../Datasource/utils/{index.js => index.ts} | 134 +-
.../ErrorMessage/DatabaseErrorMessage.test.tsx | 2 +-
.../ErrorMessage/ErrorMessageWithStackTrace.tsx | 2 +-
.../ErrorMessage/OAuth2RedirectMessage.test.tsx | 8 +-
.../ErrorMessage/OAuth2RedirectMessage.tsx | 2 +-
.../src/components/ListView/ListView.tsx | 54 +-
.../{Toast.test.jsx => Toast.test.tsx} | 6 +-
.../src/components/MessageToasts/Toast.tsx | 18 +-
...tPresenter.test.jsx => ToastPresenter.test.tsx} | 5 +-
.../components/MessageToasts/ToastPresenter.tsx | 59 +-
.../{reducers.test.js => reducers.test.ts} | 41 +-
.../src/components/PanelToolbar/index.tsx | 2 +-
.../ViewListExtension/ViewListExtension.test.tsx | 5 +-
superset-frontend/src/components/index.ts | 2 +-
.../src/core/editors/AceEditorProvider.test.tsx | 3 +-
.../src/core/editors/AceEditorProvider.tsx | 20 +-
.../src/core/editors/EditorHost.test.tsx | 14 +-
superset-frontend/src/core/sqlLab/index.ts | 3 +-
.../src/dashboard/actions/dashboardFilters.js | 64 -
.../src/dashboard/actions/dashboardFilters.ts | 120 +
...boardLayout.test.js => dashboardLayout.test.ts} | 150 +-
.../{dashboardLayout.js => dashboardLayout.ts} | 212 +-
.../src/dashboard/actions/dashboardState.js | 1100 -
...shboardState.test.js => dashboardState.test.ts} | 86 +-
.../src/dashboard/actions/dashboardState.ts | 1519 +
.../dashboard/actions/{hydrate.js => hydrate.ts} | 156 +-
.../src/dashboard/actions/sliceEntities.ts | 12 +-
.../{Dashboard.test.jsx => Dashboard.test.tsx} | 83 +-
.../components/{Dashboard.jsx => Dashboard.tsx} | 158 +-
.../DashboardBuilder/DashboardBuilder.tsx | 2 -
...shboardGrid.test.jsx => DashboardGrid.test.tsx} | 12 +-
.../{DashboardGrid.jsx => DashboardGrid.tsx} | 104 +-
.../components/Header/{index.jsx => index.tsx} | 159 +-
.../src/dashboard/components/Header/types.ts | 59 +-
.../Header/useHeaderActionsDropdownMenu.tsx | 14 +-
.../src/dashboard/components/SliceAdder.tsx | 2 +-
.../components/SliceHeader/SliceHeader.test.tsx | 32 -
.../SliceHeaderControls.test.tsx | 15 +-
...agDroppable.test.jsx => DragDroppable.test.tsx} | 55 +-
.../dnd/{DragDroppable.jsx => DragDroppable.tsx} | 180 +-
.../components/dnd/dragDroppableConfig.ts | 4 +
.../dnd/{handleDrop.js => handleDrop.ts} | 22 +-
.../components/filterscope/FilterScope.test.tsx | 8 +-
...erScopeSelector.jsx => FilterScopeSelector.tsx} | 356 +-
.../Chart/{Chart.test.jsx => Chart.test.tsx} | 30 +-
.../gridComponents/Chart/{Chart.jsx => Chart.tsx} | 497 +-
.../ChartHolder/ChartHolder.test.tsx | 5 +-
.../gridComponents/ChartHolder/ChartHolder.tsx | 14 +-
.../Column/{Column.test.jsx => Column.test.tsx} | 60 +-
.../Column/{Column.jsx => Column.tsx} | 126 +-
.../gridComponents/Divider/Divider.test.tsx | 6 +-
.../DynamicComponent/DynamicComponent.tsx | 2 -
.../gridComponents/Header/Header.test.tsx | 26 +-
.../Markdown/{Markdown.jsx => Markdown.tsx} | 165 +-
.../components/gridComponents/Row/Row.test.tsx | 71 +-
.../components/gridComponents/Row/Row.tsx | 2 +-
.../components/gridComponents/Tab/Tab.test.tsx | 25 +-
.../gridComponents/Tab/{Tab.jsx => Tab.tsx} | 161 +-
.../components/gridComponents/Tabs/Tabs.test.tsx | 7 +-
.../gridComponents/Tabs/{Tabs.jsx => Tabs.tsx} | 201 +-
.../gridComponents/TabsRenderer/TabsRenderer.tsx | 2 +-
...ent.test.jsx => DraggableNewComponent.test.tsx} | 2 +-
.../new/{NewColumn.test.jsx => NewColumn.test.tsx} | 2 +-
.../{NewDivider.test.jsx => NewDivider.test.tsx} | 2 +-
.../new/{NewHeader.test.jsx => NewHeader.test.tsx} | 2 +-
.../new/{NewTabs.test.jsx => NewTabs.test.tsx} | 2 +-
.../menu/ShareMenuItems/ShareMenuItems.test.tsx | 3 +-
...poverMenu.test.jsx => WithPopoverMenu.test.tsx} | 16 +-
.../FilterBarSettings/FilterBarSettings.test.tsx | 3 +-
.../FilterControls/FilterControls.test.tsx | 2 +-
.../FilterBar/FilterControls/FilterValue.tsx | 6 +-
.../components/nativeFilters/FilterBar/state.ts | 2 +-
.../components/nativeFilters/FilterBar/utils.ts | 5 +-
.../nativeFilters/FilterCard/FilterCard.test.tsx | 1 -
.../FiltersConfigForm/FilterScope/state.ts | 12 +-
.../FiltersConfigForm/FilterScope/utils.test.ts | 79 +-
.../FiltersConfigForm/FilterScope/utils.ts | 6 +-
.../FiltersConfigForm/FiltersConfigForm.tsx | 16 +-
.../FiltersConfigForm/getControlItemsMap.test.tsx | 5 +-
.../FiltersConfigModal/FiltersConfigModal.test.tsx | 2 +-
.../FiltersConfigModal/NativeFiltersModal.test.tsx | 1 -
.../dashboard/components/nativeFilters/state.ts | 2 +-
.../dashboard/components/nativeFilters/utils.ts | 2 +-
.../components/resizable/ResizableContainer.tsx | 4 +-
.../dashboard/containers/DashboardComponent.jsx | 144 -
.../dashboard/containers/DashboardComponent.tsx | 187 +
.../src/dashboard/containers/DashboardPage.tsx | 23 +-
...ardFilters.test.js => dashboardFilters.test.ts} | 58 +-
.../{dashboardFilters.js => dashboardFilters.ts} | 110 +-
.../{dashboardInfo.js => dashboardInfo.ts} | 185 +-
...boardLayout.test.js => dashboardLayout.test.ts} | 46 +-
.../{dashboardLayout.js => dashboardLayout.ts} | 160 +-
.../src/dashboard/reducers/dashboardState.test.js | 296 -
.../src/dashboard/reducers/dashboardState.test.ts | 328 +-
.../{dashboardState.js => dashboardState.ts} | 235 +-
...sliceEntities.test.js => sliceEntities.test.ts} | 27 +-
superset-frontend/src/dashboard/reducers/types.ts | 81 -
...shboardLayout.js => undoableDashboardLayout.ts} | 23 +-
superset-frontend/src/dashboard/types.ts | 91 +-
.../dashboard/util/buildFilterScopeTreeEntry.ts | 6 +-
.../src/dashboard/util/crossFilters.test.ts | 3 +-
.../{dnd-reorder.test.js => dnd-reorder.test.ts} | 2 +-
.../util/{dnd-reorder.js => dnd-reorder.ts} | 30 +-
.../src/dashboard/util/dropOverflowsParent.test.ts | 66 +-
.../src/dashboard/util/dropOverflowsParent.ts | 12 +-
.../src/dashboard/util/extractUrlParams.test.ts | 4 +-
...er.test.js => findFirstParentContainer.test.ts} | 17 +-
.../src/dashboard/util/findParentId.test.ts | 8 +-
...=> getChartAndLabelComponentIdFromPath.test.ts} | 0
.../util/getChartIdsInFilterScope.test.ts | 66 +-
...dthFromDrop.js => getComponentWidthFromDrop.ts} | 29 +-
...ashboardUrl.test.js => getDashboardUrl.test.ts} | 47 +-
...h.test.js => getDetailedComponentWidth.test.ts} | 11 +-
...ponentWidth.js => getDetailedComponentWidth.ts} | 37 +-
...ropPosition.test.js => getDropPosition.test.ts} | 17 +-
.../{getDropPosition.js => getDropPosition.ts} | 45 +-
...rs.test.js => getEffectiveExtraFilters.test.ts} | 3 +-
...est.js => getFilterConfigsFromFormdata.test.ts} | 3 +
...Formdata.js => getFilterConfigsFromFormdata.ts} | 41 +-
...test.js => getFilterScopeFromNodesTree.test.ts} | 5 +-
...NodesTree.js => getFilterScopeFromNodesTree.ts} | 75 +-
...copeNodesTree.js => getFilterScopeNodesTree.ts} | 77 +-
....test.js => getLeafComponentIdFromPath.test.ts} | 0
.../src/dashboard/util/getRelatedCharts.ts | 4 +-
.../src/dashboard/util/getRevertedFilterScope.ts | 27 +-
...Factory.test.js => newComponentFactory.test.ts} | 0
...wComponentFactory.js => newComponentFactory.ts} | 18 +-
...romDrop.test.js => newEntitiesFromDrop.test.ts} | 35 +-
...wEntitiesFromDrop.js => newEntitiesFromDrop.ts} | 15 +-
.../src/dashboard/util/propShapes.jsx | 129 -
....test.js => updateComponentParentsList.test.ts} | 24 +-
.../src/embedded/EmbeddedContextProviders.tsx | 2 +-
superset-frontend/src/embedded/utils.test.ts | 12 +-
superset-frontend/src/embedded/utils.ts | 10 +-
.../src/explore/actions/datasourcesActions.test.ts | 15 +-
...ploreActions.test.js => exploreActions.test.ts} | 29 +-
.../src/explore/actions/hydrateExplore.test.ts | 12 +-
.../src/explore/actions/saveModalActions.test.ts | 105 +-
.../src/explore/actions/saveModalActions.ts | 4 +-
.../explore/components/ControlPanelsContainer.tsx | 3 +-
.../CopyToClipboardButton.test.tsx | 8 +-
.../explore/components/DataTableControl/index.tsx | 7 +-
.../components/DataTableControls.tsx | 3 +-
.../components/SingleQueryResultPane.tsx | 5 +-
.../DataTablesPane/components/useResultsPane.tsx | 6 +-
.../DataTablesPane/test/DataTablesPane.test.tsx | 2 +-
.../src/explore/components/DataTablesPane/types.ts | 1 +
.../explore/components/DatasourcePanel/index.tsx | 2 +-
...eContent.test.jsx => EmbedCodeContent.test.tsx} | 7 +-
.../{EmbedCodeContent.jsx => EmbedCodeContent.tsx} | 31 +-
.../ExploreChartHeader/ExploreChartHeader.test.tsx | 297 +-
.../ExploreChartHeader/{index.jsx => index.tsx} | 105 +-
...rtPanel.test.jsx => ExploreChartPanel.test.tsx} | 9 +-
.../explore/components/ExploreChartPanel/index.tsx | 11 +-
.../ExploreViewContainer/{index.jsx => index.tsx} | 398 +-
.../{SaveModal.test.jsx => SaveModal.test.tsx} | 79 +-
.../src/explore/components/SaveModal.tsx | 7 +-
.../controls/AnnotationLayerControl/index.tsx | 10 +-
.../controls/CollectionControl/index.tsx | 18 -
.../ControlForm/ControlFormItem.tsx | 2 +-
.../FormattingPopoverContent.test.tsx | 3 +-
.../FormattingPopoverContent.tsx | 8 +-
.../DatasourceControl/DatasourceControl.test.tsx | 23 +-
.../controls/DatasourceControl/index.tsx | 22 -
.../ColumnSelectPopover.test.tsx | 199 +-
.../DndColumnSelectControl/ColumnSelectPopover.tsx | 24 +-
.../FilterControl/AdhocFilterControl/index.tsx | 46 +-
.../AdhocFilterEditPopover.test.tsx | 1 +
.../FilterControl/AdhocFilterEditPopover/index.tsx | 26 -
...AdhocFilterEditPopoverSimpleTabContent.test.tsx | 108 +-
.../AdhocFilterEditPopoverSqlTabContent/index.tsx | 6 +-
.../controls/FilterControl/adhocFilterType.test.ts | 104 -
.../controls/FilterControl/adhocFilterType.ts | 64 -
.../components/controls/FilterControl/types.ts | 7 -
.../controls/FilterControl/utils/translateToSQL.ts | 7 +-
.../controls/FixedOrMetricControl/index.tsx | 16 +-
.../AdhocMetricEditPopover.test.tsx | 158 +
.../MetricControl/AdhocMetricEditPopover/index.tsx | 28 +-
.../controls/MetricControl/AdhocMetricOption.tsx | 22 -
.../MetricControl/FilterDefinitionOption.tsx | 13 -
.../MetricControl/MetricDefinitionValue.tsx | 19 -
.../controls/MetricControl/MetricsControl.tsx | 20 -
.../controls/MetricControl/adhocMetricType.ts | 37 -
.../controls/MetricControl/savedMetricType.test.ts | 45 -
.../controls/MetricControl/savedMetricType.ts | 31 -
.../explore/components/controls/SelectControl.tsx | 52 -
.../components/controls/TextAreaControl.tsx | 37 -
.../controls/TimeSeriesColumnControl/index.tsx | 21 -
.../explore/components/controls/ViewQueryModal.tsx | 2 +-
.../ZoomConfigControl/ZoomConfigControl.tsx | 8 +-
.../controls/ZoomConfigControl/zoomUtil.test.ts | 2 +-
.../{index.jsx => index.tsx} | 262 +-
...exploreUtils.test.jsx => exploreUtils.test.tsx} | 54 +-
.../explore/exploreUtils/getChartDataUri.test.ts | 8 +-
.../src/explore/exploreUtils/getChartKey.test.ts | 5 +-
.../src/explore/exploreUtils/getExploreUrl.test.ts | 2 +-
.../exploreUtils/getParsedExploreURLParams.test.ts | 2 +-
.../exploreUtils/getSimpleSQLExpression.test.ts | 6 -
.../explore/exploreUtils/{index.js => index.ts} | 203 +-
.../src/explore/reducers/exploreReducer.js | 375 -
...ploreReducer.test.js => exploreReducer.test.ts} | 27 +-
.../src/explore/reducers/exploreReducer.ts | 633 +
superset-frontend/src/explore/types.ts | 1 +
.../src/extensions/ExtensionsManager.ts | 4 +-
.../src/features/alerts/AlertReportModal.test.tsx | 26 +-
.../src/features/alerts/AlertReportModal.tsx | 4 +-
.../DatabaseModal/DatabaseConnectionForm/index.tsx | 3 +-
.../src/features/home/RightMenu.test.tsx | 24 +-
.../ReportModal/HeaderReportDropdown/index.tsx | 16 +-
.../reports/ReportModal/ReportModal.test.tsx | 5 +-
.../src/features/reports/ReportModal/actions.js | 162 -
.../src/features/reports/ReportModal/actions.ts | 257 +
.../src/features/reports/ReportModal/index.tsx | 3 +-
.../src/features/reports/ReportModal/reducer.js | 99 -
.../src/features/reports/ReportModal/reducer.ts | 159 +
.../src/features/tags/BulkTagModal.tsx | 4 +-
superset-frontend/src/features/tags/TagModal.tsx | 6 +-
.../src/features/tasks/TaskPayloadPopover.tsx | 76 +
.../src/features/tasks/TaskStackTracePopover.tsx | 137 +
.../src/features/tasks/TaskStatusIcon.tsx | 145 +
.../src/features/tasks/timeUtils.test.ts | 145 +
superset-frontend/src/features/tasks/timeUtils.ts | 151 +
superset-frontend/src/features/tasks/types.ts | 115 +
.../components/Range/RangeFilterPlugin.test.tsx | 18 +-
.../filters/components/Range/RangeFilterPlugin.tsx | 2 +-
.../src/filters/components/Range/buildQuery.ts | 2 +-
.../components/Select/SelectFilterPlugin.test.tsx | 166 +-
.../components/Select/SelectFilterPlugin.tsx | 7 +-
.../TimeColumn/TimeColumnFilterPlugin.tsx | 29 +-
.../components/TimeGrain/TimeGrainFilterPlugin.tsx | 2 +-
superset-frontend/src/filters/utils.ts | 1 -
superset-frontend/src/middleware/logger.test.js | 161 -
superset-frontend/src/middleware/logger.test.ts | 187 +
.../{loggerMiddleware.js => loggerMiddleware.ts} | 97 +-
...eportList.test.jsx => AlertReportList.test.tsx} | 16 +-
...rList.test.jsx => AnnotationLayerList.test.tsx} | 15 +-
.../pages/ChartList/ChartList.cardview.test.tsx | 45 +-
.../pages/ChartList/ChartList.listview.test.tsx | 189 +-
.../pages/ChartList/ChartList.permissions.test.tsx | 2 +-
.../src/pages/ChartList/ChartList.test.tsx | 181 +-
.../src/pages/ChartList/ChartList.testHelpers.tsx | 2 +-
...plateList.test.jsx => CssTemplateList.test.tsx} | 14 +-
...shboardList.test.jsx => DashboardList.test.tsx} | 22 +-
.../DatasetList/DatasetList.behavior.test.tsx | 116 +-
.../DatasetList/DatasetList.integration.test.tsx | 4 +-
.../DatasetList/DatasetList.listview.test.tsx | 429 +-
.../DatasetList/DatasetList.permissions.test.tsx | 105 +-
.../src/pages/DatasetList/DatasetList.test.tsx | 122 +-
.../pages/DatasetList/DatasetList.testHelpers.tsx | 88 +-
.../src/pages/FileHandler/index.test.tsx | 4 +-
.../src/pages/GroupsList/GroupsList.test.tsx | 2 +-
superset-frontend/src/pages/Home/Home.test.tsx | 6 +-
.../src/pages/RolesList/RolesList.test.tsx | 2 +-
.../RowLevelSecurityList.test.tsx | 2 +-
.../pages/SavedQueryList/SavedQueryList.test.tsx | 2 +-
.../src/pages/TaskList/TaskList.test.tsx | 328 +
superset-frontend/src/pages/TaskList/index.tsx | 658 +
.../src/pages/UserInfo/UserInfo.test.tsx | 2 +-
.../src/pages/UsersList/UsersList.test.tsx | 2 +-
superset-frontend/src/preamble.ts | 141 +-
superset-frontend/src/setup/setupColors.ts | 2 -
superset-frontend/src/theme.ts | 6 +
superset-frontend/src/utils/assetUrl.test.ts | 4 +-
.../src/utils/{common.test.jsx => common.test.tsx} | 28 +-
.../src/utils/{common.js => common.ts} | 72 +-
.../src/utils/getControlsForVizType.test.js | 102 -
superset-frontend/src/views/App.tsx | 3 +-
superset-frontend/src/views/CRUD/utils.tsx | 1 -
.../src/views/RootContextProviders.tsx | 2 +-
superset-frontend/src/views/index.tsx | 18 +-
superset-frontend/src/views/menu.tsx | 3 +-
superset-frontend/src/views/routes.tsx | 9 +
.../presets/{MainPreset.js => MainPreset.ts} | 0
superset-frontend/tsconfig.json | 1 +
superset-frontend/webpack.config.js | 64 +-
superset-frontend/webpack.proxy-config.js | 24 +-
superset-websocket/package-lock.json | 1072 +-
superset-websocket/package.json | 6 +-
superset/async_events/cache_backend.py | 144 +-
superset/commands/distributed_lock/__init__.py | 24 +
superset/commands/distributed_lock/acquire.py | 132 +
superset/commands/distributed_lock/base.py | 41 +-
superset/commands/distributed_lock/create.py | 64 -
superset/commands/distributed_lock/delete.py | 49 -
superset/commands/distributed_lock/release.py | 83 +
.../base.py => tasks/__init__.py} | 35 +-
superset/commands/tasks/cancel.py | 314 +
superset/commands/tasks/exceptions.py | 106 +
superset/commands/tasks/internal_update.py | 184 +
superset/commands/tasks/prune.py | 134 +
superset/commands/tasks/submit.py | 168 +
superset/commands/tasks/update.py | 170 +
superset/config.py | 93 +
superset/core/api/core_api_injection.py | 37 +-
superset/daos/chart.py | 5 +-
superset/daos/tasks.py | 474 +
superset/distributed_lock/__init__.py | 63 +-
superset/exceptions.py | 21 +-
superset/explorables/base.py | 12 +
superset/extensions/local_extensions_watcher.py | 5 +-
superset/initialization/__init__.py | 26 +
.../versions/2025_12_18_0220_create_tasks_table.py | 221 +
superset/models/task_subscribers.py | 62 +
superset/models/tasks.py | 358 +
superset/security/manager.py | 2 +-
superset/sql/dialects/pinot.py | 2 +
superset/sql/execution/celery_task.py | 5 +-
superset/sql/execution/executor.py | 41 +-
superset/sql/parse.py | 50 +-
superset/sql_lab.py | 15 +
superset/sqllab/utils.py | 3 +
superset/tasks/ambient_context.py | 87 +
superset/tasks/api.py | 471 +
superset/tasks/constants.py | 54 +
superset/tasks/context.py | 673 +
superset/tasks/decorators.py | 609 +
superset/tasks/filters.py | 112 +
superset/tasks/locks.py | 81 +
superset/tasks/manager.py | 761 +
superset/tasks/registry.py | 110 +
superset/tasks/scheduler.py | 257 +
superset/tasks/schemas.py | 204 +
superset/tasks/types.py | 2 +
superset/tasks/utils.py | 176 +-
superset/utils/cache_manager.py | 55 +-
superset/utils/log.py | 5 +-
superset/utils/oauth2.py | 10 +-
superset/views/base.py | 7 +-
.../distributed_lock/get.py => views/tasks.py} | 37 +-
tests/integration_tests/superset_test_config.py | 1 +
tests/integration_tests/tasks/api_tests.py | 538 +
.../integration_tests/tasks/commands}/__init__.py | 0
.../tasks/commands/test_cancel.py | 482 +
.../tasks/commands/test_internal_update.py | 419 +
.../integration_tests/tasks/commands/test_prune.py | 258 +
.../tasks/commands/test_submit.py | 238 +
.../tasks/commands/test_update.py | 260 +
.../integration_tests/tasks/test_event_handlers.py | 415 +
.../integration_tests/tasks/test_sync_join_wait.py | 143 +
tests/integration_tests/tasks/test_throttling.py | 172 +
tests/integration_tests/tasks/test_timeout.py | 226 +
tests/unit_tests/daos/test_tasks.py | 503 +
.../distributed_lock/distributed_lock_tests.py | 158 +-
tests/unit_tests/security/manager_test.py | 37 +
tests/unit_tests/sql/execution/test_executor.py | 73 +-
tests/unit_tests/sql/parse_tests.py | 50 +
tests/unit_tests/tasks/test_decorators.py | 477 +
tests/unit_tests/tasks/test_handlers.py | 677 +
tests/unit_tests/tasks/test_manager.py | 457 +
tests/unit_tests/tasks/test_timeout.py | 612 +
tests/unit_tests/tasks/test_utils.py | 249 +
tests/unit_tests/utils/json_tests.py | 2 +-
tests/unit_tests/utils/oauth2_tests.py | 6 +-
837 files changed, 69698 insertions(+), 55999 deletions(-)
delete mode 100644 .github/workflows/prefer-typescript.yml
create mode 100644 docs/developer_portal/extensions/tasks.md
create mode 100644 docs/plugins/remark-tech-article-schema.mjs
create mode 100644 docs/plugins/robots-txt-plugin.js
create mode 100644 docs/src/components/FAQSchema.tsx
create mode 100644 docs/src/components/TechArticleSchema.tsx
create mode 100644 docs/static/img/superset-og-image.png
create mode 100644 superset-core/src/superset_core/api/tasks.py
delete mode 100644 superset-frontend/.swcrc
delete mode 100644
superset-frontend/cypress-base/cypress/e2e/chart_list/_skip.filter.test.ts
rename superset-frontend/eslint-rules/eslint-plugin-i18n-strings/{index.js =>
index.ts} (50%)
rename
superset-frontend/eslint-rules/eslint-plugin-i18n-strings/{no-template-vars.test.js
=> no-template-vars.test.ts} (88%)
rename superset-frontend/eslint-rules/eslint-plugin-icons/{index.js =>
index.ts} (55%)
rename
superset-frontend/eslint-rules/eslint-plugin-icons/{no-fontawesome.test.js =>
no-fontawesome.test.ts} (83%)
rename superset-frontend/eslint-rules/eslint-plugin-theme-colors/{colors.js =>
colors.ts} (97%)
delete mode 100644
superset-frontend/eslint-rules/eslint-plugin-theme-colors/index.js
create mode 100644
superset-frontend/eslint-rules/eslint-plugin-theme-colors/index.ts
rename superset-frontend/packages/generator-superset/test/{app.test.js =>
app.test.ts} (92%)
rename
superset-frontend/packages/generator-superset/test/{plugin-chart.test.js =>
plugin-chart.test.ts} (89%)
rename
superset-frontend/packages/superset-ui-core/src/components/Form/{LabeledErrorBoundInput.test.jsx
=> LabeledErrorBoundInput.test.tsx} (83%)
rename
superset-frontend/packages/superset-ui-core/src/components/IconTooltip/{IconTooltip.test.jsx
=> IconTooltip.test.tsx} (100%)
rename superset-frontend/plugins/legacy-plugin-chart-calendar/src/{Calendar.js
=> Calendar.ts} (62%)
rename
superset-frontend/plugins/legacy-plugin-chart-calendar/src/{ReactCalendar.jsx
=> ReactCalendar.tsx} (91%)
rename superset-frontend/plugins/legacy-plugin-chart-calendar/src/{index.js =>
index.ts} (100%)
rename
superset-frontend/plugins/legacy-plugin-chart-calendar/src/{transformProps.js
=> transformProps.ts} (87%)
rename
superset-frontend/plugins/legacy-plugin-chart-calendar/src/vendor/{cal-heatmap.js
=> cal-heatmap.ts} (99%)
copy
superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates/types/d3.d.ts
=> legacy-plugin-chart-calendar/types/external.d.ts} (84%)
rename superset-frontend/plugins/legacy-plugin-chart-chord/src/{Chord.js =>
Chord.ts} (76%)
rename superset-frontend/plugins/legacy-plugin-chart-chord/src/{ReactChord.jsx
=> ReactChord.tsx} (73%)
rename superset-frontend/plugins/legacy-plugin-chart-chord/src/{index.js =>
index.ts} (100%)
rename
superset-frontend/plugins/legacy-plugin-chart-chord/src/{transformProps.js =>
transformProps.ts} (90%)
copy
superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates/types/d3.d.ts
=> legacy-plugin-chart-chord/types/external.d.ts} (84%)
rename
superset-frontend/plugins/legacy-plugin-chart-country-map/src/{CountryMap.js =>
CountryMap.ts} (69%)
rename
superset-frontend/plugins/legacy-plugin-chart-country-map/src/{ReactCountryMap.jsx
=> ReactCountryMap.tsx} (78%)
rename superset-frontend/plugins/legacy-plugin-chart-country-map/src/{index.js
=> index.ts} (100%)
rename
superset-frontend/plugins/legacy-plugin-chart-country-map/src/{transformProps.js
=> transformProps.ts} (91%)
copy
superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates/types/d3.d.ts
=> legacy-plugin-chart-country-map/types/external.d.ts} (84%)
rename
superset-frontend/plugins/legacy-plugin-chart-horizon/src/{HorizonChart.jsx =>
HorizonChart.tsx} (75%)
rename
superset-frontend/plugins/legacy-plugin-chart-horizon/src/{HorizonRow.jsx =>
HorizonRow.tsx} (83%)
rename superset-frontend/plugins/legacy-plugin-chart-horizon/src/{index.js =>
index.ts} (100%)
rename
superset-frontend/plugins/legacy-plugin-chart-horizon/src/{transformProps.js =>
transformProps.ts} (67%)
copy
superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates/types/d3.d.ts
=> legacy-plugin-chart-horizon/types/external.d.ts} (84%)
rename superset-frontend/plugins/legacy-plugin-chart-map-box/src/{MapBox.jsx
=> MapBox.tsx} (61%)
rename
superset-frontend/plugins/legacy-plugin-chart-map-box/src/{ScatterPlotGlowOverlay.jsx
=> ScatterPlotGlowOverlay.tsx} (66%)
rename superset-frontend/plugins/legacy-plugin-chart-map-box/src/{index.js =>
index.ts} (92%)
rename
superset-frontend/plugins/legacy-plugin-chart-map-box/src/{transformProps.js =>
transformProps.ts} (79%)
rename superset-frontend/plugins/legacy-plugin-chart-map-box/src/utils/{geo.js
=> geo.ts} (92%)
rename
superset-frontend/plugins/legacy-plugin-chart-map-box/src/utils/{luminanceFromRGB.js
=> luminanceFromRGB.ts} (92%)
create mode 100644
superset-frontend/plugins/legacy-plugin-chart-map-box/types/external.d.ts
rename
superset-frontend/plugins/legacy-plugin-chart-paired-t-test/src/{PairedTTest.jsx
=> PairedTTest.tsx} (86%)
rename
superset-frontend/plugins/legacy-plugin-chart-paired-t-test/src/{TTestTable.jsx
=> TTestTable.tsx} (82%)
rename
superset-frontend/plugins/legacy-plugin-chart-paired-t-test/src/{index.js =>
index.ts} (100%)
rename
superset-frontend/plugins/legacy-plugin-chart-paired-t-test/src/{transformProps.js
=> transformProps.ts} (80%)
create mode 100644
superset-frontend/plugins/legacy-plugin-chart-paired-t-test/types/external.d.ts
rename
superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/src/{ParallelCoordinates.js
=> ParallelCoordinates.ts} (64%)
rename
superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/src/{ReactParallelCoordinates.jsx
=> ReactParallelCoordinates.tsx} (88%)
rename
superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/src/{index.js
=> index.ts} (100%)
rename
superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/src/{transformProps.js
=> transformProps.ts} (84%)
rename
superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/src/vendor/parcoords/{d3.parcoords.js
=> d3.parcoords.ts} (99%)
rename
superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/src/vendor/parcoords/{divgrid.js
=> divgrid.ts} (96%)
copy
superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/types/{d3.d.ts
=> external.d.ts} (79%)
rename
superset-frontend/plugins/legacy-plugin-chart-partition/src/{Partition.js =>
Partition.ts} (84%)
rename
superset-frontend/plugins/legacy-plugin-chart-partition/src/{ReactPartition.jsx
=> ReactPartition.tsx} (78%)
rename superset-frontend/plugins/legacy-plugin-chart-partition/src/{index.js
=> index.ts} (100%)
rename
superset-frontend/plugins/legacy-plugin-chart-partition/src/{transformProps.js
=> transformProps.ts} (87%)
rename
superset-frontend/plugins/legacy-plugin-chart-partition/test/{OptionDescription.test.jsx
=> OptionDescription.test.tsx} (91%)
copy
superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates/types/d3.d.ts
=> legacy-plugin-chart-partition/types/external.d.ts} (84%)
rename superset-frontend/plugins/legacy-plugin-chart-rose/src/{ReactRose.jsx
=> ReactRose.tsx} (79%)
rename superset-frontend/plugins/legacy-plugin-chart-rose/src/{Rose.js =>
Rose.ts} (89%)
rename superset-frontend/plugins/legacy-plugin-chart-rose/src/{index.js =>
index.ts} (100%)
rename
superset-frontend/plugins/legacy-plugin-chart-rose/src/{transformProps.js =>
transformProps.ts} (91%)
copy
superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates/types/d3.d.ts
=> legacy-plugin-chart-rose/types/external.d.ts} (84%)
rename
superset-frontend/plugins/legacy-plugin-chart-world-map/src/{ReactWorldMap.jsx
=> ReactWorldMap.tsx} (71%)
rename
superset-frontend/plugins/legacy-plugin-chart-world-map/src/{WorldMap.js =>
WorldMap.ts} (75%)
rename superset-frontend/plugins/legacy-plugin-chart-world-map/src/{index.js
=> index.ts} (100%)
rename
superset-frontend/plugins/legacy-plugin-chart-world-map/src/{transformProps.js
=> transformProps.ts} (94%)
create mode 100644
superset-frontend/plugins/legacy-plugin-chart-world-map/test/WorldMap.test.ts
create mode 100644
superset-frontend/plugins/legacy-plugin-chart-world-map/test/tsconfig.json
copy
superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates/types/d3.d.ts
=> legacy-plugin-chart-world-map/types/external.d.ts} (84%)
rename superset-frontend/plugins/legacy-preset-chart-nvd3/src/Bubble/{index.js
=> index.ts} (100%)
rename superset-frontend/plugins/legacy-preset-chart-nvd3/src/Bullet/{index.js
=> index.ts} (100%)
rename
superset-frontend/plugins/legacy-preset-chart-nvd3/src/Compare/{index.js =>
index.ts} (100%)
rename superset-frontend/plugins/legacy-preset-chart-nvd3/src/{NVD3Vis.js =>
NVD3Vis.ts} (99%)
rename superset-frontend/plugins/legacy-preset-chart-nvd3/src/{PropTypes.js =>
PropTypes.ts} (100%)
rename superset-frontend/plugins/legacy-preset-chart-nvd3/src/{ReactNVD3.jsx
=> ReactNVD3.tsx} (98%)
rename
superset-frontend/plugins/legacy-preset-chart-nvd3/src/TimePivot/{index.js =>
index.ts} (100%)
rename superset-frontend/plugins/legacy-preset-chart-nvd3/src/{index.js =>
index.ts} (100%)
rename superset-frontend/plugins/legacy-preset-chart-nvd3/src/{preset.js =>
preset.ts} (100%)
rename
superset-frontend/plugins/legacy-preset-chart-nvd3/src/{transformProps.js =>
transformProps.ts} (88%)
rename superset-frontend/plugins/legacy-preset-chart-nvd3/src/{utils.js =>
utils.ts} (99%)
rename
superset-frontend/plugins/legacy-preset-chart-nvd3/src/utils/{isTruthy.js =>
isTruthy.ts} (94%)
rename
superset-frontend/plugins/legacy-preset-chart-nvd3/src/vendor/superset/{AnnotationTypes.js
=> AnnotationTypes.ts} (97%)
rename
superset-frontend/plugins/legacy-preset-chart-nvd3/src/vendor/superset/{exploreUtils.js
=> exploreUtils.ts} (97%)
rename superset-frontend/plugins/legacy-preset-chart-nvd3/test/{utils.test.js
=> utils.test.ts} (86%)
rename
superset-frontend/plugins/legacy-preset-chart-nvd3/test/utils/{isTruthy.test.js
=> isTruthy.test.ts} (87%)
rename
superset-frontend/plugins/legacy-preset-chart-nvd3/test/utils/{tokenize.test.js
=> tokenize.test.ts} (86%)
copy
superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates/types/d3.d.ts
=> legacy-preset-chart-nvd3/types/external.d.ts} (61%)
rename
superset-frontend/plugins/plugin-chart-pivot-table/src/react-pivottable/{PivotTable.jsx
=> PivotTable.tsx} (85%)
rename
superset-frontend/plugins/plugin-chart-pivot-table/src/react-pivottable/{Styles.js
=> Styles.ts} (98%)
rename
superset-frontend/plugins/plugin-chart-pivot-table/src/react-pivottable/{TableRenderers.jsx
=> TableRenderers.tsx} (74%)
rename
superset-frontend/plugins/plugin-chart-pivot-table/src/react-pivottable/{index.js
=> index.ts} (100%)
rename
superset-frontend/plugins/plugin-chart-pivot-table/src/react-pivottable/{utilities.js
=> utilities.ts} (61%)
delete mode 100644 superset-frontend/src/.eslintrc.json
rename superset-frontend/src/SqlLab/actions/{sqlLab.test.js => sqlLab.test.ts}
(81%)
rename superset-frontend/src/SqlLab/reducers/{sqlLab.test.js =>
sqlLab.test.ts} (92%)
rename superset-frontend/src/components/Chart/{ChartRenderer.test.jsx =>
ChartRenderer.test.tsx} (58%)
rename superset-frontend/src/components/Chart/{ChartRenderer.jsx =>
ChartRenderer.tsx} (62%)
delete mode 100644 superset-frontend/src/components/Chart/chartAction.js
create mode 100644 superset-frontend/src/components/Chart/chartAction.ts
rename superset-frontend/src/components/Chart/{chartActions.test.js =>
chartActions.test.ts} (52%)
rename superset-frontend/src/components/Chart/{chartReducers.test.js =>
chartReducers.test.ts} (76%)
rename
superset-frontend/src/components/Datasource/ChangeDatasourceModal/{ChangeDatasourceModal.test.jsx
=> ChangeDatasourceModal.test.tsx} (98%)
rename
superset-frontend/src/components/Datasource/DatasourceModal/{DatasourceModal.test.jsx
=> DatasourceModal.test.tsx} (95%)
rename
superset-frontend/src/components/Datasource/components/DatasourceEditor/{DatasourceEditor.jsx
=> DatasourceEditor.tsx} (81%)
rename superset-frontend/src/components/Datasource/utils/{index.js =>
index.ts} (60%)
rename superset-frontend/src/components/MessageToasts/{Toast.test.jsx =>
Toast.test.tsx} (88%)
rename superset-frontend/src/components/MessageToasts/{ToastPresenter.test.jsx
=> ToastPresenter.test.tsx} (91%)
rename superset-frontend/src/components/MessageToasts/{reducers.test.js =>
reducers.test.ts} (58%)
delete mode 100644 superset-frontend/src/dashboard/actions/dashboardFilters.js
create mode 100644 superset-frontend/src/dashboard/actions/dashboardFilters.ts
rename superset-frontend/src/dashboard/actions/{dashboardLayout.test.js =>
dashboardLayout.test.ts} (78%)
rename superset-frontend/src/dashboard/actions/{dashboardLayout.js =>
dashboardLayout.ts} (65%)
delete mode 100644 superset-frontend/src/dashboard/actions/dashboardState.js
rename superset-frontend/src/dashboard/actions/{dashboardState.test.js =>
dashboardState.test.ts} (73%)
create mode 100644 superset-frontend/src/dashboard/actions/dashboardState.ts
rename superset-frontend/src/dashboard/actions/{hydrate.js => hydrate.ts} (68%)
rename superset-frontend/src/dashboard/components/{Dashboard.test.jsx =>
Dashboard.test.tsx} (82%)
rename superset-frontend/src/dashboard/components/{Dashboard.jsx =>
Dashboard.tsx} (70%)
rename superset-frontend/src/dashboard/components/{DashboardGrid.test.jsx =>
DashboardGrid.test.tsx} (94%)
rename superset-frontend/src/dashboard/components/{DashboardGrid.jsx =>
DashboardGrid.tsx} (81%)
rename superset-frontend/src/dashboard/components/Header/{index.jsx =>
index.tsx} (85%)
rename superset-frontend/src/dashboard/components/dnd/{DragDroppable.test.jsx
=> DragDroppable.test.tsx} (82%)
rename superset-frontend/src/dashboard/components/dnd/{DragDroppable.jsx =>
DragDroppable.tsx} (60%)
rename superset-frontend/src/dashboard/components/dnd/{handleDrop.js =>
handleDrop.ts} (83%)
rename
superset-frontend/src/dashboard/components/filterscope/{FilterScopeSelector.jsx
=> FilterScopeSelector.tsx} (69%)
rename
superset-frontend/src/dashboard/components/gridComponents/Chart/{Chart.test.jsx
=> Chart.test.tsx} (94%)
rename
superset-frontend/src/dashboard/components/gridComponents/Chart/{Chart.jsx =>
Chart.tsx} (58%)
rename
superset-frontend/src/dashboard/components/gridComponents/Column/{Column.test.jsx
=> Column.test.tsx} (81%)
rename
superset-frontend/src/dashboard/components/gridComponents/Column/{Column.jsx =>
Column.tsx} (72%)
rename
superset-frontend/src/dashboard/components/gridComponents/Markdown/{Markdown.jsx
=> Markdown.tsx} (75%)
rename superset-frontend/src/dashboard/components/gridComponents/Tab/{Tab.jsx
=> Tab.tsx} (80%)
rename
superset-frontend/src/dashboard/components/gridComponents/Tabs/{Tabs.jsx =>
Tabs.tsx} (78%)
rename
superset-frontend/src/dashboard/components/gridComponents/new/{DraggableNewComponent.test.jsx
=> DraggableNewComponent.test.tsx} (97%)
rename
superset-frontend/src/dashboard/components/gridComponents/new/{NewColumn.test.jsx
=> NewColumn.test.tsx} (96%)
rename
superset-frontend/src/dashboard/components/gridComponents/new/{NewDivider.test.jsx
=> NewDivider.test.tsx} (96%)
rename
superset-frontend/src/dashboard/components/gridComponents/new/{NewHeader.test.jsx
=> NewHeader.test.tsx} (96%)
rename
superset-frontend/src/dashboard/components/gridComponents/new/{NewTabs.test.jsx
=> NewTabs.test.tsx} (97%)
rename
superset-frontend/src/dashboard/components/menu/{WithPopoverMenu.test.jsx =>
WithPopoverMenu.test.tsx} (96%)
delete mode 100644
superset-frontend/src/dashboard/containers/DashboardComponent.jsx
create mode 100644
superset-frontend/src/dashboard/containers/DashboardComponent.tsx
rename superset-frontend/src/dashboard/reducers/{dashboardFilters.test.js =>
dashboardFilters.test.ts} (77%)
rename superset-frontend/src/dashboard/reducers/{dashboardFilters.js =>
dashboardFilters.ts} (50%)
rename superset-frontend/src/dashboard/reducers/{dashboardInfo.js =>
dashboardInfo.ts} (53%)
rename superset-frontend/src/dashboard/reducers/{dashboardLayout.test.js =>
dashboardLayout.test.ts} (92%)
rename superset-frontend/src/dashboard/reducers/{dashboardLayout.js =>
dashboardLayout.ts} (67%)
delete mode 100644
superset-frontend/src/dashboard/reducers/dashboardState.test.js
rename superset-frontend/src/dashboard/reducers/{dashboardState.js =>
dashboardState.ts} (52%)
rename superset-frontend/src/dashboard/reducers/{sliceEntities.test.js =>
sliceEntities.test.ts} (71%)
delete mode 100644 superset-frontend/src/dashboard/reducers/types.ts
rename superset-frontend/src/dashboard/reducers/{undoableDashboardLayout.js =>
undoableDashboardLayout.ts} (83%)
rename superset-frontend/src/dashboard/util/{dnd-reorder.test.js =>
dnd-reorder.test.ts} (99%)
rename superset-frontend/src/dashboard/util/{dnd-reorder.js => dnd-reorder.ts}
(86%)
rename superset-frontend/src/dashboard/util/{findFirstParentContainer.test.js
=> findFirstParentContainer.test.ts} (85%)
rename
superset-frontend/src/dashboard/util/{getChartAndLabelComponentIdFromPath.test.js
=> getChartAndLabelComponentIdFromPath.test.ts} (100%)
rename superset-frontend/src/dashboard/util/{getComponentWidthFromDrop.js =>
getComponentWidthFromDrop.ts} (74%)
rename superset-frontend/src/dashboard/util/{getDashboardUrl.test.js =>
getDashboardUrl.test.ts} (82%)
rename superset-frontend/src/dashboard/util/{getDetailedComponentWidth.test.js
=> getDetailedComponentWidth.test.ts} (95%)
rename superset-frontend/src/dashboard/util/{getDetailedComponentWidth.js =>
getDetailedComponentWidth.ts} (76%)
rename superset-frontend/src/dashboard/util/{getDropPosition.test.js =>
getDropPosition.test.ts} (96%)
rename superset-frontend/src/dashboard/util/{getDropPosition.js =>
getDropPosition.ts} (84%)
rename superset-frontend/src/dashboard/util/{getEffectiveExtraFilters.test.js
=> getEffectiveExtraFilters.test.ts} (93%)
rename
superset-frontend/src/dashboard/util/{getFilterConfigsFromFormdata.test.js =>
getFilterConfigsFromFormdata.test.ts} (97%)
rename superset-frontend/src/dashboard/util/{getFilterConfigsFromFormdata.js
=> getFilterConfigsFromFormdata.ts} (69%)
rename
superset-frontend/src/dashboard/util/{getFilterScopeFromNodesTree.test.js =>
getFilterScopeFromNodesTree.test.ts} (98%)
rename superset-frontend/src/dashboard/util/{getFilterScopeFromNodesTree.js =>
getFilterScopeFromNodesTree.ts} (75%)
rename superset-frontend/src/dashboard/util/{getFilterScopeNodesTree.js =>
getFilterScopeNodesTree.ts} (62%)
rename
superset-frontend/src/dashboard/util/{getLeafComponentIdFromPath.test.js =>
getLeafComponentIdFromPath.test.ts} (100%)
rename superset-frontend/src/dashboard/util/{newComponentFactory.test.js =>
newComponentFactory.test.ts} (100%)
rename superset-frontend/src/dashboard/util/{newComponentFactory.js =>
newComponentFactory.ts} (82%)
rename superset-frontend/src/dashboard/util/{newEntitiesFromDrop.test.js =>
newEntitiesFromDrop.test.ts} (75%)
rename superset-frontend/src/dashboard/util/{newEntitiesFromDrop.js =>
newEntitiesFromDrop.ts} (84%)
delete mode 100644 superset-frontend/src/dashboard/util/propShapes.jsx
rename
superset-frontend/src/dashboard/util/{updateComponentParentsList.test.js =>
updateComponentParentsList.test.ts} (90%)
rename superset-frontend/src/explore/actions/{exploreActions.test.js =>
exploreActions.test.ts} (87%)
rename superset-frontend/src/explore/components/{EmbedCodeContent.test.jsx =>
EmbedCodeContent.test.tsx} (92%)
rename superset-frontend/src/explore/components/{EmbedCodeContent.jsx =>
EmbedCodeContent.tsx} (85%)
rename superset-frontend/src/explore/components/ExploreChartHeader/{index.jsx
=> index.tsx} (80%)
rename
superset-frontend/src/explore/components/ExploreChartPanel/{ExploreChartPanel.test.jsx
=> ExploreChartPanel.test.tsx} (95%)
rename
superset-frontend/src/explore/components/ExploreViewContainer/{index.jsx =>
index.tsx} (73%)
rename superset-frontend/src/explore/components/{SaveModal.test.jsx =>
SaveModal.test.tsx} (91%)
delete mode 100644
superset-frontend/src/explore/components/controls/FilterControl/adhocFilterType.test.ts
delete mode 100644
superset-frontend/src/explore/components/controls/FilterControl/adhocFilterType.ts
delete mode 100644
superset-frontend/src/explore/components/controls/MetricControl/adhocMetricType.ts
delete mode 100644
superset-frontend/src/explore/components/controls/MetricControl/savedMetricType.test.ts
delete mode 100644
superset-frontend/src/explore/components/controls/MetricControl/savedMetricType.ts
rename
superset-frontend/src/explore/components/useExploreAdditionalActionsMenu/{index.jsx
=> index.tsx} (80%)
rename superset-frontend/src/explore/exploreUtils/{exploreUtils.test.jsx =>
exploreUtils.test.tsx} (89%)
rename superset-frontend/src/explore/exploreUtils/{index.js => index.ts} (64%)
delete mode 100644 superset-frontend/src/explore/reducers/exploreReducer.js
rename superset-frontend/src/explore/reducers/{exploreReducer.test.js =>
exploreReducer.test.ts} (66%)
create mode 100644 superset-frontend/src/explore/reducers/exploreReducer.ts
delete mode 100644
superset-frontend/src/features/reports/ReportModal/actions.js
create mode 100644
superset-frontend/src/features/reports/ReportModal/actions.ts
delete mode 100644
superset-frontend/src/features/reports/ReportModal/reducer.js
create mode 100644
superset-frontend/src/features/reports/ReportModal/reducer.ts
create mode 100644 superset-frontend/src/features/tasks/TaskPayloadPopover.tsx
create mode 100644
superset-frontend/src/features/tasks/TaskStackTracePopover.tsx
create mode 100644 superset-frontend/src/features/tasks/TaskStatusIcon.tsx
create mode 100644 superset-frontend/src/features/tasks/timeUtils.test.ts
create mode 100644 superset-frontend/src/features/tasks/timeUtils.ts
create mode 100644 superset-frontend/src/features/tasks/types.ts
delete mode 100644 superset-frontend/src/middleware/logger.test.js
create mode 100644 superset-frontend/src/middleware/logger.test.ts
rename superset-frontend/src/middleware/{loggerMiddleware.js =>
loggerMiddleware.ts} (67%)
rename superset-frontend/src/pages/AlertReportList/{AlertReportList.test.jsx
=> AlertReportList.test.tsx} (95%)
rename
superset-frontend/src/pages/AnnotationLayerList/{AnnotationLayerList.test.jsx
=> AnnotationLayerList.test.tsx} (93%)
rename superset-frontend/src/pages/CssTemplateList/{CssTemplateList.test.jsx
=> CssTemplateList.test.tsx} (93%)
rename superset-frontend/src/pages/DashboardList/{DashboardList.test.jsx =>
DashboardList.test.tsx} (93%)
create mode 100644 superset-frontend/src/pages/TaskList/TaskList.test.tsx
create mode 100644 superset-frontend/src/pages/TaskList/index.tsx
rename superset-frontend/src/utils/{common.test.jsx => common.test.tsx} (88%)
rename superset-frontend/src/utils/{common.js => common.ts} (66%)
delete mode 100644 superset-frontend/src/utils/getControlsForVizType.test.js
rename superset-frontend/src/visualizations/presets/{MainPreset.js =>
MainPreset.ts} (100%)
create mode 100644 superset/commands/distributed_lock/acquire.py
delete mode 100644 superset/commands/distributed_lock/create.py
delete mode 100644 superset/commands/distributed_lock/delete.py
create mode 100644 superset/commands/distributed_lock/release.py
copy superset/commands/{distributed_lock/base.py => tasks/__init__.py} (53%)
create mode 100644 superset/commands/tasks/cancel.py
create mode 100644 superset/commands/tasks/exceptions.py
create mode 100644 superset/commands/tasks/internal_update.py
create mode 100644 superset/commands/tasks/prune.py
create mode 100644 superset/commands/tasks/submit.py
create mode 100644 superset/commands/tasks/update.py
create mode 100644 superset/daos/tasks.py
create mode 100644
superset/migrations/versions/2025_12_18_0220_create_tasks_table.py
create mode 100644 superset/models/task_subscribers.py
create mode 100644 superset/models/tasks.py
create mode 100644 superset/tasks/ambient_context.py
create mode 100644 superset/tasks/api.py
create mode 100644 superset/tasks/constants.py
create mode 100644 superset/tasks/context.py
create mode 100644 superset/tasks/decorators.py
create mode 100644 superset/tasks/filters.py
create mode 100644 superset/tasks/locks.py
create mode 100644 superset/tasks/manager.py
create mode 100644 superset/tasks/registry.py
create mode 100644 superset/tasks/schemas.py
rename superset/{commands/distributed_lock/get.py => views/tasks.py} (51%)
create mode 100644 tests/integration_tests/tasks/api_tests.py
copy {superset-core/src/superset_core/api =>
tests/integration_tests/tasks/commands}/__init__.py (100%)
create mode 100644 tests/integration_tests/tasks/commands/test_cancel.py
create mode 100644
tests/integration_tests/tasks/commands/test_internal_update.py
create mode 100644 tests/integration_tests/tasks/commands/test_prune.py
create mode 100644 tests/integration_tests/tasks/commands/test_submit.py
create mode 100644 tests/integration_tests/tasks/commands/test_update.py
create mode 100644 tests/integration_tests/tasks/test_event_handlers.py
create mode 100644 tests/integration_tests/tasks/test_sync_join_wait.py
create mode 100644 tests/integration_tests/tasks/test_throttling.py
create mode 100644 tests/integration_tests/tasks/test_timeout.py
create mode 100644 tests/unit_tests/daos/test_tasks.py
create mode 100644 tests/unit_tests/tasks/test_decorators.py
create mode 100644 tests/unit_tests/tasks/test_handlers.py
create mode 100644 tests/unit_tests/tasks/test_manager.py
create mode 100644 tests/unit_tests/tasks/test_timeout.py