Skip to content

Commit af20f3e

Browse files
authored
[core] Convert scripts to ESM (#6789)
1 parent 2f186c3 commit af20f3e

26 files changed

+101
-87
lines changed

Diff for: package.json

+9-9
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,18 @@
1313
"docs:build": "yarn workspace docs build",
1414
"docs:export": "yarn workspace docs export",
1515
"docs:typescript:formatted": "yarn workspace docs typescript:transpile",
16-
"docs:importDocsStatic": "node scripts/importDocsStatic.js",
16+
"docs:importDocsStatic": "node scripts/importDocsStatic.mjs",
1717
"docs:size-why": "cross-env DOCS_STATS_ENABLED=true yarn docs:build",
1818
"docs:deploy": "yarn workspace docs deploy",
19-
"deduplicate": "node scripts/deduplicate.js",
19+
"deduplicate": "node scripts/deduplicate.mjs",
2020
"dataset:file-tree": "babel-node -x .ts ./scripts/treeDataFromFileTree.ts",
2121
"l10n": "babel-node -x .ts ./scripts/l10n.ts",
22-
"jsonlint": "node ./scripts/jsonlint.js",
22+
"jsonlint": "node ./scripts/jsonlint.mjs",
2323
"eslint": "eslint . --cache --report-unused-disable-directives --ext .js,.ts,.tsx --max-warnings 0",
2424
"eslint:ci": "eslint . --report-unused-disable-directives --ext .js,.ts,.tsx --max-warnings 0",
2525
"markdownlint": "markdownlint-cli2 \"**/*.md\"",
26-
"prettier": "node ./scripts/prettier.js --branch next",
27-
"prettier:all": "node ./scripts/prettier.js write",
26+
"prettier": "node ./scripts/prettier.mjs --branch next",
27+
"prettier:all": "node ./scripts/prettier.mjs write",
2828
"proptypes": "cross-env BABEL_ENV=development babel-node -i \"/node_modules/(?!@mui)/\" -x .ts,.tsx,.js ./docs/scripts/generateProptypes.ts",
2929
"size:snapshot": "node --max-old-space-size=2048 ./scripts/sizeSnapshot/create",
3030
"size:why": "yarn size:snapshot --analyze --accurateBundles",
@@ -48,20 +48,20 @@
4848
"test:regressions:server": "serve test/regressions -p 5001",
4949
"test:performance": "cross-env NODE_ENV=production yarn test:performance:build && concurrently --success first --kill-others \"yarn test:performance:run\" \"yarn test:performance:server\"",
5050
"test:performance:dev": "concurrently \"yarn test:performance:build --watch\" \"yarn test:performance:server\"",
51-
"test:performance:run": "node ./scripts/performance.js",
51+
"test:performance:run": "node ./scripts/performance.mjs",
5252
"test:performance:build": "webpack --config test/performance/webpack.config.js",
5353
"test:performance:server": "serve test/performance -p 5001",
54-
"test:argos": "node ./scripts/pushArgos.js",
54+
"test:argos": "node ./scripts/pushArgos.mjs",
5555
"typescript": "lerna run --no-bail --parallel typescript",
5656
"typescript:ci": "lerna run --concurrency 6 --no-bail --no-sort typescript",
5757
"build:codesandbox": "yarn release:build",
5858
"install:codesandbox": "PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 yarn install --ignore-engines",
59-
"release:changelog": "node scripts/releaseChangelog",
59+
"release:changelog": "node scripts/releaseChangelog.mjs",
6060
"release:version": "lerna version --exact --no-changelog --no-push --no-git-tag-version",
6161
"release:build": "lerna run --parallel --scope \"@mui/*\" build",
6262
"release:publish": "lerna publish from-package --dist-tag next --contents build",
6363
"release:publish:dry-run": "lerna publish from-package --dist-tag next --contents build --registry=\"http://localhost:4873/\"",
64-
"release:tag": "node scripts/releaseTag"
64+
"release:tag": "node scripts/releaseTag.mjs"
6565
},
6666
"devDependencies": {
6767
"@argos-ci/core": "^0.5.1",

Diff for: packages/grid/x-data-grid-generator/package.json

+6-6
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@
1616
"scripts": {
1717
"typescript": "tsc -p tsconfig.json",
1818
"build": "yarn build:legacy && yarn build:modern && yarn build:node && yarn build:stable && yarn build:types && yarn build:copy-files ",
19-
"build:legacy": "node ../../../scripts/build legacy",
20-
"build:modern": "node ../../../scripts/build modern",
21-
"build:node": "node ../../../scripts/build node",
22-
"build:stable": "node ../../../scripts/build stable",
23-
"build:copy-files": "node ../../../scripts/copyFiles.js",
24-
"build:types": "node ../../../scripts/buildTypes",
19+
"build:legacy": "node ../../../scripts/build.mjs legacy",
20+
"build:modern": "node ../../../scripts/build.mjs modern",
21+
"build:node": "node ../../../scripts/build.mjs node",
22+
"build:stable": "node ../../../scripts/build.mjs stable",
23+
"build:copy-files": "node ../../../scripts/copyFiles.mjs",
24+
"build:types": "node ../../../scripts/buildTypes.mjs",
2525
"prebuild": "rimraf build tsconfig.build.tsbuildinfo"
2626
},
2727
"repository": {

Diff for: packages/grid/x-data-grid-premium/package.json

+6-6
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,12 @@
2828
"scripts": {
2929
"typescript": "tsc -p tsconfig.json",
3030
"build": "yarn build:legacy && yarn build:modern && yarn build:node && yarn build:stable && yarn build:types && yarn build:copy-files ",
31-
"build:legacy": "node ../../../scripts/build legacy",
32-
"build:modern": "node ../../../scripts/build modern",
33-
"build:node": "node ../../../scripts/build node",
34-
"build:stable": "node ../../../scripts/build stable",
35-
"build:copy-files": "node ../../../scripts/copyFiles.js",
36-
"build:types": "node ../../../scripts/buildTypes",
31+
"build:legacy": "node ../../../scripts/build.mjs legacy",
32+
"build:modern": "node ../../../scripts/build.mjs modern",
33+
"build:node": "node ../../../scripts/build.mjs node",
34+
"build:stable": "node ../../../scripts/build.mjs stable",
35+
"build:copy-files": "node ../../../scripts/copyFiles.mjs",
36+
"build:types": "node ../../../scripts/buildTypes.mjs",
3737
"prebuild": "rimraf build tsconfig.build.tsbuildinfo"
3838
},
3939
"repository": {

Diff for: packages/grid/x-data-grid-pro/package.json

+6-6
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,12 @@
2828
"scripts": {
2929
"typescript": "tsc -p tsconfig.json",
3030
"build": "yarn build:legacy && yarn build:modern && yarn build:node && yarn build:stable && yarn build:types && yarn build:copy-files ",
31-
"build:legacy": "node ../../../scripts/build legacy",
32-
"build:modern": "node ../../../scripts/build modern",
33-
"build:node": "node ../../../scripts/build node",
34-
"build:stable": "node ../../../scripts/build stable",
35-
"build:copy-files": "node ../../../scripts/copyFiles.js",
36-
"build:types": "node ../../../scripts/buildTypes",
31+
"build:legacy": "node ../../../scripts/build.mjs legacy",
32+
"build:modern": "node ../../../scripts/build.mjs modern",
33+
"build:node": "node ../../../scripts/build.mjs node",
34+
"build:stable": "node ../../../scripts/build.mjs stable",
35+
"build:copy-files": "node ../../../scripts/copyFiles.mjs",
36+
"build:types": "node ../../../scripts/buildTypes.mjs",
3737
"prebuild": "rimraf build tsconfig.build.tsbuildinfo"
3838
},
3939
"repository": {

Diff for: packages/grid/x-data-grid/package.json

+6-6
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,12 @@
3232
"scripts": {
3333
"typescript": "tsc -p tsconfig.json",
3434
"build": "yarn build:legacy && yarn build:modern && yarn build:node && yarn build:stable && yarn build:types && yarn build:copy-files ",
35-
"build:legacy": "node ../../../scripts/build legacy",
36-
"build:modern": "node ../../../scripts/build modern",
37-
"build:node": "node ../../../scripts/build node",
38-
"build:stable": "node ../../../scripts/build stable",
39-
"build:copy-files": "node ../../../scripts/copyFiles.js",
40-
"build:types": "node ../../../scripts/buildTypes",
35+
"build:legacy": "node ../../../scripts/build.mjs legacy",
36+
"build:modern": "node ../../../scripts/build.mjs modern",
37+
"build:node": "node ../../../scripts/build.mjs node",
38+
"build:stable": "node ../../../scripts/build.mjs stable",
39+
"build:copy-files": "node ../../../scripts/copyFiles.mjs",
40+
"build:types": "node ../../../scripts/buildTypes.mjs",
4141
"prebuild": "rimraf build tsconfig.build.tsbuildinfo"
4242
},
4343
"repository": {

Diff for: packages/x-date-pickers-pro/package.json

+6-6
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,12 @@
2727
"scripts": {
2828
"typescript": "tsc -p tsconfig.json",
2929
"build": "yarn build:legacy && yarn build:modern && yarn build:node && yarn build:stable && yarn build:types && yarn build:copy-files ",
30-
"build:legacy": "node ../../scripts/build legacy",
31-
"build:modern": "node ../../scripts/build modern",
32-
"build:node": "node ../../scripts/build node",
33-
"build:stable": "node ../../scripts/build stable",
34-
"build:copy-files": "node ../../scripts/copyFiles.js",
35-
"build:types": "node ../../scripts/buildTypes",
30+
"build:legacy": "node ../../scripts/build.mjs legacy",
31+
"build:modern": "node ../../scripts/build.mjs modern",
32+
"build:node": "node ../../scripts/build.mjs node",
33+
"build:stable": "node ../../scripts/build.mjs stable",
34+
"build:copy-files": "node ../../scripts/copyFiles.mjs",
35+
"build:types": "node ../../scripts/buildTypes.mjs",
3636
"prebuild": "rimraf build tsconfig.build.tsbuildinfo"
3737
},
3838
"repository": {

Diff for: packages/x-date-pickers/package.json

+6-6
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,12 @@
3030
"scripts": {
3131
"typescript": "tsc -p tsconfig.json",
3232
"build": "yarn build:legacy && yarn build:modern && yarn build:node && yarn build:stable && yarn build:types && yarn build:copy-files ",
33-
"build:legacy": "node ../../scripts/build legacy",
34-
"build:modern": "node ../../scripts/build modern",
35-
"build:node": "node ../../scripts/build node",
36-
"build:stable": "node ../../scripts/build stable",
37-
"build:copy-files": "node ../../scripts/copyFiles.js",
38-
"build:types": "node ../../scripts/buildTypes",
33+
"build:legacy": "node ../../scripts/build.mjs legacy",
34+
"build:modern": "node ../../scripts/build.mjs modern",
35+
"build:node": "node ../../scripts/build.mjs node",
36+
"build:stable": "node ../../scripts/build.mjs stable",
37+
"build:copy-files": "node ../../scripts/copyFiles.mjs",
38+
"build:types": "node ../../scripts/buildTypes.mjs",
3939
"prebuild": "rimraf build tsconfig.build.tsbuildinfo"
4040
},
4141
"repository": {

Diff for: packages/x-license-pro/package.json

+6-6
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@
1616
"scripts": {
1717
"typescript": "tsc -p tsconfig.json",
1818
"build": "yarn build:legacy && yarn build:modern && yarn build:node && yarn build:stable && yarn build:types && yarn build:copy-files ",
19-
"build:legacy": "node ../../scripts/build legacy",
20-
"build:modern": "node ../../scripts/build modern",
21-
"build:node": "node ../../scripts/build node",
22-
"build:stable": "node ../../scripts/build stable",
23-
"build:copy-files": "node ../../scripts/copyFiles.js",
24-
"build:types": "node ../../scripts/buildTypes",
19+
"build:legacy": "node ../../scripts/build.mjs legacy",
20+
"build:modern": "node ../../scripts/build.mjs modern",
21+
"build:node": "node ../../scripts/build.mjs node",
22+
"build:stable": "node ../../scripts/build.mjs stable",
23+
"build:copy-files": "node ../../scripts/copyFiles.mjs",
24+
"build:types": "node ../../scripts/buildTypes.mjs",
2525
"prebuild": "rimraf build tsconfig.build.tsbuildinfo"
2626
},
2727
"repository": {

Diff for: scripts/build.js renamed to scripts/build.mjs

+8-7
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
// TODO: Use the core file (need to change the way the babel config is loaded to load the X one instead of the core one)
2-
const childProcess = require('child_process');
3-
const glob = require('fast-glob');
4-
const path = require('path');
5-
const { promisify } = require('util');
6-
const yargs = require('yargs');
2+
import childProcess from 'child_process';
3+
import glob from 'fast-glob';
4+
import path from 'path';
5+
import { promisify } from 'util';
6+
import yargs from 'yargs';
7+
import { getWorkspaceRoot } from './utils.mjs';
78

89
const exec = promisify(childProcess.exec);
910

@@ -32,7 +33,7 @@ async function run(argv) {
3233
BABEL_ENV: bundle,
3334
MUI_BUILD_VERBOSE: verbose,
3435
};
35-
const babelConfigPath = path.resolve(__dirname, '../babel.config.js');
36+
const babelConfigPath = path.resolve(getWorkspaceRoot(), 'babel.config.js');
3637
const srcDir = path.resolve('./src');
3738
const extensions = ['.js', '.ts', '.tsx'];
3839
const ignore = [
@@ -102,7 +103,7 @@ async function run(argv) {
102103
}
103104
}
104105

105-
yargs
106+
yargs(process.argv.slice(2))
106107
.command({
107108
command: '$0 <bundle>',
108109
description: 'build package',

Diff for: scripts/buildTypes.js

-1
This file was deleted.

Diff for: scripts/buildTypes.mjs

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
import '@mui/monorepo/scripts/buildTypes.mjs';

Diff for: scripts/copyFiles.js renamed to scripts/copyFiles.mjs

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
// TODO: Unify with core
22

33
/* eslint-disable no-console */
4-
const path = require('path');
5-
const fse = require('fs-extra');
6-
const glob = require('fast-glob');
4+
import path from 'path';
5+
import fse from 'fs-extra';
6+
import glob from 'fast-glob';
77

88
const packagePath = process.cwd();
99
const buildPath = path.join(packagePath, './build');

Diff for: scripts/deduplicate.js

-1
This file was deleted.

Diff for: scripts/deduplicate.mjs

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
import '@mui/monorepo/scripts/deduplicate.mjs';

Diff for: scripts/importDocsStatic.js renamed to scripts/importDocsStatic.mjs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
const glob = require('glob-gitignore');
2-
const fse = require('fs-extra');
1+
import glob from 'glob-gitignore';
2+
import fse from 'fs-extra';
33

44
async function run() {
55
const importFiles = [

Diff for: scripts/jsonlint.js

-1
This file was deleted.

Diff for: scripts/jsonlint.mjs

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
import '@mui/monorepo/scripts/jsonlint.mjs';

Diff for: scripts/performance.js renamed to scripts/performance.mjs

+8-8
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
/* eslint-disable no-await-in-loop */
2-
const yargs = require('yargs');
3-
const playwright = require('playwright');
4-
const capitalize = require('lodash/capitalize');
5-
const path = require('path');
6-
const fse = require('fs-extra');
2+
import yargs from 'yargs';
3+
import playwright from 'playwright';
4+
import capitalize from 'lodash/capitalize.js';
5+
import path from 'path';
6+
import fse from 'fs-extra';
7+
import { getWorkspaceRoot } from './utils.mjs';
78

89
const PORT = 5001;
910

10-
const workspaceRoot = path.join(__dirname, '../');
11-
const snapshotDestPath = path.join(workspaceRoot, 'performance-snapshot.json');
11+
const snapshotDestPath = path.join(getWorkspaceRoot(), 'performance-snapshot.json');
1212

1313
let browser;
1414

@@ -157,7 +157,7 @@ async function run() {
157157
await fse.writeJSON(snapshotDestPath, snapshot, { spaces: 2 });
158158
}
159159

160-
yargs
160+
yargs(process.argv.slice(2))
161161
.command({
162162
command: '$0',
163163
description: 'Runs the performance tests.',

Diff for: scripts/prettier.js

-1
This file was deleted.

Diff for: scripts/prettier.mjs

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
import '@mui/monorepo/scripts/prettier.mjs';

Diff for: scripts/pushArgos.js

-1
This file was deleted.

Diff for: scripts/pushArgos.mjs

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
import '@mui/monorepo/scripts/pushArgos.mjs';

Diff for: scripts/releaseChangelog.js renamed to scripts/releaseChangelog.mjs

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/* eslint-disable no-restricted-syntax */
2-
const { Octokit } = require('@octokit/rest');
3-
const yargs = require('yargs');
2+
import { Octokit } from '@octokit/rest';
3+
import yargs from 'yargs';
44

55
const GIT_ORGANIZATION = 'mui';
66
const GIT_REPO = 'mui-x';
@@ -220,7 +220,7 @@ ${logChangelogSection(otherCommits, '')}
220220
console.log(changelog);
221221
}
222222

223-
yargs
223+
yargs(process.argv.slice(2))
224224
.command({
225225
command: '$0',
226226
description: 'Creates a changelog',

Diff for: scripts/releaseTag.js renamed to scripts/releaseTag.mjs

+8-7
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
const childProcess = require('child_process');
2-
const fse = require('fs-extra');
3-
const path = require('path');
4-
const { promisify } = require('util');
5-
const yargs = require('yargs');
1+
import childProcess from 'child_process';
2+
import fse from 'fs-extra';
3+
import path from 'path';
4+
import { promisify } from 'util';
5+
import yargs from 'yargs';
6+
import { getWorkspaceRoot } from './utils.mjs';
67

78
/**
89
* Only directly call it with side-effect free commands.
@@ -47,7 +48,7 @@ async function main(argv) {
4748

4849
const exec = dryRun ? execDry : execActual;
4950

50-
const rootWorkspace = path.resolve(__dirname, '..');
51+
const rootWorkspace = getWorkspaceRoot();
5152
const rootWorkspaceManifest = await fse.readJSON(path.join(rootWorkspace, 'package.json'));
5253

5354
const tag = `v${rootWorkspaceManifest.version}`;
@@ -74,7 +75,7 @@ async function main(argv) {
7475
);
7576
}
7677

77-
yargs
78+
yargs(process.argv.slice(2))
7879
.command({
7980
command: '$0',
8081
description: 'Tags the current release and pushes these changes to mui/mui-x.',

Diff for: scripts/utils.mjs

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import path from 'path';
2+
import url from 'url';
3+
4+
/**
5+
* Returns the full path of the root directory of this repository.
6+
*/
7+
// eslint-disable-next-line import/prefer-default-export
8+
export function getWorkspaceRoot() {
9+
const currentDirectory = url.fileURLToPath(new URL('.', import.meta.url));
10+
const workspaceRoot = path.resolve(currentDirectory, '..');
11+
return workspaceRoot;
12+
}

Diff for: yarn.lock

+1-1
Original file line numberDiff line numberDiff line change
@@ -2422,7 +2422,7 @@
24222422

24232423
"@mui/monorepo@https://github.com/mui/material-ui.git#master":
24242424
version "5.10.13"
2425-
resolved "https://github.com/mui/material-ui.git#8ed5004e36817ea9ef6f32b56cdcb006582edba9"
2425+
resolved "https://github.com/mui/material-ui.git#5c12573d85a28e6ab665409b45fb604a6ca7dded"
24262426

24272427
"@mui/private-theming@^5.10.9":
24282428
version "5.10.9"

0 commit comments

Comments
 (0)