Skip to content

Releases: MauMuller/valisk

v1.0.6

02 Mar 13:57
fbe7c1d
Compare
Choose a tag to compare

V-CHECK + Melhorias na documentação + Renomeação das tipagens

Nessa versão, que aliás, passou voando, foi incrementado features ao mesmo tempo que arrumado alguns bugs da versão anterior, é por conta disso, foi realizado com pressa a nova versão.

Enredo

Em relação aos bugs anteriores, temos o ajuste definitivo do useValiskContext e o ValiskProvider, além de renomeação dos tipos, removendo redundâncias e facilitando na busca.

Já para as features temos o inserção da propriedade _="v-check" e adição de sessão na documentação.

Atualizações

Abaixo terá a lista de atualizações de forma mais específica, tratando alguns motivos para as novas features ou bugfix.

Lista de Atualizações

  • Renomeação dos tipos

    Foi preciso renomear os tipos para reduzir as redundâncias e melhorar a busca pelos mesmos dentro da lib.

  • v-check:

    Essa funcionalidade estão completamente explicada no README, ela serve para mostrar quais elementos da página possuem o método _masks, facilitando o entendimento dos possiveis erros que podem acontecer caso seja colocado o método em algum elemento diferente de um input.

Bugs Corrigidos

  • useValiskContext & ValiskProvider

    Antes, esses hooks não estavam funcionando, isso porque houveram algumas configurações necessárias para o build do aplicação, deixando o React como dependência e utilizando de forma concreta as funcionalidades da lib, como é caso do useContext.
    Após realizar a configuração foi definido uma padronização, ou seja, colocando tudo no mesmo arquivo e exportado com seus nomes. Isso facilitou até a organização do próprio código.
    Sendo assim, os métodos estão estáveis.

Considerações Finais

Assim como comentado anteriormente, essa versão veio com a ideia de arrumar alguns bugs e facilitar a previsão dos mesmos, por conta disso, não foi desenvolvida nenhuma funcionalidade a mais dentro do useValisk.

As próximas versão deverão ser analisadas e testadas, então, fique de olho nas issues que isso com certeza são criadas em breve.

Commits feitos nessa versão


  • feee2864056ca76e5866545052801fe7c50f6176

    Author: MauMuller 82516932+MauMuller@users.noreply.github.com

    Date: Thu Mar 2 10:06:43 2023 -0300

    Message: 📝 (readme & imgs_readme): Incremento de ilustração e criação de uma pasta para imagens

    Resolvi criar uma pasta com todas as imagens que pretendo utilizar na documentação daqui em diante, facilitando até a busca. Além disso, incrementei uma imagem ilustativa na sessão v-check para mostrar qual é o erro que irá aparecer caso haja um problema.


  • 638c43dc1a453b488021d160568f2e8317378c0e

    Author: MauMuller 82516932+MauMuller@users.noreply.github.com

    Date: Thu Mar 2 10:04:19 2023 -0300

    Message: 🚚 (Tipos & ConfigEntryProps): Renomeação dos tipos e propriedades do useConfigEntry

    Realizei a altração dos nomes dos tipos para facilitar ainda mais, removendo a redundancia 'type' de todos os tipos, além de trocar os 'entry' por 'props' para facilitar a utilização



  • 63d5c18ef86aa2302453cd59c4e4d992f9b23d70

    Author: MauMuller 82516932+MauMuller@users.noreply.github.com

    Date: Wed Mar 1 15:41:38 2023 -0300

    Message: 📝 (readme): sessão de erros + v-check

    Dentro do useValisk foi adicionado uma funcionalidade que insere uma propriedade no elemento que o _masks(...) é inserido, isso devido a identificação de erros relacionados a esse método. Agora, caso algum elemento que não seja um input receber a função _masks(...), irá gerar um uma mensagem de erro no console informando qual é o tipo de elemento e o seu valor, além de encaminhar uma possivel solução logo abaixo.\n\nV-check apenas serve para identificar dentro da página quais são os elementos que possuem uma máscara e caso algum não seja um input, mostrar no console.\n\nAlém disso, também foi adicionado duas novas sessões dentro do readme, a primeira sobre v-check, como toda explicação acima. E a segunda com 'Erros comuns', para deixar mais fácil a descoberta de erros casos aconteça tenha uma possivel solução.\n\nPor fim, ainda foi adicionado mais um exemplo nos casos de uso, agora com a lib MUI, mostrando como fazer para usar a máscara nesse componente disponibilizado.


  • f59af5da163a6e267dc986a824fb4426dff90bca

    Author: MauMuller 82516932+MauMuller@users.noreply.github.com

    Date: Wed Mar 1 15:34:46 2023 -0300

    Message: ♻️ (useValiskContext - hook): Foi preciso realizar vários testes e mudanças na estrutura de arquivo para esse hook

    Após diversos testes, percebi que o useValiskContext não estava funcionando corretamente, e por conta disso, precisei refatorar a estrutura de pastas e arquivos do hook, porém, já está estável novamente






