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 373 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
373 commits
Select commit Hold shift + click to select a range
f0310c2
fix: public only guard
ivan-dalmet Mar 28, 2025
9dfe408
rollback issue
ivan-dalmet Mar 28, 2025
f8e6489
feat: date picker button
yoannfleurydev Mar 28, 2025
242f6ae
feat: onboarding
ivan-dalmet Mar 28, 2025
08c4f45
feat: use onSubmit helper to avoid alert()
yoannfleurydev Mar 29, 2025
1930820
feat: add parseStringToDate helper function (with tests)
yoannfleurydev Mar 29, 2025
fdbfc70
lint
yoannfleurydev Mar 29, 2025
2288b5e
wip date input
yoannfleurydev Mar 31, 2025
26ae83c
fix: rename onboardingAt to onboardedAt
ivan-dalmet Mar 31, 2025
9bdf0a1
fix: seeds
ivan-dalmet Mar 31, 2025
8fe1664
feat: add WithPermission component
ivan-dalmet Mar 31, 2025
0e55ad1
feat: init app / manager apps
ivan-dalmet Mar 31, 2025
a7ada81
wip page error and layouts
ivan-dalmet Mar 31, 2025
aff091a
fix: improve eslint rules
ivan-dalmet Mar 31, 2025
1751f57
wip: app layout
ivan-dalmet Mar 31, 2025
5c321f5
fix: primary color usage
ivan-dalmet Mar 31, 2025
dde56d5
feat: icons generation
ivan-dalmet Mar 31, 2025
d182272
fix: prettier
ivan-dalmet Mar 31, 2025
3148c42
fix: error on first load in dev
ivan-dalmet Mar 31, 2025
cd5f9ab
feat: add sidebar
ivan-dalmet Mar 31, 2025
172dc31
fix: e2e
ivan-dalmet Apr 1, 2025
3079aa8
fix: calendar - improve code and remove eslint
yoannfleurydev Apr 1, 2025
dbf99df
fix: calendar test lint
yoannfleurydev Apr 2, 2025
e9191d0
feat: add eslint rule for naming files
ivan-dalmet Apr 2, 2025
cee1b57
fix: improve error pages
ivan-dalmet Apr 2, 2025
5d64aad
feat: add some fun
ivan-dalmet Apr 2, 2025
5a0f401
feat: more fun
ivan-dalmet Apr 2, 2025
6682c41
fix: error message
ivan-dalmet Apr 2, 2025
2d33594
fix: missing onboarding
ivan-dalmet Apr 2, 2025
8f2e7a9
fix: favicon
ivan-dalmet Apr 3, 2025
b3e39d1
feat: some improvements on calendar
yoannfleurydev Apr 3, 2025
d7c9611
wip: manager sidebar
ivan-dalmet Apr 3, 2025
68c7196
wip: refacto files tree
ivan-dalmet Apr 4, 2025
65516fe
feat: add scroll area
ivan-dalmet Apr 4, 2025
3067caa
wip: redirect homepage to login
ivan-dalmet Apr 4, 2025
39dbc77
fix: page layout topbar
ivan-dalmet Apr 4, 2025
5c7bafd
wip: some stuff
ivan-dalmet Apr 4, 2025
3ee4876
wip
ivan-dalmet Apr 6, 2025
51143e5
wip: manager page layout
ivan-dalmet Apr 6, 2025
762d242
wip: manager layout
ivan-dalmet Apr 6, 2025
e0f8ca1
feat: add marketing bento
ivan-dalmet Apr 6, 2025
7675377
fix: improve manager
ivan-dalmet Apr 6, 2025
01354d4
fix: clean up
ivan-dalmet Apr 6, 2025
5c0d47a
fix: safe bottom sidebar
ivan-dalmet Apr 6, 2025
f5c2c95
fix: close mobile nav on account nav
ivan-dalmet Apr 6, 2025
ee8807a
fix: pointer events none issue
ivan-dalmet Apr 6, 2025
53d97fe
fix: add loader on guard public only
ivan-dalmet Apr 6, 2025
2f1fef9
fix: sidebar issue
ivan-dalmet Apr 6, 2025
ca69ac9
fix: login bg
ivan-dalmet Apr 6, 2025
7137db6
fix: color issue
ivan-dalmet Apr 6, 2025
937f884
fix: make sure the sidebar is closed when page change
ivan-dalmet Apr 6, 2025
db240f0
feat: add search input component
ivan-dalmet Apr 7, 2025
1812aeb
fix: add missing avatar docs
ivan-dalmet Apr 7, 2025
f56cd99
feat: add search input on manager pages
ivan-dalmet Apr 7, 2025
39c3827
feat: add responsive icon button
ivan-dalmet Apr 7, 2025
1dd6b6a
fix: linter issue on calendar
ivan-dalmet Apr 7, 2025
d14785d
feat: add search button
ivan-dalmet Apr 7, 2025
a1a354a
fix: avatar color
ivan-dalmet Apr 7, 2025
d17ea56
fix: drawer search button on ios
ivan-dalmet Apr 7, 2025
5897fe7
wip: manager pages
ivan-dalmet Apr 7, 2025
1d21a0f
fix: sidbar collapsible icon
ivan-dalmet Apr 7, 2025
c5ab000
fix: dev warm up
ivan-dalmet Apr 7, 2025
af97ea6
feat: add loading on search components
ivan-dalmet Apr 7, 2025
b16af02
feat: repositories search and infinite query
ivan-dalmet Apr 7, 2025
86f75a5
fix: root loader
ivan-dalmet Apr 7, 2025
408e558
wip: manager repositories
ivan-dalmet Apr 7, 2025
685a849
fix: skeleton
ivan-dalmet Apr 7, 2025
7a2504d
fix: root init
ivan-dalmet Apr 7, 2025
ac22dcb
wip: app repositories
ivan-dalmet Apr 7, 2025
7b4a22b
fix: app page layout topbar alignment on mobile
ivan-dalmet Apr 7, 2025
b7dc9df
wip: list users
ivan-dalmet Apr 7, 2025
41e0147
fix: some rtl issue
ivan-dalmet Apr 8, 2025
1562960
feat: add PageLayoutTopBarTitle components
ivan-dalmet Apr 8, 2025
ee9d4cc
feat: redo theme to allows system theme
ivan-dalmet Apr 9, 2025
3fb90e6
feat: add datalist component
ivan-dalmet Apr 9, 2025
efceba5
feat: move storybook on public folder to deploy it
ivan-dalmet Apr 9, 2025
94305ab
feat: add datalist in pages
ivan-dalmet Apr 9, 2025
3529261
feat: add user page (empty)
ivan-dalmet Apr 9, 2025
6951d55
feat: use better back button
ivan-dalmet Apr 9, 2025
7a766de
feat: boring avatars
ivan-dalmet Apr 9, 2025
50ccd94
feat: improve date picker
yoannfleurydev Apr 10, 2025
a8d823b
chore: disable lint warn at the moment
yoannfleurydev Apr 10, 2025
6fd93d9
feat: update to latest react hook form resolvers to enjoy type inference
yoannfleurydev Apr 10, 2025
44594f8
feat: update usage based on react hook form update
yoannfleurydev Apr 10, 2025
0720e39
fix: input opacity on readonly
yoannfleurydev Apr 10, 2025
4409e94
feat: add date input and picker
yoannfleurydev Apr 10, 2025
4f1a991
feat: wip select
yoannfleurydev Apr 11, 2025
533ef6f
docs: better init for vscode
ivan-dalmet Apr 11, 2025
0e2ba35
feat: back button component
ivan-dalmet Apr 11, 2025
449dc42
kikoo: better avatars
ivan-dalmet Apr 11, 2025
9c56892
feat: improve select
yoannfleurydev Apr 11, 2025
4467071
fix: avatar issue
ivan-dalmet Apr 11, 2025
a258dd0
feat: add card component
ivan-dalmet Apr 11, 2025
6af2a7e
feat: add users sessions management in admin
ivan-dalmet Apr 11, 2025
5dc130e
fix: avatar safari
ivan-dalmet Apr 11, 2025
ddb3635
fix: clean up code
ivan-dalmet Apr 12, 2025
dadcd7b
feat: account user card
ivan-dalmet Apr 12, 2025
b590b8a
fix: select
yoannfleurydev Apr 13, 2025
be1405c
feat: select customizable empty state
yoannfleurydev Apr 13, 2025
ba17969
fix: button padding issue
ivan-dalmet Apr 14, 2025
4ebf3a1
fix: disabled button state
ivan-dalmet Apr 14, 2025
eb48e4d
fix: read only for generated files
ivan-dalmet Apr 14, 2025
adf042c
fix: open on click by default
yoannfleurydev Apr 14, 2025
f9658cb
wip idea
ivan-dalmet Apr 14, 2025
88b8f8b
feat: select ui pattern for more readable JSX
yoannfleurydev Apr 14, 2025
e89e908
feat: add field select (wip)
yoannfleurydev Apr 14, 2025
b76a2f9
fix: field select
yoannfleurydev Apr 15, 2025
b261f98
fix: i'm just dumb af
yoannfleurydev Apr 15, 2025
9a2d87f
fix: ts error in select docs
ivan-dalmet Apr 16, 2025
2cbf5c2
fix: remove unreachable code and add eslint rule
ivan-dalmet Apr 16, 2025
c29c340
fix: max height and scroll area for user sessions
ivan-dalmet Apr 16, 2025
5f5e8f9
feat: add badge component
ivan-dalmet Apr 16, 2025
843e34d
fix: badge, email template name, add email status on account
ivan-dalmet Apr 16, 2025
eae87bf
wip: update email flow
ivan-dalmet Apr 16, 2025
5a0828b
fix: clean up account
ivan-dalmet Apr 16, 2025
476446a
wip: update user info
ivan-dalmet Apr 16, 2025
b5a6384
test: add beginning of field select tests
yoannfleurydev Apr 17, 2025
e5f3299
test: add more field-select test and setup
yoannfleurydev Apr 17, 2025
beaa163
test: add more tests to field select
yoannfleurydev Apr 17, 2025
76b1249
feat: simplify calendar
yoannfleurydev Apr 17, 2025
66263c6
feat: add a11y plugin for storybook and improve calendar
yoannfleurydev Apr 17, 2025
0b9f429
feat: some improvements on date input and picker
yoannfleurydev Apr 17, 2025
dda1975
feat: improve form components
yoannfleurydev Apr 17, 2025
f96fdba
wip: change email flow
ivan-dalmet Apr 20, 2025
c7cf83f
fix: rename schemas files to schema
ivan-dalmet Apr 20, 2025
9471df5
fix: gap issue
ivan-dalmet Apr 20, 2025
cb2b15f
wip
ivan-dalmet Apr 20, 2025
7af8728
wip: change email flow
ivan-dalmet Apr 22, 2025
e49a274
fix: drawer
ivan-dalmet Apr 22, 2025
ba0fd4d
fix: button issue on safari
ivan-dalmet Apr 22, 2025
7f20c5a
fix: sonner safe area
ivan-dalmet Apr 22, 2025
6a7ae3f
feat: number input
yoannfleurydev Apr 22, 2025
44c8643
fix: remove scroll area for sessions
ivan-dalmet Apr 23, 2025
24e3c82
fix: active state in nav sidebar
ivan-dalmet Apr 23, 2025
a18ec38
fix: remove change email flow
ivan-dalmet Apr 24, 2025
e2a77e6
feat: wip field number
yoannfleurydev Apr 24, 2025
ba15015
feat: update all dependencies to latest
yoannfleurydev Apr 25, 2025
387ae9d
fix: use cloneAsChild in button and responsive icon button
ivan-dalmet Apr 25, 2025
7b17c94
fix: Permission type
ivan-dalmet Apr 25, 2025
b776dca
wip: users screens
ivan-dalmet Apr 25, 2025
f76e73e
fix: allows routing syntaxe in routes folder
ivan-dalmet Apr 27, 2025
069120d
feat: add withClearButton props on select
ivan-dalmet Apr 27, 2025
e798545
feat: expose rolesNames array
ivan-dalmet Apr 27, 2025
e32f25b
feat: add size to select component
ivan-dalmet Apr 27, 2025
80efcf1
wip: add role to user form
ivan-dalmet Apr 27, 2025
d3bbb0a
feat: use base ui for number input
yoannfleurydev Apr 27, 2025
f6f68cf
wip: update user
ivan-dalmet Apr 28, 2025
03ddbbf
feat: confirm responsive drawer
ivan-dalmet Apr 28, 2025
91fb30f
feat: confirm logout on account page
ivan-dalmet Apr 28, 2025
fa04bb3
fix: change name drawer
ivan-dalmet Apr 28, 2025
cd4b89f
fix: user edit button
ivan-dalmet Apr 28, 2025
40315e5
feat: prevent nav with form
ivan-dalmet Apr 28, 2025
3b6de7b
feat: delete user
ivan-dalmet Apr 28, 2025
49b9e17
feat: create user
ivan-dalmet Apr 28, 2025
ac22a16
fix: hide delete button if user is the one connected
ivan-dalmet Apr 28, 2025
2a0856f
fix: button style
ivan-dalmet Apr 28, 2025
0a84f2c
fix: drawer style
ivan-dalmet Apr 28, 2025
91c5c1e
feat: add datalist row result
ivan-dalmet Apr 28, 2025
1dc62e4
feat: confirm logout component
ivan-dalmet Apr 29, 2025
3f781ed
feat: add inCents for field number
yoannfleurydev Apr 29, 2025
c29ccbf
fix: move session management and user delete to orpc
ivan-dalmet Apr 30, 2025
3f1a5ac
fix: improve orpc logger
ivan-dalmet Apr 30, 2025
32f6ef4
fix: move update account to orpc
ivan-dalmet Apr 30, 2025
aebe4bf
fix: add missing error on onboarding page
ivan-dalmet Apr 30, 2025
44ae0c6
feat: demo mode drawer
ivan-dalmet Apr 30, 2025
89f3bdb
feat: use orpc interceptor for demo
ivan-dalmet Apr 30, 2025
7eb5983
feat: add SKIP_ENV_VALIDATION env var to bypass env validation
ivan-dalmet May 3, 2025
82afbb6
fix: add missing translations
ivan-dalmet May 3, 2025
617b228
fix: refacto withpermission component to allows multiple permissions
ivan-dalmet May 3, 2025
1d06525
fix: use default language key in e2e tests
ivan-dalmet May 4, 2025
69219aa
fix: add missing error in field-date
ivan-dalmet May 5, 2025
071f056
fix: add size and invalid to number input
ivan-dalmet May 5, 2025
c7e4e6c
fix: improve date input
ivan-dalmet May 5, 2025
385cfba
hotfix: make sur the number input update value on enter
ivan-dalmet May 5, 2025
43534ba
FEAT: ui-state match (#573)
HugoPerard May 5, 2025
8b4d225
fix: rename success color to positive to match negative color
ivan-dalmet May 5, 2025
4c90f88
fix: color issue sidebar dark mode
ivan-dalmet May 5, 2025
20aee3c
fix: ui state matching issue
ivan-dalmet May 5, 2025
0ab16c6
fix: add type="button" to button with no asChild
ivan-dalmet May 7, 2025
a90fd94
fix: responsive icon button
ivan-dalmet May 7, 2025
3ed91a4
fix: add type number to number input
ivan-dalmet May 9, 2025
22683ee
feat: handle onchange and onblur on all fields
ivan-dalmet May 9, 2025
e9e5a69
fix: input number mobile
ivan-dalmet May 9, 2025
a3d96ed
feat: add server-timing
yoannfleurydev May 9, 2025
3d6cea2
fix: number input invalid false passed to dom
ivan-dalmet May 12, 2025
6e572e6
chore: upgrade tanstack start and router
ivan-dalmet May 12, 2025
ae8dbaa
chore: update deps
ivan-dalmet May 12, 2025
e66cda2
fix: remove useless dependencies
ivan-dalmet May 12, 2025
3cd140b
feat: add lint and ts in ci
ivan-dalmet May 12, 2025
a867540
fix: try to remove explicite cache in CI
ivan-dalmet May 12, 2025
b6f0206
fix: remove useless ci step
ivan-dalmet May 12, 2025
2b722c1
fix: ci add matrix
ivan-dalmet May 12, 2025
15e4ac3
fix: search button translations
ivan-dalmet May 12, 2025
0b32005
fix: sidebar component translations
ivan-dalmet May 12, 2025
032df82
fix: set dir ltr in demo english elements
ivan-dalmet May 12, 2025
2fa8353
fix: open api schema
ivan-dalmet May 12, 2025
39a07a5
fix: missing translation in sidebar component
ivan-dalmet May 12, 2025
665b8e1
feat: main nav translations
ivan-dalmet May 12, 2025
4f53b28
fix: translate nav user
ivan-dalmet May 12, 2025
36dc334
fix: init language issue
ivan-dalmet May 12, 2025
0b683b8
fix: remove no warnings for now
ivan-dalmet May 13, 2025
7d24b5b
fix: use vercel url if available (#578)
ivan-dalmet May 13, 2025
d9b45c8
fix: preview url
ivan-dalmet May 13, 2025
2b0a0fd
Select using Headless UI (#575)
yoannfleurydev May 13, 2025
ef322a7
fix: refacto page error component
ivan-dalmet May 14, 2025
fcaf87a
fix: autofocus for select
ivan-dalmet May 14, 2025
445018e
V3: fix getUiState typescript issue (#579)
HugoPerard May 16, 2025
9d35e78
V3: improve getUiState (when + error types) (#581)
HugoPerard May 19, 2025
3ccc552
fix: ref in input and number-input
ivan-dalmet May 19, 2025
deeb562
fix: add missing back button label
ivan-dalmet May 19, 2025
7972170
feat: add e2e test for rest api schema
ivan-dalmet May 19, 2025
eac8027
fix: generated icons
ivan-dalmet May 19, 2025
5e38ae8
fix: scroll area props for orientation
ivan-dalmet May 19, 2025
efffc56
feat: add build info
ivan-dalmet May 19, 2025
232f924
fix: drawer handle size
ivan-dalmet May 19, 2025
cff9d1f
fix: remove save button on repo app
ivan-dalmet May 19, 2025
3934715
wip: book entity
ivan-dalmet May 19, 2025
3e559c7
feat: some little fixes and improvements
yoannfleurydev May 20, 2025
17722f9
feat: add book create form and page
yoannfleurydev May 20, 2025
d2ff1c8
wip: book display in app
ivan-dalmet May 21, 2025
a8b6ea0
feat: add genre as a data in db
yoannfleurydev May 21, 2025
b3a99ef
fix: app books
yoannfleurydev May 22, 2025
38c6b1b
feat: use tailwind colors for genre seed
yoannfleurydev May 23, 2025
73d321b
fix: improve page error
ivan-dalmet May 23, 2025
3213860
fix: scale for book cover
ivan-dalmet May 23, 2025
b77ed6d
wip: book in manager
ivan-dalmet May 23, 2025
24bca90
V3: replace ui-state.ts by @bearstudio/ui-state (#583)
HugoPerard May 26, 2025
0862f94
fix: ux of book page on app
ivan-dalmet May 26, 2025
ec08b48
feat: improve switching apps in demo
ivan-dalmet May 26, 2025
31ecef5
fix: icon generation result
ivan-dalmet May 26, 2025
7b23cec
fix: move permissions file to the features/auth folder
ivan-dalmet May 26, 2025
f357f5c
fix: issue on dark mode
ivan-dalmet May 26, 2025
61a0123
feat: delete a book
ivan-dalmet May 26, 2025
2044e80
fix: better search
ivan-dalmet May 26, 2025
66f9ed2
fix: remove not update readme content
ivan-dalmet May 30, 2025
d0c0f42
fix: select translations
ivan-dalmet May 30, 2025
14e1b40
fix: onboarding missing translations
ivan-dalmet May 30, 2025
c24581c
wip: translations
ivan-dalmet May 30, 2025
c137773
fix: RTL issue with scroll area
ivan-dalmet Jun 4, 2025
6598ab5
fix: more visible dev env hint
ivan-dalmet Jun 4, 2025
249a5a8
fix: overflow issue on RTL
ivan-dalmet Jun 4, 2025
40f4b85
feat: add demo welcome content
ivan-dalmet Jun 4, 2025
b623ca6
fix: fr translation
ivan-dalmet Jun 4, 2025
43d2a5f
fix: add missing label on login
ivan-dalmet Jun 4, 2025
2968f76
fix: common tranlsations
ivan-dalmet Jun 4, 2025
de8dd22
fix: demo welcome
ivan-dalmet Jun 4, 2025
5042256
feat: translate account display preferences
ivan-dalmet Jun 4, 2025
707ef12
feat: user card translation
ivan-dalmet Jun 4, 2025
2ab81f5
feat: change name drawer translations
ivan-dalmet Jun 4, 2025
098705f
feat: account translations
ivan-dalmet Jun 4, 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
  •  
  •  
  •  
25 changes: 10 additions & 15 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -5,32 +5,27 @@ DOCKER_DATABASE_USERNAME="startui"
DOCKER_DATABASE_PASSWORD="startui"

# PUBLIC CONFIG
NEXT_PUBLIC_BASE_URL="http://localhost:3000"
VITE_BASE_URL="http://localhost:3000"
# 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 removed .github/assets/tech-logos.png
Binary file not shown.
Binary file removed .github/assets/thumbnail.png
Binary file not shown.
30 changes: 0 additions & 30 deletions .github/pull_request_template.md

This file was deleted.

101 changes: 62 additions & 39 deletions .github/workflows/code-quality.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,61 +2,84 @@ 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@v3

- name: Install pnpm
uses: pnpm/action-setup@v2
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: [20, 22, 24, 'lts/*']
steps:
- uses: actions/checkout@v3

- uses: actions/setup-node@v2
- name: Install pnpm
uses: pnpm/action-setup@v2
with:
node-version: ${{ matrix.node }}
version: 10

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

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

- name: Cache node modules
uses: actions/cache@v4
env:
cache-name: cache-node-modules
- name: Setup Node.js
uses: actions/setup-node@v4
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-${{ env.cache-name }}-
${{ runner.os }}-pnpm-store-
${{ runner.os }}-

- name: Install dependencies
node-version: ${{ matrix.node }}
cache: 'pnpm'

- name: Install deps
run: pnpm install

- name: NextJS Linting
run: pnpm lint:next
- name: Run Typescript checker
run: pnpm run lint:ts

tests:
name: 🔬 Tests
timeout-minutes: 10
runs-on: ubuntu-latest
strategy:
matrix:
node: [20, 22, 24, 'lts/*']
steps:
- uses: actions/checkout@v3

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

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

- name: Install deps
run: pnpm install

- name: Run tests
run: pnpm test:ci
run: pnpm run test:ci
14 changes: 5 additions & 9 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 Down
18 changes: 7 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,7 @@ 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
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.

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