-
-
Notifications
You must be signed in to change notification settings - Fork 88
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: adiciona uma Interface de Linha de Comando (CLI) para criar novos conceitos #112
base: main
Are you sure you want to change the base?
Conversation
* upstream/main: (25 commits) style: Compilando o arquivo sass para css refactor: atualizando arquivo script.js com nome novo da imagem refactor: mudando o nome da imagem de resultados não encontrados fix: Update assets/js/script.js Remove duplicate Mobile First term and rewrite him style: corrigindo a grafia do flex-direction: column style: configurando estilo para a mensagem de erro refactor: modificando a mensagem de erro refactor: script.js atualizado incluindo mensagem de termo não encontrado docs: Mudança do screenshot do README.md adicionando novos termos técnicos ao diciotech Melhorando conceitos de React, componentes e propriedades fix: removendo duplicados style: beautify json feat: adiciona termo/conceito 'cache' Add React, componentes e propriedades feat: removido tag 'back-end' do termo jQuery feat: add novos termos bugfix: ajuste na tag duplicada backend chore: adicionado variáveis com várias tonalidades da cor primária roxa ...
✅ Deploy Preview for diciotech ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
Fiz algumas modificações gerais. Substitui o Enquirer pelo Clack, achei que ficou bem melhor a usabilidade e a CLI em si. O que acha ? Agora eu criei um arquivo na raiz do projeto chamado "code" que é para colocar trechos de código caso haja, ali você já coloca de forma recuada e depois em conjunto com a issue #113 já irá aparecer o código formatado no card. No terminal não tem como escrever de forma recuada, teria que ser na mesma linha e dando espaçamento e quebra de linha manualmente, dessa forma acho que é mais simples e não atrapalha a CLI, visto que grande maioria dos conceitos não tem código. Parte 1parte1.mp4Parte 2parte2.mp4Ops: removi o assignment sem querer. |
… alterado a seção de adicionar um novo termo técnico
@rwietter isso ficou SENSACIONAL! Sério! 🥹 Vou tirar um tempo para revisar tudo e testar na minha máquina para ver como está fluindo. Apesar disso, como não sou nenhuma expert em usabilidade, acho que o ideal vai ser abrir para a comunidade testar, e se tivermos sugestões e melhorias vamos implementando aos poucos! |
Tem alguma forma de adicionar uma nova tag usando a CLI? Ou pra isso ainda é necessário editar o arquivo manualmente? E acho que seria legal na CLI também ter a possibilidade de editar um termo existente. Imagina o seguinte caso: acabei de adicionar um termo, mas esqueci de adicionar uma tag por exemplo, ou pensei melhor e quero fazer uma mudança na definição. |
Em relação a tag, não há opção para adicionar uma nova, pois o documento de contribuição (CONTRIBUTING) estabelece que a adição de uma tag requer a abertura de uma solicitação de alteração para que a comunidade possa avaliar a relevância da tag em questão e verificar se é justificada, evitando assim a criação de confusão e desordem. Quanto às funcionalidades de edição ou exclusão de termos a partir da interface de linha de comando, eu acredito que é uma ideia meritória que pode ser implementada. |
Olá, pessoal 🚀 Testei a CLI no Windows aqui e curti DEMAIS! Seguem os prints dos testes: O único ponto que tenho é que quando fui selecionar a tag, a seleção estava meio bugada, mas não sei se é o meu terminal específicamente: // @rwietter |
Muito bom! @levxyca, a questão levantada refere-se à seleção da tag, certo? Adicionei recentemente uma documentação à CLI, que elucida o procedimento. Para a seleção das tags, tente utilizar a tecla |
@rwietter exatamente! o problema está relacionado a isso, eu consigo selecionar sim, o problema está no retorno visual, como no print, quando tento ir passando pelas tags pra selecionar, ele fica estranho, como se tivesse com várias selecionadas e isso dificulta entender qual eu estou de fato selecionando até que eu aperte space e descubra. |
Descrição
A principal adição deste PR é a funcionalidade de CLI. Com isso, os contribuidores também podem criar novos termos no projeto "diciotech" através da interface de linha de comando, executando o um comando de sua preferência
npm run new
,yarn new
oupnpm new
.Note
Na issue #100, eu tinha comentado sobre usar apenas módulos nativos do Node, como o
readline
, mas como o projeto tende a crescer, resolvi usar a lib de CLI Clack. Após fazer build uma vez com webpack, basta executar com Node da mesma forma. Inclui o bundle final junto a este PR, para quem for contribuir não precisar instalar dependências e fazer build para executar.Na primeira etapa, configuramos o ambiente do projeto, incluindo a definição de dependências essenciais e a criação de scripts para compilar e executar a aplicação. Para gerenciar essas dependências e garantir a organização do projeto.
Além disso, introduzimos o arquivo de configuração "tsconfig.json" para tornar o projeto compatível com TypeScript. Isso oferece a vantagem de tipagem estática e detecção de potenciais problemas durante a compilação.
Para otimizar a organização e o empacotamento de ativos do projeto, adicionamos o Webpack, um bundler de módulos. Isso é essencial para gerenciar as dependências e criar bundles eficientes.
Warning
Gostaria de ajuda para testar em outros Sistemas Operacionais como Windows e Mac, afim de encontrar problemas se houver, pois testei apenas no Arch Linux.
Fixes #100
Tipo de mudança
Como isso foi testado?
Para executar a CLI, basta fazer fetch deste pr, ter o node>=18.17.1 instalado e executar com
yarn run new
ounpm run new
oupnpm run new
. Executei os testes no Wezterm, e no terminal integrado do Vscode com o comandonpm run new
.Configuração de Testes:
Checklist:
Screenshots
Executando a CLI
Criando novo conceito
Arquivo de dados