v1.0.5

27 Feb 12:44
fe0033d
Compare
Choose a tag to compare

Novas Features + Incremento de tipos

Nessa versão temos a inclusão de novas funcionalidades para a biblioteca, sendo essas, completamente auxiliares para abrangir a maior parte de estrutura de dados possíveis, além de diversas combinações para os componentes.

Atualizações

De novas features temos useConfigEntry, useValiskContext e ValiskProvider todos com suas tripagens disponíveis para serem utilizadas, além de melhorar o nome das antigas que já podiam ser utilizadas.

Lista de Atualizações

Todas funcionalidades estão disponíveis no README como forma de API Referencia.

  • useConfigEntry

Funcionalidade que serve como auxiliar do useValisk, com ela é possível criar uma estrutura diferente do que é pedido para o campos dentro do hook principal, isso acontece porque caso você prefira deixar todos os dados separados dos componentes, você irá criar dados para referenciar as props que o campo pede, ou seja, seria necessário informar campos que possuem máscara assim como campos que podem não ter, coisa que não funciona com o método useValisk, por isso que o useConfigEntry funciona também nesse caso, ele irá fazer uma conversão de dados para que o hook principal entenda e aceite os dados.

  • useValiskContext:

Essa função, assim como a anterior, também serve para ampliar os casos de uso do useValisk, porém, dessa vez, ele funciona em forma de contexto, ou seja, é possível utilizar os métodos do useValisk de forma global mesmo entre componentes, apenas necessitando do componente ValiskProvider para passar os dados.

  • ValiskProvider:

Usado em conjunto com o hook anterior, esse que irá ceder os dados para serem consumidos, e para seu uso, basta envolver dos componentes dentro do mesmo, passando um valor, nesse caso, os métodos do useValisk.

Bugs Corrigidos

Para essa versão, a maioria dos "bugs" foram na versão relacionados a documentação, na qual está no processo de atualização constante das novas features lançadas.

Além disso, foi trocado o nome das tipagens para facilitar o uso e encontrar de maneira mais rápida qual será a necessária.

Considerações Finais

Para essa versão, o foco foi exclusivamente para a maneira de uso da lib, porém, nas próximas, serão incrementados novos tipos de máscaras, além de aumentar ainda mais a personalização.

