Note : Cette réponse ne s'applique que si vous voulez suivre la réponse de Richie Bendall.
Réponse courte :
Évitez d'importer Blob
de 'node:buffer'
.
Au lieu de cela, préférez l'importer de la manière suivante (comme expliqué dans le document Documentation sur NodeJS . (exemple de mise en œuvre ici )) :
import { Blob } from 'buffer';
Longue réponse :
La réponse de Richie Bendall m'a beaucoup aidé. Mais il semble que l'importation Blob
de node:buffer
casse les tests unitaires de Jest, en lançant cette erreur :
FAIL dist/tests/unit/users/getOneById.spec.js
Test suite failed to run
ENOENT: no such file or directory, open 'node:buffer'
2 | import config from '../config/config';
3 | import { getFileExt, getFileName, removeFile } from './file';
> 4 | import { Blob } from 'node:buffer';
| ^
5 |
6 | class PdfHelpers {
7 |
at Runtime.readFile (node_modules/jest-runtime/build/index.js:2118:21)
at Object.<anonymous> (src/helpers/pdf.ts:4:1)
Au lieu d'essayer de se moquer de la node:buffer
avec du code bizarre/tricky, j'ai jeté un coup d'oeil aux exemples de la documentation NodeJS. Ainsi, il est démontré que Blob
peut être importé à partir de 'buffer'
import { Blob } from 'buffer';
// ...
// Only the import is changing, don't change your existing implementation
const blob = new Blob([buf], { type: 'application/pdf' });
Et toutes les erreurs de Jest ont été supprimées !