Skip to content

Instantly share code, notes, and snippets.

description globs alwaysApply
React-specific standards – async, bundle, memo, state, rendering, Suspense, Error Boundaries
**/*.tsx, **/*.jsx
false

React Standards

Apply only when working with React (TSX/JSX). General JS/TS rules are in js-ts-react-standards.mdc.

description alwaysApply
JS/TS standards - code style, imports, types, errors, SOLID, Object Calisthenics (no React-specific rules)
true

JS/TS Standards

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.

@viniazvd
viniazvd / index.js
Last active August 23, 2023 20:18
sse.js
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' })
@viniazvd
viniazvd / optional.ts
Created July 15, 2023 15:12
Optional.ts
/**
* Make some property optional on type
*
* @example
* ```typescript
* type Post {
* id: string;
* name: string;
* email: string;
* }

Seedz: Teste prático para Frontend Developer

Objetivo

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">