bunを使用するとモジュールが見つからないエラーが発生する

    問題の説明

    bunを使用していると、以下のようなエラーが発生することがあります:

    bash
    Cannot find package 'intlayer' from '/workspace/packages/@intlayer/config/dist/cjs/utils/ESMxCJSHelpers.cjs' undefined
    

    原因

    Intlayerは内部でrequireを使用しています。しかしbunはrequire関数のスコープを@intlayer/configパッケージのみに限定して解決し、プロジェクト全体を対象にしません。

    解決策

    設定でrequire関数を提供する

    ts
    const config: IntlayerConfig = {
      build: {
        require, // require関数を提供
      },
    };
    
    export default config;
    
    next.config.ts
    import { withIntlayer } from "next-intlayer/server";
    
    const configuration = withIntlayer({
      require, // require関数を提供
    });
    
    export default configuration;