11import fs from "node:fs" ;
22import path from "node:path" ;
3+
34import { Loader } from "cosmiconfig" ;
4- import {
5- afterAll ,
6- afterEach ,
7- beforeAll ,
8- beforeEach ,
9- describe ,
10- expect ,
11- it ,
12- SpyInstance ,
13- vi ,
14- } from "vitest" ;
155import * as tsnode from "ts-node" ;
166
177import { TypeScriptLoader } from "./loader" ;
188import { TypeScriptCompileError } from "./typescript-compile-error" ;
199
20- vi . mock ( "ts-node" , async ( ) => {
21- const actualTsnode = await vi . importActual < typeof import ( "ts-node" ) > (
22- "ts-node"
23- ) ;
24-
25- const writableTsNode : any = { } ;
26- Object . keys ( actualTsnode ) . forEach ( ( key ) =>
27- Object . defineProperty ( writableTsNode , key , {
28- value : ( actualTsnode as any ) [ key ] ,
29- writable : true ,
30- } )
31- ) ;
32-
33- return writableTsNode ;
34- } ) ;
35-
3610describe ( "TypeScriptLoader" , ( ) => {
3711 const fixturesPath = path . resolve ( __dirname , "__fixtures__" ) ;
38- const tsNodeSpy = vi . spyOn ( tsnode , "register" ) ;
12+ const tsNodeSpy = jest . spyOn ( tsnode , "register" ) ;
3913
4014 let loader : Loader ;
4115
@@ -47,10 +21,6 @@ describe("TypeScriptLoader", () => {
4721 loader = TypeScriptLoader ( ) ;
4822 } ) ;
4923
50- afterAll ( ( ) => {
51- vi . restoreAllMocks ( ) ;
52- } ) ;
53-
5424 it ( "should parse a valid TS file" , ( ) => {
5525 const filePath = path . resolve ( fixturesPath , "valid.fixture.ts" ) ;
5626 loader ( filePath , readFixtureContent ( filePath ) ) ;
@@ -72,7 +42,7 @@ describe("TypeScriptLoader", () => {
7242 try {
7343 const filePath = path . resolve ( fixturesPath , "invalid.fixture.ts" ) ;
7444 loader ( filePath , readFixtureContent ( filePath ) ) ;
75- throw new Error (
45+ fail (
7646 "Error should be thrown upon failing to transpile an invalid TS file."
7747 ) ;
7848 } catch ( error : unknown ) {
@@ -83,10 +53,10 @@ describe("TypeScriptLoader", () => {
8353 describe ( "ts-node" , ( ) => {
8454 const unknownError = "Test Error" ;
8555
86- let stub : SpyInstance < [ service : tsnode . Service ] , tsnode . Service > ;
56+ let stub : jest . SpyInstance < tsnode . Service , [ service : tsnode . Service ] > ;
8757
8858 beforeEach ( ( ) => {
89- stub = vi . spyOn ( tsnode , "register" ) . mockImplementation (
59+ stub = jest . spyOn ( tsnode , "register" ) . mockImplementation (
9060 ( ) =>
9161 ( {
9262 compile : ( ) : string => {
@@ -105,7 +75,7 @@ describe("TypeScriptLoader", () => {
10575 it ( "rethrows an error if it is not an instance of Error" , ( ) => {
10676 try {
10777 loader ( "filePath" , "readFixtureContent(filePath)" ) ;
108- throw new Error (
78+ fail (
10979 "Error should be thrown upon failing to transpile an invalid TS file."
11080 ) ;
11181 } catch ( error : unknown ) {
0 commit comments