Commits feitos nessa versão


  • 1a59bf78cc4bfff3496b53396249811524811849

    Author: MauMuller 82516932+MauMuller@users.noreply.github.com
    Date: Fri Feb 24 15:37:04 2023 -0300
    Message: 🔨 (generateRelease.ts & release.md): Refatoração do gerador de commits + release melhorada

    Precisei refatorar o código que havia feito com o generateRelease, agora usando async await com incremento de todos os commit feitos na versão atualizada, mostrando o link, commit, autor, data e mensagem realizada no commit, facilitando a maneira de localizar cada uma das features caso seja necessário


  • 2ba087d0be986fc6f5262a7d4e4c8a49de8b0de7

    Author: MauMuller 82516932+MauMuller@users.noreply.github.com
    Date: Thu Feb 23 17:33:34 2023 -0300
    Message: ✨ (useValiskContext & ValiskProvider): Adição de contexto para os componentes da lib

    Foi incrementado duas funcionalidades novas, elas são usadas em conjunto, algo parecido com a funcionalidade de contexto do react-hook-form. Ela servirá para reutilização de métodos através de componentes, ou seja, é possivel trabalhar com os dados em arquivos separados e reutilizar esses métodos da biblioteca para atráves dos filhos e compoentes, fazendo a declaração do useValisk apenas no componente pai.


  • c05e4e0fc7d4a77d3b42867c74ac04b54897301c

    Author: MauMuller 82516932+MauMuller@users.noreply.github.com
    Date: Thu Feb 23 17:29:58 2023 -0300
    Message: 🐛 (useValisk): Adição de uma condição para não gerar erro

    Foi preciso adicionar uma condição dentro dos métodos 'masks' e 'forceUpdate' para que caso sejam informados em campos que não possuem configuração, apenas não executam nenhuma máscara, mas não retornaram erro algum, isso é útil para deixar dados em componentes e assim não precisar fazer condições desnecessárias para ter máscaras apenas em campos que foram cadastrados



  • fff3124bde9c523d4a0ed595616d5036ec57b93c

    Author: MauMuller 82516932+MauMuller@users.noreply.github.com
    Date: Thu Feb 23 10:23:09 2023 -0300
    Message: 🏷️ ((Nomes das tipagens)): Melhoria no nome das tipagens, deixando de uma forma mais intuitiva

    Ajustei os nome de todas as tipagens que estão, atualmente, disponiveis para utilização, mantendo elas de uma forma mais intuitiva, declarando as funções com o seu nome + 'type' e os parametros com o incremento do 'entry'



  • 9b68e0b826a48349a8e8216617d30e640b8337c6

    Author: MauMuller 82516932+MauMuller@users.noreply.github.com
    Date: Wed Feb 15 15:13:14 2023 -0300
    Message: ✨ (configEntry & types): Nova funcionalidade para lib e novas tipagens disponiveis

    Nessa atualização, foi criado uma funcionalidade de utilidade, o "configEntry" faz o papel de criar um novo estilo de estrutura de entrada para as configurações da lib, algo que serve para quem deseja separar todos os dados dos código, criando assim uma máscara para cada dado sem específicar o name dela diretamente dentro das máscaras. Isso será feito fora.\n\nEsse formato serve para criar campos que podem ou não ter máscaras, assim, gerando uma configuração do mesmo jeito, porém com um visual, para o densenvolvedor, de uma maneira muito mais simples de configurar.\n\nAlém disso, Ainda foram incrementados alguns tipos novos e renomeados outros, entre eles: MaskTypesParams, ForceUpdateParams, ObjectWithNameAndListProps e etc...


  • 2c859eb5f4c4774aa97bbb8080d4d69a8e5a0f43

    Author: MauMuller 82516932+MauMuller@users.noreply.github.com
    Date: Tue Feb 14 16:30:54 2023 -0300
    Message: 🏷️ (funtiction & hooks & lib & & templates & types): Incremento de novos tipos para serem utilizados

    Foi criado alguns tipos novos para ajudarem os desenvolvedores a possuirem mais liberdade de criação quando forem utilizar a lib, além da mudança de alguns nomes para facilitar o entendimento






Read more

v1.0.4

14 Feb 13:13
27828a1
Compare
Choose a tag to compare

REFATORAÇÃO COMPLETA + CONTROLLED, UNCONTROLLED E REACT-HOOK-FORMS + NOVOS MÉTODOS + NOVA DOCUMENTAÇÃO

Antes de começarmos com todas as mudanças, que aliás, são muitas, preciso explicar qual o motivo de algo tão radical na maneira e utilização. Vamos tentar lembrar de como utilizávamos antes o Valisk. Se me lembro bem, é preciso declarar o hook, escolhendo a máscara específica que seria utilizada, assim, desestruturando alguns métodos dela, para incrementar no campo de texto e assim, funcionar a lib.

Á primeira vista, da maneira que ela trabalhava, parecia ser boa sua utiilização e na verdade era bem simples de usar, porém, com a sua "simplicidade" e "facilidade de uso", ela trazia diversos problemas.

ilustração de como era utilizado antes:

...

const Input = () => {
   const [value, setValue, isValid, setKey] = useMasksCPF({ useExplictMask: true });

   return 
      (<input 
         value={value} 
         onChange={evt => 
         setValue(evt.target.value)} 
         onKeyDown={evt => setKey(evt.key)}
       />);
}

Principais problemas da antiga lib:

  • Campo controlado: O problema aqui é que sempre o componente seria renderizado, sempre mesmo, e só para inserir uma máscara, algo que só por esse motivo, já seria o suficiente para parar de utilizar, isso porque imagine quantas renderizações aconteceriam ao digitar algo como 000.000.000-00.

  • Dificuldade de integração com outras libs: Por conta dessa maneira de utilização, a lib ficou muito limitada, praticamente impossível de integrar com qualquer lib, nem mesmo com libs que nem utilizem campos como o foco.

  • Dificuldade de componentização: Uma das maiores dores de cabeça era isso, tu não podia estruturar os componentes da maneira que tu quiser pois a lib limitava demais tudo, além das diversas renderizações desnecessárias.

Com isso, vamos para as atualizações:

Enredo

Essa nova lib vem principalmente para resolver todos os problemas anteriores, refatorada de forma completa e com muitas opções de utilização, feita principalmente para ser usada junto com o react-hook-forms, ou até mesmo, sem ele, com a opção de trabalhar de forma CONTROLLED e UNCONTROLLED, de acordo com sua preferência.

