rhandrade / tray-theme Goto Github PK
View Code? Open in Web Editor NEWCLI criado para ajudar desenvolvedores a criarem ótimos temas para Tray.
License: MIT License
CLI criado para ajudar desenvolvedores a criarem ótimos temas para Tray.
License: MIT License
Olá pessoal, somos da www.strongway.com.br , e queremos, primeiramente, agradecer por ter tornado este projeto open source.
No intuito de tentar ajudar nas melhorias do projeto, verifiquei o roadmap de vocês. Um dos itens citados é: "Melhorar estrutura do projeto".
Vocês têm alguma ideia dos problemas de estrutura a resolver, ou alguma ideia de que linha querem seguir nesse sentido?
Vou marcar o @JuniorPaula para acompanhar.
Ao rodar o comando tray new
incluindo o parâmetro theme_base
não surtiu o efeito esperado. O novo tema, em vez de ser baseado no tema base, foi gerado a partir do tema padrão da Tray.
Como usuário do CLI gostaria que a ferramenta verificasse o tipo do arquivo a ser enviado e comunique caso ele não seja compatível.
Ao desenvolvermos um tema estamos constantemente trabalhando com vários tipos de arquivos e podemos não nos atentar ao tipo do arquivo no momento em que criamos. Sem uma validação disso podemos desprender tempo averiguando algo que não é um bug ou problema, e sim uma limitação.
E ai galera, beleza?
Estou tentando alterar um tema aqui e ao tentar rodar o comando tray configure [key] [pass] [theme_id] estou recebendo a mensagem de que alguma dessas informações estão erradas.
Não estou certo sobre o THEME_ID, é o numero que está na URL ao editar um tema na plataforma da tray (https://opencode.tray.com.br/v2/themes/THEME_ID/customizations)?
Fico no aguardo.
Obrigado!
Eu, como desenvolvedor, gostaria de ver as mudanças de script refletidas em tempo real, ao salvar os documentos originais em .ts
, durante o desenvolvimento de mudanças no projeto.
Rodar o comando npm run build
toda vez que um arquivo .ts
é editado torna o trabalho muito tedioso e lento. Para grandes alterações, até que não seria o problema, mas se cada pequena mudança a ser testada requerer a ativação desse comando, o trabalho pode demorar demais e ser muito frustrante. Isso é algo especialmente comum quando estamos iniciando e fazendo os primeiros experimentos.
internal/modules/cjs/loader.js:638
throw err;
^
Error: Cannot find module 'fs/promises'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
Eu como usuário da ferramenta gostaria de ter uma comunicação visual mais simplificado do que está acontecendo e dos status do processamento. Como desenvolvedor da ferramenta gostaria de simplificar e melhor o usa das chamadas de comunicação com o usuário.
Uma boa comunicação com o usuário que está usando a ferramenta proporciona mais clareza na resolução de problemas e na descrição da situação atual do ocorrido, incorrendo em menos tempo para que uma ação efetiva seja tomada.
Podemos usar o pacote Ora que permite dar uma feedback simples, rápido e eficiente sobre a situação atual do programa.
Como usuário do CLI gostaria de poder usá-lo em diferentes versões do Node.js, garantindo maior compatibilidade com as outras ferramentas que já utilizo no dia a dia.
Hoje o CLI garante o funcionamento somente com a versão mais recente do Node.js (release current), o que pode quebrar a compatibilidade com outras ferramentas usadas em produção. Acredito que o ideal seria suportar as versões LTS disponíveis pelo Node.js e estar alinhado com o roadmap deles, abrangendo assim os melhores cenários.
Como desenvolvedor de temas, gostaria que o comando tray themes
retornasse apenas os temas ainda disponíveis no painel.
Atualmente o comando mostra todos os temas que já existiram em uma determinada loja, pois, como é descrito na documentação, os temas excluídos permanecem na plataforma. Como desenvolvedores, geramos muitas cópias de temas, e esse relatório fica poluído se mostrar temas antigos excluídos.
Acredito que esse comando deva ser alterado para mostrar apenas os temas não excluídos. Para mostrar os excluídos, aí podemos utilizar uma flag específica. Exemplo: tray themes --include-deleted
. Pode ter um alias também, como --d
Eu como usuário do CLI gostaria que a ferramenta permitisse a criação de um log de todos os eventos realizados e registrasse tudo o que ocorresse, desde alertas até erros falso positivos/negativos.
No decorrer dos meses a Tray pode implantar novas funcionalidades ou realizar alterações nos endpoints da API que podem gerar falsos positivos / negativos ou mensagens de erros e não teríamos como analisar se é um erro do CLI ou da API. Ao permitir que um log fosse habilitado pelos desenvolvedores, haveria um registros das atividades e possíveis problemas, facilitando a identificação.
Esse funcionalidade depende da implementação de:
Eu como desenvolvedor gostaria que existisse um padrão de abertura de Issues no projeto, de acordo com o tipo de Issue a ser aberta.
Criar um padrão para abertura das Issues permitirá identificar rapidamente sobre o que ela se refere, e se for para comunicar um problema, ela pode montar um formato que provê mais detalhes que facilita verificar o problema e, se for o caso, aplicar uma correção adequada.
Olá pessoal, primeiramente, parabéns pelo projeto. Certamente vai ajudar muitas pessoas mesmo. Eu não tenho tanto conhecimento pra contribuir mais, mas pretendo ajudar no pouco que puder. Estava fazendo alguns teste, e sempre que altero algum arquivo scss, o watch retorna erro 500 - internal error.
Não sei se aqui é o lugar certo de perguntar isso, me desculpe se fiz errado, mas gostaria de relatar isso. O restante está funcionando tudo ok.
Eu como usuário do CLI gostaria de poder enviar somente as pastas principais 'core' do tema. As demais pastas específicas, como imagens, seriam feitas por um comando a parte.
Sugestão indicada pelo @thiagofloriano
Muitas vezes queremos enviar somente uma base do tema para não poluir o tema com coisas que não farão sentido, como imagens ou scripts adicionais. Para isso um comando de upload core seria interessante. Como sugerido pelo @thiagofloriano seria enviado apenas a base essencial da Tray settings / css / js / pages / layout
. Imagens e outras particularidades seriam enviadas a parte.
Esse funcionalidade depende da implementação de:
Ao baixar um arquivo pode ocorrer um erro na requisição com status diferente de 2xx. Com isso cai no bloco catch. Porém esse bloco tenta pegar os dados sem verificar se existir algum retorno, ocorrendo erro undefined
.
TrayApi.js
)Delete-theme not working.
Response from Api is: Error from api: Layout inválido
Eu como usuário do CLI gostaria de poder usar a ferramenta no meu sistema operacional preferido, estou acostumado, ou ao qual serve para meu workflow.
Existes vários sistemas operacionais, cada qual voltado a um mercado ou finalidade específica. Ao fazer a ferramenta ser compatível com vários sistemas operacionais permite que mais pessoas possam usufruir dos benefícios que ela traz, além de não forçar uma mudança no ambiente que funciona para determinado indivíduo ou trabalho.
Acredito que os principais sistemas que deveriam ser suportados são:
Eu como desenvolvedor gostaria que na documentação do projeto constassem as opções de cada comando e os novos comandos disponíveis.
Atualizar a documentação com as novas opções e comandos disponibilizados pelas novas versões tornará mais fácil o uso e, possivelmente, a adesão de novos usuários ao projeto.
Eu como desenvolvedor do CLI gostaria de separar o desenvolvimento do CLI do SDK para integração com a API do Opencode da Tray.
Ao desenvolvedor uma ferramenta ou biblioteca, englobar tudo em um único projeto pode tornar o desenvolvimento confuso e conturbado. Separar o desenvolvimento do CLI do SDK irá permitir focar em melhorar cada parte separadamente, e permitir que elas ainda funcionem um conjunto, mesmo que a partir de uma versão, uma se torne incompatível com a outra.
Eu como usuário da ferramenta gostaria de uma comunicação clara quando erros ocorrem, no meu idioma principal. Como desenvolvedor gostaria padronizar os erros gerados e simplificar a captura deles.
Uma comunicação clara do problema facilita a tomada de decisões e permite continuar o desenvolvimento mais rápido. Além disso gera um código mais fácil de ler, escrever e manter.
Acredito que podemos focar nos seguintes pontos:
Error
para obter tudo o que ela já traz.Eu, como desenvolvedor, gostaria de poder subir conjuntos específicos de arquivos, em vez de todos (ou apenas arquivos muito selecionados).
Hoje o comando upload
só nos dá duas opções: subir todos os arquivos do tema, ou escolher exatamente quais arquivos subir. Em algumas ocasiões, é interessante subir todos os arquivos de uma pasta.
Ex: /js/min/*
- é um caso interessante, pois às vezes não sabemos se um problema depende de vários arquivos ou um só, e subir todos os arquivos de uma pasta "suspeita" permitiria verificar rapidamente.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.