From 52263f7241da0040a6954388677932004557df09 Mon Sep 17 00:00:00 2001 From: Nikolay Vitkov <34244704+Lightning00Blade@users.noreply.github.com> Date: Tue, 14 Nov 2023 13:07:24 +0100 Subject: [PATCH] chore: update tooling (#11388) --- package.json | 4 ++-- ...ctations.js => sort-test-expectations.mjs} | 21 +++++++++++-------- 2 files changed, 14 insertions(+), 11 deletions(-) rename tools/{sort-test-expectations.js => sort-test-expectations.mjs} (76%) diff --git a/package.json b/package.json index 4ccfbe2db39..4a49ddcb96e 100644 --- a/package.json +++ b/package.json @@ -15,12 +15,12 @@ "doctest": "wireit", "format": "run-s format:*", "format:eslint": "eslint --ext js --ext ts --fix .", - "format:expectations": "node tools/sort-test-expectations.js", + "format:expectations": "node tools/sort-test-expectations.mjs", "format:prettier": "prettier --write .", "lint": "run-s lint:*", "lint:eslint": "([ \"$CI\" = true ] && eslint --ext js --ext ts --quiet . || eslint --ext js --ext ts .)", "lint:prettier": "prettier --check .", - "lint:expectations": "node tools/sort-test-expectations.js --lint", + "lint:expectations": "node tools/sort-test-expectations.mjs --lint", "postinstall": "npm run postinstall --workspaces --if-present", "prepare": "npm run prepare --workspaces --if-present", "test": "wireit", diff --git a/tools/sort-test-expectations.js b/tools/sort-test-expectations.mjs similarity index 76% rename from tools/sort-test-expectations.js rename to tools/sort-test-expectations.mjs index ecdec0d5de5..6e89211e2ad 100644 --- a/tools/sort-test-expectations.js +++ b/tools/sort-test-expectations.mjs @@ -15,17 +15,20 @@ */ // TODO: this could be an eslint rule probably. +import fs from 'fs'; +import path from 'path'; +import url from 'url'; -const fs = require('fs'); -const path = require('path'); - -const prettier = require('@prettier/sync'); +import prettier from 'prettier'; +const __dirname = url.fileURLToPath(new URL('.', import.meta.url)); const source = 'test/TestExpectations.json'; - const testExpectations = JSON.parse(fs.readFileSync(source, 'utf-8')); +const committedExpectations = structuredClone(testExpectations); -const commitedExpectations = structuredClone(testExpectations); +const prettierConfig = await import( + path.join(__dirname, '..', '.prettierrc.cjs') +); function getSpecificity(item) { return ( @@ -54,7 +57,7 @@ testExpectations.forEach(item => { if (process.argv.includes('--lint')) { if ( - JSON.stringify(commitedExpectations) !== JSON.stringify(testExpectations) + JSON.stringify(committedExpectations) !== JSON.stringify(testExpectations) ) { console.error( `${source} is not formatted properly. Run 'npm run format:expectations'.` @@ -64,8 +67,8 @@ if (process.argv.includes('--lint')) { } else { fs.writeFileSync( source, - prettier.format(JSON.stringify(testExpectations), { - ...require(path.join(__dirname, '..', '.prettierrc.cjs')), + await prettier.format(JSON.stringify(testExpectations), { + ...prettierConfig, parser: 'json', }) );