typescript - Pakej dalaman Turborepo TANPA Next.js


Saya sedang cuba untuk mencipta pakej dalaman dalam projek turborepo. Pakej kongsi mengikuti tetapan yang sama seperti contoh, dan ia berfungsi seperti sedia ada dalam projek frontend Vite. Walau bagaimanapun, apabila mengimport modul itu ke backend (Nest + SWC), skrip pembangunan gagal Token tidak dijangka 'export'.

Fail main.js yang dibina sedang cuba untuk memerlukan dari pakej perkongsian, tetapi ia hanya fail typescript (seperti dalam contoh). Semua contoh dan isu lain menggunakan Next.js, yang mempunyai pilihan konfigurasi transpilePackages yang melakukan tepat apa yang saya cuba capai. Adakah alternatif kepada transpilePackages yang berfungsi di luar Next.js? (sebaiknya dengan SWC)

Perkara yang telah saya cuba:

  • termasuk pakej bersama dalam tsconfig.json
  • termasukkannya dalam webpack.config.js (menukar corak pengecualian swc-loader untuk memasukkan folder itu dari node_modules)

Terdapat isu yang sangat serupa dengan saya tetapi ia masih belum diselesaikan dan menggunakan Next.js.

Jawapan #1

Mengalami perkara yang sama, mengikuti https://turbo.build/repo/docs/handbook/publishing-packages/bundling dan ia membantu.
Apabila saya cuba melakukan perkara yang sama dengan "build": "tsc" dalam package.json pakej saya, ia tidak berfungsi dengan betul, bertukar kepada "build": "tsup src/index.ts --format cjs,esm --dts" berfungsi dengan lebih baik untuk kedua-dua aplikasi vite dan backend commonjs yang saya ada.

Jawapan #2

Saya menghadapi masalah yang sama. Termasuk pakej dalam sifat "include" di tsconfig.json menyelesaikannya untuk saya. Pastikan sahaja anda tidak mengecualikan keseluruhan folder node_modules.

{
   "compilerOptions": {...},
   "include": ["node_modules/PROJECT"],
   "exclude": ["node_modules(?!/PROJECT\b)(?:/.*)?"]
}