diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d4d17ff..4c55e70 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,7 +22,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v3 with: - node-version: 20 + node-version: 24 - name: Install pnpm uses: pnpm/action-setup@v2 @@ -43,7 +43,10 @@ jobs: ${{ runner.os }}-pnpm-store- - name: Install dependencies - run: pnpm --filter @amical/www install + run: pnpm install + + - name: Lint + run: pnpm lint - name: Build run: pnpm --filter @amical/www build \ No newline at end of file diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..efb4589 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,17 @@ +# Ignore shadcn UI components +src/components/ui/ +apps/*/components/ui/ + +# Build and dist directories +out/ +.vite/ +dist/ +build/ + +# Dependencies +node_modules/ + +# Generated files +*.log +*.lock +package-lock.json \ No newline at end of file diff --git a/apps/desktop/.prettierrc b/apps/desktop/.prettierrc deleted file mode 100644 index f0aea9a..0000000 --- a/apps/desktop/.prettierrc +++ /dev/null @@ -1,9 +0,0 @@ -{ - "semi": true, - "trailingComma": "es5", - "singleQuote": true, - "printWidth": 100, - "tabWidth": 2, - "useTabs": false, - "endOfLine": "auto" -} \ No newline at end of file diff --git a/apps/desktop/package.json b/apps/desktop/package.json index 704a493..f253c17 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -11,7 +11,7 @@ "make:dmg": "pnpm build:swift-helper && electron-forge make --targets=@electron-forge/maker-dmg --platform=darwin --arch=arm64", "publish": "electron-forge publish", "lint": "eslint --ext .ts,.tsx .", - "format": "prettier --write \"**/*.{js,jsx,ts,tsx,json,md}\"", + "format:check": "prettier --check \"**/*.{ts,tsx,md,json,mjs,mts,css,mdx}\" --cache --ignore-path=../../.prettierignore", "ts:check": "tsc --noEmit", "db:generate": "drizzle-kit generate", "db:push": "drizzle-kit push", diff --git a/apps/www/eslint.config.mjs b/apps/www/eslint.config.mjs new file mode 100644 index 0000000..ca4c031 --- /dev/null +++ b/apps/www/eslint.config.mjs @@ -0,0 +1,4 @@ +import { nextJsConfig } from "@amical/eslint-config/next"; + +/** @type {import("eslint").Linter.Config} */ +export default config; diff --git a/apps/www/package.json b/apps/www/package.json index a2b23eb..48a4245 100644 --- a/apps/www/package.json +++ b/apps/www/package.json @@ -13,7 +13,8 @@ "refresh-content": "pnpm cleanup-content && pnpm fetch-content", "postinstall": "fumadocs-mdx", "deploy": "wrangler deploy", - "dev:wrangler": "wrangler dev" + "dev:wrangler": "wrangler dev", + "format:check": "prettier --check \"**/*.{ts,tsx,md,json,mjs,mts,css,mdx}\" --cache --ignore-path=../../.prettierignore" }, "dependencies": { "@next/third-parties": "^15.3.2", @@ -38,6 +39,7 @@ "tailwind-merge": "^3.2.0" }, "devDependencies": { + "@amical/eslint-config": "workspace:*", "@aws-sdk/client-s3": "^3.832.0", "@tailwindcss/postcss": "^4.1.5", "@types/mdx": "^2.0.13", diff --git a/package.json b/package.json index b078219..9f2307a 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,8 @@ "build": "turbo run build", "dev": "turbo run dev", "lint": "turbo run lint", - "format": "prettier --write \"**/*.{ts,tsx,md}\"", + "format": "prettier --write \"**/*.{ts,tsx,md,json,mjs,mts,css,mdx}\"", + "format:check": "turbo run format:check", "check-types": "turbo run check-types" }, "devDependencies": { diff --git a/packages/eslint-config/base.js b/packages/eslint-config/base.js index 2292d47..0176149 100644 --- a/packages/eslint-config/base.js +++ b/packages/eslint-config/base.js @@ -34,6 +34,9 @@ export const config = [ "out/**", "*.min.js", "*.bundle.js", + // ignore shadcn ui components + "src/components/ui/**", + "components/ui/**", ], }, ]; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 16416df..77ce454 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -403,6 +403,9 @@ importers: specifier: ^3.2.0 version: 3.3.0 devDependencies: + '@amical/eslint-config': + specifier: workspace:* + version: link:../../packages/eslint-config '@aws-sdk/client-s3': specifier: ^3.832.0 version: 3.832.0 diff --git a/turbo.json b/turbo.json index 584e6b1..24a7e3f 100644 --- a/turbo.json +++ b/turbo.json @@ -15,8 +15,10 @@ "outputs": ["bin/**"], "cache": true }, + "format:check": { + }, "lint": { - "dependsOn": ["^lint"] + "dependsOn": ["format:check"] }, "check-types": { "dependsOn": ["^check-types"]