{"_id":"@agrotools1/monorepo","name":"@agrotools1/monorepo","dist-tags":{"latest":"0.1.4"},"versions":{"0.1.4":{"name":"@agrotools1/monorepo","type":"module","version":"0.1.4","private":false,"dependencies":{"vue":"^3.5.16"},"devDependencies":{"@antfu/eslint-config":"^4.16.1","@changesets/cli":"^2.29.4","@commitlint/cli":"^17.7.1","@commitlint/config-conventional":"^17.7.0","@nx/eslint":"21.1.3","@nx/eslint-plugin":"^21.1.3","@nx/js":"21.1.3","@nx/storybook":"21.1.3","@nx/vite":"21.1.3","@nx/vue":"21.1.3","@nx/web":"21.1.3","@storybook/addon-docs":"^9.0.9","@storybook/addon-links":"^9.0.9","@storybook/vue3":"^9.0.9","@storybook/vue3-vite":"^9.0.9","@swc-node/register":"~1.9.1","@swc/core":"~1.5.7","@swc/helpers":"~0.5.11","@tailwindcss/vite":"^4.1.10","@types/node":"24.10.1","@types/yargs":"^17.0.33","@typescript-eslint/parser":"^8.48.0","@vitejs/plugin-vue":"^5.2.3","@vitejs/plugin-vue-jsx":"^4.2.0","@vitest/coverage-v8":"^3.0.5","@vitest/ui":"^3.0.0","@vue/eslint-config-prettier":"7.1.0","@vue/eslint-config-typescript":"^14.5.0","@vue/test-utils":"^2.4.6","cross-env":"^10.1.0","eslint":"^9.29.0","eslint-config-prettier":"^10.0.0","eslint-plugin-prettier":"^5.4.1","eslint-plugin-vue":"^9.16.1","husky":"^9.1.7","jiti":"2.4.2","jsdom":"^24.0.0","lint-staged":"^14.0.0","nx":"21.1.3","prettier":"^3.0.3","prettier-plugin-tailwindcss":"^0.6.13","sass":"1.62.1","storybook":"^9.0.9","storybook-preset-inline-svg":"^1.0.1","ts-node":"10.9.1","tslib":"^2.3.0","tsx":"^4.20.3","typescript":"^5.8.3","vite":"^6.0.0","vite-plugin-dts":"~4.5.0","vitest":"^3.2.3","vue-tsc":"^2.2.10","yargs":"^18.0.0"},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"packages/**/src/**/*.{js,ts,jsx,tsx,json,scss,vue}":["prettier --ignore-unknown --write"]},"scripts":{"storybook":"storybook dev -p 6006","build-storybook":"cross-env NODE_OPTIONS=--max_old_space_size=4096 storybook build","build":"nx run-many -t build","build:affected":"nx affected -t build --base=origin/test","test":"nx run-many -t test","test:affected":"nx affected -t test --base=origin/test","lint":"nx run-many -t lint","lint:affected":"nx affected -t lint --base=origin/test","format":"prettier --write .","format:check":"prettier --check .","typecheck":"nx run-many -t typecheck","prerelease":"tsx tools/scripts/prerelease.ts","clean":"nx reset","clean:node_modules":"find . -name 'node_modules' -type d -prune -print -exec rm -rf '{}' +"},"_id":"@agrotools1/monorepo@0.1.4","description":"Este é um monorepo contendo uma coleção de bibliotecas, componentes e utilitários para as aplicações da Agrotools. O projeto utiliza ferramentas e práticas modernas de desenvolvimento web para garantir código sustentável, testado e bem documentado.","_integrity":"sha512-hLXW7SBYQGfOGnssQIv5dgzJt4lzgzyHYWNFB9Hxhv69UBXHRk9vtgKp2m61TVZOxriYiAkcnx9+cNknfr8SrA==","_resolved":"C:\\Users\\RAFAEL~1\\AppData\\Local\\Temp\\dd9547edde83903e0c93ca1f3a3f2137\\agrotools1-monorepo-0.1.4.tgz","_from":"file:agrotools1-monorepo-0.1.4.tgz","_nodeVersion":"24.5.0","_npmVersion":"11.5.1","dist":{"integrity":"sha512-hLXW7SBYQGfOGnssQIv5dgzJt4lzgzyHYWNFB9Hxhv69UBXHRk9vtgKp2m61TVZOxriYiAkcnx9+cNknfr8SrA==","shasum":"17dac5426061f3c1f01efdbd75fbb3532519a0e6","tarball":"https://registry.npmjs.org/@agrotools1/monorepo/-/monorepo-0.1.4.tgz","fileCount":3105,"unpackedSize":10096583,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD8qoJuV3JyGY+kAPTPEbnL79zmvyS8DyQeonMCQQJNHQIhAM5P9JATHTu0BTaVJJweJYbRWTbCglF8jvLFiR0pYhTQ"}]},"_npmUser":{"name":"rafaeldiasagroo","email":"rafael.dias_EXT@agrotools.com.br"},"directories":{},"maintainers":[{"name":"agrotools-packages","email":"agrotools-packages@agrotools.com.br"},{"name":"tiago-agrotools","email":"tiago.baranzelli@agrotools.com.br"},{"name":"rafaeldiasagroo","email":"rafael.dias_EXT@agrotools.com.br"},{"name":"guigonzalezv","email":"guilherme.gonzalez@agrotools.com.br"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/monorepo_0.1.4_1774284911793_0.9774495467225013"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-23T16:55:11.669Z","0.1.4":"2026-03-23T16:55:12.020Z","modified":"2026-03-23T16:55:12.339Z"},"maintainers":[{"name":"agrotools-packages","email":"agrotools-packages@agrotools.com.br"},{"name":"tiago-agrotools","email":"tiago.baranzelli@agrotools.com.br"},{"name":"rafaeldiasagroo","email":"rafael.dias_EXT@agrotools.com.br"},{"name":"guigonzalezv","email":"guilherme.gonzalez@agrotools.com.br"}],"description":"Este é um monorepo contendo uma coleção de bibliotecas, componentes e utilitários para as aplicações da Agrotools. O projeto utiliza ferramentas e práticas modernas de desenvolvimento web para garantir código sustentável, testado e bem documentado.","readme":"# Agrotools Monorepo\r\n\r\nEste é um monorepo contendo uma coleção de bibliotecas, componentes e utilitários para as aplicações da Agrotools. O projeto utiliza ferramentas e práticas modernas de desenvolvimento web para garantir código sustentável, testado e bem documentado.\r\n\r\n## Tecnologias\r\n\r\n- **Vue.js** - Framework frontend para construção de interfaces de usuário\r\n- **TypeScript** - Verificação de tipos estáticos para JavaScript\r\n- **NX** - Sistema de build e gerenciamento de monorepo\r\n- **PNPM** - Gerenciador de pacotes rápido e eficiente com suporte a workspaces\r\n- **Storybook** - Desenvolvimento e documentação de componentes UI\r\n- **Vite** - Ferramentas frontend de próxima geração\r\n- **Vitest** - Framework de testes unitários alimentado pelo Vite\r\n- **SASS** - Pré-processador CSS\r\n- **ESLint & Prettier** - Ferramentas para qualidade e formatação de código\r\n- **Husky & Lint Staged** - Git hooks para garantir qualidade de código\r\n\r\n## Estrutura do Repositório\r\n\r\n```\r\nat-components-v2-front/\r\n├── packages/\r\n│   ├── at-components-v1/    # Biblioteca de componentes Vue.js (versão 1)\r\n│   ├── at-components-v2/    # Biblioteca de componentes Vue.js (versão 2 - Design System)\r\n│   ├── at-icons/            # Biblioteca de ícones Vue.js\r\n│   ├── at-mf-utils/         # Biblioteca de utilitários para Module Federation\r\n│   ├── at-tailwind-config/  # Configuração compartilhada do Tailwind CSS\r\n│   └── at-utils/            # Biblioteca de utilitários gerais\r\n├── .prettierrc              # Configuração do Prettier\r\n├── eslint.config.mjs        # Configuração do ESLint\r\n├── nx.json                  # Configuração do NX\r\n├── package.json             # Configuração de pacotes raiz\r\n├── pnpm-workspace.yaml      # Configuração do PNPM workspaces com a definição do monorepo\r\n├── tsconfig.base.json       # Configuração base do TypeScript\r\n├── tsconfig.json            # Configuração do TypeScript com referências as bibliotecas\r\n└── README.md                # Este arquivo\r\n```\r\n\r\n## Começando\r\n\r\n### Pré-requisitos\r\n\r\n- Node.js (versão 20.x ou maior)\r\n- PNPM (versão 9.1.0 ou maior)\r\n\r\n### Instalação\r\n\r\n```bash\r\n# Instalar dependências\r\npnpm install\r\n```\r\n\r\n## Desenvolvimento\r\n\r\n### Executando o Storybook\r\n\r\n```bash\r\npnpm storybook\r\n```\r\n\r\n### Compilando as Bibliotecas\r\n\r\n```bash\r\n# Compilar todos os pacotes\r\npnpm build\r\n\r\n# Compilar um pacote específico\r\npnpm nx build at-components\r\npnpm nx build at-icons\r\npnpm nx build at-mf-utils\r\npnpm nx build at-utils\r\n```\r\n\r\n### Executando Testes\r\n\r\n```bash\r\n# Executar testes para todos os projetos\r\npnpm test\r\n\r\n# Executar testes para um pacote específico\r\npnpm nx test at-components\r\n```\r\n\r\n### Linting e Formatação\r\n\r\n```bash\r\n# Lint em todos os projetos\r\npnpm lint\r\n\r\n# Formatar código\r\npnpm format\r\n```\r\n\r\n## Escolhendo entre v1 e v2\r\n\r\n**Use `at-components-v1` quando:**\r\n\r\n- Trabalhar em projetos legados que já utilizam Bootstrap\r\n- Precisar de compatibilidade com código existente\r\n- O projeto já estiver usando estilos SASS customizados\r\n\r\n**Use `at-components-v2` quando:**\r\n\r\n- Iniciar novos projetos\r\n- Precisar de componentes modernos com melhor acessibilidade\r\n- Quiser seguir o Design System V2 da Agrotools\r\n- Precisar de componentes baseados em Tailwind CSS\r\n\r\n## Detalhes dos Pacotes\r\n\r\n### at-components-v1\r\n\r\nBiblioteca de componentes Vue.js (versão 1) contendo componentes de UI reutilizáveis para aplicações Agrotools. Esta é a versão legada dos componentes, mantida para compatibilidade com projetos existentes.\r\n\r\n**Características:**\r\n\r\n- Componentes baseados em Bootstrap\r\n- Suporte a estilos SASS customizados\r\n- Componentes: Accordion, Avatar, Button, CardWithInsights, Checkbox, Chips, ColorPicker, DataTable, DatePicker, Dropdown, Faq, Filter, Icons, Illustration, Input, Legend, List, Loading, Menu, Modal, Notifications, Paginator, ProgressBar, RadioButton, Search, Select, Skeleton, Stepper, TableConfig, Tabs, Tag, Tipograph, Toggle, Tooltip, Upload\r\n\r\n[Storybook](https://atcomponents-v2-test.agrotools.com.br/?path=/docs/1-introdu%C3%A7%C3%A3o--docs)\r\n\r\n### at-components-v2\r\n\r\nBiblioteca de componentes Vue.js (versão 2) - Design System V2 da Agrotools. Nova geração de componentes construídos com tecnologias modernas e seguindo padrões de design system.\r\n\r\n**Características:**\r\n\r\n- Componentes baseados em Tailwind CSS e Reka UI\r\n- Design system moderno e acessível\r\n- Organização por categorias (Layout, Form, Table, Toast, etc.)\r\n- Componentes: Accordion, AlertDialog, Avatar, Badge, Breadcrumb, Button, Calendar, Card, Carousel, Checkbox, Combobox, Command, DataTable, DatePicker, DateRangePicker, Dialog, DropdownMenu, Filter, FilterCard, Header, Illustration, Input, Label, Layout, MultiSelect, Pagination, Popover, RadioGroup, RangeCalendar, Select, Separator, Sheet, Sidebar, Skeleton, Sonner (Toast), Stepper, Switch, Table, Tabs, Tag, TimePicker, ToastHistory, Tooltip, Upload\r\n\r\n**Organização no Storybook:**\r\n\r\n- `Design System V2/Layout/` - Componentes de layout (Tabs, Sidebar, Card, Accordion, Stepper)\r\n- `Design System V2/Form/` - Componentes de formulário (TimePicker, Upload, Input, etc.)\r\n- `Design System V2/Table/` - Componentes de tabela\r\n- `Design System V2/Toast/` - Componentes de notificação\r\n- Outros componentes diretamente em `Design System V2/`\r\n\r\n### at-icons\r\n\r\nBiblioteca de ícones da Agrotools baseada em Vue.js.\r\n[Storybook](https://atcomponents-v2-test.agrotools.com.br/?path=/docs/foundation-icons--docs)\r\n\r\n### at-tailwind-config\r\n\r\nConfiguração compartilhada do Tailwind CSS usada pelos componentes v2 e outras aplicações do monorepo.\r\n\r\n### at-mf-utils\r\n\r\nUtilitários para trabalhar com Module Federation, permitindo o compartilhamento de componentes entre diferentes aplicações.\r\n\r\n### at-utils\r\n\r\nFunções utilitárias gerais e auxiliares usadas em aplicações Agrotools.\r\n\r\n## Gerenciamento de Releases\r\n\r\nO monorepo utiliza o sistema de releases do NX para gerenciar o versionamento e publicação dos pacotes no NPM.\r\n\r\n### Criando uma Release (Prerelease)\r\n\r\nO script `prerelease` gera novas versões para os pacotes e cria changelogs baseados em commits convencionais:\r\n\r\n```bash\r\n# Criar uma release para todos os pacotes\r\npnpm prerelease\r\n\r\n# Criar uma release com versão específica\r\npnpm prerelease --version=1.0.0\r\n\r\n# Criar uma release para pacotes específicos\r\npnpm prerelease --projects=@agrotools1/at-components,@agrotools1/at-icons\r\n\r\n# Primeira release de um pacote\r\npnpm prerelease --first-release\r\n\r\n# Executar em modo dry-run (sem alterar arquivos)\r\npnpm prerelease --dry-run\r\n\r\n# Executar com logs detalhados\r\npnpm prerelease --verbose\r\n```\r\n\r\n### Publicando no NPM\r\n\r\nDepois de criar a release, use o script `publish` para publicar os pacotes no registro NPM:\r\n\r\n```bash\r\n# Publicar todos os pacotes\r\npnpm publish\r\n\r\n# Publicar pacotes específicos\r\npnpm publish --projects=at-components-v1,at-icons\r\n\r\n# Publicar com autenticação 2FA\r\npnpm publish --otp=123456\r\n\r\n# Verificar o processo sem publicar (dry-run)\r\npnpm publish --dry-run\r\n```\r\n\r\nEstas operações são controladas pelos scripts `prerelease.ts` e `release.ts` localizados em `tools/scripts/`, que utilizam as funções `releaseVersion`, `releaseChangelog` e `releasePublish` do NX.\r\n\r\n## Comandos NX\r\n\r\nEste monorepo utiliza plugins NX para várias tarefas:\r\n\r\n- **@nx/js com TypeScript** - Para gerenciamento de bibliotecas TypeScript\r\n- **@nx/storybook** - Para documentação de componentes\r\n- **@nx/vue** - Para componentes e bibliotecas Vue.js\r\n- **@nx/eslint** - Para qualidade de código\r\n- **@nx/vite com Vitest** - Para empacotamento e testes\r\n\r\nComandos NX comuns:\r\n\r\n```bash\r\n# Gerar uma nova biblioteca\r\npnpm nx g @nx/vue:lib minha-nova-lib\r\n\r\n# Gerar um novo componente em uma biblioteca\r\npnpm nx g @nx/vue:component meu-componente --project=at-components-v1\r\npnpm nx g @nx/vue:component meu-componente --project=at-components-v2\r\n\r\n# Visualizar o gráfico de dependências do projeto\r\npnpm nx graph\r\n```\r\n","readmeFilename":"README.md","_rev":"1-2bc3ba26479533a5a5ec61c1e5dfa4fe"}