Skip to content

Commit

Permalink
chore: bump deps
Browse files Browse the repository at this point in the history
  • Loading branch information
rifandani committed Apr 27, 2024
1 parent b155af3 commit daa602b
Show file tree
Hide file tree
Showing 7 changed files with 6,089 additions and 5,114 deletions.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ Feel free to explore the codebase to get the most value out of the repo.
## Table of Contents

- [Application Overview](https://github.com/rifandani/react-app/tree/main/docs/application-overview.md)
- [Linting and Formatting](https://github.com/rifandani/react-app/tree/main/docs/linting-and-formatting.md)
- [Testing](https://github.com/rifandani/react-app/tree/main/docs/testing.md)

## License

Expand Down
36 changes: 13 additions & 23 deletions docs/application-overview.md
Original file line number Diff line number Diff line change
@@ -1,34 +1,22 @@
# Application Overview

Bugs/issues in JollyUI:

- `date-picker` -> use `@internationalized/date` instead of `date-fns` to format date
- `checkbox` -> `labelVariants` function should be called inside of `cn` -> `labelVariants()`
- `radio-group` -> `labelVariants` function should be called inside of `cn` -> `labelVariants()`
- `searchfield` -> All className should be `(values) => typeof className === 'function' ? className(values) : className`
- `switch` -> `<div className="pointer-events-none block h-5 w-5"` there's no need for `cn` helper.
- `breadcrumbs` -> in `BreadcrumbLink` and `BreadcrumbPage`, className should be `(values) => typeof className === 'function' ? className(values) : className`.
- `Link` we don't need `LinkRenderProps` assertions in className values, it's already inferred
- `tabs` -> `Selected items not found. Exiting.` error. All className should be `(values) => typeof className === 'function' ? className(values) : className`
- `dialog` -> in `DialogContent`, `Modal` className should be `(values) => typeof className === 'function' ? className(values) : className`
- `TextArea` className should be `(values) => typeof className === 'function' ? className(values) : className`

The application built with:

- `vite` + `typescript` -> development productivity
- `biome` -> fast linter, formatter
- `biome` -> fast linter and formatter
- `@playwright/test` -> e2e test
- `tailwindcss` + `tailwindcss-animate` + `tailwind-merge` + `class-variance-authority` -> easy styling
- `@formkit/auto-animate` -> automate transition animation when component mount/unmount
- `ky` + `@tanstack/react-query` -> server state management + data fetching
- `zod` -> runtime schema validation
- `@iconify/react` -> SVG icon on demand
- `react-aria` + `react-aria-components` + `react-stately` + `sonner` -> adaptive, accessible and robust unstyled UI components
- `react-hook-form` -> form management
- `zustand` -> performant global state management
- `react-aria` + `react-aria-components` + `react-stately` + `sonner` -> accessible and robust unstyled UI components
- `zod` -> runtime schema validation
- `ts-pattern` -> better pattern matching
- `ky` + `@tanstack/react-query` -> server state manager + data fetching
- `react-hook-form` -> form manager
- `zustand` -> global state manager
- `type-fest` -> type helpers
- `@rifandani/nxact-yutiriti` -> object/array/string utils
- `@internationalized/date` -> date utils
- `@rifandani/nxact-yutiriti` -> object/array/string helpers
- `@internationalized/date` -> date helpers
- `vite-plugin-pwa` + `@vite-pwa/assets-generator` + `@rollup/plugin-replace` + `https-localhost` + `workbox-core` + `workbox-precaching` + `workbox-routing` + `workbox-window` -> Progressive Web App (PWA)

[Demo App](https://react-app-rifandani.vercel.app)
Expand All @@ -43,8 +31,10 @@ Prerequisites:
To set up the app execute the following commands:

```bash
# clone the template OR you can click "Use this template" in https://github.com/rifandani/react-app.com
# clone the template OR you can click "Use this template" in github
$ git clone https://github.com/rifandani/react-app.git
# OR use degit
$ npx degit rifandani/react-app#main

$ cd react-app

Expand All @@ -66,7 +56,7 @@ $ pnpm dev

## Testing

We use Playwright for our E2E tests in this project. Check out [testing docs](https://github.com/rifandani/react-app/blob/main/docs/testing.md) for more info.
We use Playwright for our E2E tests in this project. Check out [testing docs](./testing.md) for more info.

```bash
# run test headless
Expand Down
14 changes: 14 additions & 0 deletions docs/issues.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Issues

## Issues/improvements I personally encounter when using JollyUI:

- `date-picker` -> use `@internationalized/date` instead of `date-fns` to format date
- `checkbox` -> `labelVariants` function should be called inside of `cn` -> `labelVariants()`
- `radio-group` -> `labelVariants` function should be called inside of `cn` -> `labelVariants()`
- `searchfield` -> All className should be `(values) => typeof className === 'function' ? className(values) : className`
- `switch` -> `<div className="pointer-events-none block h-5 w-5"` there's no need for `cn` helper.
- `breadcrumbs` -> in `BreadcrumbLink` and `BreadcrumbPage`, className should be `(values) => typeof className === 'function' ? className(values) : className`.
- `Link` we don't need `LinkRenderProps` assertions in className values, it's already inferred
- `tabs` -> `Selected items not found. Exiting.` error. All className should be `(values) => typeof className === 'function' ? className(values) : className`
- `dialog` -> in `DialogContent`, `Modal` className should be `(values) => typeof className === 'function' ? className(values) : className`
- `TextArea` className should be `(values) => typeof className === 'function' ? className(values) : className`
4 changes: 2 additions & 2 deletions e2e/_helper.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { LoginApiResponseSchema } from '#auth/apis/auth.api';
import { UserStoreState } from '#auth/hooks/use-user-store.hook';
import type { LoginApiResponseSchema } from '#auth/apis/auth.api';
import type { UserStoreState } from '#auth/hooks/use-user-store.hook';
import { faker } from '@faker-js/faker';

export function seedUser(): LoginApiResponseSchema {
Expand Down
54 changes: 27 additions & 27 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "react-app",
"type": "module",
"version": "0.0.1",
"packageManager": "pnpm@8.15.6",
"packageManager": "pnpm@9.0.6",
"description": "Bulletproof React 18 SPA Template",
"author": "Tri Rizeki Rifandani",
"license": "MIT",
Expand Down Expand Up @@ -70,42 +70,42 @@
"release": "bumpp"
},
"dependencies": {
"@formkit/auto-animate": "^0.8.1",
"@formkit/auto-animate": "^0.8.2",
"@hookform/resolvers": "^3.3.4",
"@internationalized/date": "^3.5.2",
"@radix-ui/react-avatar": "^1.0.4",
"@rifandani/nxact-yutiriti": "^1.2.2",
"@tanstack/react-query": "^5.29.0",
"@tanstack/react-query-devtools": "^5.29.0",
"@tanstack/react-query": "^5.32.0",
"@tanstack/react-query-devtools": "^5.32.0",
"class-variance-authority": "^0.7.0",
"ky": "^1.2.3",
"react": "^18.2.0",
"ky": "^1.2.4",
"react": "^18.3.1",
"react-aria": "^3.32.1",
"react-aria-components": "1.1.1",
"react-dom": "^18.2.0",
"react-hook-form": "^7.51.2",
"react-router-dom": "^6.22.3",
"react-dom": "^18.3.1",
"react-hook-form": "^7.51.3",
"react-router-dom": "^6.23.0",
"react-stately": "^3.30.1",
"sonner": "^1.4.41",
"ts-pattern": "^5.1.0",
"type-fest": "^4.15.0",
"zod": "^3.22.4",
"ts-pattern": "^5.1.1",
"type-fest": "^4.17.0",
"zod": "^3.23.4",
"zustand": "^4.5.2"
},
"devDependencies": {
"@biomejs/biome": "1.6.4",
"@commitlint/cli": "^19.2.1",
"@commitlint/config-conventional": "^19.1.0",
"@biomejs/biome": "1.7.1",
"@commitlint/cli": "^19.3.0",
"@commitlint/config-conventional": "^19.2.2",
"@faker-js/faker": "^8.4.1",
"@hookform/devtools": "^4.3.1",
"@iconify/react": "^4.1.1",
"@playwright/test": "^1.43.0",
"@rollup/plugin-replace": "^5.0.5",
"@tailwindcss/forms": "^0.5.7",
"@tailwindcss/typography": "^0.5.12",
"@types/node": "^20.12.5",
"@types/react": "^18.2.74",
"@types/react-dom": "^18.2.24",
"@tailwindcss/typography": "^0.5.13",
"@types/node": "^20.12.7",
"@types/react": "^18.3.1",
"@types/react-dom": "^18.3.0",
"@vite-pwa/assets-generator": "^0.2.4",
"@vitejs/plugin-react": "^4.2.1",
"autoprefixer": "^10.4.19",
Expand All @@ -114,22 +114,22 @@
"https-localhost": "^4.7.1",
"husky": "^9.0.11",
"npm-run-all2": "^6.1.2",
"pnpm": "^8.15.6",
"pnpm": "^9.0.6",
"postcss": "^8.4.38",
"prettier": "^3.2.5",
"rimraf": "^5.0.5",
"rollup-plugin-visualizer": "^5.12.0",
"tailwind-merge": "^2.2.2",
"tailwind-merge": "^2.3.0",
"tailwindcss": "^3.4.3",
"tailwindcss-animate": "^1.0.7",
"tailwindcss-react-aria-components": "1.1.1",
"typescript": "^5.4.4",
"vite": "^5.2.8",
"typescript": "^5.4.5",
"vite": "^5.2.10",
"vite-plugin-pwa": "^0.19.8",
"vite-tsconfig-paths": "^4.3.2",
"workbox-core": "^7.0.0",
"workbox-precaching": "^7.0.0",
"workbox-routing": "^7.0.0",
"workbox-window": "^7.0.0"
"workbox-core": "^7.1.0",
"workbox-precaching": "^7.1.0",
"workbox-routing": "^7.1.0",
"workbox-window": "^7.1.0"
}
}
Loading

0 comments on commit daa602b

Please sign in to comment.