0.16.47 • Published 5 years ago

connect-concierge v0.16.47

Weekly downloads
441
License
-
Repository
github
Last release
5 years ago

connect-concierge Build Status

Coleção de middlewares usados na aplicação de backoffice Concierge. É compatível com connect e grunt-connect (para poder ser usado em desenvolvimento).

Ao desenvolver um admin, deve ser usado com o grunt-vtex

Instalação

$ npm install --save-dev connect-concierge

Pré-requisitos

  1. O index do admin deve ser um .dust. Se ele é um .html, basta alterar a extensão.
  2. O package.json do admin deve conter a chave paths. Exemplo:
    "paths": [
      "/admin/checkout"
    ],

Integrando com um admin

No Gruntfile do admin desejado:

GruntVTEX = require 'grunt-vtex'
Concierge = require 'connect-concierge'

module.exports = (grunt) ->
  pkg = grunt.file.readJSON('package.json')

  concierge = new Concierge({grunt: grunt, verbose: grunt.option('verbose')})
  middlewares = concierge.getMiddlewares()

  defaultConfig = GruntVTEX.generateConfig(grunt, pkg, {
    relativePath: 'admin/checkout'
    replaceGlob: "build/**/{index.html,index.dust,app.js,app.min.js}"
    proxyTarget: 'https://portal.vtexcommercebeta.com.br:443'
    additionalMiddlewares: middlewares
  })

Detalhes importantes:

  • A opção relativePath deve seguir o modelo 'admin/nome-do-admin'. Barras extras quebrarão sua aplicação
  • Certifique-se que a opção replaceGlob inclui o index.dust

Também é necessário incluir a task getTags do grunt-vtex no inicio da task default:

tasks = {
  default: ['getTags', 'build', 'connect', 'watch']
}

Configure o NODE_ENV para usar somente as opções de desenvolvimento:

GruntVTEX = require 'grunt-vtex'
Concierge = require 'connect-concierge'
process.env.NODE_ENV = 'development'

Ignorando middlewares

options = {
  exclude: ['licenseManagerCall', 'renderTemplate']
}

concierge = new Concierge(grunt: grunt, verbose: grunt.option('verbose'))
middlewares = concierge.getMiddlewares(options)

Helpers

Diversos helpers podem ser usados no seu index.dust para tornar sua vida mais fácil!

topbarData

Busca informações da Topbar do License Manager

<script>vtex.topbar.topbar = new vtex.topbar.Topbar({@topbarData /})</script>
version

Resolve versão mais recenente de um app no major especificado.

<script src='//io.vtex.com.br/alfredo-ui/{@version app="alfredo-ui" major="2" /}/alfredo-tpls.js'></script>

O helper version também recebe um parâmetro opcional env. Default: stable

aclData

Busca dados de ACL para um determinado app

<script>window.vtex.acl = {@aclData app="OMS" /}</script>
conciergeData

Expôe informações de usuário (userId e email), accountName, e environment

<script>window.vtex.conciergeData = {@conciergeData /}</script>
featuresData

Expôe as feature flags disponíveis

<script>window.vtex.features = {@featuresData /}</script>

Middlewares

O método getMiddlewares() devolve um array com os middlewares para desenvolvimento já na ordem correta.

Alguns middlewares são usados apenas em ambiente de desenvolvimento, outros apenas em produção:

  • prepareReq (dev): Prepara dados da requisição
    • Parse de cookies
  • checkHosts: Verifica se o host é VTEX
  • replaceHost (dev): Altera o host .vtexlocal.com.brpara .vtexcommercebeta.com.br
  • redirectToKnownHost (prod): Se o host não estiver na lista de hosts conhecidos, consulta o License Manager para saber o accountName e redireciona para .vtexcommercestable. Hosts conhecidos:
    • vtexcommerce
    • vtexcommercebeta
    • vtexcommercealfa
    • vtexcommercestable
    • vtexlocal
    • vtexpayments
    • vtexlab
    • myvtex
  • connectVtexid (dev): Utiliza o módulo connect-vtexid para resolver autenticação
  • getAccountName: Resolve accountName, respeitando a ordem de prioridade:
    1. Header X-VTEX-AccountName
    2. Cookie concierge-account
    3. Querystring an
    4. Host
  • getEnvironment: Resolve environment, respeitando a ordem de prioridade:
    1. Header X-VTEX-Environment
    2. Cookie concierge-env
    3. Querystring environment
    4. Host
  • resolveTags (dev): Verifica existencia do tags.json baixado pelo grunt
  • resolveTemplate (dev): Procura o arquivo index.dust no filesystem
  • licenseManagerCall: Busca informações da Topbar e faz cache por 5 minutos
  • featureToggleCall: Busca informações das feature flags disponiveis para esse admin. Faz cache por 8 minutos
  • renderTemplate: Devolve resposta com html renderizado
