Pessoal, quem está vendo o vídeo em 2024, vão checando a documentação do Adonis com frequência a cada passo que o Matheus dá. O Adonis atualizou e mudou bastante algumas declarações
@alexandre_gaia27 күн бұрын
Excelente, Matheus! Me ajudou a ter uma noção bem bacana de Adonis! Para aqueles que estão encontrando diversos erros durante esse projeto: A nova versão do Adonis mudou bastaaante coisa, aconselho-os a codar com o Matheus mas também com a Documentação do lado!
@wendeldim2 жыл бұрын
Excelente vídeo Matheus, o AdonisJS é incrível, simplifica muito se comparar com o express haha. Uma dica para quem for utilizar o banco de dados MySQL, na migraton para criar o timestamp deve remover as linhas que irá criar o timestamp de cada coluna e deixar somente uma única linha usando o TIMESTAMPS e passando ambos parâmetros como true, exemplo: table.timestamps(true, true)
@ojefersonlucas2 жыл бұрын
Capítulos e Sumários 0:00 - Intro 0:00 - O que é o AdonisJS 5:08 - O que vamos criar? 6:39 - Pré requisitos 7:51 - O que vamos precisar? 8:33 - Instalação de dependências 10:38 - Iniciando o projeto 12:54 - Iniciando os trabalhos com AdonisJS 14:00 - Conhecendo as rotas 14:19 - Criando uma collection no Postman 16:53 - Instalando um BD 19:11 - Configurando o CORS 21:53 - Models 26:12 - Migration 27:54 - Visualizando as migrations 29:05 - Controllers 32:26 - Simplificando rotas 34:03 - Inserindo dados no BD 38:40 - Upload de imagem 45:25 - Buscando todos os registros 47:05 - Buscando por id 49:13 - Removendo registros 51:19 - Atualizando um registro 56:30 - Criando o model Comment 58:10 - Efetuando a relações 1:01:30 - Criando um controller 1:02:55 - Criando o método store 1:08:43 - Exibindo os comentários junto com os momentos 1:10:43 - Finalizando
@MatheusBattisti2 жыл бұрын
valeu Jeferson, coloquei na descrição este tb
@diegolopes3322 жыл бұрын
vlw amigo vc e um amigo
@leandrooliveira5554 Жыл бұрын
Esse cara é fantástico kkkk todas as tecnologias q pesquiso, ele tem video
@humbertoconstantino731 Жыл бұрын
Aula fantástica. Assisti por inteiro.
@paulogimenez749 Жыл бұрын
Muito bom. Como muitos outros alunos (segundo comentários abaixo), fiz primeiro o curso de Angular, e agora assisti a este curso super-rápido de AdonisJS, pra colocar o sistema Moments rodando por completo. Parabéns !!
@victor.kashima2 жыл бұрын
Ótimo curso!! Vim do curso do seu curso de angular e valeu super a pena ter feito a API, apanhei bastante porque usei nomes e diferentes mas no final eu deu certo. Próxima etapa agora fazer o restante da parte do CRUD dos comentários.
@daviteixeira_aqui Жыл бұрын
Ótimo curso professor! Vim do curso de angular fazer a API do zero para entender e aprender mais. Não conhecia o AdonisJS porém ele é bem legal. Um abraço!
@geraldocoelho23923 жыл бұрын
Matheus não conhecia nada sobre AdonisJS. Parabéns por mais essa iniciativa.
@MatheusBattisti3 жыл бұрын
valeu Geraldo!
@raylsonlima24767 ай бұрын
Para quem assim como eu é Junior e tá vindo atrás desse vídeo para ter um primeiro contato com Adonis é importante ver a versão do seu node, porque o vídeo foi gravado na versão 5 do adonis e agora já estamos na 6, o meu aqui só rodou a versão 5 no node 14, eu estava no 18 e atualizei para o 22 e nenhum dos dois funcionaram foi quando percebi que o comando de inicialização tava diferente do da documentação, então indico para quem quiser seguir o passo a passo se atentar a isso e também ir na documentação da versão 5 do adonis.
@KuroManX11 ай бұрын
Muito bom o curso, consegui acompanhar usando o Adonisjs 6, tem algumas mudanças, mas nada que a doc não diga como contornar, acho que o adonis vai ser meu framework padrao para desenvolvimento fullstack, é simples, opinativo ou seja, seu código não vai ficar uma bagunça.
@nilmendes77102 жыл бұрын
Ótima aula! Como sempre didática de ótima qualidade. A respeito sobre implementar frameworks, sim, sou a favor. Obrigado por disponibilizar mais este conteúdo de ótima qualidade.
@MatheusBattisti2 жыл бұрын
obrigado pelo comentário Nil!
@gmartins-dev2 жыл бұрын
@@MatheusBattisti como faço deploy da api?
@jacksonleste Жыл бұрын
Muito bom ,vim do curso de Angular e tenho muito conhecimento back-end, sua didática é muito boa
@devensinar53638 ай бұрын
adonis realmente fez um bom trabalho com esse framework
@iaml29092 жыл бұрын
cara, deu um baita trabalhao pra eu comentar aqui(tinha esquecido a senha KKKK) Mas so pra comentar q tu explica bem demais. Parabens e vlw. Estou fazendo um teste pra uma empresa e nunca havia trabalhado com Adonis, essa aula clareou as ideias hehe..thanks
@erickfraga55313 жыл бұрын
Incrível o AdonisJS estou me aprofundado no Laravel e com certeza a minha stack no futuro sera Laravel e Adonis JS
@mizaelktnazareno3 жыл бұрын
O cara é top, bom trabalho meu mano, sempre tirando as duvidas de API na integra, só peço se não for pedir muito kkk, já aplica o front pro projeto vai ser da hora, abraço.
@MatheusBattisti3 жыл бұрын
vai ter Mizael, já já =D
@cursosdanilo2 жыл бұрын
Parabéns Matheus, seus vídeos são de muita qualidade!! Gostei da arquitetura do Adonisjs! parecido com o angular, com CLI e tudo!!!
@braz57463 жыл бұрын
Adonis é fantástico, tenho usado muito!
@MatheusBattisti3 жыл бұрын
boa Braz!
@renatoknot3 жыл бұрын
Esse é o cara, tô fazendo seu curso de react, top
@MatheusBattisti3 жыл бұрын
valeu Renato!
@funnydeco2 жыл бұрын
Muito boa a aula me ajudou muito, parabéns, estou fazendo o outro curso de angular
@rhuarhamelo54762 жыл бұрын
Não fui adiante, dei uma parada por conta do trabalho. Conseguistes alguma coisa?
@funnydeco2 жыл бұрын
@@rhuarhamelo5476 sim. No curso de Adonis o código tá funcionando igual ao do professor. Agora vou volta pro curso de angular para seguir com o projeto
@alissonsantana48763 жыл бұрын
O vídeo que eu precisava muito obg Matheus!
@MatheusBattisti3 жыл бұрын
de nada Alisson!
@flpagst Жыл бұрын
Meus parabens pelo video, excelente! muito claro, muito bem explicado, parabens!
@savinnsk2 жыл бұрын
Obrigadoooooo manoo!! ta me ajudando a concorrer uma vaga de estagio em backend
@MatheusBattisti2 жыл бұрын
de nada mano =)
@4L3224NDR02 жыл бұрын
Excelente conteúdo! Parabéns
@MatheusBattisti2 жыл бұрын
valeu Alessandro!
@victorfeliciano113 Жыл бұрын
Valeu pelo vídeio! Ajudou bastante, muito organizado
@diegofarias1987 Жыл бұрын
Muito bom. Obrigado pelo ensinamento.
@ronaldsena90782 жыл бұрын
Excelente conteúdo aula maravilhosa
@luiscarvalho57263 жыл бұрын
Muito Show mestre! valeu!
@MatheusBattisti3 жыл бұрын
valeu Luis!
@luiscarvalho57263 жыл бұрын
Seria legal aproveitar e fazer o front com react or next, já que agente está no embalo. De qualquer maneira ficou muito bom, bem explicado, como sempre!! um abraço!
@MatheusBattisti3 жыл бұрын
vou aplicar em Angular primeiramente Luis!
@melanyrodrigues47842 жыл бұрын
Muito obrigado pelas dicas muito bem explicado
@lucasfranca11443 жыл бұрын
estou ansioso pro seu novo curso de react que vai pra udemy.. só Aguardando!
@MatheusBattisti3 жыл бұрын
vai demorar um pouquinho, mas chega ainda para esse primeiro semestre =)
3 жыл бұрын
@@MatheusBattisti Vou fazer!!!
@dinahmartins4876 Жыл бұрын
Olá. Se puder fazer um vídeo configurando o Adonis para os bancos não relacionais, seria muito bom
@vitorhenrique3311 Жыл бұрын
Excelente aula, como eu trataria nos casos de registros não encontrado quando vou fazer operações com ID?
@Manoelps Жыл бұрын
Muito bom o conteúdo, me ajudou a ter um primeiro contato muito bom. Observei que, essa verificação no update não funciona: if (moment.image != body.image || !moment.image) { moment.image SEMPRE vai ser diferente de body.image
@xXGuiCostaXx2 жыл бұрын
otima aula
@MatheusBattisti2 жыл бұрын
valeu Guilherme!
@jeffgrassine3 жыл бұрын
Parabens pelo video, seria legal ver o Font-End com Vuejs
@eliascarvalho86373 жыл бұрын
Valeu pelo ótimo vídeo!
@MatheusBattisti3 жыл бұрын
valeuu Elias!
@alexandremosil3 жыл бұрын
Parabéns Matheus. Excelente aula, como sempre tens feito. Acho interessante ter a implementação do front em React/Next e Vue juntamente com o Angular que você está fazendo por estes dias. Um curso completo de Adonis lá na Udemy também seria legal. Em relação a outras ideias para vídeos e cursos, sugiro: React Native, Ionic e QA/Testes (apresentando os frameworks para cada nível da pirâmide de testes, por exemplo de Jest ao Cypress). Apesar de existirem excelentes opções para publicação de aplicações Javascript como Vercel, Netlify, DO Apps..., acho que um curso ou módulo sobre preparação de hospedagem no GNU/Linux para ecossistema Javascript/Node como você oferece para LAMP no curso existente, também seria interessante (NGinx, PM2...). Enfim, são só sugestões. Forte abraço e 'stay calm and keep teaching' ! 🤓👍
@gamernecessario Жыл бұрын
fora xandão
@joaopedrosassigranado31983 жыл бұрын
Maravilhoso!
@MatheusBattisti3 жыл бұрын
valeu João, agora é aplicar no Angular, em alguns dias começamos =D
@83Danielps3 жыл бұрын
Toma esse like...
@MatheusBattisti3 жыл бұрын
valeu Daniel!
@wmanochio3 жыл бұрын
Valeu por compartilhar conhecimento mais uma vez, Matheus. "Cê" é gente boa. Só uma sugestão: não é a primeira vez hehehehehe que te vejo complicando desnecessariamente o nomear de arquivos de upload 🙂 E esse framework já oferece recurso nativo e simples para evitar a colisão de nomes, então por que não utilizá-lo? 😅 await image.moveToDisk('./') já vai colocar na pasta 'tmp/uploads' (assumindo as configs padrões do framework) e já vai se encarregar de gerar um nome aleatório - que pode ser recuperado com image.fileName logo à seguir ao image.moveToDisk() docs.adonisjs.com/guides/file-uploads#saving-files docs.adonisjs.com/guides/drive#bodyparser-movetodisk De curiosidade, segue como apagar a image antiga no update() - é tão fácil fazer que chega a ser uma heresia não demonstrar 🤣 import Drive from '@ioc:Adonis/Core/Drive' // ... // conteúdo parcial do método upload: const moment = await Moment.find... const image = request.file('image',... if (image) { await image.moveToDisk('./') if (image.fileName) { await Drive.delete(moment.image) moment.image = image.fileName } } moment.title = body.ti... // ... ✌
@ncunha-32 жыл бұрын
fiz conforme dito e nao criou nomes diferentes nao....
@jeferson46513 жыл бұрын
show de bola, só modifiquei a forma de fazer os upload de arquivos, usando o cloudinary!!
@MatheusBattisti3 жыл бұрын
boa!
@paulohenriquebarbosadelima216510 ай бұрын
Pra quem estiver dando esse erro no momento da instalação do lucid para configurar o banco de dados: Error: Package subpath './package.json' is not defined by "exports" in:C:\Users\Paulo\OneDrive\Área de Trabalho\Projetos\adonis ode_modules\@adonisjs\lucid\package.json ⁃ resolveFileName (etc...) ⁃ resolveFrom (etc...) ⁃ module.exports (etc...) tente usar esse comando: npm init adonisjs -- --kit="web" --db="sqlite" ele vai configurar diretamente o projeto com essas especificações, vai apenas pedir o nome do projeto e que tipo de autenticação você ira utilizar. espero que ajude.
@wendelsantos3399 Жыл бұрын
Muito bom.
@moabsantosdefarias38092 жыл бұрын
Muito top
@freitasmt4970 Жыл бұрын
muito bom
@jhenifferortega1148 Жыл бұрын
Muito bomm!!
@ervalsouza66152 жыл бұрын
Quem estiver dando erro ao executar o node ace migration Resolvi instalando o Knex usando o npm i knex e o sqlite3 usando o npm install sqlite3 --save logo pode executar o node ace migration
@rhuarhamelo54762 жыл бұрын
Olá Matheus, gostei muito desse curso, excelente didática. Estou com uma situação e gostaria de saber se tens alguma dica. Não usei o sqllite e sim, o MySQL. Fiz migration com model e controller. Vai tudo bem até que, no controller, coloco as linhas const estado = await Estado.create(body) e dentro do return data: estado, aí dá um problema qdo testo pelo postman, que é o seguinte: "message": "Cannot find module 'app/Models/Estado' Require stack etc. Lá em cima estou importando o Estado ..etc. Se puder ajudar será bem legal. Grato. Abraços.
@lucasmartins66143 жыл бұрын
Quero muito aprender sobre apis
@MatheusBattisti3 жыл бұрын
no meu curso de Node eu crio projetos completos com API tb
@brianronin5052 жыл бұрын
galera pode estudar que eu to venjo esse video justamente porque vi adonis como um dos requisitos na vaga
@ncunha-32 жыл бұрын
Ow @Matheus Battisti, nessa verificação da imagem, se ela é igual a imagem do banco de dados, sempre vai ser diferente não ? porque -> moment.image != body.image ( a imagem que esta salva no banco de dados está com aquele hash do uuid, e a imagem que vem na requisição vai ser a do cliente, e não esta com mesmo uuid.
@mkamelzinou9522 Жыл бұрын
fiz os mesmos passos que você fez no minuto 28:00 de adicionar colunas de (title description e image) mas nao esta refletindo no sqlite, alguma dica oque pode estar faltando?
@DannielCristie2 жыл бұрын
Ola , antes de tudo parabens pela aula, muito boa mesmo. tenho uma duvida, como faço pra uma coluna desse model ser um array. tipo uma coluna que vai se relacionar com outra entidade,manytomany, mas preciso armazenar id das outras entidades.
@brunocosta67032 жыл бұрын
Otima aula. Só gostaria de saber qual config ou extensão usou para list:routes retornar uma tabela. :)
@rosicoimbra96842 жыл бұрын
Bo noite. Sqlite View.
@tayanesoares97232 жыл бұрын
já tem a parte de front?
@felipeandreas3224 Жыл бұрын
Boa tarde, o meu fic aaprecendo isso "message": "insert into `comments` (`created_at`, `moment_id`, `text`, `updated_at`, `username`) values ('2023-06-01 12:21:43', '1', 'Algum comentarioo', '2023-06-01 12:21:43', 'Felipe') - SQLITE_ERROR: table comments has no column named moment_id", "stack": "Error: insert into `comments` (`created_at`, `moment_id`, `text`, `updated_at`, `username`) values ('2023-06-01 12:21:43', '1', 'Algum comentarioo', '2023-06-01 12:21:43', 'Felipe') - SQLITE_ERROR: table comments has no column named moment_id", "code": "SQLITE_ERROR" } o que pode ser?
@123456paulo13 жыл бұрын
faz algo relacionado ao csharp pra nos, uma aula fechada sla, algum curso na udemy, por favor?
@MatheusBattisti3 жыл бұрын
vou anotar a sugestão Paulo, tenho algumas prioridades antes
@123456paulo13 жыл бұрын
@@MatheusBattisti OPA, so pela atenção muito obrigado, sou fans dos seus videos tanto aqui qnt na udemy, otima didatica. Nota 10.
@Trollation Жыл бұрын
meu vs não fica com esse icones, qual a extensão para aparecer estes icones?
@EliandroViana-ty3hl Жыл бұрын
@MatheusBattisti Cara estou pensando em usar o adonis pela sua produtividade...porem gostaria de saber se é possível utilizar o supabase como BD, já que o mesmo também vai ajudar na produtividade e utliza o postgreSQL por debaixo..
@geraldopatriciomelo57152 жыл бұрын
no caso p implementar o swagger com o adonis?
@konoko-o3o2 жыл бұрын
Só uma dúvida, você disse que geralmente o método post é chamado de "store", mas no caso por ele já possuir os métodos esse nome é obrigatoriamente store certo? Eu tentei utilizar um nome mais próximo do que usava em outros projetos de outros frameworks, no caso "post", e mesmo alterando o controller a rota ainda procurava pelo store.
@marcosjesus073 жыл бұрын
Porfavor implementa o frontend para esse projeto.
@MatheusBattisti3 жыл бұрын
vai ter...
@gugusujo2 жыл бұрын
Alguém teve problema na hora de rodar node ace migration:run? Estou tomando um erro Cannot find module '@vscode/sqlite3'
@guardiaoeztelar7662 жыл бұрын
msm coisa aqui, conseguiu resolver?
@fernandofreires47932 жыл бұрын
@@guardiaoeztelar766 Não sei se ja resolveram pra mim primeiro desinstalei o lucid (npm uninstall @adonisjs/lucid) e depois instalei a mesma versão que o matheus usou (npm install @adonisjs/lucid@16.3.2) Tem que ver tambem no package.json se o knex e o sqlite3 ta instalado, se não estiver só instalar com npm
@felipetirafael2 жыл бұрын
@@fernandofreires4793 Pra mim só funcionou assim também, não encontrei o porquê.
@juliorufino7112 Жыл бұрын
existe alguma possibilidade de ensinar a consumir API feita em fastapi? Por favor, please, obséquio> Eu já disse por favor?Ah e por favor
@felipeandreas3224 Жыл бұрын
Nao consigo acessar o sqLite mesmo coma s extrensoes, oq pode ser? fica aparecendo the file is not displayed in the text editor because it is either binary or uses an unsupportes text encoding
@kelvin-hg3gr2 жыл бұрын
na parte do moment.id relacional, não deu certo, não foi criado o moment_id na tabela coments. Provavelmente houve alguma atualização no adonis nesse meio tempo, acredito que table.integer seja table.bigint agora.
@Lucas_S.2 жыл бұрын
consegui solucionar?
@andreray17953 жыл бұрын
opa Matheus, já pensou em colocar um curso de react na udemy?
@MatheusBattisti3 жыл бұрын
oi Andre, é o próximo, já está no forno...
@andreray17953 жыл бұрын
@@MatheusBattisti opa
@joseph54132 жыл бұрын
Mano o node ace list:routes no meu terminal fica todo zuado , você baixou alguma extensão para o seu fica assim ?
@diegovianabr2 жыл бұрын
tem que usar o comando node ace list:routes --table
@R3JHOW19962 жыл бұрын
vai ter o curso de adonis completo?
@luiscarvalho57263 жыл бұрын
Oi, tudo bem? o sqlite consegue manter o teu app moments, quero dizer, teu app vai ter um monte de fotos e comentários, digo, se tiver uns 100 fotos, acho que tu setou em 2mb cada, segura, não vai dar problema. A minha perguntar é porque não sei até onde agente pode usar o sqlite e não o sql por exemplo. Estou fazendo um curso teu na Udemy que tu friza está limitação do sqlite. tem como dar uma luz? lá na Udemy agente está usando o express para o projeto Finder Job.
@MatheusBattisti3 жыл бұрын
fala Luis, realmente foi só pra simplificar, tem que mudar para um banco mais robusto, tipo MySQL, não tem jeito de usar o sqlite em produção..
@luiscarvalho57263 жыл бұрын
@@MatheusBattisti valeu pela resposta!
@dasotec Жыл бұрын
Boa noite Matheus ! Resolvi ir pelo MySQL e deu o seguinte erro: node ace migration:run => Error: Access denied for user 'root'@'localhost' (using password: YES). Pode me ajudar ? o .env está configurado corretamente e já fiz testes. Parece que o Adonis tem alguma trava pra acessar o MySQL. Alguem pode me orientar nisso ? Muito grato.
@prof.esp.leonardoandradeol87122 жыл бұрын
Boa tarde Matheus. Tem alguma formação de Adonis JS que você tenha para oferecer para venda ? Preciso muito. Quero usar o Adonis JS para Backend e React JS como Frontend para desenvolver uma ERP de médio porte. Agurdo seu retorno !!
@eldadebondo74572 жыл бұрын
Parabéns pelo video ... amei ... Só tenho uma pergunta : O que aqui no adonis se escreve "const body=request.body()", esta forma tão simplicada de capturar os registros vindo da requisição, como posso faze-la no laravel ?
@WelitonRibeiro2 жыл бұрын
se n me engano, só fazer "request->all()"
@eldadebondo7457 Жыл бұрын
@@WelitonRibeiro Muito obrigado, velho funcionou.
@leonardomaier2769 Жыл бұрын
O comando -n do "node ace make:model -n" não está mais funcional para criação da migration em conjunto. Tem que utilizar o comando "node ace make:migration Moment" para criar manualmente.
@lucascavalheri7217 Жыл бұрын
É porque na verdade o comando é: "node ace make:model NomeDoModel -m" Precisa ter o nome do Model e a letra m, e não n.
@jacksonleste Жыл бұрын
Tem alguma maneira de eu deixar essa API online de forma gratuita?
@edimirk92 жыл бұрын
olá, vc explicar muito bem, mais sinceramente achei super complicado esse adonis, tem maneira mais simples de gerá uma api, ?
@elciopereira2012 жыл бұрын
sim, com express
@renato75903 жыл бұрын
Teria como criar as migrations com base nas Models automaticamente sem ter que escrever as migrations?
@marcosviniciusdesousasilva64612 жыл бұрын
no meu não rolou o -n ....
@luiz_vidal2 жыл бұрын
AdonisJS + Angular
@TayanPeres2 жыл бұрын
Tem curso de AdonisJs mais aprofundado??
@sergionascimento5365 Жыл бұрын
tem no site do Adonisjs
@HariSpancaVGS2 жыл бұрын
3 minutos de video ja to me sentindo hacker
@MatheusBattisti2 жыл бұрын
com 6 vc vira o Mr Robot
@joao-gd8nc Жыл бұрын
opa galera, to com um problema que to com dificuldade de resolver, na parte de upload de imagem as minhas imageName tão saindo como 'null'. fui ver e a pasta upload não tá sendo criada em tmp, não sei oq fiz errado, corrigi o importe igual o Matheus nao tem uma vírgula de diferença no código serio kkkkk
@KuroManX11 ай бұрын
Não sei se já resolveu, mas no adonis 6 algumas coisas mudam, fiz isso e funcionou if (image?.isValid) { const imageName = `${cuid()}.${image.extname}` await image.move(app.makePath('uploads'), { name: imageName, }) body.image = imageName } ao invez de usar tmpPath eu use makePath que cria uma pasta uploads na raiz do projeto e usei o cuid que é o uuid nativo do adonisjs
@diogenespasqualoto Жыл бұрын
Algoo com VueJS e Adonis...
@outtabubblegum7034 Жыл бұрын
Este video está severamente subestimado.
@XPlayerGamesbr2 жыл бұрын
Para quem esta vendo o video e usando a V5, o erro do make model pode ser corrigido fazendo a configuracao do DB com o seguinte comando node ace configure @adonisjs/lucid
@PauloLucasSilva10 ай бұрын
Eu tentei desenvolver a API mas tive um erro na hora de configurar o lucid. Se alguém descobrir e puder avisar aqui. Agradeço. PS C:\Projetos\ESTUDOS\BACK> node ace configure @adonisjs/lucid Error: Package subpath './package.json' is not defined by "exports" in C:\Projetos\ESTUDOS\BACK ode_modules\@adonisjs\lucid\package.json ⁃ resolveFileName C:/Projetos/ESTUDOS/BACK/node_modules/resolve-from/index.js:29 ⁃ resolveFrom C:/Projetos/ESTUDOS/BACK/node_modules/resolve-from/index.js:43 ⁃ module.exports C:/Projetos/ESTUDOS/BACK/node_modules/resolve-from/index.js:46 Antes disso na hora de instalar o lucid com o comando " npm i @adonisjs/lucid ", havia tido o erro: adonis js lucid Error: Package subpath './package.json' is not defined by "exports" in... Que "resolvi" com o comando " npm i @adonisjs/lucid --force "