setup-project
dev
db
psql -U devuser -d botdb # devuser / 123456mudar
SELECT COUNT(*) FROM strategies;
cd ~/dev/nextjs/qb-monorepo/apps/bot
./scripts/reset-db.sh # resetar o BD
./scripts/restore-db.sh # restaurar versão inicial do dump versionado
package.json
Resumo da Sintaxe de Versões no package.json
No package.json, as versões das dependências usam semântica de versionamento (semver). Exemplos das dependências atuais:
^0.3.0(caret): Permite atualizações automáticas para versões patch (ex.:0.3.1a0.3.99) e minor (ex.:0.4.0a0.9.99), mas não para major (ex.:1.0.0+). Garante compatibilidade, mas pode causar conflitos inesperados.^0.2.0e^17.2.0: Mesmo comportamento, ajustado para a versão base.- Para fixar uma versão exata (sem atualizações automáticas), use sem símbolos:
"@langchain/core": "0.3.75".
Isso ajuda a controlar atualizações via pnpm install ou pnpm update.
No projeto playground, o package.json tem "type": "module", o que indica que está usando módulos ES (ESM) no Node.js.
Em módulos ES, as importações relativas (como ../utils/helpers) precisam incluir a extensão do arquivo (por exemplo, .js) para que o Node.js possa resolver o módulo corretamente. Sem a extensão, o Node.js não consegue localizar o arquivo, resultando no erro ERR_MODULE_NOT_FOUND.
Isso é uma diferença em relação aos módulos CommonJS, onde as extensões não são obrigatórias. Se você remover "type": "module" do package.json, as importações funcionariam sem a extensão, mas isso mudaria o comportamento para CommonJS.
CommonJS é um padrão mais antigo para módulos no Node.js. Ele foi introduzido em 2009 como uma solução para modularizar código JavaScript no lado do servidor, antes da padronização oficial dos módulos ES (ESM) no ECMAScript 2015 (ES6).
- CommonJS: Usa
require()emodule.exportspara importar/exportar módulos. É o padrão padrão no Node.js para arquivos.jssem"type": "module"no package.json. - ESM (ES Modules): É o padrão mais novo e moderno, usando
importeexport. Ele requer"type": "module"no package.json ou arquivos.mjs, e é recomendado para projetos novos devido à melhor compatibilidade com ferramentas modernas e o ecossistema JavaScript.
Se você quiser migrar de CommonJS para ESM, pode adicionar "type": "module" ao package.json e ajustar as importações (adicionando extensões como .js), mas isso pode exigir mudanças no código. Para mais detalhes, consulte a documentação oficial do Node.js sobre módulos.
pnpm
Comandos Principais do pnpm para Gerenciar Dependências
Instalar dependências do package.json:
pnpm install
Verificar versão mais recente disponível no registro:
pnpm info <pacote> version
Exemplo: pnpm info @langchain/core version → 0.3.75
Listar versões instaladas no projeto:
pnpm list
Ou para um pacote específico: pnpm list @langchain/core
Atualizar dependências para versões compatíveis:
pnpm update
Adicionar nova dependência:
pnpm add <pacote>@<versão>
Exemplo: pnpm add @langchain/core@^0.3.0
Remover dependência:
pnpm remove <pacote>
Esses comandos são essenciais para manutenção. Use pnpm --help para mais opções. Para documentação completa, consulte pnpm.io.