Socket
Socket
Sign inDemoInstall

rechoir

Package Overview
Dependencies
10
Maintainers
3
Versions
13
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    rechoir

Prepare a node environment to require files with different extensions.


Version published
Weekly downloads
13M
decreased by-18.99%
Maintainers
3
Install size
179 kB
Created
Weekly downloads
 

Package description

What is rechoir?

The rechoir npm package is used to automatically load the appropriate module to handle a given file extension. It allows a project to require files with different extensions and have them preprocessed using the correct handler before being used. This is particularly useful when working with various transpilers or preprocessors in a Node.js environment.

What are rechoir's main functionalities?

Registering preprocessors for file extensions

This feature allows you to register preprocessors for specific file extensions. In the code sample, rechoir is used to prepare handling of '.ts' and '.coffee' files before requiring them.

require('rechoir').prepare({extensions: ['.ts', '.coffee']}, 'path/to/file.ts');

Other packages similar to rechoir

Changelog

Source

0.8.0 (2021-07-24)

⚠ BREAKING CHANGES

  • Normalize repository, dropping node <10.13 support (#40)

Miscellaneous Chores

  • Normalize repository, dropping node <10.13 support (#40) (00f5968)

Readme

Source

rechoir

NPM version Downloads Build Status Coveralls Status

Prepare a node environment to require files with different extensions.

What is it?

This module, in conjunction with interpret-like objects, can register any filetype the npm ecosystem has a module loader for. This library is a dependency of liftoff.

Note: While rechoir will automatically load and register transpilers like coffee-script, you must provide a local installation. The transpilers are not bundled with this module.

Usage

const config = require('interpret').extensions;
const rechoir = require('rechoir');
rechoir.prepare(config, './test/fixtures/test.coffee');
rechoir.prepare(config, './test/fixtures/test.csv');
rechoir.prepare(config, './test/fixtures/test.toml');

console.log(require('./test/fixtures/test.coffee'));
console.log(require('./test/fixtures/test.csv'));
console.log(require('./test/fixtures/test.toml'));

API

prepare(config, filepath, [cwd], [noThrow])

Look for a module loader associated with the provided file and attempt require it. If necessary, run any setup required to inject it into require.extensions.

config An interpret-like configuration object.

filepath A file whose type you'd like to register a module loader for.

cwd An optional path to start searching for the module required to load the requested file. Defaults to the directory of filepath.

noThrow An optional boolean indicating if the method should avoid throwing.

If calling this method is successful (e.g. it doesn't throw), you can now require files of the type you requested natively.

An error with a failures property will be thrown if the module loader(s) configured for a given extension cannot be registered.

If a loader is already registered, this will simply return true.

License

MIT

Keywords

FAQs

Last updated on 24 Jul 2021

Did you know?

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc