From 207d8b4e5433e6d906483e67506dd8a61251048d Mon Sep 17 00:00:00 2001 From: MUI bot <2109932+Janpot@users.noreply.github.com> Date: Tue, 25 Feb 2025 19:33:20 +0100 Subject: [PATCH] fix types for @mui/styled-engine --- packages/mui-private-theming/package.json | 3 +- .../src/defaultTheme/index.js | 1 + packages/mui-styled-engine-sc/package.json | 3 +- packages/mui-styled-engine/package.json | 3 +- packages/mui-styles/package.json | 3 +- packages/mui-styles/src/defaultTheme/index.js | 0 scripts/buildTypes.mts | 47 ++++++++++++------- 7 files changed, 40 insertions(+), 20 deletions(-) create mode 100644 packages/mui-private-theming/src/defaultTheme/index.js create mode 100644 packages/mui-styles/src/defaultTheme/index.js diff --git a/packages/mui-private-theming/package.json b/packages/mui-private-theming/package.json index 1918fc674ca151..dfb6220da54d74 100644 --- a/packages/mui-private-theming/package.json +++ b/packages/mui-private-theming/package.json @@ -26,11 +26,12 @@ "url": "https://opencollective.com/mui-org" }, "scripts": { - "build": "pnpm build:modern && pnpm build:node && pnpm build:stable && pnpm build:copy-files", + "build": "pnpm build:modern && pnpm build:node && pnpm build:stable && pnpm build:types && pnpm build:copy-files", "build:modern": "node ../../scripts/build.mjs modern", "build:node": "node ../../scripts/build.mjs node", "build:stable": "node ../../scripts/build.mjs stable", "build:copy-files": "node ../../scripts/copyFiles.mjs", + "build:types": "tsx ../../scripts/buildTypes.mts --skipTsc", "prebuild": "rimraf build", "release": "pnpm build && pnpm publish", "test": "cd ../../ && cross-env NODE_ENV=test mocha 'packages/mui-private-theming/**/*.test.?(c|m)[jt]s?(x)'", diff --git a/packages/mui-private-theming/src/defaultTheme/index.js b/packages/mui-private-theming/src/defaultTheme/index.js new file mode 100644 index 00000000000000..cb0ff5c3b541f6 --- /dev/null +++ b/packages/mui-private-theming/src/defaultTheme/index.js @@ -0,0 +1 @@ +export {}; diff --git a/packages/mui-styled-engine-sc/package.json b/packages/mui-styled-engine-sc/package.json index 629018b1dec9a2..b16001c4d0e219 100644 --- a/packages/mui-styled-engine-sc/package.json +++ b/packages/mui-styled-engine-sc/package.json @@ -26,11 +26,12 @@ "url": "https://opencollective.com/mui-org" }, "scripts": { - "build": "pnpm build:modern && pnpm build:node && pnpm build:stable && pnpm build:copy-files", + "build": "pnpm build:modern && pnpm build:node && pnpm build:stable && pnpm build:types && pnpm build:copy-files", "build:modern": "node ../../scripts/build.mjs modern", "build:node": "node ../../scripts/build.mjs node", "build:stable": "node ../../scripts/build.mjs stable", "build:copy-files": "node ../../scripts/copyFiles.mjs", + "build:types": "tsx ../../scripts/buildTypes.mts --skipTsc", "prebuild": "rimraf build", "release": "pnpm build && pnpm publish", "test": "cd ../../ && cross-env NODE_ENV=test mocha 'packages/mui-styled-engine-sc/**/*.test.?(c|m)[jt]s?(x)'", diff --git a/packages/mui-styled-engine/package.json b/packages/mui-styled-engine/package.json index 35a6f5ae062d67..b6a8a6741da1ad 100644 --- a/packages/mui-styled-engine/package.json +++ b/packages/mui-styled-engine/package.json @@ -26,11 +26,12 @@ "url": "https://opencollective.com/mui-org" }, "scripts": { - "build": "pnpm build:modern && pnpm build:node && pnpm build:stable && pnpm build:copy-files", + "build": "pnpm build:modern && pnpm build:node && pnpm build:stable && pnpm build:types && pnpm build:copy-files", "build:modern": "node ../../scripts/build.mjs modern", "build:node": "node ../../scripts/build.mjs node", "build:stable": "node ../../scripts/build.mjs stable", "build:copy-files": "node ../../scripts/copyFiles.mjs", + "build:types": "tsx ../../scripts/buildTypes.mts --skipTsc", "prebuild": "rimraf build", "release": "pnpm build && pnpm publish", "test": "cd ../../ && cross-env NODE_ENV=test mocha 'packages/mui-styled-engine/**/*.test.?(c|m)[jt]s?(x)'", diff --git a/packages/mui-styles/package.json b/packages/mui-styles/package.json index a354a2f507bebd..05d2db59fad369 100644 --- a/packages/mui-styles/package.json +++ b/packages/mui-styles/package.json @@ -26,11 +26,12 @@ "url": "https://opencollective.com/mui-org" }, "scripts": { - "build": "pnpm build:modern && pnpm build:node && pnpm build:stable && pnpm build:copy-files", + "build": "pnpm build:modern && pnpm build:node && pnpm build:stable && pnpm build:types && pnpm build:copy-files", "build:modern": "node ../../scripts/build.mjs modern", "build:node": "node ../../scripts/build.mjs node", "build:stable": "node ../../scripts/build.mjs stable", "build:copy-files": "node ../../scripts/copyFiles.mjs", + "build:types": "tsx ../../scripts/buildTypes.mts --skipTsc", "prebuild": "rimraf build", "release": "pnpm build && pnpm publish", "test": "cd ../../ && cross-env NODE_ENV=test mocha 'packages/mui-styles/**/*.test.?(c|m)[jt]s?(x)'", diff --git a/packages/mui-styles/src/defaultTheme/index.js b/packages/mui-styles/src/defaultTheme/index.js new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/scripts/buildTypes.mts b/scripts/buildTypes.mts index 64f81702451e17..41d7d232bf2416 100644 --- a/scripts/buildTypes.mts +++ b/scripts/buildTypes.mts @@ -54,21 +54,12 @@ async function copyDeclarations(sourceDirectory: string, destinationDirectory: s }); } -async function main() { - const packageRoot = process.cwd(); +interface HandlerArgv { + skipTsc: boolean; +} - const tsconfigPath = path.join(packageRoot, 'tsconfig.build.json'); - const tsconfigExists = await fs.access(tsconfigPath).then( - () => true, - () => false, - ); - if (!tsconfigExists) { - throw new Error( - 'Unable to find a tsconfig to build this project. ' + - `The package root needs to contain a 'tsconfig.build.json'. ` + - `The package root is '${packageRoot}'`, - ); - } +async function main(argv: HandlerArgv) { + const packageRoot = process.cwd(); const srcPath = path.join(packageRoot, 'src'); const buildFolder = path.join(packageRoot, 'build'); @@ -76,7 +67,24 @@ async function main() { const modernFolder = path.join(buildFolder, 'modern'); await typescriptCopy({ from: srcPath, to: esmFolder }); - await emitDeclarations(tsconfigPath, esmFolder); + + if (!argv.skipTsc) { + const tsconfigPath = path.join(packageRoot, 'tsconfig.build.json'); + const tsconfigExists = await fs.access(tsconfigPath).then( + () => true, + () => false, + ); + + if (!tsconfigExists) { + throw new Error( + 'Unable to find a tsconfig to build this project. ' + + `The package root needs to contain a 'tsconfig.build.json'. ` + + `The package root is '${packageRoot}'`, + ); + } + + await emitDeclarations(tsconfigPath, esmFolder); + } await addImportExtensions(esmFolder); @@ -85,10 +93,17 @@ async function main() { } yargs(process.argv.slice(2)) - .command({ + .command({ command: '$0', description: 'Builds a project with a fix for https://github.com/microsoft/TypeScript/issues/39117', + builder: (command) => { + return command.option('skipTsc', { + type: 'boolean', + default: false, + describe: 'Set to `true` if you want the legacy behavior of just copying .d.ts files.', + }); + }, handler: main, }) .help()