Skip to content

Commit 475e186

Browse files
authored
[code-infra] Prepare publishing @mui-internal/typescript-to-proptypes to npm (#40842)
1 parent be0ef2d commit 475e186

40 files changed

+876
-292
lines changed

.codesandbox/ci.json

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@
1818
"packages/mui-styles",
1919
"packages/mui-system",
2020
"packages/mui-types",
21-
"packages/mui-utils"
21+
"packages/mui-utils",
22+
"packages/docs-utils",
23+
"packages/typescript-to-proptypes"
2224
],
2325
"publishDirectory": {
2426
"@mui/base": "packages/mui-base/build",
@@ -36,7 +38,9 @@
3638
"@mui/styles": "packages/mui-styles/build",
3739
"@mui/system": "packages/mui-system/build",
3840
"@mui/types": "packages/mui-types/build",
39-
"@mui/utils": "packages/mui-utils/build"
41+
"@mui/utils": "packages/mui-utils/build",
42+
"@mui-internal/docs-utils": "packages/docs-utils",
43+
"@mui-internal/typescript-to-proptypes": "packages/typescript-to-proptypes"
4044
},
4145
"sandboxes": [
4246
"material-ui-issue-latest-s2dsx",

babel.config.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ module.exports = function getBabelConfig(api) {
3333
'@mui/material-next': resolveAliasPath('./packages/mui-material-next/src'),
3434
'@mui/joy': resolveAliasPath('./packages/mui-joy/src'),
3535
'@mui/zero-runtime': resolveAliasPath('./packages/zero-runtime/src'),
36+
'@mui-internal/docs-utils': resolveAliasPath('./packages/docs-utils/src'),
3637
docs: resolveAliasPath('./docs'),
3738
test: resolveAliasPath('./test'),
3839
};

docs/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,9 @@
117117
"devDependencies": {
118118
"@babel/plugin-transform-react-constant-elements": "^7.23.3",
119119
"@babel/preset-typescript": "^7.23.3",
120-
"@mui-internal/docs-utilities": "workspace:^",
120+
"@mui-internal/docs-utils": "workspace:^",
121121
"@mui-internal/test-utils": "workspace:^",
122+
"@mui-internal/typescript-to-proptypes": "workspace:^",
122123
"@types/autosuggest-highlight": "^3.2.3",
123124
"@types/chai": "^4.3.11",
124125
"@types/css-mediaquery": "^0.1.4",
@@ -139,7 +140,6 @@
139140
"playwright": "^1.41.1",
140141
"prettier": "^2.8.8",
141142
"tailwindcss": "^3.4.1",
142-
"typescript-to-proptypes": "workspace:^",
143143
"yargs": "^17.7.2"
144144
}
145145
}

docs/scripts/formattedTSDemos.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,15 @@ const path = require('path');
1515
const fse = require('fs-extra');
1616
const babel = require('@babel/core');
1717
const prettier = require('prettier');
18-
const { getPropTypesFromFile, injectPropTypesInFile } = require('typescript-to-proptypes');
18+
const {
19+
getPropTypesFromFile,
20+
injectPropTypesInFile,
21+
} = require('@mui-internal/typescript-to-proptypes');
1922
const {
2023
createTypeScriptProjectBuilder,
2124
} = require('@mui-internal/api-docs-builder/utils/createTypeScriptProject');
2225
const yargs = require('yargs');
23-
const { fixBabelGeneratorIssues, fixLineEndings } = require('@mui-internal/docs-utilities');
26+
const { fixBabelGeneratorIssues, fixLineEndings } = require('@mui-internal/docs-utils');
2427
const { default: CORE_TYPESCRIPT_PROJECTS } = require('../../scripts/coreTypeScriptProjects');
2528

