oblien/openship
Self-hosted deployment platform
TypeScript★ 13,973+437 that day#6 on trendingC 67.4 health29.8% duplicated
C67.4/100
Duplication78
3% in typescript, tsx, bash, javascript, sql, lua, python, powershell, perl, jsx, kotlin, java, go, rustDead code82
2.1%Complexity48
53.7%Most complex files
- apps/dashboard/src/components/migration/ServerMigrationWizard.tsx1016 cx
- packages/adapters/src/runtime/docker.ts945 cx
- apps/dashboard/src/app/(dashboard)/projects/[id]/components/DomainSettings.tsx894 cx
- packages/platform/src/engine/modules/deployments/compose/deploy.service.ts835 cx
- packages/platform/src/engine/modules/projects/project-crud.service.ts675 cx
- packages/platform/src/engine/modules/deployments/build.service.ts579 cx
- apps/api/test/modules/deployments/native-sdk-parity.test.ts545 cx
- apps/cli/src/lib/compose.ts545 cx
- apps/dashboard/src/app/(dashboard)/apps/new/[appId]/page.tsx523 cx
- packages/adapters/src/infra/nginx.test.ts517 cx
Dead code 2.09% unused · 438 findings
- apps/dashboard/src/components/scale/ScaleEditor.tsxunused-file
- packages/adapters/scripts/verify-managed-network.tsunused-file
- apps/dashboard/src/components/scale/ScaleInspector.tsxunused-file
- apps/api/scripts/promo-code.tsunused-file
- apps/dashboard/src/components/scale/ScaleCanvas.tsxunused-file
- scripts/audit-sdk-relocation.mjsunused-file
- apps/dashboard/src/components/scale/ScaleToolbar.tsxunused-file
- apps/email/client/components/create/editor.tsxunused-file
- packages/platform/src/native-worker.tsunused-file
- apps/dashboard/src/hooks/useBuildConnection.tsunused-file
4,798files
1,436,609lines
7,341,933tokens
2,877clones
428,042duplicated lines (29.8%)
1,459,360duplicated tokens (19.88%)
By format
| Format | Files | Lines | Clones | Duplicated lines | Duplication |
|---|---|---|---|---|---|
| typescript | 3,100 | 659,652 | 1,596 | 18,739 | 2.84% |
| json | 355 | 513,105 | 669 | 399,619 | 77.88% |
| tsx | 945 | 211,007 | 446 | 7,325 | 3.47% |
| css | 24 | 8,823 | 51 | 589 | 6.68% |
| markdown | 78 | 15,829 | 31 | 310 | 1.96% |
| markup | 53 | 1,851 | 30 | 463 | 25.01% |
| yaml | 14 | 2,647 | 25 | 377 | 14.24% |
| bash | 79 | 11,340 | 13 | 473 | 4.17% |
| sql | 73 | 3,783 | 7 | 55 | 1.45% |
| lua | 8 | 2,126 | 7 | 57 | 2.68% |
Largest clones
- 6354 lines · 20,463 tokens jsonpackages/db/drizzle/meta/0047_snapshot.json:2187–8540⇆packages/db/drizzle/meta/0048_snapshot.json:2187–8540
- 5024 lines · 16,133 tokens jsonpackages/db/drizzle/meta/0026_snapshot.json:521–5544⇆packages/db/drizzle/meta/0027_snapshot.json:521–5544
- 4838 lines · 15,576 tokens jsonpackages/db/drizzle/meta/0049_snapshot.json:2790–7627⇆packages/db/drizzle/meta/0050_snapshot.json:2790–7627
- 4838 lines · 15,576 tokens jsonpackages/db/drizzle/meta/0049_snapshot.json:2790–7627⇆packages/db/drizzle/meta/0051_snapshot.json:2790–7627
- 4838 lines · 15,576 tokens jsonpackages/db/drizzle/meta/0049_snapshot.json:2790–7627⇆packages/db/drizzle/meta/0052_snapshot.json:2790–7627
- 4838 lines · 15,576 tokens jsonpackages/db/drizzle/meta/0049_snapshot.json:2790–7627⇆packages/db/drizzle/meta/0053_snapshot.json:2878–7715
- 4743 lines · 15,237 tokens jsonpackages/db/drizzle/meta/0057_snapshot.json:2817–7559⇆packages/db/drizzle/meta/0058_snapshot.json:2817–7559
- 4564 lines · 14,728 tokens jsonpackages/db/drizzle/meta/0021_snapshot.json:1946–6509⇆packages/db/drizzle/meta/0022_snapshot.json:1946–6509
- 4416 lines · 14,233 tokens jsonpackages/db/drizzle/meta/0039_snapshot.json:3675–8090⇆packages/db/drizzle/meta/0040_snapshot.json:3783–8198
- 3970 lines · 12,764 tokens jsonpackages/db/drizzle/meta/0042_snapshot.json:3834–7803⇆packages/db/drizzle/meta/0043_snapshot.json:3834–7803
Trending appearances
| Day | Rank | Stars | Files | Lines | Clones | Duplication | Health | Commit |
|---|---|---|---|---|---|---|---|---|
| Sep 30, 2026 | #6 | 13,973 (+437) | 4,798 | 1,436,609 | 2,877 | 29.8% | C 67.4 | 0ca13fe |
Want this for your own project? Install jscpd and run jscpd .