| description | React-specific standards – async, bundle, memo, state, rendering, Suspense, Error Boundaries |
|---|---|
| globs | **/*.tsx, **/*.jsx |
| alwaysApply | false |
Apply only when working with React (TSX/JSX). General JS/TS rules are in js-ts-react-standards.mdc.
| description | JS/TS standards - code style, imports, types, errors, SOLID, Object Calisthenics (no React-specific rules) |
|---|---|
| alwaysApply | true |
Single source of truth for code style, architecture, and performance. Apply when generating or reviewing JS/TS code. For React-specific rules, see react-standards.mdc (applies only when working with .tsx/.jsx).
Always standardize and prioritize readability and explicit code in functions, files, and naming.
| const cors = require('cors') | |
| const express = require('express') | |
| const bodyParser = require('body-parser') | |
| const app = express() | |
| let clients = [] | |
| const addSubscribe = (req, res) => { | |
| res.writeHead(200, { Connection: 'keep-alive', 'Content-Type': 'text/event-stream' }) |
| /** | |
| * Make some property optional on type | |
| * | |
| * @example | |
| * ```typescript | |
| * type Post { | |
| * id: string; | |
| * name: string; | |
| * email: string; | |
| * } |
Imagine que vc é um garçom. Ou melhor, está numa mesa de bar com vários amigos e pessoas que você até não conhece.
Você já deve imaginar o trabalho que da para o garçom atender e, principalmente, gerenciar a comanda com todos os pedidos.
Da mesma forma que quase sempre da problema na hora das pessoas dividirem a conta de um jeito justo.
Pensando nesse cenário, queremos que você construa uma aplicação que abstraia esse trabalho do garçom, com a
| (sendPinOnboarding) | |
| value: string, document: string, validationOption: string | Promise<void> | |
| const data = { | |
| value, | |
| document, | |
| validationOption | |
| } | |
| - post('send-pin-onboarding/send', data) | |
| ----------------------------------------------------------------------------- |
| USERS/ | |
| (checkDocument) | |
| document:string | Promise<void> | |
| - get(`users/document/${document}`) | |
| ------------------------------------------------ | |
| (getChannels) | |
| document:string | Promise<ChannelData> |
| - usar matchMedia (nuxt-device-detect => this.$device.isMobile, deprecated) | |
| - rscss | |
| - usar estrutura de container/components | |
| - dynamic import dentro de components | |
| - dividir store por módulos | |
| - n usar commits sem actions | |
| - remover/substituir libs de terceiros | |
| - criar componentes próprios e customizados | |
| - mover libs para dev-deps | |
| - refatorar componentes gigantes |
| .input-group--rounded { | |
| height: 50px; | |
| position: relative; | |
| input { | |
| margin: 0; | |
| z-index: 0; | |
| height: 50px; | |
| display: flex; | |
| padding: 0 1rem; |
| <template> | |
| <div class="config-table"> | |
| <div class="header"> | |
| <div class="column" v-for="(title, i) in columns" :key="i"> | |
| <span class="label"> | |
| {{ title }} | |
| </span> | |
| </div> | |
| <div class="column"> |