2629
const babelConfig = {

docs/src/modules/components/ApiPage/list/ClassesList.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import * as React from 'react';
33
import { styled } from '@mui/material/styles';
44
import kebabCase from 'lodash/kebabCase';
5-
import { ComponentClassDefinition } from '@mui-internal/docs-utilities';
5+
import { ComponentClassDefinition } from '@mui-internal/docs-utils';
66
import { useTranslate } from 'docs/src/modules/utils/i18n';
77
import ExpandableApiItem, {
88
ApiItemContaier,

docs/src/modules/components/ApiPage/sections/ClassesSection.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/* eslint-disable react/no-danger */
22
import * as React from 'react';
33
import { useTranslate } from 'docs/src/modules/utils/i18n';
4-
import { ComponentClassDefinition } from '@mui-internal/docs-utilities';
4+
import { ComponentClassDefinition } from '@mui-internal/docs-utils';
55
import Box from '@mui/material/Box';
66
import ToggleDisplayOption, {
77
API_LAYOUT_STORAGE_KEYS,

docs/src/modules/components/ApiPage/table/ClassesTable.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/* eslint-disable react/no-danger */
22
import * as React from 'react';
3-
import { ComponentClassDefinition } from '@mui-internal/docs-utilities';
3+
import { ComponentClassDefinition } from '@mui-internal/docs-utils';
44
import { styled, alpha } from '@mui/material/styles';
55
import {
66
brandingDarkTheme as darkTheme,

package.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@
44
"private": true,
55
"scripts": {
66
"preinstall": "npx only-allow pnpm",
7-
"proptypes": "cross-env BABEL_ENV=development babel-node --extensions \".tsx,.ts,.js\" ./scripts/generateProptypes.ts",
7+
"proptypes": "tsx ./scripts/generateProptypes.ts",
88
"deduplicate": "pnpm dedupe",
99
"benchmark:browser": "pnpm --filter benchmark browser",
1010
"build": "lerna run --scope \"@mui/*\" build",
1111
"build:zero": "lerna run --scope \"@mui/zero-*\" build",
1212
"clean:zero": "pnpm --filter \"@mui/zero-*\" clean",
13-
"build:codesandbox": "NODE_OPTIONS=\"max_old_space_size=4096\" lerna run --concurrency 8 --scope \"@mui/*\" build",
13+
"build:codesandbox": "NODE_OPTIONS=\"--max_old_space_size=4096\" lerna run --concurrency 8 --scope \"@mui/*\" --scope \"@mui-internal/*\" --no-private build",
1414
"release:version": "lerna version --no-changelog --no-push --no-git-tag-version --no-private --force-publish=@mui/core-downloads-tracker",
1515
"release:build": "lerna run --concurrency 8 --scope \"@mui/*\" build --skip-nx-cache",
1616
"release:changelog": "node scripts/releaseChangelog.mjs",
@@ -33,7 +33,7 @@
3333
"docs:link-check": "pnpm --filter docs link-check",
3434
"docs:typescript": "pnpm docs:typescript:formatted --watch",
3535
"docs:typescript:check": "pnpm --filter docs typescript",
36-
"docs:typescript:formatted": "cross-env BABEL_ENV=development babel-node --extensions \".tsx,.ts,.js\" ./docs/scripts/formattedTSDemos",
36+
"docs:typescript:formatted": "tsx ./docs/scripts/formattedTSDemos",
3737
"docs:mdicons:synonyms": "cross-env BABEL_ENV=development babel-node --extensions \".tsx,.ts,.js,.mjs\" ./docs/scripts/updateIconSynonyms && pnpm prettier",
3838
"extract-error-codes": "cross-env MUI_EXTRACT_ERROR_CODES=true lerna run --concurrency 8 build:modern",
3939
"rsc:build": "tsx ./packages/rsc-builder/buildRsc.ts",
@@ -102,8 +102,9 @@
102102
"@mnajdova/enzyme-adapter-react-18": "^0.2.0",
103103
"@mui-internal/api-docs-builder": "workspace:^",
104104
"@mui-internal/api-docs-builder-core": "workspace:^",
105-
"@mui-internal/docs-utilities": "workspace:^",
105+
"@mui-internal/docs-utils": "workspace:^",
106106
"@mui-internal/test-utils": "workspace:^",
107+
"@mui-internal/typescript-to-proptypes": "workspace:^",
107108
"@mui/joy": "workspace:*",
108109
"@mui/material": "workspace:^",
109110
"@mui/utils": "workspace:^",
@@ -180,7 +181,6 @@
180181
"tsx": "^4.7.0",
181182
"tsup": "^8.0.1",
182183
"typescript": "^5.3.3",
183-
"typescript-to-proptypes": "workspace:^",
184184
"webpack": "^5.90.0",
185185
"webpack-bundle-analyzer": "^4.10.1",
186186
"webpack-cli": "^5.1.4",

packages/api-docs-builder/ApiBuilders/ComponentApiBuilder.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import remarkVisit from 'unist-util-visit';
1010
import type { Link } from 'mdast';
1111
import { defaultHandlers, parse as docgenParse, ReactDocgenApi } from 'react-docgen';
1212
import { renderMarkdown } from '@mui/markdown';
13-
import { ComponentClassDefinition } from '@mui-internal/docs-utilities';
13+
import { ComponentClassDefinition } from '@mui-internal/docs-utils';
1414
import { ProjectSettings, SortingStrategiesType } from '../ProjectSettings';
1515
import { ComponentInfo, toGitHubPath, writePrettifiedFile } from '../buildApiUtils';
1616
import muiDefaultPropsHandler from '../utils/defaultPropsHandler';

packages/api-docs-builder/ProjectSettings.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { ComponentClassDefinition } from '@mui-internal/docs-utilities/ComponentClassDefinition';
1+
import { ComponentClassDefinition } from '@mui-internal/docs-utils';
22
import { ComponentInfo, HookInfo } from './buildApiUtils';
33
import { CreateTypeScriptProjectOptions } from './utils/createTypeScriptProject';
44
import { CreateDescribeablePropSettings } from './utils/createDescribeableProp';

packages/api-docs-builder/buildApiUtils.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import path from 'path';
33
import * as ts from 'typescript';
44
import * as prettier from 'prettier';
55
import kebabCase from 'lodash/kebabCase';
6-
import { getLineFeed } from '@mui-internal/docs-utilities';
6+
import { getLineFeed } from '@mui-internal/docs-utils';
77
import { replaceComponentLinks } from './utils/replaceUrl';
88
import { TypeScriptProject } from './utils/createTypeScriptProject';
99

packages/api-docs-builder/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
"@babel/core": "^7.23.9",
1212
"@babel/preset-typescript": "^7.23.3",
1313
"@babel/traverse": "^7.23.9",
14-
"@mui-internal/docs-utilities": "workspace:^",
14+
"@mui-internal/docs-utils": "workspace:^",
1515
"@mui/markdown": "workspace:^",
1616
"ast-types": "^0.14.2",
1717
"doctrine": "^3.0.0",

packages/api-docs-builder/tsconfig.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"strict": true,
1515
"baseUrl": "./",
1616
"paths": {
17-
"@mui/utils": ["../mui-utils/src"]
17+
"@mui-internal/docs-utils": ["../docs-utils/src"]
1818
}
1919
},
2020
"include": ["./**/*.ts", "./**/*.js"],

packages/api-docs-builder/utils/parseSlotsAndClasses.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import * as ts from 'typescript';
2-
import { ComponentClassDefinition } from '@mui-internal/docs-utilities';
2+
import { ComponentClassDefinition } from '@mui-internal/docs-utils';
33
import { renderMarkdown } from '@mui/markdown';
44
import { getSymbolDescription, getSymbolJSDocTags } from '../buildApiUtils';
55
import { TypeScriptProject } from './createTypeScriptProject';

packages/docs-utilities/README.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

packages/docs-utilities/index.d.ts

Lines changed: 0 additions & 9 deletions
This file was deleted.

packages/docs-utilities/package.json

Lines changed: 0 additions & 6 deletions
This file was deleted.

packages/docs-utilities/tsconfig.json

Lines changed: 0 additions & 19 deletions
This file was deleted.

packages/docs-utils/.npmignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.tsbuildinfo

packages/docs-utils/CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Changelog
2+
3+
## 1.0.0
4+
5+
Initial release as an npm package.

packages/docs-utils/README.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# @mui-internal/docs-utils
2+
3+
This package contains utilities shared between MUI docs generation scripts.
4+
This is an internal package not meant for general use.
5+
6+
## Release
7+
8+
1. Build the project: `pnpm build`
9+
2. Publish the build artifacts to npm: `pnpm release:publish`

packages/docs-utils/package.json

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
{
2+
"name": "@mui-internal/docs-utils",
3+
"version": "1.0.0",
4+
"author": "MUI Team",
5+
"description": "Utilities for MUI docs. This is an internal package not meant for general use.",
6+
"main": "./build/index.js",
7+
"exports": {
8+
".": "./build/index.js"
9+
},
10+
"types": "./build/index.d.ts",
11+
"repository": {
12+
"type": "git",
13+
"url": "https://github.com/mui/material-ui.git",
14+
"directory": "packages/docs-utils"
15+
},
16+
"scripts": {
17+
"prebuild": "rimraf ./build",
18+
"build": "tsc -b tsconfig.build.json",
19+
"typescript": "tsc -b tsconfig.json",
20+
"release:publish": "pnpm publish --tag latest",
21+
"release:publish:dry-run": "pnpm publish --tag latest --registry=\"http://localhost:4873/\""
22+
},
23+
"dependencies": {
24+
"rimraf": "^5.0.5",
25+
"typescript": "^5.1.6"
26+
},
27+
"publishConfig": {
28+
"access": "public"
29+
}
30+
}

0 commit comments

Comments
 (0)