Skip to content

Start UI v3 #572

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 410 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
410 commits
Select commit Hold shift + click to select a range
2698c46
wip
ivan-dalmet Apr 6, 2025
5dc67a8
wip: manager page layout
ivan-dalmet Apr 6, 2025
87fcbde
wip: manager layout
ivan-dalmet Apr 6, 2025
4320a40
feat: add marketing bento
ivan-dalmet Apr 6, 2025
2f633ff
fix: improve manager
ivan-dalmet Apr 6, 2025
3a9969e
fix: clean up
ivan-dalmet Apr 6, 2025
11cfcf2
fix: safe bottom sidebar
ivan-dalmet Apr 6, 2025
bd68d24
fix: close mobile nav on account nav
ivan-dalmet Apr 6, 2025
40a2ca7
fix: pointer events none issue
ivan-dalmet Apr 6, 2025
c741285
fix: add loader on guard public only
ivan-dalmet Apr 6, 2025
a758b63
fix: sidebar issue
ivan-dalmet Apr 6, 2025
9f192d4
fix: login bg
ivan-dalmet Apr 6, 2025
377e051
fix: color issue
ivan-dalmet Apr 6, 2025
d2923f6
fix: make sure the sidebar is closed when page change
ivan-dalmet Apr 6, 2025
3072a0a
feat: add search input component
ivan-dalmet Apr 7, 2025
a6c4316
fix: add missing avatar docs
ivan-dalmet Apr 7, 2025
9fbb637
feat: add search input on manager pages
ivan-dalmet Apr 7, 2025
8bc6da0
feat: add responsive icon button
ivan-dalmet Apr 7, 2025
058867f
fix: linter issue on calendar
ivan-dalmet Apr 7, 2025
7123c77
feat: add search button
ivan-dalmet Apr 7, 2025
0f44331
fix: avatar color
ivan-dalmet Apr 7, 2025
4c9b604
fix: drawer search button on ios
ivan-dalmet Apr 7, 2025
6d6c5d8
wip: manager pages
ivan-dalmet Apr 7, 2025
81d742a
fix: sidbar collapsible icon
ivan-dalmet Apr 7, 2025
be6a198
fix: dev warm up
ivan-dalmet Apr 7, 2025
84b5916
feat: add loading on search components
ivan-dalmet Apr 7, 2025
98ae053
feat: repositories search and infinite query
ivan-dalmet Apr 7, 2025
d717a1d
fix: root loader
ivan-dalmet Apr 7, 2025
3804823
wip: manager repositories
ivan-dalmet Apr 7, 2025
b57e8f9
fix: skeleton
ivan-dalmet Apr 7, 2025
cf304f2
fix: root init
ivan-dalmet Apr 7, 2025
4c9f1a0
wip: app repositories
ivan-dalmet Apr 7, 2025
680ce92
fix: app page layout topbar alignment on mobile
ivan-dalmet Apr 7, 2025
2d33e53
wip: list users
ivan-dalmet Apr 7, 2025
2a4a976
fix: some rtl issue
ivan-dalmet Apr 8, 2025
e54576a
feat: add PageLayoutTopBarTitle components
ivan-dalmet Apr 8, 2025
79ab5e3
feat: redo theme to allows system theme
ivan-dalmet Apr 9, 2025
5555ac1
feat: add datalist component
ivan-dalmet Apr 9, 2025
5efad7c
feat: move storybook on public folder to deploy it
ivan-dalmet Apr 9, 2025
6a8e6b7
feat: add datalist in pages
ivan-dalmet Apr 9, 2025
18a5d80
feat: add user page (empty)
ivan-dalmet Apr 9, 2025
15b98f4
feat: use better back button
ivan-dalmet Apr 9, 2025
cbd3a62
feat: boring avatars
ivan-dalmet Apr 9, 2025
eac7bc1
feat: improve date picker
yoannfleurydev Apr 10, 2025
24e0824
chore: disable lint warn at the moment
yoannfleurydev Apr 10, 2025
39fa05e
feat: update to latest react hook form resolvers to enjoy type inference
yoannfleurydev Apr 10, 2025
50f175b
feat: update usage based on react hook form update
yoannfleurydev Apr 10, 2025
550bda5
fix: input opacity on readonly
yoannfleurydev Apr 10, 2025
28eb21e
feat: add date input and picker
yoannfleurydev Apr 10, 2025
fdc2b2a
feat: wip select
yoannfleurydev Apr 11, 2025
0de1893
docs: better init for vscode
ivan-dalmet Apr 11, 2025
79e3e41
feat: back button component
ivan-dalmet Apr 11, 2025
1358195
kikoo: better avatars
ivan-dalmet Apr 11, 2025
dd7986c
feat: improve select
yoannfleurydev Apr 11, 2025
fbdcaf1
fix: avatar issue
ivan-dalmet Apr 11, 2025
cce56fd
feat: add card component
ivan-dalmet Apr 11, 2025
a8e1e15
feat: add users sessions management in admin
ivan-dalmet Apr 11, 2025
83338f8
fix: avatar safari
ivan-dalmet Apr 11, 2025
e036f13
fix: clean up code
ivan-dalmet Apr 12, 2025
ee32a03
feat: account user card
ivan-dalmet Apr 12, 2025
cc82eba
fix: select
yoannfleurydev Apr 13, 2025
d9ed9d9
feat: select customizable empty state
yoannfleurydev Apr 13, 2025
52d7df8
fix: button padding issue
ivan-dalmet Apr 14, 2025
2dfe004
fix: disabled button state
ivan-dalmet Apr 14, 2025
49cdace
fix: read only for generated files
ivan-dalmet Apr 14, 2025
6d88ab9
fix: open on click by default
yoannfleurydev Apr 14, 2025
73fb4f0
wip idea
ivan-dalmet Apr 14, 2025
cd7bfb2
feat: select ui pattern for more readable JSX
yoannfleurydev Apr 14, 2025
48b4799
feat: add field select (wip)
yoannfleurydev Apr 14, 2025
d45e690
fix: field select
yoannfleurydev Apr 15, 2025
c21e56f
fix: i'm just dumb af
yoannfleurydev Apr 15, 2025
79fa9f4
fix: ts error in select docs
ivan-dalmet Apr 16, 2025
e1ef4a5
fix: remove unreachable code and add eslint rule
ivan-dalmet Apr 16, 2025
b1440f8
fix: max height and scroll area for user sessions
ivan-dalmet Apr 16, 2025
8891adf
feat: add badge component
ivan-dalmet Apr 16, 2025
25f695e
fix: badge, email template name, add email status on account
ivan-dalmet Apr 16, 2025
f4a530b
wip: update email flow
ivan-dalmet Apr 16, 2025
77f2f70
fix: clean up account
ivan-dalmet Apr 16, 2025
16ec162
wip: update user info
ivan-dalmet Apr 16, 2025
f0d3286
test: add beginning of field select tests
yoannfleurydev Apr 17, 2025
c072a4f
test: add more field-select test and setup
yoannfleurydev Apr 17, 2025
72b9a5e
test: add more tests to field select
yoannfleurydev Apr 17, 2025
31c5bac
feat: simplify calendar
yoannfleurydev Apr 17, 2025
8765f21
feat: add a11y plugin for storybook and improve calendar
yoannfleurydev Apr 17, 2025
93bd3f8
feat: some improvements on date input and picker
yoannfleurydev Apr 17, 2025
4fe5a7f
feat: improve form components
yoannfleurydev Apr 17, 2025
f069a4d
wip: change email flow
ivan-dalmet Apr 20, 2025
e72a891
fix: rename schemas files to schema
ivan-dalmet Apr 20, 2025
706235b
fix: gap issue
ivan-dalmet Apr 20, 2025
8650ec9
wip
ivan-dalmet Apr 20, 2025
423923b
wip: change email flow
ivan-dalmet Apr 22, 2025
62ca8ec
fix: drawer
ivan-dalmet Apr 22, 2025
54fdafc
fix: button issue on safari
ivan-dalmet Apr 22, 2025
d780b5f
fix: sonner safe area
ivan-dalmet Apr 22, 2025
83c79e5
feat: number input
yoannfleurydev Apr 22, 2025
d0ba489
fix: remove scroll area for sessions
ivan-dalmet Apr 23, 2025
8e1eb91
fix: active state in nav sidebar
ivan-dalmet Apr 23, 2025
81ff51e
fix: remove change email flow
ivan-dalmet Apr 24, 2025
bba1432
feat: wip field number
yoannfleurydev Apr 24, 2025
4bb68c1
feat: update all dependencies to latest
yoannfleurydev Apr 25, 2025
327a154
fix: use cloneAsChild in button and responsive icon button
ivan-dalmet Apr 25, 2025
b1721ea
fix: Permission type
ivan-dalmet Apr 25, 2025
80ce626
wip: users screens
ivan-dalmet Apr 25, 2025
e46853d
fix: allows routing syntaxe in routes folder
ivan-dalmet Apr 27, 2025
fa06afc
feat: add withClearButton props on select
ivan-dalmet Apr 27, 2025
96eae11
feat: expose rolesNames array
ivan-dalmet Apr 27, 2025
1014399
feat: add size to select component
ivan-dalmet Apr 27, 2025
ab9be9c
wip: add role to user form
ivan-dalmet Apr 27, 2025
cfcdf25
feat: use base ui for number input
yoannfleurydev Apr 27, 2025
46f88c6
wip: update user
ivan-dalmet Apr 28, 2025
f542d1d
feat: confirm responsive drawer
ivan-dalmet Apr 28, 2025
ca7609a
feat: confirm logout on account page
ivan-dalmet Apr 28, 2025
beb255a
fix: change name drawer
ivan-dalmet Apr 28, 2025
818fb82
fix: user edit button
ivan-dalmet Apr 28, 2025
4c21a17
feat: prevent nav with form
ivan-dalmet Apr 28, 2025
a41653c
feat: delete user
ivan-dalmet Apr 28, 2025
f916325
feat: create user
ivan-dalmet Apr 28, 2025
6cb4c4a
fix: hide delete button if user is the one connected
ivan-dalmet Apr 28, 2025
3afb958
fix: button style
ivan-dalmet Apr 28, 2025
48cbd70
fix: drawer style
ivan-dalmet Apr 28, 2025
60fd8ef
feat: add datalist row result
ivan-dalmet Apr 28, 2025
e0ded97
feat: confirm logout component
ivan-dalmet Apr 29, 2025
e0511c3
feat: add inCents for field number
yoannfleurydev Apr 29, 2025
2f683ee
fix: move session management and user delete to orpc
ivan-dalmet Apr 30, 2025
1805d1d
fix: improve orpc logger
ivan-dalmet Apr 30, 2025
8bb1343
fix: move update account to orpc
ivan-dalmet Apr 30, 2025
0f8853a
fix: add missing error on onboarding page
ivan-dalmet Apr 30, 2025
2272a21
feat: demo mode drawer
ivan-dalmet Apr 30, 2025
41bf785
feat: use orpc interceptor for demo
ivan-dalmet Apr 30, 2025
dc8814b
feat: add SKIP_ENV_VALIDATION env var to bypass env validation
ivan-dalmet May 3, 2025
57dc2dc
fix: add missing translations
ivan-dalmet May 3, 2025
b3b9ce4
fix: refacto withpermission component to allows multiple permissions
ivan-dalmet May 3, 2025
1062d69
fix: use default language key in e2e tests
ivan-dalmet May 4, 2025
406c1a9
fix: add missing error in field-date
ivan-dalmet May 5, 2025
4003fbc
fix: add size and invalid to number input
ivan-dalmet May 5, 2025
4772000
fix: improve date input
ivan-dalmet May 5, 2025
9e6b040
hotfix: make sur the number input update value on enter
ivan-dalmet May 5, 2025
8fa48e4
FEAT: ui-state match (#573)
HugoPerard May 5, 2025
03eac9c
fix: rename success color to positive to match negative color
ivan-dalmet May 5, 2025
73aecb9
fix: color issue sidebar dark mode
ivan-dalmet May 5, 2025
336298e
fix: ui state matching issue
ivan-dalmet May 5, 2025
fb23132
fix: add type="button" to button with no asChild
ivan-dalmet May 7, 2025
c121744
fix: responsive icon button
ivan-dalmet May 7, 2025
1c70446
fix: add type number to number input
ivan-dalmet May 9, 2025
234a15f
feat: handle onchange and onblur on all fields
ivan-dalmet May 9, 2025
ab8a026
fix: input number mobile
ivan-dalmet May 9, 2025
0ca412e
feat: add server-timing
yoannfleurydev May 9, 2025
c1bb366
fix: number input invalid false passed to dom
ivan-dalmet May 12, 2025
dc25fd1
chore: upgrade tanstack start and router
ivan-dalmet May 12, 2025
26702b3
chore: update deps
ivan-dalmet May 12, 2025
57f7830
fix: remove useless dependencies
ivan-dalmet May 12, 2025
306bb4f
feat: add lint and ts in ci
ivan-dalmet May 12, 2025
32386db
fix: try to remove explicite cache in CI
ivan-dalmet May 12, 2025
e301e7b
fix: remove useless ci step
ivan-dalmet May 12, 2025
6fe6aa1
fix: ci add matrix
ivan-dalmet May 12, 2025
a2a114b
fix: search button translations
ivan-dalmet May 12, 2025
2fdd51a
fix: sidebar component translations
ivan-dalmet May 12, 2025
fe0c52c
fix: set dir ltr in demo english elements
ivan-dalmet May 12, 2025
7e8d1c5
fix: open api schema
ivan-dalmet May 12, 2025
1a966c9
fix: missing translation in sidebar component
ivan-dalmet May 12, 2025
1d289fe
feat: main nav translations
ivan-dalmet May 12, 2025
9ac57a2
fix: translate nav user
ivan-dalmet May 12, 2025
95177a2
fix: init language issue
ivan-dalmet May 12, 2025
d401178
fix: remove no warnings for now
ivan-dalmet May 13, 2025
ae86267
fix: use vercel url if available (#578)
ivan-dalmet May 13, 2025
8e65f21
fix: preview url
ivan-dalmet May 13, 2025
9f1555c
Select using Headless UI (#575)
yoannfleurydev May 13, 2025
a3f0039
fix: refacto page error component
ivan-dalmet May 14, 2025
3cd37b9
fix: autofocus for select
ivan-dalmet May 14, 2025
aa44b21
V3: fix getUiState typescript issue (#579)
HugoPerard May 16, 2025
9674191
V3: improve getUiState (when + error types) (#581)
HugoPerard May 19, 2025
a904021
fix: ref in input and number-input
ivan-dalmet May 19, 2025
ccdf5a8
fix: add missing back button label
ivan-dalmet May 19, 2025
0466d00
feat: add e2e test for rest api schema
ivan-dalmet May 19, 2025
ae63418
fix: generated icons
ivan-dalmet May 19, 2025
7a1bb05
fix: scroll area props for orientation
ivan-dalmet May 19, 2025
1347f60
feat: add build info
ivan-dalmet May 19, 2025
3ac1bd4
fix: drawer handle size
ivan-dalmet May 19, 2025
acaf81b
fix: remove save button on repo app
ivan-dalmet May 19, 2025
8f8e725
wip: book entity
ivan-dalmet May 19, 2025
1f5c126
feat: some little fixes and improvements
yoannfleurydev May 20, 2025
3a3352e
feat: add book create form and page
yoannfleurydev May 20, 2025
61b4223
wip: book display in app
ivan-dalmet May 21, 2025
d151ede
feat: add genre as a data in db
yoannfleurydev May 21, 2025
aa174f3
fix: app books
yoannfleurydev May 22, 2025
f551314
feat: use tailwind colors for genre seed
yoannfleurydev May 23, 2025
bae842e
fix: improve page error
ivan-dalmet May 23, 2025
c79e0d1
fix: scale for book cover
ivan-dalmet May 23, 2025
4d5db6a
wip: book in manager
ivan-dalmet May 23, 2025
3de3961
V3: replace ui-state.ts by @bearstudio/ui-state (#583)
HugoPerard May 26, 2025
79feb7f
fix: ux of book page on app
ivan-dalmet May 26, 2025
5132479
feat: improve switching apps in demo
ivan-dalmet May 26, 2025
5a98228
fix: icon generation result
ivan-dalmet May 26, 2025
a304667
fix: move permissions file to the features/auth folder
ivan-dalmet May 26, 2025
fb1e243
fix: issue on dark mode
ivan-dalmet May 26, 2025
287ffb6
feat: delete a book
ivan-dalmet May 26, 2025
da6bc40
fix: better search
ivan-dalmet May 26, 2025
652add2
fix: remove not update readme content
ivan-dalmet May 30, 2025
e96b668
fix: select translations
ivan-dalmet May 30, 2025
53c88ab
fix: onboarding missing translations
ivan-dalmet May 30, 2025
e0efe67
wip: translations
ivan-dalmet May 30, 2025
9632461
fix: RTL issue with scroll area
ivan-dalmet Jun 4, 2025
fd1a951
fix: more visible dev env hint
ivan-dalmet Jun 4, 2025
5e87516
fix: overflow issue on RTL
ivan-dalmet Jun 4, 2025
b89678e
feat: add demo welcome content
ivan-dalmet Jun 4, 2025
0bba81a
fix: fr translation
ivan-dalmet Jun 4, 2025
7622118
fix: add missing label on login
ivan-dalmet Jun 4, 2025
4291ca1
fix: common tranlsations
ivan-dalmet Jun 4, 2025
6f50732
fix: demo welcome
ivan-dalmet Jun 4, 2025
1109ec1
feat: translate account display preferences
ivan-dalmet Jun 4, 2025
1f75c04
feat: user card translation
ivan-dalmet Jun 4, 2025
60ef281
feat: change name drawer translations
ivan-dalmet Jun 4, 2025
eb183fa
feat: account translations
ivan-dalmet Jun 4, 2025
ba64743
fix: make book update action do a book update instead of a create (#589)
DecampsRenan Jun 11, 2025
21ff068
feat: add lefthook to handle git hooks (#587)
yoannfleurydev Jun 12, 2025
3ccca3a
fix: niah niah niah
ivan-dalmet Jun 13, 2025
c0960fb
fix: missing translations
ivan-dalmet Jun 16, 2025
4dea54f
fix: page users translations
ivan-dalmet Jun 16, 2025
6db5921
wip: Readme update
ivan-dalmet Jun 19, 2025
24c064c
feat: storybook 9 (#586)
yoannfleurydev Jun 19, 2025
beb6949
feat: add Prettify type in utilities.d.ts
ivan-dalmet Jun 23, 2025
4133ec1
feat: update tanstack start (#593)
ivan-dalmet Jun 30, 2025
ee3724a
fix: verbose prisma messages (#595)
hugperez Jun 30, 2025
03b239a
fix: theme colors
ivan-dalmet Jul 1, 2025
d8e214a
fix: move to radix-ui package
ivan-dalmet Jul 2, 2025
43cc364
fix: storybook translation switcher
ivan-dalmet Jul 2, 2025
8912cfb
fix: context issue with responsive drawer
ivan-dalmet Jul 2, 2025
6edc095
feat: setup inter font
ivan-dalmet Jul 2, 2025
07f6fe6
fix: update ui-state
ivan-dalmet Jul 3, 2025
21c63bf
fix: skip env validation for vitest tests
ivan-dalmet Jul 3, 2025
0040e92
feat(v3): Radio, RadioGroup and FieldRadioGroup (#574)
ntatoud Jul 4, 2025
47f6bec
fix: number input error display issue
ivan-dalmet Jul 4, 2025
a842ffa
fix: disable buttons if number input disabled or read only
ivan-dalmet Jul 4, 2025
b2af504
fix: move auth client and config in features folder
ivan-dalmet Jul 4, 2025
5de3bd5
feat: extract page title in function
ivan-dalmet Jul 4, 2025
c6baf42
docs: improve README
yoannfleurydev Jul 4, 2025
658f9c9
fix: update readme visual
ivan-dalmet Jul 7, 2025
2beb30b
feat(v3): Checkbox, FieldCheckbox (#600)
ntatoud Jul 11, 2025
8b5e224
fix: readme issue
ivan-dalmet Jul 11, 2025
6fff943
fix: allows to use form field error outside of form field
ivan-dalmet Jul 20, 2025
23bc68f
fix: checkbox size, indeterminate and examples
ivan-dalmet Jul 21, 2025
cbaf95e
fix: radio sizz and examples
ivan-dalmet Jul 21, 2025
aaa9cd4
fix: checkbox and radio label size
ivan-dalmet Jul 21, 2025
78dcdb5
fix: radio and checkbox alignment
ivan-dalmet Jul 21, 2025
d04bdfd
test(v3): vitest browser mode (#605)
ntatoud Jul 29, 2025
7f3bda4
feat(v3): CheckboxGroup, FieldCheckboxGroup (#602)
ntatoud Aug 1, 2025
99d7a5b
feat: add code inspector plugin (#607)
ivan-dalmet Aug 1, 2025
a5f7e13
fix: drop test for node 20
ivan-dalmet Aug 1, 2025
4fd4b8f
fix: field-checkbox-group test with browser mode
ntatoud Aug 1, 2025
6e0dcff
Books translations (#608)
yoannfleurydev Aug 21, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
27 changes: 12 additions & 15 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,36 +1,33 @@
VITE_PORT=3000

# DOCKER
DOCKER_DATABASE_PORT="5432"
DOCKER_DATABASE_NAME="startui"
DOCKER_DATABASE_USERNAME="startui"
DOCKER_DATABASE_PASSWORD="startui"

# PUBLIC CONFIG
NEXT_PUBLIC_BASE_URL="http://localhost:3000"
VITE_BASE_URL="http://localhost:${VITE_PORT}"
# Use the following environment variables to show the environment name.
NEXT_PUBLIC_ENV_NAME="LOCAL"
NEXT_PUBLIC_ENV_EMOJI="🚧"
NEXT_PUBLIC_ENV_COLOR_SCHEME="warning"
VITE_ENV_NAME="LOCAL"
VITE_ENV_EMOJI="🚧"
VITE_ENV_COLOR="gold"

# Configure demo mode (read only)
NEXT_PUBLIC_IS_DEMO="false"
VITE_IS_DEMO="false"

# DATABASE
DATABASE_URL="postgres://${DOCKER_DATABASE_USERNAME}:${DOCKER_DATABASE_PASSWORD}@localhost:${DOCKER_DATABASE_PORT}/${DOCKER_DATABASE_NAME}"

# SESSION
SESSION_EXPIRATION_SECONDS=2592000 # 30 days
# AUTH
BETTER_AUTH_SECRET="REPLACE ME" # You can use `npx @better-auth/cli@latest secret` to a generated secret
SESSION_EXPIRATION_IN_SECONDS=2592000 # 30 days
SESSION_UPDATE_AGE_IN_SECONDS=86400 # 1 day (every 1 day the session expiration is updated)

# GITHUB
GITHUB_CLIENT_ID="REPLACE ME"
GITHUB_CLIENT_SECRET="REPLACE ME"

# GOOGLE
GOOGLE_CLIENT_ID="REPLACE ME"
GOOGLE_CLIENT_SECRET="REPLACE ME"

# DISCORD
DISCORD_CLIENT_ID="REPLACE ME"
DISCORD_CLIENT_SECRET="REPLACE ME"

# EMAILS
EMAIL_SERVER="smtp://username:password@0.0.0.0:1025"
EMAIL_FROM="Start UI <noreply@example.com>"
Expand Down
38 changes: 0 additions & 38 deletions .eslintrc.json

This file was deleted.

Binary file modified .github/assets/tech-logos.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified .github/assets/thumbnail.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
30 changes: 0 additions & 30 deletions .github/pull_request_template.md

This file was deleted.

89 changes: 67 additions & 22 deletions .github/workflows/code-quality.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,41 +2,89 @@ name: 🔎 Code Quality

on:
push:
branches:
- master
- main
- develop
- staging
branches: [main]
pull_request:

jobs:
lint-code:
linter:
name: 🧹 Linter
timeout-minutes: 10
name: Lint and Type Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Install pnpm
uses: pnpm/action-setup@v4
with:
version: 10

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 'lts/*'
cache: 'pnpm'

- name: Install deps
run: pnpm install

- name: Run eslint
run: pnpm run lint:eslint

typescriptChecker:
name: 🟦 TypeScript Checker
timeout-minutes: 10
runs-on: ubuntu-latest
strategy:
matrix:
node: [20, 22, 'lts/*']

node: [22, 24, 'lts/*']
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Install pnpm
uses: pnpm/action-setup@v4
with:
version: 10

- uses: actions/setup-node@v2
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
cache: 'pnpm'

- uses: pnpm/action-setup@v4
name: Install pnpm
- name: Install deps
run: pnpm install

- name: Run Typescript checker
run: pnpm run lint:ts

tests:
name: 🔬 Tests
timeout-minutes: 10
runs-on: ubuntu-latest
env:
VITE_BASE_URL: http://localhost:3000
strategy:
matrix:
node: [22, 24, 'lts/*']
steps:
- uses: actions/checkout@v4

- name: Install pnpm
uses: pnpm/action-setup@v4
with:
version: 8
run_install: false
version: 10

- name: Get pnpm store directory
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
cache: 'pnpm'

- name: Cache node modules
uses: actions/cache@v4
env:
Expand All @@ -49,14 +97,11 @@ jobs:
${{ runner.os }}-pnpm-store-
${{ runner.os }}-

- name: Install dependencies
- name: Install deps
run: pnpm install

- name: NextJS Linting
run: pnpm lint:next

- name: TypeScript check
run: pnpm lint:ts
- name: Install Playwright Chromium
run: pnpm exec playwright install chromium --with-deps

- name: Run tests
run: pnpm test:ci
run: SKIP_ENV_VALIDATION=true pnpm run test:ci
20 changes: 8 additions & 12 deletions .github/workflows/e2e-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,24 +6,20 @@ on:
- main
- develop
- staging
- ivan/restart # TODO remove me on final merge on main
pull_request:
branches:
- master
- main
- develop
- staging

jobs:
E2E:
name: Playwright E2E Tests
timeout-minutes: 30
runs-on: ubuntu-latest
env:
NEXT_PUBLIC_BASE_URL: http://localhost:3000
NEXT_PUBLIC_ENV_NAME: tests
VITE_BASE_URL: http://localhost:3000
VITE_ENV_NAME: tests
DATABASE_URL: postgres://startui:startui@localhost:5432/startui
NEXT_PUBLIC_IS_DEMO: false
AUTH_SECRET: Replace me with `openssl rand -base64 32` generated secret
VITE_IS_DEMO: false
BETTER_AUTH_SECRET: fyXjLxjXJowjicI2BAjxOaUsQd1QafdegZDciJE/xM8=
EMAIL_SERVER: smtp://username:password@localhost:1025
EMAIL_FROM: Start UI <noreply@example.com>
services:
Expand All @@ -44,9 +40,9 @@ jobs:
- 5432:5432

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- uses: actions/setup-node@v3
- uses: actions/setup-node@v4
with:
node-version: 20

Expand Down Expand Up @@ -77,7 +73,7 @@ jobs:
run: pnpm install

- name: Install Playwright Browsers
run: pnpm playwright install --with-deps
run: pnpm exec playwright install --with-deps

- name: Migrate database
run: pnpm db:push
Expand Down
20 changes: 9 additions & 11 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,9 @@
# testing
/coverage

# next.js
/.next/
/out/
next-env.d.ts

# production
.output
.vinxi
/build
/public/storybook
/storybook-static
Expand All @@ -23,6 +20,7 @@ next-env.d.ts
*.pem
/.vscode/*
!/.vscode/extensions.json
!/.vscode/settings.example.json
.idea/
.eslintcache
.db
Expand All @@ -44,7 +42,7 @@ yarn-error.log*
.vercel

# Build info
.build-info.json
build-info.gen.json

# Prisma
prisma/dev.db
Expand All @@ -58,9 +56,9 @@ prisma/dev.db-journal
/playwright-report/
/playwright/.cache/

# next-pwa recommandation
**/public/workbox-*.js*
**/public/sw.js*
**/public/worker-development.js*
certificates

certificates
*storybook.log
app.config.timestamp_*.js
.tanstack
.nitro
1 change: 0 additions & 1 deletion .husky/.gitignore

This file was deleted.

1 change: 0 additions & 1 deletion .husky/pre-commit

This file was deleted.

1 change: 0 additions & 1 deletion .husky/pre-push

This file was deleted.

2 changes: 2 additions & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
engine-strict=true
# otherwise the postinstall script of the lefthook package won't be executed and hooks won't be installed
side-effects-cache = false
5 changes: 3 additions & 2 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
.cache
.next
.db
.history
out
output
.vinxi
node_modules
package.json
package-lock.json
Expand All @@ -13,3 +13,4 @@ public
.env*
!.env.validator.js
pnpm-lock.yaml
*.gen.ts
10 changes: 5 additions & 5 deletions .prettierrc.js → .prettierrc.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,17 @@
// But if you do so, please run the `npm run pretty` command.
/** @type {import("prettier").Options} */
const config = {
plugins: ['prettier-plugin-tailwindcss'],
endOfLine: 'lf',
semi: true,
singleQuote: true,
tabWidth: 2,
trailingComma: 'es5',
arrowParens: 'always',
importOrder: ['^react$', '^(?!^react$|^@/|^[./]).*', '^@/(.*)$', '^[./]'],
importOrderSeparation: true,
importOrderSortSpecifiers: true,
importOrderParserPlugins: ['jsx', 'typescript'],
plugins: ['@trivago/prettier-plugin-sort-imports'],

tailwindStylesheet: './app/styles/app.css',
tailwindFunctions: ['cn', 'cva'],
};

// eslint-disable-next-line no-undef
module.exports = config;
Loading
Loading