Atualmente a linguagem priorizada é o Typescript, principalmente por todos os seus benefícios, mas, é possivel utilizar apenas o javascript para sua utilização

Sintaxe Ilustrativa:

...

const Input = () => {
  interface Inputs {
    campo1: string;
  }

  const { _masks, _forceUpdate, _getValues, _cleanValues } = useValisk<Inputs>({ 
     cpf: { explictMask: true, name: "campo1" } 
  });

  return <input {...mask("campo1")}/>
}

Atualizações

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam tempor lobortis massa, nec consectetur lectus ultricies eu. Aenean lectus tellus, rhoncus at est ut, rutrum vulputate neque. Ut ultricies semper turpis at lobortis. Curabitur gravida, dui nec finibus aliquam, est nisi maximus libero, sed euismod diam turpis fringilla purus. Fusce vehicula tellus non urna tempus elementum. Aliquam non velit fermentum, gravida leo at, interdum sem. Maecenas sagittis diam non pharetra ultricies. Mauris lacinia at metus pulvinar tempor.

Lista de Atualizações

  • Restruturação de todas as pastas;

Dentro da lib, foram refatoradas literalmente todas as pastas, as únicas coisas que foram reutilizadas foram algumas máscaras já prontas, o restante não foi utilizado por estar sem nexo dentro da nova proposta.

  • Liberação de códigos desnecessários;

Caso tenha utilizado a lib antiga, você percebeu que o tamanho que antes era gigantesco mudou drásticamente, ficando praticamente do mesmo tamanho que o atual React, após uma baita otimização.

  • Incremento de novas funcionalidades;

É possível velas, acima na ilustração, cada uma delas possuem uma finalidade que é explicada com detalhes dentro da documentação, porém de maneira geral:

  1. _masks: Gerar a máscara;
  2. _forceUpdate: Realizar uma mudança no valor sem causar uma renderização, usado para valores inicias com máscara, por exemplo;
  3. _getValues: Mesma coisa que o handleSubmit do react-hook-form, foi uma alternativa, caso seja utilizado a lib sem a outra.
  4. _cleanValues: Limpa todas as máscara dos valores, basta passar o dado obtido.
  • Possibilidade de diversidade para trabalhar com a lib;

Aqui é o momento onde a lib mais brilha, realizando uma junção perfeita com outras libs, especialmente com o tão falado react-hook-form, com ele é possivel reutilizar todas as funcionalidades e ainda incrementar novas, por isso, super recomendo a integração.

  • Tipagens e facilidade de uso;

Junto com a reestruturação, acabei criando novas tipagens para melhorar a utilização em variados casos de uso.

  • Possiblidade de utilização com js e ts;

Assim como praticamente todas libs, é possivel escolher uma das duas linguagens, mas fortemente recomendo typescript

Considerações Finais

Com essa nova lib, tenho certeza que a expêriencia será completamente diferente da anterior, com muitas novas possibilidades e incrementos que serão possiveis. Além disso, no futuro próximo será lançada uma nova versão com um patch de melhorias e novas funcionalidades para melhorar ainda mais o que já está bom.

v1.0.3

10 Jan 16:29
2cc39d9
Compare
Choose a tag to compare

Refatoramento do useMasks + Tipagens

Nessa versão, houveram algumas prioridades essenciais que fossem realizadas para que o projeto pudesse andar para frente, entre elas, as principais seriam: ajuste ao hook useMasks, Realização de testes e Incremento de tipagens para o hook de forma correta.

Novidades

  • Refatoramento e ajuste no hook useMasks:
    Isso era algo que já estava em andamento ao longo das últimas duas versões, porém, ainda não havia sido possível realizar testes para a biblioteca, por conta disso, acabei deixando passar o bug na qual não era possivel a sua utilização.

    Porém, depois de algum tempo, foi encontrado o bug, algo relacionado com a maneira que o Vite realizar o build dos projetos, após a descoberta, tudo começou a andar novamente, realizando assim, vários testes para até então, ter o seu funcionamento de forma concreta.

  • Adição de tipagens de maneira eficiente dentro do hook::
    Com essa refatoração, um dos primeiros pensamentos foi que por conta de alguns any dentro do hook, o typescript não estava dando build do projeto de maneira correta, realizando assim um build superficial do projeto.

    Por conta disso, refatorei as tipagens, deixando toda parte do desenvolvimento como forma de eficiente e entendível, porém a real causa não era essa, mas com certeza por conta dessa mudança, agilizou muito a descoberta.

Considerações Finais

