🃏

csv-parseをimportするとjest実行時にModuleが見つからない問題

2022/07/02に公開

問題

import {parse} from "csv-parse/sync";

以上のようなimportを行うとCannot find module 'csv-parse/sync' from ...が起こる問題

Cannot find module 'csv-stringify/sync' from ...でも同様(というかnode-csvがよくなさそう?)

https://github.com/adaltas/node-csv/issues/309

発現環境

  • "ts-jest": "^27.1.4"
  • "jest": "^27.5.1"
  • "@types/jest": "^27.5.0"
  • "csv-parse": "^5.0.4"
  • "@types/csv-parse": "^1.2.2"
  • "ts-node": "^9.1.1"
  • "@types/node": "^14.18.12"
  • "typescript": "^4.6.3"

解決策

jest.config.jsにMappingを追加する

module.exports = {  
	...
    "moduleNameMapper": {  
        "^csv-parse/sync": '<rootDir>/node_modules/csv-parse/dist/cjs/sync.cjs'  
    },  
}
GitHubで編集を提案

Discussion