Skip to content
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

Comando build #6

Open
4 tasks done
alisonmonteiro opened this issue Jan 4, 2017 · 3 comments
Open
4 tasks done

Comando build #6

alisonmonteiro opened this issue Jan 4, 2017 · 3 comments

Comments

@alisonmonteiro
Copy link
Member

alisonmonteiro commented Jan 4, 2017

@teles de acordo com este comentário estamos quase no MVP. 🎉 😛

O comando build é um pouco mais complicado que os outros. Sabendo isto, tenho algumas duvidas que queria verificar.
Vou pontuar os itens aqui e marcar os que eu entendi, e os outros podemos ver juntos. O que acha?

Dúvidas

  • 1. Lê o frontpress.json
  • 2. Decide qual API importar
  • 3. Decide quais templates importar
  • 4. Gera arquivo frontpress.min.js na raiz do projeto

Comentários/Possíveis soluções

  1. Se esta task for rodada automaticamente a partir das anteriores, nem precisaríamos do frontpress.json, mas é bom deixar para não perder os dados.

  2. Através de perguntas, assim como fazemos no init atualmente?

  3. Mesmo esquema do item 2?
    Lista de componentes e o usuário vai selecionando quais componentes vai querer importar?

  4. Faz a build de acordo com as perguntas anteriores? Não sei como fazer isso ainda, mas acharemos uma solução. 🔮

Valeu!

@teles
Copy link
Member

teles commented Jan 4, 2017

@alisonmonteiro sucesso!!! 🎉

  1. Minha ideia é que o build possa ser rodado de forma independente, então é importante já existir um frontpress.json. Se esse arquivo foi criado pelo init ou manualmente não tem importância. O build não conhece o init.

  2. A decisão de qual api importar é feita lendo o frontpress.json. Aí temos que pensar na melhor maneira de fazer isso. Provavelmente vai bastar olhar o atributo "apiVersion".

  3. É só um pouco mais complicado que o item 2. Estou pensando em importar apenas o html de templates usados. E aqui tem alguns cenários:

3.1. O usuário pode não sobrescrever o template inicial do FrontPress, aí os templates importados seriam esses - legal notar que os templates mudam dependendo da versão da api.

3.2. O usuário pode sobrescrever apenas alguns templates utilizando a sintaxe seguinte no frontpress.json:

{
    "templateUrl": {
         " views.home": "/endereco/da/minha/home.html"
     }
};

(aqui tem mais info frontpressorg/frontpress#63)

3.3. O usuário poderá numa futura versão do FrontPress instalar temas. Pensei em algo como um frontpress install-theme nome-do-tema. Ainda não sei como isso ficaria dentro do frontpress.json (frontpress-cli) e no $FrontPressProvider (sem o cli).

3.4. Mesmo instalando um tema o usuário pode decidir sobrescrever um template desse tema, usando a mesma sintaxe apresentada acima.

  1. Isso. Ao invés do usuário importar no seu projeto arquivos de release ele iria importar uma versão mais customizada pra sua necessidade. Iria remover do código templates desnecessários, por exemplo. Os arquivos de release são apenas versões padronizadas prontas pra uso e não customizadas do FrontPress.

O que acha?

@alisonmonteiro
Copy link
Member Author

@teles acho q agora entendi. 😅 📝

Vou deixar esta issue aberta até a finalização do comando. Ok?

@teles
Copy link
Member

teles commented Jan 5, 2017

Ok, @alisonmonteiro. Muito obrigado :D

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants