From 13459abdda2c51b614d0665793d0a3c09c2110e0 Mon Sep 17 00:00:00 2001 From: MUI bot <2109932+Janpot@users.noreply.github.com> Date: Wed, 15 Jan 2025 15:38:34 +0100 Subject: [PATCH] [code-infra] Bring fixes from ESM upates --- babel.config.js | 2 +- .../templates/dashboard/Dashboard.tsx | 2 +- .../theme/customizations/dataGrid.ts | 3 +- .../babel-plugin-resolve-imports/index.js | 118 ++++++++++-------- .../styles/{components.d.ts => components.ts} | 0 .../src/LoadingButton/LoadingButton.d.ts | 4 + .../{components.d.ts => components.ts} | 0 .../{overrides.d.ts => overrides.ts} | 0 .../{props.d.ts => props.ts} | 0 packages/mui-material/src/AppBar/AppBar.d.ts | 2 +- packages/mui-material/src/Card/Card.d.ts | 2 +- .../index.ts} | 2 +- .../src/PaginationItem/PaginationItem.d.ts | 2 +- .../styles/{components.d.ts => components.ts} | 0 .../src/styles/createThemeNoVars.d.ts | 2 +- .../styles/{overrides.d.ts => overrides.ts} | 0 .../src/styles/{props.d.ts => props.ts} | 0 .../src/styles/{variants.d.ts => variants.ts} | 0 .../cssContainerQueries.ts | 2 +- ...roperties.d.ts => AliasesCSSProperties.ts} | 0 ...perties.d.ts => OverwriteCSSProperties.ts} | 0 ...operties.d.ts => StandardCssProperties.ts} | 0 scripts/buidApiDocs/tsconfig.json | 2 +- 23 files changed, 77 insertions(+), 66 deletions(-) rename packages/mui-joy/src/styles/{components.d.ts => components.ts} (100%) rename packages/mui-lab/src/themeAugmentation/{components.d.ts => components.ts} (100%) rename packages/mui-lab/src/themeAugmentation/{overrides.d.ts => overrides.ts} (100%) rename packages/mui-lab/src/themeAugmentation/{props.d.ts => props.ts} (100%) rename packages/mui-material/src/{OverridableComponent.d.ts => OverridableComponent/index.ts} (97%) rename packages/mui-material/src/styles/{components.d.ts => components.ts} (100%) rename packages/mui-material/src/styles/{overrides.d.ts => overrides.ts} (100%) rename packages/mui-material/src/styles/{props.d.ts => props.ts} (100%) rename packages/mui-material/src/styles/{variants.d.ts => variants.ts} (100%) rename packages/mui-system/src/styleFunctionSx/{AliasesCSSProperties.d.ts => AliasesCSSProperties.ts} (100%) rename packages/mui-system/src/styleFunctionSx/{OverwriteCSSProperties.d.ts => OverwriteCSSProperties.ts} (100%) rename packages/mui-system/src/styleFunctionSx/{StandardCssProperties.d.ts => StandardCssProperties.ts} (100%) diff --git a/babel.config.js b/babel.config.js index 0b0e796d325601..9913db373ed37f 100644 --- a/babel.config.js +++ b/babel.config.js @@ -53,7 +53,7 @@ module.exports = function getBabelConfig(api) { '@babel/preset-env', { bugfixes: true, - browserslistEnv: process.env.BABEL_ENV || process.env.NODE_ENV, + browserslistEnv: api.env() || process.env.NODE_ENV, debug: process.env.MUI_BUILD_VERBOSE === 'true', modules: useESModules ? false : 'commonjs', shippedProposals: api.env('modern'), diff --git a/docs/data/material/getting-started/templates/dashboard/Dashboard.tsx b/docs/data/material/getting-started/templates/dashboard/Dashboard.tsx index 0b8708b7022441..d1e3a7ab693645 100644 --- a/docs/data/material/getting-started/templates/dashboard/Dashboard.tsx +++ b/docs/data/material/getting-started/templates/dashboard/Dashboard.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import type {} from '@mui/x-date-pickers/themeAugmentation'; import type {} from '@mui/x-charts/themeAugmentation'; -import type {} from '@mui/x-data-grid/themeAugmentation'; +import type {} from '@mui/x-data-grid-pro/themeAugmentation'; import type {} from '@mui/x-tree-view/themeAugmentation'; import { alpha } from '@mui/material/styles'; import CssBaseline from '@mui/material/CssBaseline'; diff --git a/docs/data/material/getting-started/templates/dashboard/theme/customizations/dataGrid.ts b/docs/data/material/getting-started/templates/dashboard/theme/customizations/dataGrid.ts index ecab713ea9b092..822b5135d8fa65 100644 --- a/docs/data/material/getting-started/templates/dashboard/theme/customizations/dataGrid.ts +++ b/docs/data/material/getting-started/templates/dashboard/theme/customizations/dataGrid.ts @@ -1,7 +1,6 @@ import { paperClasses } from '@mui/material/Paper'; import { alpha, Theme } from '@mui/material/styles'; import type { DataGridProComponents } from '@mui/x-data-grid-pro/themeAugmentation'; -import type { DataGridComponents } from '@mui/x-data-grid/themeAugmentation'; import { menuItemClasses } from '@mui/material/MenuItem'; import { listItemIconClasses } from '@mui/material/ListItemIcon'; import { iconButtonClasses } from '@mui/material/IconButton'; @@ -12,7 +11,7 @@ import { tablePaginationClasses } from '@mui/material/TablePagination'; import { gray } from '../../../shared-theme/themePrimitives'; /* eslint-disable import/prefer-default-export */ -export const dataGridCustomizations: DataGridProComponents & DataGridComponents = { +export const dataGridCustomizations: DataGridProComponents & DataGridProComponents = { MuiDataGrid: { styleOverrides: { root: ({ theme }) => ({ diff --git a/packages-internal/babel-plugin-resolve-imports/index.js b/packages-internal/babel-plugin-resolve-imports/index.js index 68ac472f19c54e..8aa5cceecd28e3 100644 --- a/packages-internal/babel-plugin-resolve-imports/index.js +++ b/packages-internal/babel-plugin-resolve-imports/index.js @@ -41,74 +41,82 @@ module.exports = function plugin({ types: t }, { outExtension }) { const cache = new Map(); const extensions = ['.ts', '.tsx', '.js', '.jsx']; const extensionsSet = new Set(extensions); - return { - visitor: { - ImportOrExportDeclaration(path, state) { - if (path.isExportDefaultDeclaration()) { - // Can't export default from an import specifier - return; - } - if ( - (path.isExportDeclaration() && path.node.exportKind === 'type') || - (path.isImportDeclaration() && path.node.importKind === 'type') - ) { - // Ignore type imports, they will get compiled away anyway - return; - } + /** + * + * @param {babel.NodePath} importSource + * @param {babel.PluginPass} state + */ + function doResolve(importSource, state) { + const importedPath = importSource.node.value; - const source = - /** @type {babel.NodePath } */ ( - path.get('source') - ); + if (!importedPath.startsWith('.')) { + // Only handle relative imports + return; + } - if (!source.node) { - // Ignore import without source - return; - } + if (!state.filename) { + throw new Error('filename is not defined'); + } - const importedPath = source.node.value; + const importerPath = state.filename; + const importerDir = nodePath.dirname(importerPath); + // start from fully resolved import path + const absoluteImportPath = nodePath.resolve(importerDir, importedPath); - if (!importedPath.startsWith('.')) { - // Only handle relative imports - return; - } + let resolvedPath = cache.get(absoluteImportPath); - if (!state.filename) { - throw new Error('filename is not defined'); - } + if (!resolvedPath) { + // resolve to actual file + resolvedPath = resolve(absoluteImportPath, { extensions }); - const importerPath = state.filename; - const importerDir = nodePath.dirname(importerPath); - // start from fully resolved import path - const absoluteImportPath = nodePath.resolve(importerDir, importedPath); + if (!resolvedPath) { + throw new Error(`could not resolve "${importedPath}" from "${state.filename}"`); + } - let resolvedPath = cache.get(absoluteImportPath); + const resolvedExtension = nodePath.extname(resolvedPath); + if (outExtension && extensionsSet.has(resolvedExtension)) { + // replace extension + resolvedPath = nodePath.resolve( + nodePath.dirname(resolvedPath), + nodePath.basename(resolvedPath, resolvedExtension) + outExtension, + ); + } - if (!resolvedPath) { - // resolve to actual file - resolvedPath = resolve(absoluteImportPath, { extensions }); + cache.set(absoluteImportPath, resolvedPath); + } - if (!resolvedPath) { - throw new Error(`could not resolve "${importedPath}" from "${state.filename}"`); - } + const relativeResolvedPath = nodePath.relative(importerDir, resolvedPath); + const importSpecifier = pathToNodeImportSpecifier(relativeResolvedPath); - const resolvedExtension = nodePath.extname(resolvedPath); - if (outExtension && extensionsSet.has(resolvedExtension)) { - // replace extension - resolvedPath = nodePath.resolve( - nodePath.dirname(resolvedPath), - nodePath.basename(resolvedPath, resolvedExtension) + outExtension, - ); - } + importSource.replaceWith(t.stringLiteral(importSpecifier)); + } - cache.set(absoluteImportPath, resolvedPath); + return { + visitor: { + TSImportType(path, state) { + const source = path.get('argument'); + doResolve(source, state); + }, + ImportExpression(path, state) { + const source = path.get('source'); + if (source.isStringLiteral()) { + doResolve(source, state); } - - const relativeResolvedPath = nodePath.relative(importerDir, resolvedPath); - const importSpecifier = pathToNodeImportSpecifier(relativeResolvedPath); - - source.replaceWith(t.stringLiteral(importSpecifier)); + }, + ImportDeclaration(path, state) { + const source = path.get('source'); + doResolve(source, state); + }, + ExportNamedDeclaration(path, state) { + const source = path.get('source'); + if (source.isStringLiteral()) { + doResolve(source, state); + } + }, + ExportAllDeclaration(path, state) { + const source = path.get('source'); + doResolve(source, state); }, }, }; diff --git a/packages/mui-joy/src/styles/components.d.ts b/packages/mui-joy/src/styles/components.ts similarity index 100% rename from packages/mui-joy/src/styles/components.d.ts rename to packages/mui-joy/src/styles/components.ts diff --git a/packages/mui-lab/src/LoadingButton/LoadingButton.d.ts b/packages/mui-lab/src/LoadingButton/LoadingButton.d.ts index da2a708e023be3..59a063245ab29e 100644 --- a/packages/mui-lab/src/LoadingButton/LoadingButton.d.ts +++ b/packages/mui-lab/src/LoadingButton/LoadingButton.d.ts @@ -1,2 +1,6 @@ export { default } from '@mui/material/Button'; export * from '@mui/material/Button'; +export { + ButtonProps as LoadingButtonProps, + ButtonClassKey as LoadingButtonClassKey, +} from '@mui/material/Button'; diff --git a/packages/mui-lab/src/themeAugmentation/components.d.ts b/packages/mui-lab/src/themeAugmentation/components.ts similarity index 100% rename from packages/mui-lab/src/themeAugmentation/components.d.ts rename to packages/mui-lab/src/themeAugmentation/components.ts diff --git a/packages/mui-lab/src/themeAugmentation/overrides.d.ts b/packages/mui-lab/src/themeAugmentation/overrides.ts similarity index 100% rename from packages/mui-lab/src/themeAugmentation/overrides.d.ts rename to packages/mui-lab/src/themeAugmentation/overrides.ts diff --git a/packages/mui-lab/src/themeAugmentation/props.d.ts b/packages/mui-lab/src/themeAugmentation/props.ts similarity index 100% rename from packages/mui-lab/src/themeAugmentation/props.d.ts rename to packages/mui-lab/src/themeAugmentation/props.ts diff --git a/packages/mui-material/src/AppBar/AppBar.d.ts b/packages/mui-material/src/AppBar/AppBar.d.ts index 97c3b3603a0baa..7e359d5bb007d2 100644 --- a/packages/mui-material/src/AppBar/AppBar.d.ts +++ b/packages/mui-material/src/AppBar/AppBar.d.ts @@ -1,7 +1,7 @@ import * as React from 'react'; import { SxProps } from '@mui/system'; import { OverridableStringUnion } from '@mui/types'; -import { OverridableComponent, OverrideProps } from '@mui/material/OverridableComponent'; +import { OverridableComponent, OverrideProps } from '../OverridableComponent'; import { PropTypes, Theme } from '..'; import { AppBarClasses } from './appBarClasses'; import { ExtendPaperTypeMap } from '../Paper/Paper'; diff --git a/packages/mui-material/src/Card/Card.d.ts b/packages/mui-material/src/Card/Card.d.ts index 41d2f725d61c18..b1145adc0df886 100644 --- a/packages/mui-material/src/Card/Card.d.ts +++ b/packages/mui-material/src/Card/Card.d.ts @@ -1,7 +1,7 @@ import * as React from 'react'; import { SxProps } from '@mui/system'; import { DistributiveOmit } from '@mui/types'; -import { OverridableComponent, OverrideProps } from '@mui/material/OverridableComponent'; +import { OverridableComponent, OverrideProps } from '../OverridableComponent'; import { Theme } from '..'; import { PaperOwnProps } from '../Paper'; import { CardClasses } from './cardClasses'; diff --git a/packages/mui-material/src/OverridableComponent.d.ts b/packages/mui-material/src/OverridableComponent/index.ts similarity index 97% rename from packages/mui-material/src/OverridableComponent.d.ts rename to packages/mui-material/src/OverridableComponent/index.ts index d982e97a4d009a..ea7448789b44cf 100644 --- a/packages/mui-material/src/OverridableComponent.d.ts +++ b/packages/mui-material/src/OverridableComponent/index.ts @@ -1,6 +1,6 @@ import * as React from 'react'; import { DistributiveOmit } from '@mui/types'; -import { StyledComponentProps } from './styles'; +import { StyledComponentProps } from '../styles'; /** * A component whose root component can be controlled via a `component` prop. diff --git a/packages/mui-material/src/PaginationItem/PaginationItem.d.ts b/packages/mui-material/src/PaginationItem/PaginationItem.d.ts index 0f013fc9ecd8f6..498959cdf5451b 100644 --- a/packages/mui-material/src/PaginationItem/PaginationItem.d.ts +++ b/packages/mui-material/src/PaginationItem/PaginationItem.d.ts @@ -1,7 +1,7 @@ import * as React from 'react'; import { OverridableStringUnion } from '@mui/types'; import { SxProps } from '@mui/system'; -import { OverridableComponent, OverrideProps } from '@mui/material/OverridableComponent'; +import { OverridableComponent, OverrideProps } from '../OverridableComponent'; import { Theme } from '../styles'; import { UsePaginationItem } from '../usePagination/usePagination'; import { PaginationItemClasses } from './paginationItemClasses'; diff --git a/packages/mui-material/src/styles/components.d.ts b/packages/mui-material/src/styles/components.ts similarity index 100% rename from packages/mui-material/src/styles/components.d.ts rename to packages/mui-material/src/styles/components.ts diff --git a/packages/mui-material/src/styles/createThemeNoVars.d.ts b/packages/mui-material/src/styles/createThemeNoVars.d.ts index 72a5afee7ae347..bc3c41911d676f 100644 --- a/packages/mui-material/src/styles/createThemeNoVars.d.ts +++ b/packages/mui-material/src/styles/createThemeNoVars.d.ts @@ -44,7 +44,7 @@ export interface ThemeOptions extends Omit, CssVar unstable_sxConfig?: SxConfig; } -interface BaseTheme extends SystemTheme { +export interface BaseTheme extends SystemTheme { mixins: Mixins; palette: Palette & (CssThemeVariables extends { enabled: true } ? CssVarsPalette : {}); shadows: Shadows; diff --git a/packages/mui-material/src/styles/overrides.d.ts b/packages/mui-material/src/styles/overrides.ts similarity index 100% rename from packages/mui-material/src/styles/overrides.d.ts rename to packages/mui-material/src/styles/overrides.ts diff --git a/packages/mui-material/src/styles/props.d.ts b/packages/mui-material/src/styles/props.ts similarity index 100% rename from packages/mui-material/src/styles/props.d.ts rename to packages/mui-material/src/styles/props.ts diff --git a/packages/mui-material/src/styles/variants.d.ts b/packages/mui-material/src/styles/variants.ts similarity index 100% rename from packages/mui-material/src/styles/variants.d.ts rename to packages/mui-material/src/styles/variants.ts diff --git a/packages/mui-system/src/cssContainerQueries/cssContainerQueries.ts b/packages/mui-system/src/cssContainerQueries/cssContainerQueries.ts index 532ca044dda7ed..0bd8f4f612f20b 100644 --- a/packages/mui-system/src/cssContainerQueries/cssContainerQueries.ts +++ b/packages/mui-system/src/cssContainerQueries/cssContainerQueries.ts @@ -1,6 +1,6 @@ import { Breakpoints, Breakpoint } from '../createBreakpoints/createBreakpoints'; -interface ContainerQueries { +export interface ContainerQueries { up: Breakpoints['up']; down: Breakpoints['down']; between: Breakpoints['between']; diff --git a/packages/mui-system/src/styleFunctionSx/AliasesCSSProperties.d.ts b/packages/mui-system/src/styleFunctionSx/AliasesCSSProperties.ts similarity index 100% rename from packages/mui-system/src/styleFunctionSx/AliasesCSSProperties.d.ts rename to packages/mui-system/src/styleFunctionSx/AliasesCSSProperties.ts diff --git a/packages/mui-system/src/styleFunctionSx/OverwriteCSSProperties.d.ts b/packages/mui-system/src/styleFunctionSx/OverwriteCSSProperties.ts similarity index 100% rename from packages/mui-system/src/styleFunctionSx/OverwriteCSSProperties.d.ts rename to packages/mui-system/src/styleFunctionSx/OverwriteCSSProperties.ts diff --git a/packages/mui-system/src/styleFunctionSx/StandardCssProperties.d.ts b/packages/mui-system/src/styleFunctionSx/StandardCssProperties.ts similarity index 100% rename from packages/mui-system/src/styleFunctionSx/StandardCssProperties.d.ts rename to packages/mui-system/src/styleFunctionSx/StandardCssProperties.ts diff --git a/scripts/buidApiDocs/tsconfig.json b/scripts/buidApiDocs/tsconfig.json index 656cca8bfe912d..991cd200474832 100644 --- a/scripts/buidApiDocs/tsconfig.json +++ b/scripts/buidApiDocs/tsconfig.json @@ -20,7 +20,7 @@ "paths": { "@mui/base": ["../../packages/mui-base/src"], "@mui/base/*": ["../../packages/mui-base/src/*"], - "@mui/types": ["../../packages/mui-types/src"], + "@mui/types": ["../../packages/mui-types"], "@mui/utils": ["../../packages/mui-utils/src"], "@mui/utils/*": ["../../packages/mui-utils/src/*"] }