Skip to content

Commit

Permalink
feat: Use ESM.
Browse files Browse the repository at this point in the history
  • Loading branch information
jaywcjlove committed Oct 5, 2021
1 parent 113e7ec commit 4e6be9c
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 8 deletions.
7 changes: 5 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,24 @@ recursive-readdir-files
===
<!--rehype:style=display: flex; height: 230px; align-items: center; justify-content: center; font-size: 38px; background: #f6f8fa; border: 0; border-radius: 5px;-->

[![Coverage Status](https://jaywcjlove.github.io/recursive-readdir-files/badges.svg)](https://jaywcjlove.github.io/recursive-readdir-files/lcov-report/) [![npm version](https://img.shields.io/npm/v/recursive-readdir-files.svg)](https://www.npmjs.com/package/recursive-readdir-files)
[![Coverage Status](https://jaywcjlove.github.io/recursive-readdir-files/badges.svg)](https://jaywcjlove.github.io/recursive-readdir-files/lcov-report/)
[![npm version](https://img.shields.io/npm/v/recursive-readdir-files.svg)](https://www.npmjs.com/package/recursive-readdir-files)
[![NPM Download](https://img.shields.io/npm/dm/recursive-readdir-files.svg?style=flat)](https://www.npmjs.com/package/recursive-readdir-files)

Node.js module to list all files in a directory or any subdirectories.

## Installation

This package is [ESM only](https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c): Node 12+ is needed to use it and it must be `import` instead of `require`.

```bash
npm install recursive-readdir-files
```

## Usage

```js
const recursiveReaddirFiles = require("recursive-readdir-files");
import recursiveReaddirFiles from 'recursive-readdir-files';

recursiveReaddirFiles(process.cwd(), {
ignored: /\/(node_modules|\.git)/
Expand Down
5 changes: 4 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@
"description": "Node.js module to list all files in a directory or any subdirectories.",
"homepage": "https://jaywcjlove.github.io/recursive-readdir-files/",
"license": "MIT",
"main": "lib/index.js",
"sideEffects": false,
"type": "module",
"exports": "lib/index.js",
"scripts": {
"start": "node lib/index.js",
"watch": "tsbb watch --disable-babel",
Expand All @@ -26,6 +28,7 @@
"recursive-readdir-files",
"files"
],
"node": "^12.20.0 || ^14.13.1 || >=16.0.0",
"devDependencies": {
"tsbb": "3.4.1"
}
Expand Down
9 changes: 8 additions & 1 deletion src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ export default function recursiveReaddirFiles(rootPath: string, options: Recursi
return getFiles(rootPath, options);
}

export { recursiveReaddirFiles };

async function getFiles(rootPath: string, options: RecursiveReaddirFilesOptions = {}, files: IFileDirStat[] = []): Promise<IFileDirStat[]> {
const { ignored, include, exclude } = options;
const filesData = await fs.promises.readdir(rootPath);
Expand Down Expand Up @@ -80,4 +82,9 @@ async function getFiles(rootPath: string, options: RecursiveReaddirFilesOptions
* Get ext
* @param {String} filePath `/a/b.jpg` => `jpg`
*/
export const getExt = (filePath: string) => path.extname(filePath).replace(/^\./, '').toLowerCase();
export const getExt = (filePath: string) => path.extname(filePath).replace(/^\./, '').toLowerCase();

/** CommonJS default export hack */
if (typeof module === 'object' && typeof module.exports === 'object') {
module.exports = Object.assign(module.exports.default, module.exports);
}
10 changes: 6 additions & 4 deletions tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
{
"compilerOptions": {
"module": "commonjs",
"target": "ESNext",
"module": "ES2020",
"moduleResolution": "node",
"esModuleInterop": true,
"declaration": true,
"target": "ES2017",
"noImplicitAny": true,
"resolveJsonModule": true,
"moduleResolution": "node",
"sourceMap": true,
"outDir": "lib",
"baseUrl": "."
},
"include": ["src/**/*"]
"include": [
"src/**/*"
]
}

0 comments on commit 4e6be9c

Please sign in to comment.