Essa versão, veio para realizar o funcionamento e ajustes no useMasks, irei realizar mais alguns testes antes de começar com as features, mas a ideia continua a mesma da última release.

v1.0.2

06 Jan 19:00
eb83f94
Compare
Choose a tag to compare

Nova forma de Build, Instalação e funcionamento de YAML | v1.0.2

Aproveita para dar uma olhada que ta ficando muito daora as mudanças, principal na parte de desempenho. 😎😎😎

Atualizações

Nessa nova versão, foram feitas algumas modificações, as principais estão relacionadas ao BUILD e novas instalações dentro do sistema. Além disso, ainda foram feitos alguns ajustes dentro relacionados aos templates do sistema.

  • Desenvolvimento

    Dentro do desenvolvimento do site, as seguintes mudanças foram adicionadas:

    • Alinhamento dentro do template de PR,
    • Incremento do YARN e PNPM para instalação na documentação,
    • E por fim, incremento de '\n' para cada linha dentro do CHANGELOG.md
  • Código

    Já dentro do código, as mudanças são:

    • Implemento de todos os hooks dentro da pasta src/lib/index.ts
    • Adição de uma configuração dentro do vite para pasta de entrada e saída, a de entrada sendo a linha de cima,
    • Por fim, aumentado uma versão dentro do package.json para que a lib possa ser atualizada.

Bugs Corrigidos

Nessa versão houve muitos bugs, na verdade, não teve nenhum bug, apenas um pequeno ajuste no arquivo YML para que seja executado de forma manual, já que o github api não faz o evento de push on tag das actions.

Considerações Finais

Por fim, agora, com essa nova versão do bundle minificada e com suporte a ser utilizada JS e TS, o foco será completo para o desenvolvimento de software, novas features irão surgir em breve.

v1.0.1

05 Jan 12:06
2742c3e
Compare
Choose a tag to compare

Correção de bugs | v1.0.1

Versão apenas para a correção de bugs, sendo no código ou na documentação.

Bugs Corrigidos

Vários bugs foram corrigidos dentro da versão atual da lib, entre os principais, a Possibilidade de acesso aos módulos e a ajuste do caminho dos arquivos.

Lista de bugs corrigidos

  • Possibilidade de importação da lib
    Agora é possível fazer o import dos módulos dentro da lib, tendo acesso a todos os hooks e recursos disponiveis.

  • Incremento de arquivo dentro do npmignore
    Não é enviado arquivos desnecessários para dentro da lib, apenas o essencial.

  • Ajustes nos links da documentação
    Agora funcionando de forma funcional e eficiente todos eles

Considerações Finais

As próximas versões vão ter o foco no desenvolvimento de algumas features, em breve irei abrir algumas ìssues e discussões para anunciar as próximas mudanças.

v1.0.0

04 Jan 17:56
b3e8f9e
Compare
Choose a tag to compare
v1.0.0 Pre-release
Pre-release

Primeira versão da lib | v1.0.0

(NÃO É RECOMENDADO A UTILIZAÇÃO DA BIBLIOTECA AINDA!!!)

Nessa primeira versão, a lib já vem com muita atualização, porém, também vem com alguns bugs, logo será lançada outra versão para suprir os bugs que já existem nela.

Se for tua primeira vez aqui, recomendo que dê uma olhada na documentação, lá tem tudo o que você precisa saber sobre a lib, assim como maneiras de utilização e referência de API.

Como essa é uma pré-release, ainda não é recomendado a utilização, a biblioteca ainda está passando sobre vários testes até ser laçada a nova versão.

Link para entender o funcionamento da lib

Atualizações

As principais atualizações/fundamentos da lib são entorno dos hooks, cada um deles possuindo seu próprio fluxo de funcionamento, por conta disso, será listado todos aqui:

Lista de Atualizações

Bugs Corrigidos

Bom, alguns bugs foram corrigidos nesse pré lançamento, mas outros ainda passaram despercebidos, os principais corrigidos foram:

  • Scrips para automatização de alguns processos;
  • Ajuste nas tipagens para mostrar como fazer a utilização dos hooks;
  • Incremento de detalhes dentro da documentação

Bugs Encontrados

Depois de lançada a release, foi iniciado outros teste e a partir deles foi possivel perceber que:

  • A documentação, na questão dos imports estava incorreta;
  • Não é possível fazer a utilização dos hooks por falta de um arquivo com uma exportação de todos;
  • Adição de um arquivo a mais dentro da lib que não possui finalidade nenhuma.

Esses bug já estão sendo resolvidos, a próxima versão está sendo realizada, em breve terão novas noticias...