nodeがpathを提供している場合は、すべてのサブディレクトリのファイルを検索します.


背景


next.jsはソースマッピングファイルを生成します.
sourcemapファイルのみを含むディレクトリを設定するには:
1.ソースcemapがモニタツールにアップロードされたときに対応するjsファイルのパスを検索する
2.sourcemapファイルの検索
この2つの論理を記述する必要があるため、jsファイルと同じディレクトリで作成するためにsourcemapディレクトリをWebパッケージに設定していません.
したがって、nextアプリケーションでのsourcemapのpageディレクトリ設定に基づいて、サブディレクトリにもsourcemapが表示されます.sourcemapを抽出するには、サブディレクトリにナビゲートする必要があります.

解決する


Google検索の過程で、ディレクトリpathを与えるだけでsurbdirectoryに戻り、ファイル名を見つける論理を見つけて解決することができます.
https://stackoverflow.com/a/54387221
import fs from 'fs';
import path from 'path';

const getAllFiles = dir =>
    fs.readdirSync(dir).reduce((files, file) => {
        const name = path.join(dir, file);
        const isDirectory = fs.statSync(name).isDirectory();
    return isDirectory ? [...files, ...getAllFiles(name)] : [...files, name];
    }, []);