Skip to content

Commit 94c2283

Browse files
authored
chore: add shared eslint and typescript configs (#9)
* chore: add shared eslint and typescript configs Add shared configuration packages for ESLint and TypeScript to enable consistent code quality standards across the monorepo. - Add @pleaseai/eslint-config with Nuxt, Vue, and library presets - Add @pleaseai/typescript-config with base, Nuxt, and Vue configurations - Configure web app to use shared ESLint config with @antfu/eslint-config * ci: add GitHub Actions workflow for lint and build Add comprehensive CI workflow with: - Lint job to check code quality across all packages - Build job to verify all packages build successfully - Type check job for TypeScript validation - Configured with Bun 1.2.22 and Node.js 22 - Concurrency control to cancel outdated runs * chore: add shared configurations for eslint and typescript * chore: update CI configuration and improve plugin installation modal - Added environment variables for Turbo in CI workflow - Implemented ESLint cache restoration in CI - Refactored InstallModal component to enhance clipboard command copying functionality - Improved error handling and user notifications for clipboard operations
1 parent e641d77 commit 94c2283

42 files changed

Lines changed: 4931 additions & 15047 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
concurrency:
10+
group: ${{ github.workflow }}-${{ github.ref }}
11+
cancel-in-progress: true
12+
13+
env:
14+
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
15+
TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
16+
17+
jobs:
18+
lint:
19+
name: Lint
20+
runs-on: ubuntu-latest
21+
timeout-minutes: 10
22+
23+
steps:
24+
- name: Checkout code
25+
uses: actions/checkout@v4
26+
27+
- name: Setup Node.js
28+
uses: actions/setup-node@v4
29+
with:
30+
node-version: '22'
31+
32+
- name: Setup Bun
33+
uses: oven-sh/setup-bun@v2
34+
with:
35+
bun-version: '1.2.22'
36+
37+
# ESLint 캐시 복원
38+
- name: Restore ESLint cache
39+
uses: actions/cache@v4
40+
with:
41+
path: |
42+
.eslintcache
43+
apps/*/.eslintcache
44+
packages/*/.eslintcache
45+
key: ${{ runner.os }}-eslint-${{ hashFiles('**/package.json', '**/.eslintrc*', '**/eslint.config.*') }}
46+
restore-keys: |
47+
${{ runner.os }}-eslint-
48+
49+
- name: Install dependencies
50+
run: bun install --frozen-lockfile
51+
52+
- name: Run lint
53+
run: bun run lint
54+
55+
build:
56+
name: Build
57+
runs-on: ubuntu-latest
58+
timeout-minutes: 15
59+
60+
steps:
61+
- name: Checkout code
62+
uses: actions/checkout@v4
63+
64+
- name: Setup Node.js
65+
uses: actions/setup-node@v4
66+
with:
67+
node-version: '22'
68+
69+
- name: Setup Bun
70+
uses: oven-sh/setup-bun@v2
71+
with:
72+
bun-version: '1.2.22'
73+
74+
- name: Install dependencies
75+
run: bun install --frozen-lockfile
76+
77+
- name: Build all packages
78+
run: bun run build
79+
80+
typecheck:
81+
name: Type Check
82+
runs-on: ubuntu-latest
83+
timeout-minutes: 10
84+
85+
steps:
86+
- name: Checkout code
87+
uses: actions/checkout@v4
88+
89+
- name: Setup Node.js
90+
uses: actions/setup-node@v4
91+
with:
92+
node-version: '22'
93+
94+
- name: Setup Bun
95+
uses: oven-sh/setup-bun@v2
96+
with:
97+
bun-version: '1.2.22'
98+
99+
- name: Install dependencies
100+
run: bun install --frozen-lockfile
101+
102+
- name: Run type check
103+
run: bun run check-types || echo "Type check not configured yet"

.gitignore

Lines changed: 162 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,162 @@
1+
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2+
3+
# dependencies
4+
node_modules
5+
.pnp
6+
.pnp.js
7+
8+
# testing
9+
coverage
10+
11+
# build outputs
12+
.nuxt/
13+
.output/
14+
out/
15+
build
16+
dist
17+
18+
# misc
19+
.DS_Store
20+
*.pem
21+
22+
# debug
23+
npm-debug.log*
24+
yarn-debug.log*
25+
yarn-error.log*
26+
27+
# local env files
28+
.env
29+
.env.local
30+
.env.development.local
31+
.env.test.local
32+
.env.production.local
33+
34+
# turbo
35+
.turbo
36+
37+
# vercel
38+
.vercel
39+
40+
coverage.json
41+
.eslintcache
42+
43+
44+
# Created by https://www.toptal.com/developers/gitignore/api/intellij
45+
# Edit at https://www.toptal.com/developers/gitignore?templates=intellij
46+
47+
### Intellij ###
48+
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
49+
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
50+
51+
# User-specific stuff
52+
.idea/**/workspace.xml
53+
.idea/**/tasks.xml
54+
.idea/**/usage.statistics.xml
55+
.idea/**/dictionaries
56+
.idea/**/shelf
57+
58+
# AWS User-specific
59+
.idea/**/aws.xml
60+
61+
# Generated files
62+
.idea/**/contentModel.xml
63+
64+
# Sensitive or high-churn files
65+
.idea/**/dataSources/
66+
.idea/**/dataSources.ids
67+
.idea/**/dataSources.local.xml
68+
.idea/**/sqlDataSources.xml
69+
.idea/**/dynamic.xml
70+
.idea/**/uiDesigner.xml
71+
.idea/**/dbnavigator.xml
72+
73+
# Gradle
74+
.idea/**/gradle.xml
75+
.idea/**/libraries
76+
77+
# Gradle and Maven with auto-import
78+
# When using Gradle or Maven with auto-import, you should exclude module files,
79+
# since they will be recreated, and may cause churn. Uncomment if using
80+
# auto-import.
81+
# .idea/artifacts
82+
# .idea/compiler.xml
83+
# .idea/jarRepositories.xml
84+
# .idea/modules.xml
85+
# .idea/*.iml
86+
# .idea/modules
87+
# *.iml
88+
# *.ipr
89+
90+
# CMake
91+
cmake-build-*/
92+
93+
# Mongo Explorer plugin
94+
.idea/**/mongoSettings.xml
95+
96+
# File-based project format
97+
*.iws
98+
99+
# IntelliJ
100+
out/
101+
102+
# mpeltonen/sbt-idea plugin
103+
.idea_modules/
104+
105+
# JIRA plugin
106+
atlassian-ide-plugin.xml
107+
108+
# Cursive Clojure plugin
109+
.idea/replstate.xml
110+
111+
# SonarLint plugin
112+
.idea/sonarlint/
113+
114+
# Crashlytics plugin (for Android Studio and IntelliJ)
115+
com_crashlytics_export_strings.xml
116+
crashlytics.properties
117+
crashlytics-build.properties
118+
fabric.properties
119+
120+
# Editor-based Rest Client
121+
.idea/httpRequests
122+
123+
# Android studio 3.1+ serialized cache file
124+
.idea/caches/build_file_checksums.ser
125+
126+
### Intellij Patch ###
127+
# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721
128+
129+
# *.iml
130+
# modules.xml
131+
# .idea/misc.xml
132+
# *.ipr
133+
134+
# Sonarlint plugin
135+
# https://plugins.jetbrains.com/plugin/7973-sonarlint
136+
.idea/**/sonarlint/
137+
138+
# SonarQube Plugin
139+
# https://plugins.jetbrains.com/plugin/7238-sonarqube-community-plugin
140+
.idea/**/sonarIssues.xml
141+
142+
# Markdown Navigator plugin
143+
# https://plugins.jetbrains.com/plugin/7896-markdown-navigator-enhanced
144+
.idea/**/markdown-navigator.xml
145+
.idea/**/markdown-navigator-enh.xml
146+
.idea/**/markdown-navigator/
147+
148+
# Cache file creation bug
149+
# See https://youtrack.jetbrains.com/issue/JBR-2257
150+
.idea/$CACHE_FILE$
151+
152+
# CodeStream plugin
153+
# https://plugins.jetbrains.com/plugin/12206-codestream
154+
.idea/codestream.xml
155+
156+
# Azure Toolkit for IntelliJ plugin
157+
# https://plugins.jetbrains.com/plugin/8053-azure-toolkit-for-intellij
158+
.idea/**/azureSettings.xml
159+
160+
# End of https://www.toptal.com/developers/gitignore/api/intellij
161+
162+
dist

.idea/inspectionProfiles/Project_Default.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ To create and distribute your own plugins:
107107
"hooks": {
108108
"SessionStart": [
109109
{
110-
"matcher": "startup|resume",
110+
"matcher": "startup",
111111
"hooks": [
112112
{
113113
"type": "command",

apps/web/README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,34 +42,34 @@ apps/web/
4242

4343
### Prerequisites
4444

45-
- Node.js 20+
46-
- npm or pnpm
45+
- Node.js 22+
46+
- bun
4747

4848
### Installation
4949

5050
```bash
5151
cd apps/web
52-
npm install
52+
bun install
5353
```
5454

5555
### Development
5656

5757
```bash
58-
npm run dev
58+
bun run dev
5959
```
6060

6161
The application will be available at [http://localhost:3000](http://localhost:3000)
6262

6363
### Build
6464

6565
```bash
66-
npm run build
66+
bun run build
6767
```
6868

6969
### Preview Production Build
7070

7171
```bash
72-
npm run preview
72+
bun run preview
7373
```
7474

7575
## Data Source

apps/web/app.config.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ export default defineAppConfig({
22
ui: {
33
colors: {
44
primary: 'blue',
5-
neutral: 'slate'
6-
}
7-
}
5+
neutral: 'slate',
6+
},
7+
},
88
})

0 commit comments

Comments
 (0)