From fb23568c2bef5e76371b6dff99208c38dc606fe2 Mon Sep 17 00:00:00 2001 From: Janpot <2109932+Janpot@users.noreply.github.com> Date: Thu, 6 Nov 2025 14:23:17 +0100 Subject: [PATCH 01/10] [code-infra] Add caching for stylelint --- .circleci/config.yml | 10 +++++++++- package.json | 3 ++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 454036f32c4d05..4fcd4601269a72 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -167,9 +167,17 @@ jobs: key: eslint-cache-{{ checksum "pnpm-lock.yaml" }} paths: - .eslintcache + - restore_cache: + keys: + - stylelint-cache-{{ checksum "pnpm-lock.yaml" }} + - stylelint-cache- - run: name: Stylelint - command: pnpm stylelint + command: pnpm stylelint:ci + - save_cache: + key: stylelint-cache-{{ checksum "pnpm-lock.yaml" }} + paths: + - .stylelintcache - run: name: Lint Markdown command: pnpm markdownlint diff --git a/package.json b/package.json index d3315612487b78..ee48d7acbf9781 100644 --- a/package.json +++ b/package.json @@ -39,8 +39,9 @@ "extract-error-codes": "code-infra extract-error-codes --errorCodesPath docs/public/static/error-codes.json --skip @mui/core-downloads-tracker @mui/envinfo @mui/docs @mui/codemod @mui/icons-material", "template:screenshot": "cross-env BABEL_ENV=development babel-node --extensions \".tsx,.ts,.js\" ./docs/scripts/generateTemplateScreenshots", "eslint": "eslint . --cache --report-unused-disable-directives --ext .js,.ts,.tsx --max-warnings 0", - "eslint:ci": "eslint . --cache --cache-strategy content --report-unused-disable-directives --ext .js,.ts,.tsx --max-warnings 0", + "eslint:ci": "pnpm eslint --cache-strategy content", "stylelint": "stylelint --reportInvalidScopeDisables --reportNeedlessDisables \"docs/**/*.?(c|m)[jt]s?(x)\" \"docs/**/*.css\" --ignore-path .lintignore", + "stylelint:ci": "pnpm stylelint --cache --cache-strategy content", "markdownlint": "markdownlint-cli2 \"**/*.md\"", "valelint": "pnpm vale sync && git ls-files | grep -h \".md$\" | xargs pnpm vale --filter='.Level==\"error\"'", "prettier": "pretty-quick --ignore-path .lintignore --branch master", From e72ab5ea9ea3c733c659cc998bb704a010311a03 Mon Sep 17 00:00:00 2001 From: Janpot <2109932+Janpot@users.noreply.github.com> Date: Thu, 6 Nov 2025 14:58:15 +0100 Subject: [PATCH 02/10] try typescript cache --- .circleci/config.yml | 9 +++++++++ package.json | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 4fcd4601269a72..956ac005c31c35 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -242,6 +242,10 @@ jobs: resource_class: 'medium+' steps: - checkout + - restore_cache: + keys: + - typescript-cache-{{ checksum "pnpm-lock.yaml" }} + - typescript-cache- - install_js - run: name: Transpile TypeScript demos @@ -254,6 +258,11 @@ jobs: command: pnpm typescript:ci environment: NODE_OPTIONS: --max-old-space-size=3072 + - save_cache: + key: typescript-cache-{{ checksum "pnpm-lock.yaml" }} + paths: + - packages/**/*.tsbuildinfo + - packages-internal/**/*.tsbuildinfo - run: name: Test module augmentation command: | diff --git a/package.json b/package.json index ee48d7acbf9781..9a52bc5a102219 100644 --- a/package.json +++ b/package.json @@ -73,7 +73,7 @@ "test:unit": "nx run nx_test_unit", "test:argos": "code-infra argos-push --folder test/regressions/screenshots/chrome", "typescript": "lerna run --no-bail typescript", - "typescript:ci": "lerna run --concurrency 1 --no-bail typescript", + "typescript:ci": "lerna run --concurrency 1 --no-bail typescript -- --incremental", "use-react-version": "node ./scripts/useReactVersion.mjs", "validate-declarations": "tsx scripts/validateTypescriptDeclarations.mts", "generate-codeowners": "node scripts/generateCodeowners.mjs", From bd106a6a47cf7b1ef90cc469881d73b4a92200cc Mon Sep 17 00:00:00 2001 From: Janpot <2109932+Janpot@users.noreply.github.com> Date: Thu, 6 Nov 2025 15:27:03 +0100 Subject: [PATCH 03/10] Update config.yml --- .circleci/config.yml | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 956ac005c31c35..3cb50c903ecf4c 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -261,8 +261,31 @@ jobs: - save_cache: key: typescript-cache-{{ checksum "pnpm-lock.yaml" }} paths: - - packages/**/*.tsbuildinfo - - packages-internal/**/*.tsbuildinfo + - docs/scripts/tsconfig.tsbuildinfo + - docs/tsconfig.tsbuildinfo + - packages-internal/docs-utils/build/.tsbuildinfo + - packages-internal/docs-utils/tsconfig.tsbuildinfo + - packages-internal/scripts/build/generate-llms-txt/.tsbuildinfo + - packages-internal/scripts/build/typescript-to-proptypes/.tsbuildinfo + - packages-internal/scripts/tsconfig.typecheck.tsbuildinfo + - packages-internal/test-utils/build/.tsbuildinfo + - packages-internal/test-utils/tsconfig.tsbuildinfo + - packages/api-docs-builder-core/tsconfig.tsbuildinfo + - packages/api-docs-builder/tsconfig.tsbuildinfo + - packages/mui-docs/tsconfig.tsbuildinfo + - packages/mui-icons-material/tsconfig.tsbuildinfo + - packages/mui-joy/tsconfig.tsbuildinfo + - packages/mui-lab/tsconfig.tsbuildinfo + - packages/mui-material-nextjs/tsconfig.tsbuildinfo + - packages/mui-material-pigment-css/tsconfig.tsbuildinfo + - packages/mui-material/tsconfig.tsbuildinfo + - packages/mui-private-theming/tsconfig.tsbuildinfo + - packages/mui-styled-engine-sc/tsconfig.tsbuildinfo + - packages/mui-styled-engine/tsconfig.tsbuildinfo + - packages/mui-stylis-plugin-rtl/tsconfig.tsbuildinfo + - packages/mui-system/tsconfig.tsbuildinfo + - packages/mui-types/tsconfig.tsbuildinfo + - packages/mui-utils/tsconfig.tsbuildinfo - run: name: Test module augmentation command: | From 16780fba60beb0e291842f33d3b922d7c2cf7805 Mon Sep 17 00:00:00 2001 From: Janpot <2109932+Janpot@users.noreply.github.com> Date: Thu, 6 Nov 2025 15:36:23 +0100 Subject: [PATCH 04/10] Update config.yml --- .circleci/config.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 3cb50c903ecf4c..5a3b05f1b24f1b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -244,8 +244,8 @@ jobs: - checkout - restore_cache: keys: - - typescript-cache-{{ checksum "pnpm-lock.yaml" }} - - typescript-cache- + - typescript-cache-v2-{{ checksum "pnpm-lock.yaml" }} + - typescript-cache-v2- - install_js - run: name: Transpile TypeScript demos @@ -259,7 +259,7 @@ jobs: environment: NODE_OPTIONS: --max-old-space-size=3072 - save_cache: - key: typescript-cache-{{ checksum "pnpm-lock.yaml" }} + key: typescript-cache-v2-{{ checksum "pnpm-lock.yaml" }} paths: - docs/scripts/tsconfig.tsbuildinfo - docs/tsconfig.tsbuildinfo From 0f460ab52935dde526397edd41c996a56de3cdf9 Mon Sep 17 00:00:00 2001 From: Janpot <2109932+Janpot@users.noreply.github.com> Date: Thu, 6 Nov 2025 15:55:40 +0100 Subject: [PATCH 05/10] Update config.yml --- .circleci/config.yml | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 5a3b05f1b24f1b..e1aaf27d733ee5 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -244,8 +244,8 @@ jobs: - checkout - restore_cache: keys: - - typescript-cache-v2-{{ checksum "pnpm-lock.yaml" }} - - typescript-cache-v2- + - typescript-cache-v3-{{ checksum "pnpm-lock.yaml" }} + - typescript-cache-v3- - install_js - run: name: Transpile TypeScript demos @@ -259,16 +259,12 @@ jobs: environment: NODE_OPTIONS: --max-old-space-size=3072 - save_cache: - key: typescript-cache-v2-{{ checksum "pnpm-lock.yaml" }} + key: typescript-cache-v3-{{ checksum "pnpm-lock.yaml" }} paths: - docs/scripts/tsconfig.tsbuildinfo - docs/tsconfig.tsbuildinfo - - packages-internal/docs-utils/build/.tsbuildinfo - packages-internal/docs-utils/tsconfig.tsbuildinfo - - packages-internal/scripts/build/generate-llms-txt/.tsbuildinfo - - packages-internal/scripts/build/typescript-to-proptypes/.tsbuildinfo - packages-internal/scripts/tsconfig.typecheck.tsbuildinfo - - packages-internal/test-utils/build/.tsbuildinfo - packages-internal/test-utils/tsconfig.tsbuildinfo - packages/api-docs-builder-core/tsconfig.tsbuildinfo - packages/api-docs-builder/tsconfig.tsbuildinfo From 86bbe86170ebc91b7d0a6b38bad8bb088865be26 Mon Sep 17 00:00:00 2001 From: Janpot <2109932+Janpot@users.noreply.github.com> Date: Thu, 6 Nov 2025 18:04:47 +0100 Subject: [PATCH 06/10] Update config.yml --- .circleci/config.yml | 34 ++++++++++------------------------ 1 file changed, 10 insertions(+), 24 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index e1aaf27d733ee5..0b5ccee046f697 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -244,8 +244,11 @@ jobs: - checkout - restore_cache: keys: - - typescript-cache-v3-{{ checksum "pnpm-lock.yaml" }} - - typescript-cache-v3- + - typescript-cache-v4-{{ checksum "pnpm-lock.yaml" }} + - typescript-cache-v4- + - run: + name: Extract TypeScript build cache + command: tar -xzf tsbuildinfo-archive.tgz 2>/dev/null || true - install_js - run: name: Transpile TypeScript demos @@ -258,30 +261,13 @@ jobs: command: pnpm typescript:ci environment: NODE_OPTIONS: --max-old-space-size=3072 + - run: + name: Archive TypeScript build cache + command: tar -czf tsbuildinfo-archive.tgz **/*.tsbuildinfo - save_cache: - key: typescript-cache-v3-{{ checksum "pnpm-lock.yaml" }} + key: typescript-cache-v4-{{ checksum "pnpm-lock.yaml" }} paths: - - docs/scripts/tsconfig.tsbuildinfo - - docs/tsconfig.tsbuildinfo - - packages-internal/docs-utils/tsconfig.tsbuildinfo - - packages-internal/scripts/tsconfig.typecheck.tsbuildinfo - - packages-internal/test-utils/tsconfig.tsbuildinfo - - packages/api-docs-builder-core/tsconfig.tsbuildinfo - - packages/api-docs-builder/tsconfig.tsbuildinfo - - packages/mui-docs/tsconfig.tsbuildinfo - - packages/mui-icons-material/tsconfig.tsbuildinfo - - packages/mui-joy/tsconfig.tsbuildinfo - - packages/mui-lab/tsconfig.tsbuildinfo - - packages/mui-material-nextjs/tsconfig.tsbuildinfo - - packages/mui-material-pigment-css/tsconfig.tsbuildinfo - - packages/mui-material/tsconfig.tsbuildinfo - - packages/mui-private-theming/tsconfig.tsbuildinfo - - packages/mui-styled-engine-sc/tsconfig.tsbuildinfo - - packages/mui-styled-engine/tsconfig.tsbuildinfo - - packages/mui-stylis-plugin-rtl/tsconfig.tsbuildinfo - - packages/mui-system/tsconfig.tsbuildinfo - - packages/mui-types/tsconfig.tsbuildinfo - - packages/mui-utils/tsconfig.tsbuildinfo + - tsbuildinfo-archive.tgz - run: name: Test module augmentation command: | From fa44515157d987a336d0941180a7b585556efbc7 Mon Sep 17 00:00:00 2001 From: Janpot <2109932+Janpot@users.noreply.github.com> Date: Thu, 6 Nov 2025 18:07:14 +0100 Subject: [PATCH 07/10] revert styleling cache --- .circleci/config.yml | 10 +--------- package.json | 1 - 2 files changed, 1 insertion(+), 10 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 0b5ccee046f697..e3c1d3ed1c7945 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -167,17 +167,9 @@ jobs: key: eslint-cache-{{ checksum "pnpm-lock.yaml" }} paths: - .eslintcache - - restore_cache: - keys: - - stylelint-cache-{{ checksum "pnpm-lock.yaml" }} - - stylelint-cache- - run: name: Stylelint - command: pnpm stylelint:ci - - save_cache: - key: stylelint-cache-{{ checksum "pnpm-lock.yaml" }} - paths: - - .stylelintcache + command: pnpm stylelint - run: name: Lint Markdown command: pnpm markdownlint diff --git a/package.json b/package.json index 9a52bc5a102219..128d6531eda01a 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,6 @@ "eslint": "eslint . --cache --report-unused-disable-directives --ext .js,.ts,.tsx --max-warnings 0", "eslint:ci": "pnpm eslint --cache-strategy content", "stylelint": "stylelint --reportInvalidScopeDisables --reportNeedlessDisables \"docs/**/*.?(c|m)[jt]s?(x)\" \"docs/**/*.css\" --ignore-path .lintignore", - "stylelint:ci": "pnpm stylelint --cache --cache-strategy content", "markdownlint": "markdownlint-cli2 \"**/*.md\"", "valelint": "pnpm vale sync && git ls-files | grep -h \".md$\" | xargs pnpm vale --filter='.Level==\"error\"'", "prettier": "pretty-quick --ignore-path .lintignore --branch master", From 95e9524723f50423af6900f215d2070916e5217d Mon Sep 17 00:00:00 2001 From: Janpot <2109932+Janpot@users.noreply.github.com> Date: Thu, 6 Nov 2025 18:15:34 +0100 Subject: [PATCH 08/10] Update config.yml --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index e3c1d3ed1c7945..2546a196e54c25 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -240,7 +240,7 @@ jobs: - typescript-cache-v4- - run: name: Extract TypeScript build cache - command: tar -xzf tsbuildinfo-archive.tgz 2>/dev/null || true + command: tar -xzvf tsbuildinfo-archive.tgz || true - install_js - run: name: Transpile TypeScript demos @@ -255,7 +255,7 @@ jobs: NODE_OPTIONS: --max-old-space-size=3072 - run: name: Archive TypeScript build cache - command: tar -czf tsbuildinfo-archive.tgz **/*.tsbuildinfo + command: tar -czvf tsbuildinfo-archive.tgz **/*.tsbuildinfo - save_cache: key: typescript-cache-v4-{{ checksum "pnpm-lock.yaml" }} paths: From b3dcff7b2c5cc1c2cdbe38549e8c43894a6c5051 Mon Sep 17 00:00:00 2001 From: Janpot <2109932+Janpot@users.noreply.github.com> Date: Thu, 6 Nov 2025 18:24:07 +0100 Subject: [PATCH 09/10] gitignore --- .circleci/config.yml | 18 +++++++++--------- .gitignore | 1 + 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 2546a196e54c25..1dbc39f5d90792 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -234,13 +234,6 @@ jobs: resource_class: 'medium+' steps: - checkout - - restore_cache: - keys: - - typescript-cache-v4-{{ checksum "pnpm-lock.yaml" }} - - typescript-cache-v4- - - run: - name: Extract TypeScript build cache - command: tar -xzvf tsbuildinfo-archive.tgz || true - install_js - run: name: Transpile TypeScript demos @@ -248,6 +241,13 @@ jobs: - run: name: '`pnpm docs:typescript:formatted` changes committed?' command: git add -A && git diff --exit-code --staged + - restore_cache: + keys: + - typescript-cache-v4-{{ checksum "pnpm-lock.yaml" }} + - typescript-cache-v4- + - run: + name: Extract TypeScript build cache + command: tar -xzvf .tsbuildinfo-archive.tgz || true - run: name: Tests TypeScript definitions command: pnpm typescript:ci @@ -255,11 +255,11 @@ jobs: NODE_OPTIONS: --max-old-space-size=3072 - run: name: Archive TypeScript build cache - command: tar -czvf tsbuildinfo-archive.tgz **/*.tsbuildinfo + command: tar -czvf .tsbuildinfo-archive.tgz **/*.tsbuildinfo - save_cache: key: typescript-cache-v4-{{ checksum "pnpm-lock.yaml" }} paths: - - tsbuildinfo-archive.tgz + - .tsbuildinfo-archive.tgz - run: name: Test module augmentation command: | diff --git a/.gitignore b/.gitignore index c8ee6531db54a9..ef7f709f3aa129 100644 --- a/.gitignore +++ b/.gitignore @@ -45,6 +45,7 @@ docs/public/static/blog/feed/* .nx/workspace-data screenshots packed +.tsbuildinfo-archive.tgz # typescript *.tsbuildinfo From 909eec40a7323a52977e9e2b6d71b4d75230a3a2 Mon Sep 17 00:00:00 2001 From: Janpot <2109932+Janpot@users.noreply.github.com> Date: Thu, 6 Nov 2025 18:41:43 +0100 Subject: [PATCH 10/10] Update config.yml --- .circleci/config.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 1dbc39f5d90792..700a012011e889 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -243,8 +243,8 @@ jobs: command: git add -A && git diff --exit-code --staged - restore_cache: keys: - - typescript-cache-v4-{{ checksum "pnpm-lock.yaml" }} - - typescript-cache-v4- + - typescript-cache-v5-{{ checksum "pnpm-lock.yaml" }} + - typescript-cache-v5- - run: name: Extract TypeScript build cache command: tar -xzvf .tsbuildinfo-archive.tgz || true @@ -255,9 +255,9 @@ jobs: NODE_OPTIONS: --max-old-space-size=3072 - run: name: Archive TypeScript build cache - command: tar -czvf .tsbuildinfo-archive.tgz **/*.tsbuildinfo + command: find . \( -name node_modules -o -path '*/.*' \) -prune -o -name "*.tsbuildinfo" -print | tar -czvf .tsbuildinfo-archive.tgz -T - - save_cache: - key: typescript-cache-v4-{{ checksum "pnpm-lock.yaml" }} + key: typescript-cache-v5-{{ checksum "pnpm-lock.yaml" }} paths: - .tsbuildinfo-archive.tgz - run: