Skip to content

Commit b58ccca

Browse files
committed
Create a package with proptypes builder
1 parent 7b11dc2 commit b58ccca

20 files changed

+483
-392
lines changed

docs/scripts/formattedTSDemos.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,12 @@ const {
1919
getPropTypesFromFile,
2020
injectPropTypesInFile,
2121
} = require('@mui-internal/typescript-to-proptypes');
22+
const yargs = require('yargs');
2223
const {
24+
fixBabelGeneratorIssues,
25+
fixLineEndings,
2326
createTypeScriptProjectBuilder,
24-
} = require('@mui-internal/api-docs-builder/utils/createTypeScriptProject');
25-
const yargs = require('yargs');
26-
const { fixBabelGeneratorIssues, fixLineEndings } = require('@mui-internal/docs-utils');
27+
} = require('@mui-internal/docs-utils');
2728
const { default: CORE_TYPESCRIPT_PROJECTS } = require('../../scripts/coreTypeScriptProjects');
2829

2930
const babelConfig = {

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"private": true,
55
"scripts": {
66
"preinstall": "npx only-allow pnpm",
7-
"proptypes": "tsx ./scripts/generateProptypes.ts",
7+
"proptypes": "tsx ./packages/proptypes-builder/cli.ts",
88
"deduplicate": "pnpm dedupe",
99
"benchmark:browser": "pnpm --filter benchmark browser",
1010
"build": "lerna run --scope \"@mui/*\" build",
@@ -103,6 +103,7 @@
103103
"@mui-internal/api-docs-builder": "workspace:^",
104104
"@mui-internal/api-docs-builder-core": "workspace:^",
105105
"@mui-internal/docs-utils": "workspace:^",
106+
"@mui-internal/proptypes-builder": "workspace:^",
106107
"@mui-internal/test-utils": "workspace:^",
107108
"@mui-internal/typescript-to-proptypes": "workspace:^",
108109
"@mui/joy": "workspace:*",

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

Lines changed: 1 addition & 2 deletions
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-utils';
13+
import { ComponentClassDefinition, TypeScriptProject } from '@mui-internal/docs-utils';
1414
import { ProjectSettings, SortingStrategiesType } from '../ProjectSettings';
1515
import { ComponentInfo, toGitHubPath, writePrettifiedFile } from '../buildApiUtils';
1616
import muiDefaultPropsHandler from '../utils/defaultPropsHandler';
@@ -21,7 +21,6 @@ import createDescribeableProp, {
2121
DescribeablePropDescriptor,
2222
} from '../utils/createDescribeableProp';
2323
import generatePropDescription from '../utils/generatePropDescription';
24-
import { TypeScriptProject } from '../utils/createTypeScriptProject';
2524
import parseSlotsAndClasses, { Slot } from '../utils/parseSlotsAndClasses';
2625
import generateApiTranslations from '../utils/generateApiTranslation';
2726
import { sortAlphabetical } from '../utils/sortObjects';

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import { defaultHandlers, parse as docgenParse, ReactDocgenApi } from 'react-doc
99
import kebabCase from 'lodash/kebabCase';
1010
import upperFirst from 'lodash/upperFirst';
1111
import { renderMarkdown } from '@mui/markdown';
12+
import { TypeScriptProject } from '@mui-internal/docs-utils';
1213
import { ProjectSettings } from '../ProjectSettings';
1314
import { computeApiDescription } from './ComponentApiBuilder';
1415
import {
@@ -19,7 +20,6 @@ import {
1920
toGitHubPath,
2021
writePrettifiedFile,
2122
} from '../buildApiUtils';
22-
import { TypeScriptProject } from '../utils/createTypeScriptProject';
2323
import generateApiTranslations from '../utils/generateApiTranslation';
2424

2525
interface ParsedProperty {

packages/api-docs-builder/ProjectSettings.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
import { ComponentClassDefinition } from '@mui-internal/docs-utils';
1+
import { ComponentClassDefinition, CreateTypeScriptProjectOptions } from '@mui-internal/docs-utils';
22
import { ComponentInfo, HookInfo } from './buildApiUtils';
3-
import { CreateTypeScriptProjectOptions } from './utils/createTypeScriptProject';
43
import { CreateDescribeablePropSettings } from './utils/createDescribeableProp';
54
import { ReactApi as ComponentReactApi } from './ApiBuilders/ComponentApiBuilder';
65
import { ReactApi as HookReactApi } from './ApiBuilders/HookApiBuilder';

packages/api-docs-builder/buildApi.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
import { mkdirSync } from 'fs';
22
import path from 'path';
33
import * as fse from 'fs-extra';
4+
import {
5+
CreateTypeScriptProjectOptions,
6+
TypeScriptProjectBuilder,
7+
createTypeScriptProjectBuilder,
8+
} from '@mui-internal/docs-utils';
49
import findComponents from './utils/findComponents';
510
import findHooks from './utils/findHooks';
611
import { writePrettifiedFile } from './buildApiUtils';
712
import generateComponentApi, {
813
ReactApi as ComponentReactApi,
914
} from './ApiBuilders/ComponentApiBuilder';
1015
import generateHookApi from './ApiBuilders/HookApiBuilder';
11-
import {
12-
CreateTypeScriptProjectOptions,
13-
TypeScriptProjectBuilder,
14-
createTypeScriptProjectBuilder,
15-
} from './utils/createTypeScriptProject';
1616
import { ProjectSettings } from './ProjectSettings';
1717

1818
async function removeOutdatedApiDocsTranslations(

packages/api-docs-builder/buildApiUtils.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,8 @@ 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-utils';
6+
import { getLineFeed, TypeScriptProject } from '@mui-internal/docs-utils';
77
import { replaceComponentLinks } from './utils/replaceUrl';
8-
import { TypeScriptProject } from './utils/createTypeScriptProject';
98

109
/**
1110
* TODO: this should really be fixed in findPagesMarkdown().

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

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

packages/api-docs-builder/utils/getPropsFromComponentNode.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 { TypeScriptProject } from './createTypeScriptProject';
2+
import { TypeScriptProject } from '@mui-internal/docs-utils';
33

44
export interface ParsedProp {
55
/**

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
import * as ts from 'typescript';
2-
import { ComponentClassDefinition } from '@mui-internal/docs-utils';
2+
import { ComponentClassDefinition, TypeScriptProject } from '@mui-internal/docs-utils';
33
import { renderMarkdown } from '@mui/markdown';
44
import { getSymbolDescription, getSymbolJSDocTags } from '../buildApiUtils';
5-
import { TypeScriptProject } from './createTypeScriptProject';
65
import { getPropsFromComponentNode } from './getPropsFromComponentNode';
76
import resolveExportSpecifier from './resolveExportSpecifier';
87
import { ProjectSettings } from '../ProjectSettings';

packages/api-docs-builder/utils/resolveExportSpecifier.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 { TypeScriptProject } from './createTypeScriptProject';
2+
import { TypeScriptProject } from '@mui-internal/docs-utils';
33

44
function shouldAliasSymbol(symbol: ts.Symbol) {
55
const declaration = symbol.declarations?.[0];
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
module.exports = {
2+
rules: {
3+
'import/prefer-default-export': 'off',
4+
},
5+
};
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import { CreateTypeScriptProjectOptions } from '@mui-internal/docs-utils';
2+
3+
export interface ProjectSettings {
4+
typeScriptProject: CreateTypeScriptProjectOptions;
5+
rootPath: string;
6+
useExternalDocumentation?: Record<string, '*' | readonly string[]>;
7+
ignoreExternalDocumentation?: Record<string, readonly string[]>;
8+
}

0 commit comments

Comments
 (0)