Bom, estou usando ubuntu e inicialmente ao dar o comando "node ./server.js" comecei a ter o seguinte erro "SyntaxError: Cannot use import statement outside a module", que pode sinal já foi solucionado aqui neste post.
Bom, basicamente o que eu tive que fazer foi ir no arquivo packge.json e acrescentar a linha "type": "module" e assim o comando "node ./server.js" passou a funcionar normalmente.
Até aí estava tudo bem, mas quando cheguei na aula "Evitando erros com TypeScript rigoroso" e tive que dar o comando "npm start" me veio o seguinte erro:
17:19:46 - Starting compilation in watch mode...
17:19:49 - Found 0 errors. Watching for file changes.
file:///home/michel/Documentos/PROGRAMACAO/alura/formacao-nest-js/curso_01/typescript-para-backend/build/server.js:5
Object.defineProperty(exports, "__esModule", { value: true });
^
ReferenceError: exports is not defined in ES module scope
This file is being treated as an ES module because it has a '.js' file extension and '/home/michel/Documentos/PROGRAMACAO/alura/formacao-nest-js/curso_01/typescript-para-backend/package.json' contains "type": "module". To treat it as a CommonJS script, rename it to use the '.cjs' file extension.
at file:///home/michel/Documentos/PROGRAMACAO/alura/formacao-nest-js/curso_01/typescript-para-backend/build/server.js:5:23
at ModuleJob.run (node:internal/modules/esm/module_job:218:25)
at async ModuleLoader.import (node:internal/modules/esm/loader:329:24)
at async loadESM (node:internal/process/esm_loader:34:7)
at async handleMainPromise (node:internal/modules/run_main:113:12)
Node.js v20.10.0
Eu resolvi isso simplesmente voltando no arquivo package.json e retirando a linha que eu tinha acabado de acrescentar ("type": "module").
Então eu gostaria de entender quando de fato preciso ou não dessa linha no arquivo, até porque depois da compilação eu vi que nos arquivos gerados ele acrescentou algo que não entendi muito bem, mas que me parece que tem a ver com essa linha em questão, como: "__esModule", { value: true }
desde já agradeço a ajuda.