Skip to content

Commit a54dd0a

Browse files
merge preview
2 parents e51ff9c + c3a9f99 commit a54dd0a

4,278 files changed

Lines changed: 40650 additions & 15835 deletions

File tree

Some content is hidden

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

.github/ISSUE_TEMPLATE/config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
contact_links:
22
- name: Help and support
3-
about: Reach out to us on our Discord server or GitHub discussions.
3+
about: Reach out to us on our Forum or GitHub discussions.
44
- name: Dedicated support
55
url: mailto:support@plane.so
66
about: Write to us if you'd like dedicated support using Plane

.github/dependabot.yml

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
version: 2
2+
updates:
3+
# JavaScript/TypeScript dependencies (pnpm monorepo root)
4+
- package-ecosystem: "npm"
5+
directory: "/"
6+
schedule:
7+
interval: "weekly"
8+
open-pull-requests-limit: 10
9+
labels:
10+
- "dependencies"
11+
- "javascript"
12+
groups:
13+
minor-and-patch:
14+
update-types:
15+
- "minor"
16+
- "patch"
17+
18+
# Python dependencies
19+
- package-ecosystem: "pip"
20+
directory: "/apps/api"
21+
schedule:
22+
interval: "weekly"
23+
open-pull-requests-limit: 5
24+
labels:
25+
- "dependencies"
26+
- "python"
27+
groups:
28+
minor-and-patch:
29+
update-types:
30+
- "minor"
31+
- "patch"
32+
33+
# GitHub Actions
34+
- package-ecosystem: "github-actions"
35+
directory: "/"
36+
schedule:
37+
interval: "weekly"
38+
open-pull-requests-limit: 5
39+
labels:
40+
- "dependencies"
41+
- "github-actions"
42+
groups:
43+
actions:
44+
patterns:
45+
- "*"
46+
47+
# Docker - API
48+
- package-ecosystem: "docker"
49+
directory: "/apps/api"
50+
schedule:
51+
interval: "weekly"
52+
open-pull-requests-limit: 5
53+
labels:
54+
- "dependencies"
55+
- "docker"

.github/workflows/codeql.yml

Lines changed: 3 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -20,43 +20,20 @@ jobs:
2020
fail-fast: false
2121
matrix:
2222
language: ["python", "javascript"]
23-
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
24-
# Use only 'java' to analyze code written in Java, Kotlin or both
25-
# Use only 'javascript' to analyze code written in JavaScript, TypeScript or both
26-
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
2723

2824
steps:
2925
- name: Checkout repository
3026
uses: actions/checkout@v4
3127

32-
# Initializes the CodeQL tools for scanning.
3328
- name: Initialize CodeQL
34-
uses: github/codeql-action/init@v3
29+
uses: github/codeql-action/init@v4
3530
with:
3631
languages: ${{ matrix.language }}
37-
# If you wish to specify custom queries, you can do so here or in a config file.
38-
# By default, queries listed here will override any specified in a config file.
39-
# Prefix the list here with "+" to use these queries and those in the config file.
4032

41-
# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
42-
# queries: security-extended,security-and-quality
43-
44-
# Autobuild attempts to build any compiled languages (C/C++, C#, Go, Java, or Swift).
45-
# If this step fails, then you should remove it and run the build manually (see below)
4633
- name: Autobuild
47-
uses: github/codeql-action/autobuild@v3
48-
49-
# ℹ️ Command-line programs to run using the OS shell.
50-
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
51-
52-
# If the Autobuild fails above, remove it and uncomment the following three lines.
53-
# modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.
54-
55-
# - run: |
56-
# echo "Run, Build Application using script"
57-
# ./location_of_script_within_repo/buildscript.sh
34+
uses: github/codeql-action/autobuild@v4
5835

