Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

ts-jest-resolver

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ts-jest-resolver

A resolver for `jest` that uses same strategy as TS when resolving files with JavaScript extension (".js").

  • 2.0.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
34K
decreased by-14.98%
Maintainers
1
Weekly downloads
 
Created
Source

ts-jest-resolver

Build Status License

A resolver for jest that uses the same strategy as TS when resolving files with JavaScript extensions (".js", ".jsx", ".cjs" and ".mjs"). It works pretty well with ts-jest or babel with @babel/preset-typescript.

  • 📦 Distributions in ESM and CommonJS.
    • Supports both Node.js ESM (import/export) and CommonJS (require/module.exports).
  • ⚡ Lightweight:
    • It's bundled using rollup.js.
  • 🔋 Bateries included:
    • It just depends on jest-resolver types.
  • ✅ Safe:

Usage

This library is published in the NPM registry and can be installed using any compatible package manager.

npm install ts-jest-resolver --save

# For Yarn, use the command below.
yarn add ts-jest-resolver

After installation, you can set "ts-jest-resolver" as jest's resolver.

// jest.config.js

module.exports = {
  preset: "ts-jest",
  resolver: "ts-jest-resolver",
};

How it works

It changes module's extension to resolve in the same way as TypeScript.

How it works with ".js" and ".jsx" extensions

When importing from path with JavaScript extension (".js" or ".jsx"):

import EventEmitter from './EventEmitter.js';
  1. It tries to resolve to a path with ".tsx";

    import EventEmitter from './EventEmitter.tsx';
    
  2. If no file was found, it tries to resolve to a path with ".ts";

    import EventEmitter from './EventEmitter.ts';
    
  3. If no file was found, it resolves to original path (with ".js" or ".jsx").

    import EventEmitter from './EventEmitter.js';
    

How it works with ".mjs" and ".cjs" extensions

When importing from path with ES or CommonJS modules (".mjs" and ".cjs" respectively):

Ex.

import parse, { Tokenizer } from './parser.mjs'
import { discoverPath } from './getFiles.cjs';
  1. It tries to resolve to paths with ".mts" and ".cts".

    Ex.

    import parse, { Tokenizer } from './parser.mts'
    import { discoverPath } from './getFiles.cts';
    
  2. If no files were found, it resolves to original paths (with ".mjs" and ".cjs").

    Ex.

    import parse, { Tokenizer } from './parser.mjs'
    import { discoverPath } from './getFiles.cjs';
    

License

Released under MIT License.

Keywords

FAQs

Package last updated on 20 Mar 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc