1.0.0 • Published 1 year ago

node-esm-import-all v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

node-esm-import-all

An easy way to import all files within a directory.

This library is based on require.all but supports ESM projects.

Note

I am currently only using this library to automatically import all test files for Mocha in it's entry file. If you have other use cases where conversion from require.all doesn't work as expected or if you'd found other bugs, feel free to open an issue.

Usage

import path from 'path'
import * as url from 'url'
import { importAll } from 'node-esm-import-all'

const __dirname = url.fileURLToPath(new URL('.', import.meta.url))

const testFiles = await importAll({
  dirname: path.join(__dirname, '/../src'),
  filter: /spec\.(js|ts|tsx)$/i,
  recursive: true,
})

Configuration Object

dirname required

Directory to import files from.

Example: path.join(__dirname, '/../src')

filter optional

A RegExp to match specific file names or a function which takes the filename as it's argument and returns a new filename or false to ignore the file.

Example 1: /spec\.(js|ts|tsx)$/i

Example 2:

const filter = (filename: string) => {
  if (!filename.endsWith('.spec.ts')) return false;

  return filename;
}

excludeDirs optional

A RegExp to match specific file names that should be ignored.

Example: /spec\.(js|ts|tsx)$/i

recursive optional

Recursive mode. true/false

1.0.0

1 year ago