Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Parou de funcionar.

Após fazer o passo a passo, criar o packages.json e adicionar o "type": "module",, exportar e importar as funções, ao executar node src/cli.js arquivos/texto-web.txt não aparece nada, já indo pelo "caminho infeliz" retorna o erro.

./src/index.js

export function contaPalavras(texto) {
  const paragrafos = extraiParagrafos(texto)
  const contagem = paragrafos.flatMap((paragrafo) => {
    if (!paragrafo) return  [];
    return verificaPalavrasDuplicadas(paragrafo);
  })
  console.log(contagem);
}

function extraiParagrafos(texto) {
  return paragrafos = texto.toLowerCase().split('\n');
}

function limpaPalavras(palavra) {
  return palavra.replace(/[.,\/#!$%\^&\*;:{}=\-_`~()]/g, '' );
}

function verificaPalavrasDuplicadas(texto) {
  const listaPalavras = texto.split(' ');
  const resultado = {};
  listaPalavras.forEach((palavra) => {
    if (palavra.length >= 3 ) {
      const palavraLimpa = limpaPalavras(palavra);
      resultado[palavraLimpa] = (resultado[palavraLimpa] || 0) + 1
    }
  })
  return resultado;
}

./src/cli.js

import fs from 'fs';
import trataErros from './erros/funcoesErro.js';
import { contaPalavras } from './index.js'

const caminhoArquivo = process.argv;
const link = caminhoArquivo[2];

fs.readFile(link, 'utf-8', (erro, texto) => {
  try {
    if (erro) throw erro
    contaPalavras(texto);
  } catch(erro) {
    trataErros(erro);
  }
})

./src/erros/funcoesErro.js

export default function trataErros(erro) {
  if (erro.code === 'ENOENT') {
    throw new Error('Arquivo não encontrado');
  } else {
    return 'Erro na aplicação';
  }
}

./package.json

{
  "name": "nodejs-lib",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "type": "module",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}

Insira aqui a descrição dessa imagem para ajudar na acessibilidade Insira aqui a descrição dessa imagem para ajudar na acessibilidade https://github.com/daviomce/06---JavaScript-com-NodeJS---Criando--1a-Biblioteca

1 resposta
solução!

Identifiquei onde está o erro.

No arquivo index.js linha 11:

8 }
9 
10 function extraiParagrafos(texto) {
11  return paragrafo =  texto.toLowerCase().split('\n');
12 }

Não havia feito a alteração correta, esqueci de remover "paragrafo ="

o correto é : return = texto.toLowerCase().split('\n');

8 }
9 
10 function extraiParagrafos(texto) {
11  return texto.toLowerCase().split('\n');
12 }