5936
- name: Perform CodeQL Analysis
60-
uses: github/codeql-action/analyze@v3
37+
uses: github/codeql-action/analyze@v4
6138
with:
6239
category: "/language:${{matrix.language}}"
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: Copy Right Check
2+
3+
on:
4+
workflow_dispatch:
5+
pull_request:
6+
branches:
7+
- "preview"
8+
types:
9+
- "opened"
10+
- "synchronize"
11+
- "ready_for_review"
12+
- "review_requested"
13+
- "reopened"
14+
15+
jobs:
16+
license-check:
17+
name: Copy Right Check
18+
runs-on: ubuntu-latest
19+
steps:
20+
- name: Checkout repository
21+
uses: actions/checkout@v6
22+
23+
- name: Set up Go
24+
uses: actions/setup-go@v5
25+
with:
26+
go-version: "1.22"
27+
28+
- name: Install addlicense
29+
run: |
30+
go install github.com/google/addlicense@latest
31+
echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
32+
33+
- name: Check Copyright For Python Files
34+
run: |
35+
set -e
36+
echo "Running copyright check..."
37+
addlicense -check -f COPYRIGHT.txt -ignore "**/migrations/**" $(git ls-files '*.py')
38+
echo "Copyright check passed."
39+
40+
- name: Check Copyright For TypeScript Files
41+
run: |
42+
set -e
43+
echo "Running copyright check..."
44+
addlicense -check -f COPYRIGHT.txt -ignore "**/*.config.ts" -ignore "**/*.d.ts" $(git ls-files '*.ts' '*.tsx')
45+
echo "Copyright check passed."

.github/workflows/pull-request-build-lint-web-apps.yml

Lines changed: 47 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -117,16 +117,54 @@ jobs:
117117
path: .turbo
118118
key: turbo-${{ runner.os }}-${{ github.event.pull_request.base.sha }}-${{ github.sha }}
119119

120-
# Lint and type checks depend on build artifacts
121-
check:
122-
name: ${{ matrix.task }}
120+
# Lint check - no build dependency, OxLint is a standalone Rust binary
121+
check-lint:
122+
name: check:lint
123+
runs-on: ubuntu-latest
124+
timeout-minutes: 10
125+
if: |
126+
github.event.pull_request.draft == false &&
127+
github.event.pull_request.requested_reviewers != null
128+
env:
129+
TURBO_SCM_BASE: ${{ github.event.pull_request.base.sha }}
130+
TURBO_SCM_HEAD: ${{ github.sha }}
131+
steps:
132+
- name: Checkout code
133+
uses: actions/checkout@v6
134+
with:
135+
fetch-depth: 50
136+
filter: blob:none
137+
138+
- name: Set up Node.js
139+
uses: actions/setup-node@v6
140+
141+
- name: Enable Corepack and pnpm
142+
run: corepack enable pnpm
143+
144+
- name: Get pnpm store directory
145+
shell: bash
146+
run: echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
147+
148+
- name: Cache pnpm store
149+
uses: actions/cache@v4
150+
with:
151+
path: ${{ env.STORE_PATH }}
152+
key: pnpm-store-${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }}
153+
restore-keys: |
154+
pnpm-store-${{ runner.os }}-
155+
156+
- name: Install dependencies
157+
run: pnpm install --frozen-lockfile
158+
159+
- name: Run check:lint
160+
run: pnpm turbo run check:lint --affected
161+
162+
# Type check depends on build artifacts
163+
check-types:
164+
name: check:types
123165
runs-on: ubuntu-latest
124166
needs: build
125167
timeout-minutes: 15
126-
strategy:
127-
fail-fast: false
128-
matrix:
129-
task: [check:lint, check:types]
130168
env:
131169
TURBO_SCM_BASE: ${{ github.event.pull_request.base.sha }}
132170
TURBO_SCM_HEAD: ${{ github.sha }}
@@ -165,5 +203,5 @@ jobs:
165203
- name: Install dependencies
166204
run: pnpm install --frozen-lockfile
167205

168-
- name: Run ${{ matrix.task }}
169-
run: pnpm turbo run ${{ matrix.task }} --affected
206+
- name: Run check:types
207+
run: pnpm turbo run check:types --affected
Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
11
{
2-
"$schema": "https://json.schemastore.org/prettierrc",
2+
"printWidth": 120,
3+
"tabWidth": 2,
4+
"trailingComma": "es5",
5+
"sortTailwindcss": {
6+
"stylesheet": "packages/tailwind-config/index.css",
7+
"functions": ["cn", "clsx", "cva"]
8+
},
39
"overrides": [
410
{
511
"files": ["packages/codemods/**/*"],
612
"options": {
713
"printWidth": 80
814
}
915
}
10-
],
11-
"plugins": ["@prettier/plugin-oxc"],
12-
"printWidth": 120,
13-
"tabWidth": 2,
14-
"trailingComma": "es5"
16+
]
1517
}

