From c00def85724c3f53490e22e5003b6f21b5a3d33f Mon Sep 17 00:00:00 2001 From: Timur Shemsedinov Date: Tue, 3 Dec 2024 21:15:18 +0200 Subject: [PATCH 1/2] Refresh repo structure and dependencies --- .github/workflows/test.yml | 1 + .mailmap | 9 - README.md | 11 +- bin/cli.js | 480 ----------------------------- bin/config-example.json | 10 - bin/config-example.yaml | 6 - doc/header.md | 57 ---- package-lock.json | 611 +++++++++++-------------------------- package.json | 19 +- tsconfig.json | 2 +- 10 files changed, 196 insertions(+), 1010 deletions(-) delete mode 100644 .mailmap delete mode 100755 bin/cli.js delete mode 100644 bin/config-example.json delete mode 100644 bin/config-example.yaml delete mode 100644 doc/header.md diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 6cc70937..78ef055a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -15,6 +15,7 @@ jobs: - 20 - 21 - 22 + - 23 os: - ubuntu-latest - windows-latest diff --git a/.mailmap b/.mailmap deleted file mode 100644 index ad372e75..00000000 --- a/.mailmap +++ /dev/null @@ -1,9 +0,0 @@ -Timur Shemsedinov -Alexey Orlenko -Vlad Dziuba -Ivan Timoshenko -Mykola Bilochub -Vitaliy Semenchenko -Denys Otrishko -Julia Gerasymenko -Rumiantsev Oleksii diff --git a/README.md b/README.md index b8f42662..35061448 100644 --- a/README.md +++ b/README.md @@ -46,15 +46,9 @@ technology stack built on the following principles: ); ``` - ([Prior art](https://github.com/metarhia/impress/blob/a457976b86f6a846c922f9435ab33f20dfaaad30/tests/unittests/api.common.test.js)) - - The framework must work in Node.js and browsers (using Webpack or any other module bundler that supports CommonJS modules and emulates Node.js globals). -## Contributors - -- See github for full [contributors list](https://github.com/metarhia/metatests/graphs/contributors) - ## API - [Interface metatests](#interface-metatests) @@ -794,3 +788,8 @@ Simple wrapper for [`test()`][test()] setting `async` option to `true`. [test.fail()]: #imperativetestprototypefailmessage-err [test.end()]: #imperativetestprototypeend [case()]: #casecaption-namespace-list-runner + +## Contributors + +- See github for full [contributors list](https://github.com/metarhia/metatests/graphs/contributors) +- ([Prior art](https://github.com/metarhia/impress/blob/a457976b86f6a846c922f9435ab33f20dfaaad30/tests/unittests/api.common.test.js)) diff --git a/bin/cli.js b/bin/cli.js deleted file mode 100755 index 5b3694b5..00000000 --- a/bin/cli.js +++ /dev/null @@ -1,480 +0,0 @@ -#!/usr/bin/env node -'use strict'; - -const yargs = require('yargs'); -const common = require('@metarhia/common'); -const yaml = require('tap-yaml'); -const path = require('path'); -const fs = require('fs'); -const util = require('util'); -const { spawn } = require('child_process'); - -const metatests = require('..'); -const { - resultToCsv, - makeTotalResults, - aggregateResults, -} = require('../lib/speed'); -const { roundTo } = require('../lib/utils'); - -const COMPARE_R_PATH = path.join(__dirname, '..', 'benchmarks', 'compare.R'); - -const NS_PER_SEC = 1e9; - -const DEFAULT_EXIT_TIMEOUT = 5; -const runner = metatests.runner.instance; - -const [semverMajor, semverMinor] = process.version - .slice(1) - .split('.') - .map(Number); -const supportsESM = - (semverMajor === 12 && semverMinor >= 17) || - (semverMajor === 13 && semverMinor >= 2) || - semverMajor >= 14; - -const logLevels = { - quiet: 0, - default: 1, - error: 1, - warn: 2, - info: 3, - debug: 4, -}; - -const isLogAtLeast = (level1, level2 = 'default') => - logLevels[level1] >= logLevels[level2]; - -const printIfLog = (config, log, ...msg) => { - if (isLogAtLeast(config.logLevel, log)) { - runner.reporter.log(...msg); - } -}; - -const printIfLogComment = (config, log, ...msg) => { - if (isLogAtLeast(config.logLevel, log)) { - runner.reporter.logComment(...msg); - } -}; - -const merge = (arr1 = [], arr2 = []) => common.merge(arr1, arr2); - -const exclude = (files, filterArr) => - filterArr - .map((p) => - p - .replace('/', path.sep) - .replace(/[.+^${}()|[\]\\]/g, '\\$&') - .replace('*', '.+') - .replace('?', '.'), - ) - .map((p) => new RegExp(p)) - .reduce( - (files, regexp) => files.filter((file) => !regexp.test(file)), - files, - ); - -const parseFile = (file) => { - const data = fs.readFileSync(path.resolve(file), 'utf8'); - switch (common.fileExt(file)) { - case 'json': - return JSON.parse(data); - case 'yml': - case 'yaml': - return yaml.parse(data); - default: - return {}; - } -}; - -const loadFiles = (files) => { - const result = []; - common - .iter(files) - .map((file) => { - if (fs.existsSync(file)) { - return file; - } else if (fs.existsSync(file + '.js')) { - return file + '.js'; - } else if (fs.existsSync(file + '.cjs')) { - return file + '.cjs'; - } else if (fs.existsSync(file + '.mjs')) { - return file + '.mjs'; - } else { - console.error('File does not exist:', file); - process.exit(1); - return ''; - } - }) - .forEach((file) => { - if (fs.statSync(file).isDirectory()) { - const subfiles = fs.readdirSync(file).map((f) => path.join(file, f)); - result.push(...loadFiles(subfiles)); - } else if (['js', 'mjs', 'cjs'].includes(common.fileExt(file))) { - result.push(file); - } - }); - return result; -}; - -const getConfig = (args) => { - const config = args.config ? parseFile(args.config) : {}; - - config.exclude = merge(config.exclude, args.exclude); - config.files = loadFiles(merge(config.files, args._)); - config.files = exclude(config.files, config.exclude); - - config.logLevel = args.logLevel || config.logLevel || 'default'; - config.reporter = args.reporter || config.reporter || 'tap'; - config.runTodo = args.runTodo || config.runTodo; - config.exitTimeout = - args.exitTimeout || config.exitTimeout || DEFAULT_EXIT_TIMEOUT; - return config; -}; - -const runNode = (config, cb) => { - if (config.logLevel === 'quiet') { - runner.removeReporter(); - } else if (config.reporter.startsWith('tap')) { - runner.setReporter( - new metatests.reporters.TapReporter({ - type: - config.reporter.split('-')[1] || - (process.stdout.isTTY ? 'classic' : 'tap'), - }), - ); - } else if (config.reporter === 'concise') { - runner.setReporter(new metatests.reporters.ConciseReporter()); - } - if (config.runTodo) runner.runTodo(); - runner.on('finish', (hasFailures) => { - const msg = 'Tests finished. Waiting for process to finish.\n'; - printIfLogComment(config, 'default', msg); - if (hasFailures) { - cb(1); - return; - } - setTimeout(() => { - const msg = `Process didn't finish within timeout (${ - config.exitTimeout * 5000 - }), exiting.`; - printIfLog(config, 'default', msg); - cb(1); - }, config.exitTimeout * 5000).unref(); - }); - const msg = `\nNode ${process.version} (v8 ${process.versions.v8}):`; - printIfLog(config, 'default', msg); - merge(config.files, config.nodeOnly).forEach((name) => { - const file = path.isAbsolute(name) ? name : path.join(process.cwd(), name); - if (file.endsWith('mjs')) { - if (supportsESM) { - import('file://' + file); - } else { - console.warn( - `Warning: ignoring '${file}', current Node.js version doesn't ` + - 'support dynamic import', - ); - } - } else { - require(file); - } - }); -}; - -const runTests = (args) => { - const config = getConfig(args); - - const onExit = (code) => { - printIfLogComment(config, 'default', 'Metatests finished with code', code); - process.exit(code); - }; - - const msg = `Metatests final config:\n${JSON.stringify(config, null, 2)}\n`; - printIfLogComment(config, 'debug', msg); - if (!config.files.length) { - console.error('No test files were specified\n'); - yargs.showHelp(); - onExit(1); - } - - runNode(config, onExit); -}; - -const handleBenchTarget = (args) => { - const res = require(path.join(process.cwd(), args.file)); - let target = args.target ? common.getByPath(res, args.target) : res; - if (!Array.isArray(target)) { - if (target && typeof target === 'object') target = Object.values(target); - else if (typeof target === 'function') target = [target]; - } - if (!target) { - console.error(`File doesn't export correct target`); - yargs.showHelp(); - process.exit(1); - } - return target; -}; - -const runSpeed = (args) => { - const target = handleBenchTarget(args); - if (!target) return; - metatests.speed(args.caption, args.count, target); -}; - -function measureTarget(target, args) { - const options = { - defaultCount: args.count, - runs: args.runs, - preflight: args.preflight, - preflightCount: args.preflightCount, - listener: { - cycle: (name, r) => { - let out; - if (args.csv) { - out = resultToCsv(r); - } else if (args.verbose) { - let args = r.args && r.args.map(util.inspect).join(' '); - if (args) args = '\targs=' + args; - const ops = roundTo(r.count / (r.time / NS_PER_SEC), 2); - out = `${name}\tn=${r.count}${args}:\t\t${r.time}ns, ${ops}ops/s`; - } - if (out) console.log(out); - }, - done: (caseName, caseConf, results) => { - if (args.csv) return; - const agg = aggregateResults(results)[0]; - const name = agg.name.padEnd(15, ' '); - const ops = roundTo(agg.ops, 2) + ' ops/s '; - const rme = '±' + roundTo(agg.stats.relativeMarginOfError, 2) + '%'; - console.log(name + ops + rme); - }, - }, - }; - if (args.csv) { - console.log( - ['name', 'configuration', 'rate', 'time'].map(JSON.stringify).join(', '), - ); - } - return metatests.measure(target, options); -} - -const runMeasure = (args) => { - if ((args.new && !args.old) || (args.old && !args.new)) { - console.error('Measure --old --new must always be used together.'); - process.exit(1); - } - if (args.new && args.old) { - let res = require(path.join(process.cwd(), args.file)); - if (args.target) res = common.getByPath(res, args.target); - const oldTarget = common.getByPath(res, args.old); - const oldCases = Array.isArray(oldTarget) - ? oldTarget - : [{ name: args.name, fn: oldTarget }]; - const newTarget = common.getByPath(res, args.new); - const newCases = Array.isArray(newTarget) - ? newTarget - : [{ name: args.name, fn: newTarget }]; - - console.log('Measuring old target'); - const oldResults = measureTarget(oldCases, args); - console.log('Measuring new target'); - const newResults = measureTarget(newCases, args); - - const r = spawn('Rscript', [COMPARE_R_PATH], { - stdio: ['pipe', 'inherit', 'inherit'], - }); - console.log(); - r.stdin.write(makeTotalResults(oldResults, newResults)); - r.stdin.end(); - } else { - const target = handleBenchTarget(args); - if (!target) return; - measureTarget(target, args); - } -}; - -yargs - .parserConfiguration({ - 'duplicate-arguments-array': false, - }) - .command( - '*', - 'tests', - (y) => { - y.usage('$0 [options] file.js [file.js...]') - .usage('$0 [options] --config config.json') - .option('exclude', { - global: false, - array: true, - type: 'string', - describe: 'Exclude tests patterns', - }) - .option('reporter', { - global: false, - type: 'string', - describe: 'Reporter name', - }) - .option('log-level', { - global: false, - choices: Object.keys(logLevels), - type: 'string', - describe: 'Log level', - }) - .option('run-todo', { - global: false, - type: 'boolean', - describe: 'Run todo tests', - }) - .option('exit-timeout', { - global: false, - type: 'number', - describe: 'Seconds to wait after tests finished', - }) - .option('config', { - global: false, - alias: 'c', - type: 'string', - describe: 'Path to config file', - }) - // This has to be a subcommand in order to have its help - // usage printed by yargs. - .command( - 'speed [options] ', - 'Perform simple benchmarking. The file should either export a ' + - 'case/function, an array of cases/functions or an object with ' + - 'properties. --target option can be used to get nested paths ' + - 'from exported object', - (y) => - y - .example( - '$0 speed bench.js', - 'Run simple benchmarks for every function exported from ' + - '"bench.js"', - ) - .example( - '$0 speed -n 1e7 bench.js', - 'Run simple benchmarks with custom run count for every ' + - 'function exported from "bench.js"', - ) - .option('caption', { - type: 'string', - describe: 'Caption of the speed test', - default: 'Speed test', - }) - .option('count', { - alias: 'n', - type: 'number', - describe: 'Number of runs', - default: 1e7, - }) - .option('target', { - alias: 't', - type: 'string', - describe: 'Name of exported property to use for speed test', - }), - runSpeed, - ) - .command( - 'measure [options] ', - 'Perform comprehensive benchmarks with extensive customization. ' + - 'The file should either export a case/function, an array of ' + - 'cases/functions or an object with properties. --target option ' + - 'can be used to get nested paths from exported object. ' + - 'Two implementations can be compared with the use of ' + - '--new and --old options', - (y) => - y - .example( - '$0 measure --csv bench.js', - 'Run benchmarks for all exported functions from "bench.js" ' + - 'file and output them in csv format', - ) - .example( - '$0 measure --csv --preflight 5 --runs 20 -n 1e7 bench.js', - 'Run benchmarks for all exported functions from "bench.js" ' + - 'file using custom options and output them in csv format', - ) - .example( - '$0 measure --old oldImpl --new newImpl --name compare ' + - 'bench.js', - 'Compare performance of "oldImpl" function to "newImpl" one ' + - 'exported from "bench.js" file', - ) - .example( - '$0 measure --old oldImpl --new newImpl --name ' + - 'compare --target nested.props bench.js', - 'Compare performance of "nested.props.oldImpl" function to ' + - '"nested.props.newImpl" one exported from "bench.js" file', - ) - .option('aggregate', { - alias: 'agg', - type: 'boolean', - conflicts: ['csv'], - describe: - 'Aggregate multiple results with the same name. ' + - 'True by default and incompatible with --csv', - }) - .option('count', { - alias: 'n', - type: 'number', - describe: 'Default number of function runs', - default: 1e6, - }) - .option('runs', { - alias: 'r', - type: 'number', - describe: 'Number of runs of each case', - default: 20, - }) - .option('csv', { - type: 'boolean', - describe: 'Output results as CSV', - }) - .option('preflight', { - alias: 'p', - type: 'number', - describe: 'Number of preflight runs of each case', - default: 10, - }) - .option('preflightCount', { - alias: 'pc', - type: 'number', - describe: 'Number of preflight function runs', - default: 1e7, - }) - .option('target', { - alias: 't', - type: 'string', - describe: 'Path of exported property to use for speed test', - }) - .option('name', { - type: 'string', - describe: - 'Name to use for test function if --new --old is used', - default: 'bench', - }) - .option('new', { - type: 'string', - describe: - 'Path of exported property to use as new in comparison. ' + - 'Must always be used with --old.', - }) - .option('old', { - type: 'string', - describe: - 'Path of exported property to use as old in comparison. ' + - 'Must always be used with --new.', - }) - .option('verbose', { - alias: 'v', - type: 'boolean', - describe: 'Output every result during the benchmark run', - default: false, - }), - runMeasure, - ); - }, - runTests, - ) - .help() - .alias('help', 'h').argv; diff --git a/bin/config-example.json b/bin/config-example.json deleted file mode 100644 index 70aceb7e..00000000 --- a/bin/config-example.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "files": [ - "test/assets", - "test/compare", - "test/declarative", - "test/imperative", - "test/runner" - ], - "exclude": [] -} diff --git a/bin/config-example.yaml b/bin/config-example.yaml deleted file mode 100644 index 347ba394..00000000 --- a/bin/config-example.yaml +++ /dev/null @@ -1,6 +0,0 @@ -files: - - test/assets - - test/compare - - test/declarative - - test/imperative - - test/runner diff --git a/doc/header.md b/doc/header.md deleted file mode 100644 index b3066664..00000000 --- a/doc/header.md +++ /dev/null @@ -1,57 +0,0 @@ -# metatests - -[![CI Status Badge](https://github.com/metarhia/metatests/workflows/Testing%20CI/badge.svg?branch=master)](https://github.com/metarhia/metatests/actions?query=workflow%3A%22Testing+CI%22+branch%3Amaster) -[![Codacy Badge](https://api.codacy.com/project/badge/Grade/79fc1a2a1b144e3c9283c681607b7c3f)](https://www.codacy.com/app/metarhia/metatests) -[![NPM Version](https://badge.fury.io/js/metatests.svg)](https://badge.fury.io/js/metatests) -[![NPM Downloads/Month](https://img.shields.io/npm/dm/metatests.svg)](https://www.npmjs.com/package/metatests) -[![NPM Downloads](https://img.shields.io/npm/dt/metatests.svg)](https://www.npmjs.com/package/metatests) - -`metatests` is an extremely simple to use test framework and runner for Metarhia -technology stack built on the following principles: - -- Test cases are files, tests are either imperative (functions) or declarative - (arrays and structures). - -- Assertions are done using the built-in Node.js `assert` module. The framework - also provides additional testing facilities (like spies). - -- Tests can be run in parallel. - -- All tests are executed in isolated sandboxes. The framework allows to easily - mock modules required by tests and provides ready-to-use mocks for timers and - other core functionality. - -- Testing asynchronous operations must be supported. - -- Testing pure functions without asynchronous operations and state can be done - without extra boilerplate code using DSL based on arrays. - - ```javascript - mt.case( - 'Test common.duration', - { common }, - { - // ... - 'common.duration': [ - ['1d', 86400000], - ['10h', 36000000], - ['7m', 420000], - ['13s', 13000], - ['2d 43s', 172843000], - // ... - ], - // ... - }, - ); - ``` - - ([Prior art](https://github.com/metarhia/impress/blob/a457976b86f6a846c922f9435ab33f20dfaaad30/tests/unittests/api.common.test.js)) - -- The framework must work in Node.js and browsers (using Webpack or any other - module bundler that supports CommonJS modules and emulates Node.js globals). - -## Contributors - -- See github for full [contributors list](https://github.com/metarhia/metatests/graphs/contributors) - -## API diff --git a/package-lock.json b/package-lock.json index ccf8af31..38734b80 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,25 +8,18 @@ "name": "metatests", "version": "0.9.0", "license": "MIT", - "dependencies": { - "@metarhia/common": "^2.2.2", - "tap-mocha-reporter": "^5.0.3", - "tap-yaml": "^1.0.2", - "yaml": "^2.5.0", - "yargs": "^17.7.2" - }, "bin": { "metatests": "bin/cli.js" }, "devDependencies": { "@types/node": "^22.5.1", - "eslint": "^9.9.1", - "eslint-config-metarhia": "^9.0.5", + "eslint": "^9.10.0", + "eslint-config-metarhia": "^9.0.7", "prettier": "^3.3.3", "typescript": "^5.5.4" }, "engines": { - "node": "18 || 20 || 21 || 22" + "node": "18 || 20 || 21 || 22 || 23" } }, "node_modules/@eslint-community/eslint-utils": { @@ -55,7 +48,9 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.11.0", + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", "dev": true, "license": "MIT", "engines": { @@ -63,7 +58,9 @@ } }, "node_modules/@eslint/config-array": { - "version": "0.18.0", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.0.tgz", + "integrity": "sha512-zdHg2FPIFNKPdcHWtiNT+jEFCHYVplAXRDlQDyqy0zGx/q2parwh7brGJSiTxRk/TSMkbM//zt/f5CHgyTyaSQ==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -75,8 +72,20 @@ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, + "node_modules/@eslint/core": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.9.0.tgz", + "integrity": "sha512-7ATR9F0e4W85D/0w7cU0SNj7qkAexMG+bAHEZOjo9akvGuhHE2m7umzWzfnpa0XAg5Kxc1BWmtPMV67jJ+9VUg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, "node_modules/@eslint/eslintrc": { - "version": "3.1.0", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.2.0.tgz", + "integrity": "sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==", "dev": true, "license": "MIT", "dependencies": { @@ -98,7 +107,9 @@ } }, "node_modules/@eslint/js": { - "version": "9.9.1", + "version": "9.16.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.16.0.tgz", + "integrity": "sha512-tw2HxzQkrbeuvyj1tG2Yqq+0H9wGoI2IMk4EOsQeX+vmd75FtJAzf+gTA69WF+baUKRYQ3x2kbLE08js5OsTVg==", "dev": true, "license": "MIT", "engines": { @@ -107,73 +118,89 @@ }, "node_modules/@eslint/object-schema": { "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz", + "integrity": "sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==", "dev": true, "license": "Apache-2.0", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", + "node_modules/@eslint/plugin-kit": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.3.tgz", + "integrity": "sha512-2b/g5hRmpbb1o4GnTZax9N9m0FXzz9OV42ZzI4rDDMDuHUqigAiQCEWChBWCY4ztAGVRjoWT19v0yMmc5/L5kA==", "dev": true, "license": "Apache-2.0", - "engines": { - "node": ">=12.22" + "dependencies": { + "levn": "^0.4.1" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@humanwhocodes/retry": { - "version": "0.3.0", + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", "dev": true, "license": "Apache-2.0", "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@metarhia/common": { - "version": "2.2.2", - "license": "MIT", - "engines": { - "node": ">=12.0.0" + "node": ">=18.18.0" } }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", + "node_modules/@humanfs/node": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", + "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.3.0" }, "engines": { - "node": ">= 8" + "node": ">=18.18.0" } }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", + "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "engines": { - "node": ">= 8" + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.1.tgz", + "integrity": "sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==", + "dev": true, + "license": "Apache-2.0", "engines": { - "node": ">= 8" + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, "node_modules/@pkgr/core": { @@ -187,6 +214,20 @@ "url": "https://opencollective.com/unts" } }, + "node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/node": { "version": "22.5.1", "dev": true, @@ -196,7 +237,9 @@ } }, "node_modules/acorn": { - "version": "8.12.1", + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", "dev": true, "license": "MIT", "bin": { @@ -208,6 +251,8 @@ }, "node_modules/acorn-jsx": { "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, "license": "MIT", "peerDependencies": { @@ -216,6 +261,8 @@ }, "node_modules/ajv": { "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "license": "MIT", "dependencies": { @@ -229,15 +276,9 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/ansi-styles": { "version": "4.3.0", + "dev": true, "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -251,15 +292,19 @@ }, "node_modules/argparse": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true, "license": "Python-2.0" }, "node_modules/balanced-match": { "version": "1.0.2", + "dev": true, "license": "MIT" }, "node_modules/brace-expansion": { "version": "1.1.11", + "dev": true, "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", @@ -268,6 +313,8 @@ }, "node_modules/callsites": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, "license": "MIT", "engines": { @@ -289,20 +336,9 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/cliui": { - "version": "8.0.1", - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/color-convert": { "version": "2.0.1", + "dev": true, "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -313,21 +349,18 @@ }, "node_modules/color-name": { "version": "1.1.4", + "dev": true, "license": "MIT" }, - "node_modules/color-support": { - "version": "1.1.3", - "license": "ISC", - "bin": { - "color-support": "bin.js" - } - }, "node_modules/concat-map": { "version": "0.0.1", + "dev": true, "license": "MIT" }, "node_modules/cross-spawn": { - "version": "7.0.3", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "license": "MIT", "dependencies": { @@ -341,6 +374,7 @@ }, "node_modules/debug": { "version": "4.3.6", + "dev": true, "license": "MIT", "dependencies": { "ms": "2.1.2" @@ -359,24 +393,6 @@ "dev": true, "license": "MIT" }, - "node_modules/diff": { - "version": "4.0.2", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "license": "MIT" - }, - "node_modules/escalade": { - "version": "3.2.0", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/escape-string-regexp": { "version": "4.0.0", "dev": true, @@ -389,26 +405,32 @@ } }, "node_modules/eslint": { - "version": "9.9.1", + "version": "9.16.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.16.0.tgz", + "integrity": "sha512-whp8mSQI4C8VXd+fLgSM0lh3UlmcFtVwUQjyKCFfsp+2ItAIYhlq/hqGahGqHE6cv9unM41VlqKk2VtKYR2TaA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.11.0", - "@eslint/config-array": "^0.18.0", - "@eslint/eslintrc": "^3.1.0", - "@eslint/js": "9.9.1", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.19.0", + "@eslint/core": "^0.9.0", + "@eslint/eslintrc": "^3.2.0", + "@eslint/js": "9.16.0", + "@eslint/plugin-kit": "^0.2.3", + "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.3.0", - "@nodelib/fs.walk": "^1.2.8", + "@humanwhocodes/retry": "^0.4.1", + "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", "ajv": "^6.12.4", "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", + "cross-spawn": "^7.0.5", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.0.2", - "eslint-visitor-keys": "^4.0.0", - "espree": "^10.1.0", + "eslint-scope": "^8.2.0", + "eslint-visitor-keys": "^4.2.0", + "espree": "^10.3.0", "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", @@ -418,15 +440,11 @@ "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" + "optionator": "^0.9.3" }, "bin": { "eslint": "bin/eslint.js" @@ -447,17 +465,19 @@ } }, "node_modules/eslint-config-metarhia": { - "version": "9.0.5", + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/eslint-config-metarhia/-/eslint-config-metarhia-9.1.1.tgz", + "integrity": "sha512-PPJBiv+kFg7+0kkjHWp1k37TovG5prxIwiryiX8vQ6m2Jt4u4yIBjEjDd3P/RGXK7yrbMiiSyI2Z/GTWDS0C/Q==", "dev": true, "license": "MIT", "dependencies": { - "eslint": "^9.9.1", + "eslint": "^9.10.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "^5.2.1", "prettier": "^3.3.3" }, "engines": { - "node": "18 || 20 || 21 || 22" + "node": "18 || 20 || 21 || 22 || 23" }, "funding": { "type": "patreon", @@ -505,7 +525,9 @@ } }, "node_modules/eslint-scope": { - "version": "8.0.2", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz", + "integrity": "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -520,7 +542,9 @@ } }, "node_modules/eslint-visitor-keys": { - "version": "4.0.0", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", "dev": true, "license": "Apache-2.0", "engines": { @@ -531,13 +555,15 @@ } }, "node_modules/espree": { - "version": "10.1.0", + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", + "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "acorn": "^8.12.0", + "acorn": "^8.14.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.0.0" + "eslint-visitor-keys": "^4.2.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -559,6 +585,8 @@ }, "node_modules/esrecurse": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -584,12 +612,10 @@ "node": ">=0.10.0" } }, - "node_modules/events-to-array": { - "version": "1.1.2", - "license": "ISC" - }, "node_modules/fast-deep-equal": { "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true, "license": "MIT" }, @@ -600,6 +626,8 @@ }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true, "license": "MIT" }, @@ -608,14 +636,6 @@ "dev": true, "license": "MIT" }, - "node_modules/fastq": { - "version": "1.17.1", - "dev": true, - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, "node_modules/file-entry-cache": { "version": "8.0.0", "dev": true, @@ -659,35 +679,6 @@ "dev": true, "license": "ISC" }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "license": "ISC" - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "license": "ISC", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/glob-parent": { "version": "6.0.2", "dev": true, @@ -701,6 +692,8 @@ }, "node_modules/globals": { "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", "dev": true, "license": "MIT", "engines": { @@ -720,6 +713,8 @@ }, "node_modules/ignore": { "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true, "license": "MIT", "engines": { @@ -728,6 +723,8 @@ }, "node_modules/import-fresh": { "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, "license": "MIT", "dependencies": { @@ -749,18 +746,6 @@ "node": ">=0.8.19" } }, - "node_modules/inflight": { - "version": "1.0.6", - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "license": "ISC" - }, "node_modules/is-extglob": { "version": "2.1.1", "dev": true, @@ -769,13 +754,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/is-glob": { "version": "4.0.3", "dev": true, @@ -787,21 +765,17 @@ "node": ">=0.10.0" } }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/isexe": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true, "license": "ISC" }, "node_modules/js-yaml": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "license": "MIT", "dependencies": { @@ -818,6 +792,8 @@ }, "node_modules/json-schema-traverse": { "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true, "license": "MIT" }, @@ -867,6 +843,7 @@ }, "node_modules/minimatch": { "version": "3.1.2", + "dev": true, "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" @@ -875,18 +852,9 @@ "node": "*" } }, - "node_modules/minipass": { - "version": "3.3.6", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/ms": { "version": "2.1.2", + "dev": true, "license": "MIT" }, "node_modules/natural-compare": { @@ -894,13 +862,6 @@ "dev": true, "license": "MIT" }, - "node_modules/once": { - "version": "1.4.0", - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, "node_modules/optionator": { "version": "0.9.4", "dev": true, @@ -947,6 +908,8 @@ }, "node_modules/parent-module": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, "license": "MIT", "dependencies": { @@ -964,15 +927,10 @@ "node": ">=8" } }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/path-key": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, "license": "MIT", "engines": { @@ -1014,78 +972,26 @@ }, "node_modules/punycode": { "version": "2.3.1", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/require-directory": { - "version": "2.1.1", "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, "node_modules/resolve-from": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, "license": "MIT", "engines": { "node": ">=4" } }, - "node_modules/reusify": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, "node_modules/shebang-command": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "license": "MIT", "dependencies": { @@ -1097,36 +1003,18 @@ }, "node_modules/shebang-regex": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/string-width": { - "version": "4.2.3", - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/strip-json-comments": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, "license": "MIT", "engines": { @@ -1162,69 +1050,6 @@ "url": "https://opencollective.com/unts" } }, - "node_modules/tap-mocha-reporter": { - "version": "5.0.4", - "license": "ISC", - "dependencies": { - "color-support": "^1.1.0", - "debug": "^4.1.1", - "diff": "^4.0.1", - "escape-string-regexp": "^2.0.0", - "glob": "^7.0.5", - "tap-parser": "^11.0.0", - "tap-yaml": "^1.0.0", - "unicode-length": "^2.0.2" - }, - "bin": { - "tap-mocha-reporter": "index.js" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/tap-mocha-reporter/node_modules/escape-string-regexp": { - "version": "2.0.0", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/tap-parser": { - "version": "11.0.2", - "license": "MIT", - "dependencies": { - "events-to-array": "^1.0.1", - "minipass": "^3.1.6", - "tap-yaml": "^1.0.0" - }, - "bin": { - "tap-parser": "bin/cmd.js" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/tap-yaml": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/tap-yaml/-/tap-yaml-1.0.2.tgz", - "integrity": "sha512-GegASpuqBnRNdT1U+yuUPZ8rEU64pL35WPBpCISWwff4dErS2/438barz7WFJl4Nzh3Y05tfPidZnH+GaV1wMg==", - "dependencies": { - "yaml": "^1.10.2" - } - }, - "node_modules/tap-yaml/node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "dev": true, - "license": "MIT" - }, "node_modules/tslib": { "version": "2.7.0", "dev": true, @@ -1258,15 +1083,10 @@ "dev": true, "license": "MIT" }, - "node_modules/unicode-length": { - "version": "2.1.0", - "license": "MIT", - "dependencies": { - "punycode": "^2.0.0" - } - }, "node_modules/uri-js": { "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -1275,6 +1095,8 @@ }, "node_modules/which": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "license": "ISC", "dependencies": { @@ -1295,69 +1117,6 @@ "node": ">=0.10.0" } }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "license": "ISC" - }, - "node_modules/y18n": { - "version": "5.0.8", - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "4.0.0", - "license": "ISC" - }, - "node_modules/yaml": { - "version": "2.5.0", - "license": "ISC", - "bin": { - "yaml": "bin.mjs" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/yargs": { - "version": "17.7.2", - "license": "MIT", - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, "node_modules/yocto-queue": { "version": "0.1.0", "dev": true, diff --git a/package.json b/package.json index a41e1003..ce909646 100644 --- a/package.json +++ b/package.json @@ -35,32 +35,21 @@ "files": [ "bin/*.js", "lib/", - "benchmarks/compare.R", "types/" ], "scripts": { - "doc": "metadoc", - "test": "npm run lint && npm run types && node bin/cli.js test --exclude test/fixtures", - "test:unit": "node test/unit", - "perf": "./bin/cli.js benchmarks", + "test": "npm run lint && npm run types && node --test", "types": "tsc -p tsconfig.json", "lint": "eslint . && prettier --check \"**/*.js\" \"**/*.json\" \"**/*.md\" \"**/*.ts\"", "fix": "eslint . --fix && prettier --write \"**/*.js\" \"**/*.json\" \"**/*.md\" \"**/*.ts\"" }, "engines": { - "node": "18 || 20 || 21 || 22" - }, - "dependencies": { - "@metarhia/common": "^2.2.2", - "tap-mocha-reporter": "^5.0.3", - "tap-yaml": "^1.0.2", - "yaml": "^2.5.0", - "yargs": "^17.7.2" + "node": "18 || 20 || 21 || 22 || 23" }, "devDependencies": { "@types/node": "^22.5.1", - "eslint": "^9.9.1", - "eslint-config-metarhia": "^9.0.5", + "eslint": "^9.10.0", + "eslint-config-metarhia": "^9.0.7", "prettier": "^3.3.3", "typescript": "^5.5.4" } diff --git a/tsconfig.json b/tsconfig.json index 8acd0dbc..dc06d7c6 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -8,5 +8,5 @@ "preserveWatchOutput": true, "skipLibCheck": true }, - "include": ["types/lib/**/*.d.ts"] + "include": ["types/*.d.ts"] } From c56cf39333834991ef6873d713359339f4a6c158 Mon Sep 17 00:00:00 2001 From: Timur Shemsedinov Date: Tue, 3 Dec 2024 21:15:43 +0200 Subject: [PATCH 2/2] Update codebase related to internal node modules and deps --- metatests.js | 10 +++++----- test/exit-code.js | 4 ++-- test/fixtures/imperative.test-dependent.js | 2 +- test/fixtures/imperative.test-with-runner.js | 4 ++-- test/fixtures/runner.exit-code-0.js | 2 +- test/fixtures/runner.exit-code-1.js | 2 +- test/fixtures/speed.js | 2 +- test/imperative-sync-no-func.js | 2 +- test/imperative.js | 2 +- test/measure.js | 1 - test/no-reporter-test.js | 4 ++-- test/plan-mustcall.js | 2 +- test/speed.js | 4 ++-- test/test-contains.js | 2 +- test/test-extensions.js | 6 +++--- test/test-unhandled-exceptions.js | 2 +- test/unit/compare.js | 4 ++-- test/unit/declarative.case-and-target-null.js | 2 +- test/unit/declarative.constructor.js | 2 +- test/unit/declarative.run-throwing.js | 2 +- test/unit/declarative.run-with-method.js | 2 +- .../unit/declarative.with-target-type-value.js | 2 +- test/unit/declarative.without-caption.js | 2 +- test/unit/imperative._end.js | 2 +- .../imperative._passCheck-exactly-planned.js | 2 +- .../imperative._passCheck-less-than-planned.js | 2 +- test/unit/imperative._passCheck.js | 2 +- ...perative._subtestErrorCallback-after-end.js | 2 +- test/unit/imperative.afterEach.js | 4 ++-- ...e.bailout-with-Error-err-arg-and-message.js | 2 +- .../imperative.bailout-with-Error-err-arg.js | 2 +- ...lout-with-string-err-arg-and-message-arg.js | 2 +- .../imperative.bailout-with-string-err-arg.js | 2 +- .../unit/imperative.bailout-without-message.js | 2 +- test/unit/imperative.beforeEach.js | 4 ++-- test/unit/imperative.checks.js | 3 +-- test/unit/imperative.constructor.js | 4 ++-- test/unit/imperative.defer.js | 4 ++-- test/unit/imperative.dependent-and-parallel.js | 4 ++-- test/unit/imperative.dependent-failure.js | 4 ++-- test/unit/imperative.end-before-subtests.js | 2 +- test/unit/imperative.end-before-timeout.js | 4 ++-- test/unit/imperative.end-planned.js | 4 ++-- ...mperative.endAfterSubtests-with-subtests.js | 4 ++-- test/unit/imperative.endAfterSubtests.js | 4 ++-- test/unit/imperative.exceed-timeout-timer.js | 4 ++-- .../imperative.exceed-timeout-when-done.js | 4 ++-- test/unit/imperative.exports.js | 4 ++-- test/unit/imperative.on-after-end.js | 2 +- test/unit/imperative.on.js | 2 +- test/unit/imperative.optional-run.js | 2 +- test/unit/imperative.plan.js | 2 +- test/unit/imperative.run-subtests.js | 4 ++-- test/unit/imperative.run.js | 2 +- .../unit/imperative.run.unhandled-exception.js | 2 +- ...erative.subtestCallbackEnd-with-subtests.js | 2 +- test/unit/imperative.subtestCallbackEnd.js | 2 +- test/unit/imperative.test-independent.js | 2 +- test/unit/imperative.test-not-todo.js | 2 +- test/unit/imperative.test-null-options.js | 2 +- test/unit/imperative.test-parallel.js | 2 +- test/unit/imperative.test.js | 6 +++--- test/unit/imperative.testAsync.js | 2 +- .../imperative.timeout-timer-initialization.js | 4 ++-- ...imperative.without-calling-_setupTimeout.js | 4 ++-- test/unit/imperative.without-test-function.js | 4 ++-- test/unit/index.js | 2 +- test/unit/runner._testDoneCallback.js | 2 +- test/unit/runner._testErrorCallback.js | 2 +- .../unit/runner._tryFinish-already-finished.js | 2 +- test/unit/runner._tryFinish-before-addTest.js | 2 +- test/unit/runner._tryFinish-before-wait.js | 2 +- test/unit/runner._tryFinish-with-one-test.js | 2 +- test/unit/runner._tryFinish-without-tests.js | 2 +- test/unit/runner.addTest-before-test-done.js | 2 +- test/unit/runner.addTest-with-done-subtest.js | 2 +- .../runner.addTest-with-errored-subtest.js | 2 +- test/unit/runner.constructor.js | 2 +- test/unit/runner.finish-with-failures.js | 6 +++--- test/unit/runner.finish-without-failures.js | 2 +- test/unit/runner.resume-with-0-waiting.js | 2 +- test/unit/runner.resume-with-1-waiting.js | 2 +- test/unit/runner.runTodo.js | 2 +- test/unit/runner.wait.js | 2 +- .../test._end-done-successful-last-result.js | 2 +- test/unit/test._end-done-with-error.js | 2 +- test/unit/test._end-done.js | 2 +- test/unit/test._end-not-done-with-error.js | 2 +- test/unit/test._end-not-done.js | 2 +- test/unit/test.constructor.js | 3 +-- test/unit/test.end.js | 3 +-- test/unit/test.errorer.js | 2 +- test/unit/test.success.js | 2 +- types/{lib => }/compare.d.ts | 0 types/{lib => }/declarative-test.d.ts | 0 types/eslintrc.js | 18 ------------------ types/{lib => }/imperative-test.d.ts | 0 types/{lib => }/report.d.ts | 0 types/{lib => }/runner.d.ts | 0 types/{lib => }/speed.d.ts | 0 types/{lib => }/test.d.ts | 0 types/tsconfig.json | 11 ----------- 102 files changed, 124 insertions(+), 157 deletions(-) rename types/{lib => }/compare.d.ts (100%) rename types/{lib => }/declarative-test.d.ts (100%) delete mode 100644 types/eslintrc.js rename types/{lib => }/imperative-test.d.ts (100%) rename types/{lib => }/report.d.ts (100%) rename types/{lib => }/runner.d.ts (100%) rename types/{lib => }/speed.d.ts (100%) rename types/{lib => }/test.d.ts (100%) delete mode 100644 types/tsconfig.json diff --git a/metatests.js b/metatests.js index 804b94d4..eeb3e18c 100644 --- a/metatests.js +++ b/metatests.js @@ -1,16 +1,16 @@ 'use strict'; -const declarativeTest = require('./lib/declarative-test'); -const { equal, strictEqual } = require('./lib/compare'); -const reporters = require('./lib/report'); -const runner = require('./lib/runner'); +const declarativeTest = require('./lib/declarative-test.js'); +const { equal, strictEqual } = require('./lib/compare.js'); +const reporters = require('./lib/report.js'); +const runner = require('./lib/runner.js'); const { speed, measure, convertToCsv } = require('./lib/speed.js'); const { ImperativeTest, test, testSync, testAsync, -} = require('./lib/imperative-test'); +} = require('./lib/imperative-test.js'); const metatests = { case: declarativeTest.case, diff --git a/test/exit-code.js b/test/exit-code.js index c3ac5841..6002cbde 100644 --- a/test/exit-code.js +++ b/test/exit-code.js @@ -1,7 +1,7 @@ 'use strict'; -const cp = require('child_process'); -const path = require('path'); +const cp = require('node:child_process'); +const path = require('node:path'); const metatests = require('..'); diff --git a/test/fixtures/imperative.test-dependent.js b/test/fixtures/imperative.test-dependent.js index 1e658553..5ee67e92 100644 --- a/test/fixtures/imperative.test-dependent.js +++ b/test/fixtures/imperative.test-dependent.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { ImperativeTest } = require('../..'); const test = new ImperativeTest('test', null, { dependentSubtests: true }); diff --git a/test/fixtures/imperative.test-with-runner.js b/test/fixtures/imperative.test-with-runner.js index a6715802..3c94932e 100644 --- a/test/fixtures/imperative.test-with-runner.js +++ b/test/fixtures/imperative.test-with-runner.js @@ -1,10 +1,10 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { ImperativeTest, runner: { Runner }, -} = require('../../metatests'); +} = require('../../metatests.js'); const test = new ImperativeTest('test', null, { dependentSubtests: true, diff --git a/test/fixtures/runner.exit-code-0.js b/test/fixtures/runner.exit-code-0.js index 82ff3652..70026213 100644 --- a/test/fixtures/runner.exit-code-0.js +++ b/test/fixtures/runner.exit-code-0.js @@ -2,7 +2,7 @@ const { runner: { Runner }, -} = require('../../metatests'); +} = require('../../metatests.js'); const runner = new Runner(); runner.removeReporter(); diff --git a/test/fixtures/runner.exit-code-1.js b/test/fixtures/runner.exit-code-1.js index 5980d62c..31d0c22f 100644 --- a/test/fixtures/runner.exit-code-1.js +++ b/test/fixtures/runner.exit-code-1.js @@ -2,7 +2,7 @@ const { runner: { Runner }, -} = require('../../metatests'); +} = require('../../metatests.js'); const runner = new Runner(); runner.removeReporter(); diff --git a/test/fixtures/speed.js b/test/fixtures/speed.js index 52e2f8f3..6dc3da70 100644 --- a/test/fixtures/speed.js +++ b/test/fixtures/speed.js @@ -1,6 +1,6 @@ 'use strict'; -const metatests = require('../../metatests'); +const metatests = require('../../metatests.js'); const objectCreate = () => { const obj = Object.create(null); diff --git a/test/imperative-sync-no-func.js b/test/imperative-sync-no-func.js index fd3975ee..c1bc8545 100644 --- a/test/imperative-sync-no-func.js +++ b/test/imperative-sync-no-func.js @@ -1,6 +1,6 @@ 'use strict'; -const { testSync } = require('../'); +const { testSync } = require('..'); const test = testSync('Empty test'); test.assert(true); diff --git a/test/imperative.js b/test/imperative.js index 9b62511f..43746576 100644 --- a/test/imperative.js +++ b/test/imperative.js @@ -1,7 +1,7 @@ 'use strict'; const metatests = require('..'); -const vm = require('vm'); +const vm = require('node:vm'); metatests.testSync('strictSame', (test) => { test.strictSame(1, 1); diff --git a/test/measure.js b/test/measure.js index 9df0a03e..3d20994a 100644 --- a/test/measure.js +++ b/test/measure.js @@ -1,6 +1,5 @@ 'use strict'; -const { iter } = require('@metarhia/common'); const metatests = require('..'); const objectCreate = (p) => { diff --git a/test/no-reporter-test.js b/test/no-reporter-test.js index 63135f7e..3177121f 100644 --- a/test/no-reporter-test.js +++ b/test/no-reporter-test.js @@ -1,7 +1,7 @@ 'use strict'; -const metatests = require('../'); -const { spawn } = require('child_process'); +const metatests = require('..'); +const { spawn } = require('node:child_process'); const test = metatests.test('must not fail when reporter is null'); diff --git a/test/plan-mustcall.js b/test/plan-mustcall.js index 3018163f..b4c659b1 100644 --- a/test/plan-mustcall.js +++ b/test/plan-mustcall.js @@ -1,6 +1,6 @@ 'use strict'; -const { test } = require('../'); +const { test } = require('..'); test('must support test.plan + test.mustCall', (test) => { test.plan(4); diff --git a/test/speed.js b/test/speed.js index cf17f455..f20b3732 100644 --- a/test/speed.js +++ b/test/speed.js @@ -1,7 +1,7 @@ 'use strict'; -const { fork } = require('child_process'); -const path = require('path'); +const { fork } = require('node:child_process'); +const path = require('node:path'); const metatests = require('..'); const fixturesDir = path.join(__dirname, 'fixtures'); diff --git a/test/test-contains.js b/test/test-contains.js index b6a8906c..8dfe8c23 100644 --- a/test/test-contains.js +++ b/test/test-contains.js @@ -1,7 +1,7 @@ 'use strict'; const metatests = require('..'); -const { compareValues } = require('../lib/utils'); +const { compareValues } = require('../lib/utils.js'); const test = metatests.testSync('test.contains/containsGreedy', null, { parallelSubtests: true, diff --git a/test/test-extensions.js b/test/test-extensions.js index 03b61c93..940fe9a6 100644 --- a/test/test-extensions.js +++ b/test/test-extensions.js @@ -1,9 +1,9 @@ 'use strict'; -const { fork } = require('child_process'); -const path = require('path'); +const { fork } = require('node:child_process'); +const path = require('node:path'); -const { test } = require('../metatests'); +const { test } = require('../metatests.js'); const cliFile = path.join(__dirname, '..', 'bin', 'cli.js'); const fixturesDir = path.join(__dirname, 'fixtures'); diff --git a/test/test-unhandled-exceptions.js b/test/test-unhandled-exceptions.js index f6754daa..4216f201 100644 --- a/test/test-unhandled-exceptions.js +++ b/test/test-unhandled-exceptions.js @@ -1,6 +1,6 @@ 'use strict'; -const { test, ImperativeTest } = require('../metatests'); +const { test, ImperativeTest } = require('../metatests.js'); test('must catch unhandledExceptions', (test) => { const error = new Error('Error'); diff --git a/test/unit/compare.js b/test/unit/compare.js index 4018d9ff..c4c6a47a 100644 --- a/test/unit/compare.js +++ b/test/unit/compare.js @@ -1,13 +1,13 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { equal, strictEqual, errorCompare, sameTopology, -} = require('../../lib/compare'); +} = require('../../lib/compare.js'); assert(equal(1, 1)); assert(!equal(1, 2)); diff --git a/test/unit/declarative.case-and-target-null.js b/test/unit/declarative.case-and-target-null.js index 3ed23d32..24371ec9 100644 --- a/test/unit/declarative.case-and-target-null.js +++ b/test/unit/declarative.case-and-target-null.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { case: checkCase } = require('../..'); class CustomClass {} diff --git a/test/unit/declarative.constructor.js b/test/unit/declarative.constructor.js index b7bf9061..a78a4cc1 100644 --- a/test/unit/declarative.constructor.js +++ b/test/unit/declarative.constructor.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { DeclarativeTest } = require('../..'); const test = new DeclarativeTest(); diff --git a/test/unit/declarative.run-throwing.js b/test/unit/declarative.run-throwing.js index 800c7844..78f751ef 100644 --- a/test/unit/declarative.run-throwing.js +++ b/test/unit/declarative.run-throwing.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { DeclarativeTest } = require('../..'); const namespace = { diff --git a/test/unit/declarative.run-with-method.js b/test/unit/declarative.run-with-method.js index 5cdd3409..ea7f746c 100644 --- a/test/unit/declarative.run-with-method.js +++ b/test/unit/declarative.run-with-method.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { DeclarativeTest } = require('../..'); class CustomClass { diff --git a/test/unit/declarative.with-target-type-value.js b/test/unit/declarative.with-target-type-value.js index f5e0eea4..ac2951ac 100644 --- a/test/unit/declarative.with-target-type-value.js +++ b/test/unit/declarative.with-target-type-value.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { DeclarativeTest } = require('../..'); const namespace = { diff --git a/test/unit/declarative.without-caption.js b/test/unit/declarative.without-caption.js index 79df0414..0426e42b 100644 --- a/test/unit/declarative.without-caption.js +++ b/test/unit/declarative.without-caption.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { DeclarativeTest } = require('../..'); const namespace = { diff --git a/test/unit/imperative._end.js b/test/unit/imperative._end.js index b3c54a2b..68fc8c8d 100644 --- a/test/unit/imperative._end.js +++ b/test/unit/imperative._end.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { ImperativeTest } = require('../..'); const test = new ImperativeTest(); diff --git a/test/unit/imperative._passCheck-exactly-planned.js b/test/unit/imperative._passCheck-exactly-planned.js index a50bbaf7..d23036c2 100644 --- a/test/unit/imperative._passCheck-exactly-planned.js +++ b/test/unit/imperative._passCheck-exactly-planned.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { ImperativeTest } = require('../..'); const test = new ImperativeTest(); diff --git a/test/unit/imperative._passCheck-less-than-planned.js b/test/unit/imperative._passCheck-less-than-planned.js index 6104655b..6a3945cd 100644 --- a/test/unit/imperative._passCheck-less-than-planned.js +++ b/test/unit/imperative._passCheck-less-than-planned.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { ImperativeTest } = require('../..'); const test = new ImperativeTest(); diff --git a/test/unit/imperative._passCheck.js b/test/unit/imperative._passCheck.js index 796ea44b..6d37d7d1 100644 --- a/test/unit/imperative._passCheck.js +++ b/test/unit/imperative._passCheck.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { ImperativeTest } = require('../..'); const test = new ImperativeTest(); diff --git a/test/unit/imperative._subtestErrorCallback-after-end.js b/test/unit/imperative._subtestErrorCallback-after-end.js index 3e1aa3e9..ea4cca3b 100644 --- a/test/unit/imperative._subtestErrorCallback-after-end.js +++ b/test/unit/imperative._subtestErrorCallback-after-end.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { ImperativeTest } = require('../..'); const test = new ImperativeTest('test'); diff --git a/test/unit/imperative.afterEach.js b/test/unit/imperative.afterEach.js index c9d21308..7d1edd66 100644 --- a/test/unit/imperative.afterEach.js +++ b/test/unit/imperative.afterEach.js @@ -1,7 +1,7 @@ 'use strict'; -const assert = require('assert'); -const { ImperativeTest } = require('../../metatests'); +const assert = require('node:assert'); +const { ImperativeTest } = require('../../metatests.js'); const test = new ImperativeTest(); let afterEachFuncCalled = false; diff --git a/test/unit/imperative.bailout-with-Error-err-arg-and-message.js b/test/unit/imperative.bailout-with-Error-err-arg-and-message.js index 7234079c..ca3db7de 100644 --- a/test/unit/imperative.bailout-with-Error-err-arg-and-message.js +++ b/test/unit/imperative.bailout-with-Error-err-arg-and-message.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { ImperativeTest } = require('../..'); const test = new ImperativeTest(); diff --git a/test/unit/imperative.bailout-with-Error-err-arg.js b/test/unit/imperative.bailout-with-Error-err-arg.js index 7493cab8..60271794 100644 --- a/test/unit/imperative.bailout-with-Error-err-arg.js +++ b/test/unit/imperative.bailout-with-Error-err-arg.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { ImperativeTest } = require('../..'); const test = new ImperativeTest(); diff --git a/test/unit/imperative.bailout-with-string-err-arg-and-message-arg.js b/test/unit/imperative.bailout-with-string-err-arg-and-message-arg.js index e1d3816d..7a54594f 100644 --- a/test/unit/imperative.bailout-with-string-err-arg-and-message-arg.js +++ b/test/unit/imperative.bailout-with-string-err-arg-and-message-arg.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { ImperativeTest } = require('../..'); const test = new ImperativeTest(); diff --git a/test/unit/imperative.bailout-with-string-err-arg.js b/test/unit/imperative.bailout-with-string-err-arg.js index 7d02a3e5..8d0115fa 100644 --- a/test/unit/imperative.bailout-with-string-err-arg.js +++ b/test/unit/imperative.bailout-with-string-err-arg.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { ImperativeTest } = require('../..'); const test = new ImperativeTest(); diff --git a/test/unit/imperative.bailout-without-message.js b/test/unit/imperative.bailout-without-message.js index c13573a2..daaf267d 100644 --- a/test/unit/imperative.bailout-without-message.js +++ b/test/unit/imperative.bailout-without-message.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { ImperativeTest } = require('../..'); const test = new ImperativeTest(); diff --git a/test/unit/imperative.beforeEach.js b/test/unit/imperative.beforeEach.js index ce29dff0..4ce2a043 100644 --- a/test/unit/imperative.beforeEach.js +++ b/test/unit/imperative.beforeEach.js @@ -1,7 +1,7 @@ 'use strict'; -const assert = require('assert'); -const { ImperativeTest } = require('../../metatests'); +const assert = require('node:assert'); +const { ImperativeTest } = require('../../metatests.js'); const test = new ImperativeTest(); let beforeEachFuncCalled = false; diff --git a/test/unit/imperative.checks.js b/test/unit/imperative.checks.js index eb5e699b..c641bd9d 100644 --- a/test/unit/imperative.checks.js +++ b/test/unit/imperative.checks.js @@ -1,7 +1,6 @@ 'use strict'; -const assert = require('assert'); -const { last } = require('@metarhia/common'); +const assert = require('node:assert'); const { ImperativeTest } = require('../..'); const test = new ImperativeTest(); diff --git a/test/unit/imperative.constructor.js b/test/unit/imperative.constructor.js index d2569266..a03ae5b0 100644 --- a/test/unit/imperative.constructor.js +++ b/test/unit/imperative.constructor.js @@ -1,7 +1,7 @@ 'use strict'; -const assert = require('assert'); -const { ImperativeTest } = require('../../metatests'); +const assert = require('node:assert'); +const { ImperativeTest } = require('../../metatests.js'); const test = new ImperativeTest(); diff --git a/test/unit/imperative.defer.js b/test/unit/imperative.defer.js index 6d8ed27a..1d6c8eb0 100644 --- a/test/unit/imperative.defer.js +++ b/test/unit/imperative.defer.js @@ -1,7 +1,7 @@ 'use strict'; -const assert = require('assert'); -const { ImperativeTest } = require('../../metatests'); +const assert = require('node:assert'); +const { ImperativeTest } = require('../../metatests.js'); const test = new ImperativeTest(); let afterEachFuncCalled = false; diff --git a/test/unit/imperative.dependent-and-parallel.js b/test/unit/imperative.dependent-and-parallel.js index b75e86f1..ecaea365 100644 --- a/test/unit/imperative.dependent-and-parallel.js +++ b/test/unit/imperative.dependent-and-parallel.js @@ -1,7 +1,7 @@ 'use strict'; -const assert = require('assert'); -const { ImperativeTest } = require('../../metatests'); +const assert = require('node:assert'); +const { ImperativeTest } = require('../../metatests.js'); // A stub to support assert.throws in Node v6 const checkError = (expected) => (actual) => { diff --git a/test/unit/imperative.dependent-failure.js b/test/unit/imperative.dependent-failure.js index 0943c163..88d2a9c0 100644 --- a/test/unit/imperative.dependent-failure.js +++ b/test/unit/imperative.dependent-failure.js @@ -1,7 +1,7 @@ 'use strict'; -const assert = require('assert'); -const { ImperativeTest } = require('../../metatests'); +const assert = require('node:assert'); +const { ImperativeTest } = require('../../metatests.js'); const test = new ImperativeTest('test', null, { dependentSubtests: true }); diff --git a/test/unit/imperative.end-before-subtests.js b/test/unit/imperative.end-before-subtests.js index a629be2c..f48c5898 100644 --- a/test/unit/imperative.end-before-subtests.js +++ b/test/unit/imperative.end-before-subtests.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { ImperativeTest } = require('../..'); const test = new ImperativeTest('test', null, { parallelSubtests: true }); diff --git a/test/unit/imperative.end-before-timeout.js b/test/unit/imperative.end-before-timeout.js index b5a84e4f..7910a2d6 100644 --- a/test/unit/imperative.end-before-timeout.js +++ b/test/unit/imperative.end-before-timeout.js @@ -1,7 +1,7 @@ 'use strict'; -const assert = require('assert'); -const { ImperativeTest } = require('../../metatests'); +const assert = require('node:assert'); +const { ImperativeTest } = require('../../metatests.js'); const test = new ImperativeTest('', null, { timeout: 1000 }); test.on('done', () => { diff --git a/test/unit/imperative.end-planned.js b/test/unit/imperative.end-planned.js index 2008a8dd..bb6ac428 100644 --- a/test/unit/imperative.end-planned.js +++ b/test/unit/imperative.end-planned.js @@ -1,7 +1,7 @@ 'use strict'; -const assert = require('assert'); -const { ImperativeTest } = require('../..'); +const assert = require('node:assert'); +const { ImperativeTest } = require('../...js'); const test = new ImperativeTest(); test.plan(1); diff --git a/test/unit/imperative.endAfterSubtests-with-subtests.js b/test/unit/imperative.endAfterSubtests-with-subtests.js index 0965a981..d4554a24 100644 --- a/test/unit/imperative.endAfterSubtests-with-subtests.js +++ b/test/unit/imperative.endAfterSubtests-with-subtests.js @@ -1,7 +1,7 @@ 'use strict'; -const assert = require('assert'); -const { ImperativeTest } = require('../../metatests'); +const assert = require('node:assert'); +const { ImperativeTest } = require('../../metatests.js'); const test = new ImperativeTest(); let ended = false; diff --git a/test/unit/imperative.endAfterSubtests.js b/test/unit/imperative.endAfterSubtests.js index 41c80e6f..9c97fde0 100644 --- a/test/unit/imperative.endAfterSubtests.js +++ b/test/unit/imperative.endAfterSubtests.js @@ -1,7 +1,7 @@ 'use strict'; -const assert = require('assert'); -const { ImperativeTest } = require('../../metatests'); +const assert = require('node:assert'); +const { ImperativeTest } = require('../../metatests.js'); const test = new ImperativeTest(); test.waitingSubtests = false; diff --git a/test/unit/imperative.exceed-timeout-timer.js b/test/unit/imperative.exceed-timeout-timer.js index a5467de2..b1a98951 100644 --- a/test/unit/imperative.exceed-timeout-timer.js +++ b/test/unit/imperative.exceed-timeout-timer.js @@ -1,7 +1,7 @@ 'use strict'; -const assert = require('assert'); -const { ImperativeTest } = require('../../metatests'); +const assert = require('node:assert'); +const { ImperativeTest } = require('../../metatests.js'); const test = new ImperativeTest('', null, { timeout: 1 }); setTimeout(() => { diff --git a/test/unit/imperative.exceed-timeout-when-done.js b/test/unit/imperative.exceed-timeout-when-done.js index 6c80ebb0..0d762460 100644 --- a/test/unit/imperative.exceed-timeout-when-done.js +++ b/test/unit/imperative.exceed-timeout-when-done.js @@ -1,7 +1,7 @@ 'use strict'; -const assert = require('assert'); -const { ImperativeTest } = require('../../metatests'); +const assert = require('node:assert'); +const { ImperativeTest } = require('../../metatests.js'); const test = new ImperativeTest('', null); test.end(); diff --git a/test/unit/imperative.exports.js b/test/unit/imperative.exports.js index 0ff6acb7..98d2ee9d 100644 --- a/test/unit/imperative.exports.js +++ b/test/unit/imperative.exports.js @@ -1,7 +1,7 @@ 'use strict'; -const assert = require('assert'); -const imperative = require('../../lib/imperative-test'); +const assert = require('node:assert'); +const imperative = require('../../lib/imperative-test.js'); const { runner: { Runner }, } = require('../..'); diff --git a/test/unit/imperative.on-after-end.js b/test/unit/imperative.on-after-end.js index aee78c5a..d945ee35 100644 --- a/test/unit/imperative.on-after-end.js +++ b/test/unit/imperative.on-after-end.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { ImperativeTest } = require('../..'); const test = new ImperativeTest(); diff --git a/test/unit/imperative.on.js b/test/unit/imperative.on.js index 459f0fa4..421bd61e 100644 --- a/test/unit/imperative.on.js +++ b/test/unit/imperative.on.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { ImperativeTest } = require('../..'); const test = new ImperativeTest(); diff --git a/test/unit/imperative.optional-run.js b/test/unit/imperative.optional-run.js index 7bc637a2..cc52785f 100644 --- a/test/unit/imperative.optional-run.js +++ b/test/unit/imperative.optional-run.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { ImperativeTest } = require('../..'); let runningTestRan = false; diff --git a/test/unit/imperative.plan.js b/test/unit/imperative.plan.js index 20d651d2..9817dc2e 100644 --- a/test/unit/imperative.plan.js +++ b/test/unit/imperative.plan.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { ImperativeTest } = require('../..'); const test = new ImperativeTest(); diff --git a/test/unit/imperative.run-subtests.js b/test/unit/imperative.run-subtests.js index e814d998..86d9b364 100644 --- a/test/unit/imperative.run-subtests.js +++ b/test/unit/imperative.run-subtests.js @@ -1,7 +1,7 @@ 'use strict'; -const assert = require('assert'); -const { ImperativeTest } = require('../../metatests'); +const assert = require('node:assert'); +const { ImperativeTest } = require('../../metatests.js'); const test = new ImperativeTest('', null); const st1 = test.testSync('successful subtest', (t) => t.pass()); diff --git a/test/unit/imperative.run.js b/test/unit/imperative.run.js index 5d626de0..7c54bdb5 100644 --- a/test/unit/imperative.run.js +++ b/test/unit/imperative.run.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { ImperativeTest } = require('../..'); const syncTest = new ImperativeTest('run sync', (t) => t.pass(), { diff --git a/test/unit/imperative.run.unhandled-exception.js b/test/unit/imperative.run.unhandled-exception.js index a91120da..8fe34a7e 100644 --- a/test/unit/imperative.run.unhandled-exception.js +++ b/test/unit/imperative.run.unhandled-exception.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { ImperativeTest } = require('../..'); const bailoutingTest = new ImperativeTest( diff --git a/test/unit/imperative.subtestCallbackEnd-with-subtests.js b/test/unit/imperative.subtestCallbackEnd-with-subtests.js index 3421dc7f..10aa26c0 100644 --- a/test/unit/imperative.subtestCallbackEnd-with-subtests.js +++ b/test/unit/imperative.subtestCallbackEnd-with-subtests.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { ImperativeTest } = require('../..'); const test = new ImperativeTest('test'); diff --git a/test/unit/imperative.subtestCallbackEnd.js b/test/unit/imperative.subtestCallbackEnd.js index 5f369057..d9a92113 100644 --- a/test/unit/imperative.subtestCallbackEnd.js +++ b/test/unit/imperative.subtestCallbackEnd.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { ImperativeTest } = require('../..'); const test = new ImperativeTest('test', () => {}, { async: true }); diff --git a/test/unit/imperative.test-independent.js b/test/unit/imperative.test-independent.js index 20078509..99063c86 100644 --- a/test/unit/imperative.test-independent.js +++ b/test/unit/imperative.test-independent.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { ImperativeTest } = require('../..'); const test = new ImperativeTest(); diff --git a/test/unit/imperative.test-not-todo.js b/test/unit/imperative.test-not-todo.js index e8f588de..7258416d 100644 --- a/test/unit/imperative.test-not-todo.js +++ b/test/unit/imperative.test-not-todo.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { ImperativeTest, runner: { Runner }, diff --git a/test/unit/imperative.test-null-options.js b/test/unit/imperative.test-null-options.js index 6b882945..808d1bbc 100644 --- a/test/unit/imperative.test-null-options.js +++ b/test/unit/imperative.test-null-options.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { test } = require('../..'); const subtest = test( diff --git a/test/unit/imperative.test-parallel.js b/test/unit/imperative.test-parallel.js index 71f8f6ee..2fbea235 100644 --- a/test/unit/imperative.test-parallel.js +++ b/test/unit/imperative.test-parallel.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { ImperativeTest } = require('../..'); const testWithParallelSubtests = new ImperativeTest( diff --git a/test/unit/imperative.test.js b/test/unit/imperative.test.js index 1aaacc76..e6224b6a 100644 --- a/test/unit/imperative.test.js +++ b/test/unit/imperative.test.js @@ -1,8 +1,8 @@ 'use strict'; -const path = require('path'); -const assert = require('assert'); -const cp = require('child_process'); +const path = require('node:path'); +const assert = require('node:assert'); +const cp = require('node:child_process'); const fixturesDir = path.join(__dirname, '..', 'fixtures'); diff --git a/test/unit/imperative.testAsync.js b/test/unit/imperative.testAsync.js index faa5d1c6..992e963e 100644 --- a/test/unit/imperative.testAsync.js +++ b/test/unit/imperative.testAsync.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { ImperativeTest } = require('../..'); const test = new ImperativeTest(); diff --git a/test/unit/imperative.timeout-timer-initialization.js b/test/unit/imperative.timeout-timer-initialization.js index ddc35554..f53829eb 100644 --- a/test/unit/imperative.timeout-timer-initialization.js +++ b/test/unit/imperative.timeout-timer-initialization.js @@ -1,7 +1,7 @@ 'use strict'; -const assert = require('assert'); -const { ImperativeTest } = require('../../metatests'); +const assert = require('node:assert'); +const { ImperativeTest } = require('../../metatests.js'); const Timeout = setTimeout(() => {}).constructor; diff --git a/test/unit/imperative.without-calling-_setupTimeout.js b/test/unit/imperative.without-calling-_setupTimeout.js index 7d03574b..ab30dbfa 100644 --- a/test/unit/imperative.without-calling-_setupTimeout.js +++ b/test/unit/imperative.without-calling-_setupTimeout.js @@ -1,7 +1,7 @@ 'use strict'; -const assert = require('assert'); -const { ImperativeTest } = require('../../metatests'); +const assert = require('node:assert'); +const { ImperativeTest } = require('../../metatests.js'); const test = new ImperativeTest('', null, { timeout: 0 }); assert.strictEqual(test.timeoutTimer, undefined); diff --git a/test/unit/imperative.without-test-function.js b/test/unit/imperative.without-test-function.js index f9d720b8..5341a539 100644 --- a/test/unit/imperative.without-test-function.js +++ b/test/unit/imperative.without-test-function.js @@ -1,7 +1,7 @@ 'use strict'; -const assert = require('assert'); -const { ImperativeTest } = require('../../metatests'); +const assert = require('node:assert'); +const { ImperativeTest } = require('../../metatests.js'); const test = new ImperativeTest(); assert.strictEqual(test.waitingSubtests, true); diff --git a/test/unit/index.js b/test/unit/index.js index 3fa7cd1f..5db64d5a 100644 --- a/test/unit/index.js +++ b/test/unit/index.js @@ -1,4 +1,4 @@ 'use strict'; -const { readdirSync } = require('fs'); +const { readdirSync } = require('node:fs'); readdirSync(__dirname).map((file) => require('./' + file)); diff --git a/test/unit/runner._testDoneCallback.js b/test/unit/runner._testDoneCallback.js index c7004260..9802cc7d 100644 --- a/test/unit/runner._testDoneCallback.js +++ b/test/unit/runner._testDoneCallback.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { runner: { Runner }, diff --git a/test/unit/runner._testErrorCallback.js b/test/unit/runner._testErrorCallback.js index da2954f5..e7ed7ed4 100644 --- a/test/unit/runner._testErrorCallback.js +++ b/test/unit/runner._testErrorCallback.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { runner: { Runner }, ImperativeTest, diff --git a/test/unit/runner._tryFinish-already-finished.js b/test/unit/runner._tryFinish-already-finished.js index 63f512f0..d12ed8cb 100644 --- a/test/unit/runner._tryFinish-already-finished.js +++ b/test/unit/runner._tryFinish-already-finished.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { runner: { Runner }, } = require('../..'); diff --git a/test/unit/runner._tryFinish-before-addTest.js b/test/unit/runner._tryFinish-before-addTest.js index 661ea61e..f39419a2 100644 --- a/test/unit/runner._tryFinish-before-addTest.js +++ b/test/unit/runner._tryFinish-before-addTest.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { runner: { Runner }, } = require('../..'); diff --git a/test/unit/runner._tryFinish-before-wait.js b/test/unit/runner._tryFinish-before-wait.js index 03a5546c..e663fc05 100644 --- a/test/unit/runner._tryFinish-before-wait.js +++ b/test/unit/runner._tryFinish-before-wait.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { runner: { Runner }, } = require('../..'); diff --git a/test/unit/runner._tryFinish-with-one-test.js b/test/unit/runner._tryFinish-with-one-test.js index 3b3893d4..c27f87a3 100644 --- a/test/unit/runner._tryFinish-with-one-test.js +++ b/test/unit/runner._tryFinish-with-one-test.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { runner: { Runner }, } = require('../..'); diff --git a/test/unit/runner._tryFinish-without-tests.js b/test/unit/runner._tryFinish-without-tests.js index 2a68196d..ad2dcd7b 100644 --- a/test/unit/runner._tryFinish-without-tests.js +++ b/test/unit/runner._tryFinish-without-tests.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { runner: { Runner }, } = require('../..'); diff --git a/test/unit/runner.addTest-before-test-done.js b/test/unit/runner.addTest-before-test-done.js index 7165505d..b2f9e453 100644 --- a/test/unit/runner.addTest-before-test-done.js +++ b/test/unit/runner.addTest-before-test-done.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { runner: { Runner }, ImperativeTest, diff --git a/test/unit/runner.addTest-with-done-subtest.js b/test/unit/runner.addTest-with-done-subtest.js index 52de376c..76e5e1c1 100644 --- a/test/unit/runner.addTest-with-done-subtest.js +++ b/test/unit/runner.addTest-with-done-subtest.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { runner: { Runner }, DeclarativeTest, diff --git a/test/unit/runner.addTest-with-errored-subtest.js b/test/unit/runner.addTest-with-errored-subtest.js index 40ad9485..6ac38f29 100644 --- a/test/unit/runner.addTest-with-errored-subtest.js +++ b/test/unit/runner.addTest-with-errored-subtest.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { runner: { Runner }, ImperativeTest, diff --git a/test/unit/runner.constructor.js b/test/unit/runner.constructor.js index 657be99b..22fc55e8 100644 --- a/test/unit/runner.constructor.js +++ b/test/unit/runner.constructor.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { runner: { Runner }, } = require('../..'); diff --git a/test/unit/runner.finish-with-failures.js b/test/unit/runner.finish-with-failures.js index 096be7d7..585041c4 100644 --- a/test/unit/runner.finish-with-failures.js +++ b/test/unit/runner.finish-with-failures.js @@ -1,8 +1,8 @@ 'use strict'; -const assert = require('assert'); -const cp = require('child_process'); -const path = require('path'); +const assert = require('node:assert'); +const cp = require('node:child_process'); +const path = require('node:path'); const { runner: { Runner }, } = require('../..'); diff --git a/test/unit/runner.finish-without-failures.js b/test/unit/runner.finish-without-failures.js index f5e98efc..1778aea5 100644 --- a/test/unit/runner.finish-without-failures.js +++ b/test/unit/runner.finish-without-failures.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { runner: { Runner }, } = require('../..'); diff --git a/test/unit/runner.resume-with-0-waiting.js b/test/unit/runner.resume-with-0-waiting.js index 4fec19e2..3f3d59d3 100644 --- a/test/unit/runner.resume-with-0-waiting.js +++ b/test/unit/runner.resume-with-0-waiting.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { runner: { Runner }, } = require('../..'); diff --git a/test/unit/runner.resume-with-1-waiting.js b/test/unit/runner.resume-with-1-waiting.js index 0cf0bee2..c9a1978c 100644 --- a/test/unit/runner.resume-with-1-waiting.js +++ b/test/unit/runner.resume-with-1-waiting.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { runner: { Runner }, } = require('../..'); diff --git a/test/unit/runner.runTodo.js b/test/unit/runner.runTodo.js index 46d6f069..137ef797 100644 --- a/test/unit/runner.runTodo.js +++ b/test/unit/runner.runTodo.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { runner: { Runner }, } = require('../..'); diff --git a/test/unit/runner.wait.js b/test/unit/runner.wait.js index 2268334d..d83173e5 100644 --- a/test/unit/runner.wait.js +++ b/test/unit/runner.wait.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const { runner: { Runner }, } = require('../..'); diff --git a/test/unit/test._end-done-successful-last-result.js b/test/unit/test._end-done-successful-last-result.js index ec703e87..0efdb623 100644 --- a/test/unit/test._end-done-successful-last-result.js +++ b/test/unit/test._end-done-successful-last-result.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const Test = require('../../lib/test.js'); const test = new Test(); diff --git a/test/unit/test._end-done-with-error.js b/test/unit/test._end-done-with-error.js index 26cea5ee..1dd0e8b2 100644 --- a/test/unit/test._end-done-with-error.js +++ b/test/unit/test._end-done-with-error.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const Test = require('../../lib/test.js'); const test = new Test(); diff --git a/test/unit/test._end-done.js b/test/unit/test._end-done.js index 996c8d6e..ce974297 100644 --- a/test/unit/test._end-done.js +++ b/test/unit/test._end-done.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const Test = require('../../lib/test.js'); const test = new Test(); diff --git a/test/unit/test._end-not-done-with-error.js b/test/unit/test._end-not-done-with-error.js index f084129d..3abb3b25 100644 --- a/test/unit/test._end-not-done-with-error.js +++ b/test/unit/test._end-not-done-with-error.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const Test = require('../../lib/test.js'); const test = new Test(); diff --git a/test/unit/test._end-not-done.js b/test/unit/test._end-not-done.js index ae2cca1f..e28a6a72 100644 --- a/test/unit/test._end-not-done.js +++ b/test/unit/test._end-not-done.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const Test = require('../../lib/test.js'); const test = new Test(); diff --git a/test/unit/test.constructor.js b/test/unit/test.constructor.js index a77ff06f..d4f2b8db 100644 --- a/test/unit/test.constructor.js +++ b/test/unit/test.constructor.js @@ -1,8 +1,7 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const Test = require('../../lib/test.js'); -const { callerFilepath } = require('@metarhia/common'); const firstTest = new Test('test', { id: 1 }); assert.strictEqual(firstTest.id, 1); diff --git a/test/unit/test.end.js b/test/unit/test.end.js index a67f7f4f..61cca75e 100644 --- a/test/unit/test.end.js +++ b/test/unit/test.end.js @@ -1,8 +1,7 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const Test = require('../../lib/test.js'); -const { emptiness } = require('@metarhia/common'); const test = new Test(); test.on('error', emptiness); diff --git a/test/unit/test.errorer.js b/test/unit/test.errorer.js index 5363f279..4d30e5e2 100644 --- a/test/unit/test.errorer.js +++ b/test/unit/test.errorer.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const Test = require('../../lib/test.js'); const test = new Test(); diff --git a/test/unit/test.success.js b/test/unit/test.success.js index 7bf9cb27..cee37b16 100644 --- a/test/unit/test.success.js +++ b/test/unit/test.success.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const Test = require('../../lib/test.js'); const test = new Test(); diff --git a/types/lib/compare.d.ts b/types/compare.d.ts similarity index 100% rename from types/lib/compare.d.ts rename to types/compare.d.ts diff --git a/types/lib/declarative-test.d.ts b/types/declarative-test.d.ts similarity index 100% rename from types/lib/declarative-test.d.ts rename to types/declarative-test.d.ts diff --git a/types/eslintrc.js b/types/eslintrc.js deleted file mode 100644 index 7f13090f..00000000 --- a/types/eslintrc.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -module.exports = { - parser: '@typescript-eslint/parser', - plugins: ['@typescript-eslint', 'prettier'], - extends: [ - 'eslint:recommended', - 'plugin:@typescript-eslint/eslint-recommended', - 'plugin:@typescript-eslint/recommended', - 'plugin:prettier/recommended', - ], - rules: { - '@typescript-eslint/no-explicit-any': 'off', - '@typescript-eslint/ban-types': 'off', - // This rule doesn't work correctly without a special plugin for TS. - 'import/no-unresolved': 'off', - }, -}; diff --git a/types/lib/imperative-test.d.ts b/types/imperative-test.d.ts similarity index 100% rename from types/lib/imperative-test.d.ts rename to types/imperative-test.d.ts diff --git a/types/lib/report.d.ts b/types/report.d.ts similarity index 100% rename from types/lib/report.d.ts rename to types/report.d.ts diff --git a/types/lib/runner.d.ts b/types/runner.d.ts similarity index 100% rename from types/lib/runner.d.ts rename to types/runner.d.ts diff --git a/types/lib/speed.d.ts b/types/speed.d.ts similarity index 100% rename from types/lib/speed.d.ts rename to types/speed.d.ts diff --git a/types/lib/test.d.ts b/types/test.d.ts similarity index 100% rename from types/lib/test.d.ts rename to types/test.d.ts diff --git a/types/tsconfig.json b/types/tsconfig.json deleted file mode 100644 index c6839930..00000000 --- a/types/tsconfig.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "compilerOptions": { - "target": "ESNext", - "strict": true, - "experimentalDecorators": true, - "noEmit": true, - "baseUrl": ".", - "preserveWatchOutput": true - }, - "include": ["*.d.ts", "lib/**/*.d.ts"] -}