diff --git a/package-lock.json b/package-lock.json index 86b2349c9..bb969e51a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -769,12 +769,6 @@ "integrity": "sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==", "dev": true }, - "@types/chai": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.0.10.tgz", - "integrity": "sha512-Ejh1AXTY8lm+x91X/yar3G2z4x9RyKwdTVdyyu7Xj3dNB35fMNCnEWqTO9FgS3zjzlRNqk1MruYhgb8yhRN9rA==", - "dev": true - }, "@types/color-name": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", @@ -1098,12 +1092,6 @@ "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", "dev": true }, - "assertion-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.2.tgz", - "integrity": "sha1-E8pRXYYgbaC6xm6DTdOX2HWBCUw=", - "dev": true - }, "astral-regex": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", @@ -1567,20 +1555,6 @@ "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=", "dev": true }, - "chai": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.1.2.tgz", - "integrity": "sha1-D2RYS6ZC8PKs4oBiefTwbKI61zw=", - "dev": true, - "requires": { - "assertion-error": "^1.0.1", - "check-error": "^1.0.1", - "deep-eql": "^3.0.0", - "get-func-name": "^2.0.0", - "pathval": "^1.0.0", - "type-detect": "^4.0.0" - } - }, "chalk": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", @@ -1617,12 +1591,6 @@ } } }, - "check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", - "dev": true - }, "chokidar": { "version": "3.5.1", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", @@ -1952,15 +1920,6 @@ "mimic-response": "^1.0.0" } }, - "deep-eql": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha1-38lARACtHI/gI+faHfHBR8S0RN8=", - "dev": true, - "requires": { - "type-detect": "^4.0.0" - } - }, "deep-extend": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", @@ -2354,12 +2313,6 @@ "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=", "dev": true }, - "get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", - "dev": true - }, "get-stream": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.0.tgz", @@ -3734,12 +3687,6 @@ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true }, - "pathval": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz", - "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=", - "dev": true - }, "picomatch": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", @@ -4624,12 +4571,6 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, - "type-detect": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.5.tgz", - "integrity": "sha512-N9IvkQslUGYGC24RkJk1ba99foK6TkwC2FHAEBlQFBP0RxQZS8ZpJuAZcwiY/w9ZJHFQb1aOXBI60OdxhTrwEQ==", - "dev": true - }, "type-fest": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", diff --git a/package.json b/package.json index 670ce54fe..35887a910 100644 --- a/package.json +++ b/package.json @@ -114,7 +114,6 @@ "@microsoft/api-extractor": "^7.19.4", "@swc/core": ">=1.2.50", "@swc/wasm": ">=1.2.50", - "@types/chai": "^4.0.4", "@types/diff": "^4.0.2", "@types/lodash": "^4.14.151", "@types/node": "13.13.5", @@ -126,7 +125,6 @@ "@yarnpkg/fslib": "^2.4.0", "ava": "^3.15.0", "axios": "^0.21.1", - "chai": "^4.0.1", "dprint": "^0.25.0", "expect": "^27.0.2", "get-stream": "^6.0.0", diff --git a/src/test/register.spec.ts b/src/test/register.spec.ts index 7421e567d..721e6d032 100644 --- a/src/test/register.spec.ts +++ b/src/test/register.spec.ts @@ -6,8 +6,7 @@ import { TEST_DIR, tsNodeTypes, } from './helpers'; -import { context } from './testlib'; -import { expect } from 'chai'; +import { context, expect } from './testlib'; import * as exp from 'expect'; import { join, resolve } from 'path'; import proxyquire = require('proxyquire'); @@ -74,7 +73,7 @@ test.suite('register(create(options))', (test) => { }) => { const m = require(moduleTestPath); - expect(m.example('foo')).to.equal('FOO'); + expect(m.example('foo')).toBe('FOO'); }); test('should support dynamically disabling', ({ @@ -82,29 +81,29 @@ test.suite('register(create(options))', (test) => { }) => { delete require.cache[moduleTestPath]; - expect(service.enabled(false)).to.equal(false); - expect(() => require(moduleTestPath)).to.throw(/Unexpected token/); + expect(service.enabled(false)).toBe(false); + expect(() => require(moduleTestPath)).toThrow(/Unexpected token/); delete require.cache[moduleTestPath]; - expect(service.enabled()).to.equal(false); - expect(() => require(moduleTestPath)).to.throw(/Unexpected token/); + expect(service.enabled()).toBe(false); + expect(() => require(moduleTestPath)).toThrow(/Unexpected token/); delete require.cache[moduleTestPath]; - expect(service.enabled(true)).to.equal(true); - expect(() => require(moduleTestPath)).to.not.throw(); + expect(service.enabled(true)).toBe(true); + expect(() => require(moduleTestPath)).not.toThrow(); delete require.cache[moduleTestPath]; - expect(service.enabled()).to.equal(true); - expect(() => require(moduleTestPath)).to.not.throw(); + expect(service.enabled()).toBe(true); + expect(() => require(moduleTestPath)).not.toThrow(); }); test('should compile through js and ts', () => { const m = require('../../tests/complex'); - expect(m.example()).to.equal('example'); + expect(m.example()).toBe('example'); }); test('should work with proxyquire', () => { @@ -112,13 +111,13 @@ test.suite('register(create(options))', (test) => { './example': 'hello', }); - expect(m.example()).to.equal('hello'); + expect(m.example()).toBe('hello'); }); test('should work with `require.cache`', () => { const { example1, example2 } = require('../../tests/require-cache'); - expect(example1).to.not.equal(example2); + expect(example1).not.toBe(example2); }); test('should use source maps', async () => { @@ -155,10 +154,10 @@ test.suite('register(create(options))', (test) => { try { require('../../tests/with-jsx.tsx'); } catch (error: any) { - expect(error.stack).to.contain('SyntaxError: Unexpected token'); + expect(error.stack).toMatch('SyntaxError: Unexpected token'); } - expect(compiled).to.match(SOURCE_MAP_REGEXP); + expect(compiled).toMatch(SOURCE_MAP_REGEXP); }); }); }); @@ -190,18 +189,18 @@ test('should support compiler scopes w/multiple registered compiler services at }); try { - expect(require('../../tests/scope/a').ext).to.equal('.ts'); - expect(require('../../tests/scope/b').ext).to.equal('.ts'); + expect(require('../../tests/scope/a').ext).toBe('.ts'); + expect(require('../../tests/scope/b').ext).toBe('.ts'); } finally { compilers.forEach((c) => c.enabled(false)); } - expect(calls).to.deep.equal([ + expect(calls).toEqual([ join(TEST_DIR, 'scope/a/index.ts'), join(TEST_DIR, 'scope/b/index.ts'), ]); delete require.cache[moduleTestPath]; - expect(() => require(moduleTestPath)).to.throw(); + expect(() => require(moduleTestPath)).toThrow(); }); diff --git a/src/test/repl/node-repl-tla.ts b/src/test/repl/node-repl-tla.ts index e8413ef85..2f30a06f2 100644 --- a/src/test/repl/node-repl-tla.ts +++ b/src/test/repl/node-repl-tla.ts @@ -1,4 +1,4 @@ -import { expect } from 'chai'; +import { expect } from '../testlib'; import type { Key } from 'readline'; import { Stream } from 'stream'; import semver = require('semver'); @@ -246,12 +246,12 @@ export async function upstreamTopLevelAwaitTests({ if (Array.isArray(expected)) { if (expected.length === 1) expected.push('undefined'); if (lines[0] === input) lines.shift(); - expect(lines).to.eqls([...expected, PROMPT]); + expect(lines).toEqual([...expected, PROMPT]); } else if ('line' in options) { - expect(lines[toBeRun.length + options.line!]).to.eqls(expected); + expect(lines[toBeRun.length + options.line!]).toEqual(expected); } else { const echoed = toBeRun.map((a, i) => `${i > 0 ? '... ' : ''}${a}\r`); - expect(lines).to.eqls([...echoed, expected, PROMPT]); + expect(lines).toEqual([...echoed, expected, PROMPT]); } } }