.oxlintrc.json

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
{
2+
"$schema": "./node_modules/oxlint/configuration_schema.json",
3+
"plugins": ["react", "typescript", "jsx-a11y", "import", "promise", "unicorn", "oxc"],
4+
"categories": {
5+
"correctness": "warn",
6+
"suspicious": "warn",
7+
"perf": "warn"
8+
},
9+
"env": {
10+
"browser": true,
11+
"node": true,
12+
"es2024": true
13+
},
14+
"settings": {
15+
"react": {
16+
"version": "18.3"
17+
},
18+
"jsx-a11y": {
19+
"polymorphicPropName": "as"
20+
}
21+
},
22+
"ignorePatterns": [
23+
".cache/**",
24+
".next/**",
25+
".react-router/**",
26+
".storybook/**",
27+
".turbo/**",
28+
".vite/**",
29+
"*.config.{js,mjs,cjs,ts}",
30+
"build/**",
31+
"coverage/**",
32+
"dist/**",
33+
"**/public/**",
34+
"storybook-static/**"
35+
],
36+
"rules": {
37+
"react/react-in-jsx-scope": "off",
38+
"react/prop-types": "off",
39+
"unicorn/filename-case": "off",
40+
"unicorn/no-null": "off",
41+
"unicorn/prevent-abbreviations": "off",
42+
"no-unused-vars": [
43+
"warn",
44+
{
45+
"argsIgnorePattern": "^_",
46+
"varsIgnorePattern": "^_",
47+
"caughtErrorsIgnorePattern": "^_",
48+
"destructuredArrayIgnorePattern": "^_",
49+
"ignoreRestSiblings": true
50+
}
51+
]
52+
}
53+
}

AGENTS.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
- `pnpm dev` - Start all dev servers (web:3000, admin:3001)
66
- `pnpm build` - Build all packages and apps
77
- `pnpm check` - Run all checks (format, lint, types)
8-
- `pnpm check:lint` - ESLint across all packages
8+
- `pnpm check:lint` - OxLint across all packages
99
- `pnpm check:types` - TypeScript type checking
1010
- `pnpm fix` - Auto-fix format and lint issues
1111
- `pnpm turbo run <command> --filter=<package>` - Target specific package/app
@@ -15,8 +15,8 @@
1515

1616
- **Imports**: Use `workspace:*` for internal packages, `catalog:` for external deps
1717
- **TypeScript**: Strict mode enabled, all files must be typed
18-
- **Formatting**: Prettier with Tailwind plugin, run `pnpm fix:format`
19-
- **Linting**: ESLint with shared config, max warnings vary by package
18+
- **Formatting**: oxfmt, run `pnpm fix:format`
19+
- **Linting**: OxLint with shared `.oxlintrc.json` config
2020
- **Naming**: camelCase for variables/functions, PascalCase for components/types
2121
- **Error Handling**: Use try-catch with proper error types, log errors appropriately
2222
- **State Management**: MobX stores in `packages/shared-state`, reactive patterns

CONTRIBUTING.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ If you would like to _implement_ it, an issue with your proposal must be submitt
9191
To ensure consistency throughout the source code, please keep these rules in mind as you are working:
9292

9393
- All features or bug fixes must be tested by one or more specs (unit-tests).
94-
- We lint with [ESLint 9](https://eslint.org/docs/latest/) using the shared `eslint.config.mjs` (type-aware via `typescript-eslint`) and format with [Prettier](https://prettier.io/) using `prettier.config.cjs`.
94+
- We lint with [OxLint](https://oxc.rs/docs/guide/usage/linter) using the shared `.oxlintrc.json` and format with [oxfmt](https://oxc.rs/docs/guide/usage/formatter) using `.oxfmtrc.json`.
9595

9696
## Ways to contribute
9797

@@ -244,4 +244,4 @@ Happy translating! 🌍✨
244244

245245
## Need help? Questions and suggestions
246246

247-
Questions, suggestions, and thoughts are most welcome. We can also be reached in our [Discord Server](https://discord.com/invite/A92xrEGCge).
247+
Questions, suggestions, and thoughts are most welcome. We can also be reached in our [Forum](https://forum.plane.so).

COPYRIGHT.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Copyright (c) 2023-present Plane Software, Inc. and contributors
2+
SPDX-License-Identifier: AGPL-3.0-only
3+
See the LICENSE file for details.

0 commit comments

Comments
 (0)