0.16.47

5 years ago

0.16.46

6 years ago

0.16.45

6 years ago

0.16.44

6 years ago

0.16.43

6 years ago

0.16.42

6 years ago

0.16.41

6 years ago

0.16.40

6 years ago

0.16.39

6 years ago

0.16.38

6 years ago

0.16.37

6 years ago

0.16.36

7 years ago

0.16.35

7 years ago

0.16.34

7 years ago

0.16.33

7 years ago

0.16.32

7 years ago

0.16.31

7 years ago

0.16.30

7 years ago

0.16.29

7 years ago

0.16.28

7 years ago

0.16.27

7 years ago

0.16.26

7 years ago

0.16.25

7 years ago

0.16.24

7 years ago

0.16.23

7 years ago

0.16.22

7 years ago

0.16.21

7 years ago

0.16.20

8 years ago

0.16.19

8 years ago

0.16.18

8 years ago

0.16.17

8 years ago

0.16.16

8 years ago

0.16.15

8 years ago

0.16.14

8 years ago

0.16.13

8 years ago

0.16.12

8 years ago

0.16.11

8 years ago

0.16.10

8 years ago

0.16.9

8 years ago

0.16.8

8 years ago

0.16.7

8 years ago

0.16.6

8 years ago

0.16.5

8 years ago

0.16.4

8 years ago

0.16.3

8 years ago

0.16.2

8 years ago

0.16.1

8 years ago

0.16.0

8 years ago

0.15.3

8 years ago

0.15.2

8 years ago

0.15.1

8 years ago

0.14.3

8 years ago

0.14.2

8 years ago

0.14.1

8 years ago

0.14.0

8 years ago

0.13.1

8 years ago

0.13.0

8 years ago

0.12.8

8 years ago

0.12.7

8 years ago

0.12.6

8 years ago

0.12.5

8 years ago

0.12.4

8 years ago

0.12.3

8 years ago

0.12.2

8 years ago

0.12.1

8 years ago

0.12.0

8 years ago

0.11.9

8 years ago

0.11.7

9 years ago

0.11.6

9 years ago

0.11.4

9 years ago

0.11.3

9 years ago

0.11.2

9 years ago

0.11.1

9 years ago

0.11.0

9 years ago

0.10.1

9 years ago

0.10.0

9 years ago

0.9.2

9 years ago

0.9.1

9 years ago

0.9.0

9 years ago

0.8.0

9 years ago

0.7.4

9 years ago

0.7.3

9 years ago

0.7.2

9 years ago

0.7.1

9 years ago

0.5.10

9 years ago

0.5.9

9 years ago

0.7.0

9 years ago

0.6.0

9 years ago

0.5.8

9 years ago

0.5.7

9 years ago

0.5.6

9 years ago

0.5.5

9 years ago

0.5.4

9 years ago

0.5.3

9 years ago

0.5.2

9 years ago

0.5.1

9 years ago

0.5.0

9 years ago

0.4.1

9 years ago

0.4.0

9 years ago

0.3.20

9 years ago

0.3.19

9 years ago

0.3.18

9 years ago

0.3.17

9 years ago

0.3.16

9 years ago

0.3.15

9 years ago

0.3.14

9 years ago

0.3.13

9 years ago

0.3.12

9 years ago

0.3.11

9 years ago

0.3.10

9 years ago

0.3.9

9 years ago

0.3.7

9 years ago

0.3.6

9 years ago

0.3.5

9 years ago

0.3.3

9 years ago

0.3.2

9 years ago

0.3.1

9 years ago

0.2.0

9 years ago

0.1.6

9 years ago

0.1.5

9 years ago

0.1.4

9 years ago

0.1.3

9 years ago

0.1.1

10 years ago

0.1.0

10 years ago

0.0.3

10 years ago

0.0.2

10 years ago

0.0.1

10 years ago