Skip to content

Latest commit

 

History

History
82 lines (82 loc) · 4.42 KB

BASE.md

File metadata and controls

82 lines (82 loc) · 4.42 KB

Base of Boilerplate

  1. como será o fluxo completo de implementação e uso dessas libs/pkgs?
    1. criar boilerplate para criação de libs
      1. module bundler? (Comparing bundlers: Webpack, Rollup & Parcel)(Why I use Rollup, and not Webpack)
        1. Rollupjs
        2. Webpack
        3. Parcel
        4. SWC
      2. Compiler
        1. SWC
        2. TSC
        3. Babel
      3. managing and publishing multiple repository(NPM numbers)
        1. Lerna
        2. Bit
        3. Bolt
        4. Mondorepo
        5. oao
      4. colocar o packge como private
      5. Define workspaces
      6. configurar managing and publishing multiple repository
      7. Configurar module bundler
      8. Configurar typescript
        1. declarar paths. (AWS example)
      9. Criar cada packages
        1. Declarar definição do modulo no package
        2. Install peerDependencies
        3. test
        4. implementação
        5. doc
        6. configurar build do bundler
  2. tem um desenho?
si-kit/
├── packages/
│   ├── base/
│   │   ├── hooks/
│   │   │   └── [hook]
│   │   ├── contexts/
│   │   │   └── [context]
│   │   ├── utils/
│   │   │   └── [util]
│   │   ├── package.json
│   │   ├── README.md
│   │   └── tsconfig.json
│   ├── ui/
│   │   ├── Component/
│   │   │   ├── ComponentStyled
│   │   │   ├── ComponentBase
│   │   │   └── ComponentTest
│   │   ├── package.json
│   │   ├── README.md
│   │   └── tsconfig.json
│   └── docs
├── tsconfig.json
├── package.json
└── README.md
  1. onde faremos o deploy das libs/pkgs?
    1. Github
    2. Npm
  2. como consumiremos as libs/pkgs?
    1. depende de onde fizer o deploy do /libs/pkgs
      1. se for npm é o padrão atual de qualquer pacote
      2. se for pelo github
        in the same directory as your package.json 
        file, create or edit an .npmrc file to 
        include a line specifying GitHub Packages 
        URL and the account owner. Replace OWNER 
        with the name of the user or organization 
        account that owns the repository containing 
        your project.
        @OWNER:registry=https://npm.pkg.github.com
      
  3. qual é a hierarquia de dependências?
    1. dentro de cada modulo deve ser instalado como peerDependencies os pacotes compartilhado na raiz
    2. para demais depenências segue o mesmo fluxo
  4. o versionamento será individual ou podemos manter a mesma versão para todos o repo (como a AWS fez com o aws-sdk-js-v3)?
    1. podemos usar um mono repo e usar uma ferramenta de managing and publishing multiple repository
  5. como vamos testar? as estratégias são diferentes para cada contexto?
    1. podemos ter teste em contexto global, contexto local de cada modulo e package. Basta definir estrategias e scripts. (Vi abordagens diferentes na AWS e Material UI, por exemplo)