npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@original-io/shelf-product

v0.1.1

Published

VTEX Product Component.

Downloads

6

Readme

Este boilerplate foi criado a partir do Create React App já ejetado.

Tabela de conteúdo

Estrutura de pastas

O diretório inicial do projeto:

my-app/
  README.md
  .storybook/
  node_modules/
  package.json
  public/
    index.html
    favicon.ico
  src/
    App.css
    App.js
    App.test.js
    index.css
    index.js
    logo.svg
  stories/
    App.js

Scripts Disponíveis

No diretório do projeto, você pode executar:

npm start

Roda o modo de desenvolvimento do componente. Abra http://localhost:3000 para ver no browser.

A página recarregará com novas mudanças. Você verá erros do ESLint no browser e warnings no console.

npm test

Executa os testes em modo watch. Veja a seção Executando Testes para mais informações.

npm run storybook

Executa o teste visual.

npm run build

Monta o build do componente, na pasta build, para produção. No fluxo de produção atual da GTX, este script não tem aplicação, pois o deploy para produção é feito na etapa de implementação dos produtos e não na confecção dos pacotes.

Executando Testes

Os testes de rotina de nossos componentes se dividem em três fases atualmente:

Teste estrutural

TODO: Exemplificar o uso do Jest

Teste interativo

TODO: Exemplificar o uso do Jest

Teste visual

Nesta etapa, usamos o pacote react storybook. A partir dele, exibimos um mapa dos diferentes estados possíveis do componente. Para adicionar novos estados ao componente atual, seja sagaz e siga o padrão estabelecido em stories/App.js.

Adicionando Stylesheets

Para adicionar stylesheets ao componente, basta importá-lo com import './stylesheet.scss'. O Webpack se encarregará de injetar o css dinamicamente no modo de desenvolvimento. Ao importarmos o componente na etapa de implementação, sua stylesheet será concatenada automaticamente no bundle da implementação.

Pré e Pós-Processamento de CSS

Atualmente, utilizamos o Sass para pré-processamento do css. No pós-processamento, utilizamos o PostCSS apenas para o autoprefixer das propriedades.

Obs.: Como os pacotes são exportados para o repositório NPM em modo de desenvolvimento, os arquivos são versionados ainda em scss. Dessa forma, na etapa de implementação, o Webpack é capaz de processar os arquivos e concatenar e minificar para o bundle. É importante lembrar que, hoje, nossa implementação suporta apenas scss, devendo, assim, todos os nossos componentes serem exportados com scsse NÃO css puro.

Adicionando SVG

A importação de SVG acontece da mesma forma das stylesheets. Sem muito mistério. O trabalho com imagens dentro destes componentes (que serão publicados no NPM) é um fator ainda a ser testado e estruturado.

Publicação e Atualização dos componentes

Todos os nossos componentes são privados e, de forma alguma, devem ser publicados em repositórios públicos. Seus repositórios devem ser devidamente direcionados para nosso Bitbucket e seus pacotes NPM publicados em nosso repositório privado gtxagency.

O que é publicado?

Como nossos pacotes tem o objetivo de serem usados na etapa de implementação, eles não tem a necessidade de serem publicados em modo de produção, como definido no nosso fluxo de trabalho. O que é, de fato, publicado no NPM é a pasta src, com exceção dos arquivos index.scss, index.js, que são usados pelo Webpack apenas para o modo de desenvolvimento local. Os arquivos de teste também não são publicados.

Publicando o Pacote

No terminal execute npm login e insira as credenciais solicitadas. Verifique a versão no package.json. Certifique-se que o nome do pacote siga o padrão @gtxagency/gtx-component-boilerplate. O texto entre @ e / é o escopo do repositório. Isso é importante porque todo pacote com um escopo declarado é considerado privado.

Atualizando o Pacote

No terminal execute npm version 0.1.0, substituindo o 0.1.0 pela versão correspondente. Execute npm publish.

######GTX e-Commerce Agency