gitroomhq/postiz-app
📨 The ultimate agentic social media scheduling tool 🤖
TypeScript★ 38,626+188 that day#8 on trending
E38.7/100
Duplication41
11.2% in typescript, tsx, javascript, nginxDead code29
13.5%Complexity49
52% The score is jscpd's own --health model: markup, data and text left out, tests kept. The numbers below are the trending scan's.
11.16%duplicated code · 16,233 of 145,452 lines
690clones in code
719code files of 805 scanned
11.21%duplicated over all files · 802 clones
Most complex files
- apps/frontend/public/f.js4358 cx
- apps/frontend/src/components/launches/calendar.tsx266 cx
- libraries/nestjs-libraries/src/database/prisma/posts/posts.service.ts265 cx
- libraries/nestjs-libraries/src/services/stripe.service.ts265 cx
- apps/frontend/src/components/new-launch/editor.tsx242 cx
- apps/frontend/src/components/new-launch/manage.modal.tsx241 cx
- apps/frontend/src/components/new-launch/store.ts217 cx
- libraries/nestjs-libraries/src/integrations/social/x.provider.ts200 cx
- apps/frontend/src/components/media/media.component.tsx193 cx
- libraries/nestjs-libraries/src/integrations/social/instagram.provider.ts185 cx
Dead code 13.47% unused · 248 findings
- apps/frontend/public/f.jsunused-file
- libraries/helpers/src/subdomain/all.two.level.subdomain.tsunused-file
- apps/frontend/src/components/launches/comments/comment.component.tsxunused-file
- apps/extension/src/background.tsunused-file
- libraries/react-shared-libraries/src/form/custom.select.tsxunused-file
- libraries/nestjs-libraries/src/integrations/social/mastodon.custom.provider.tsunused-file
- apps/frontend/src/components/analytics/analytics.component.tsxunused-file
- libraries/nestjs-libraries/src/services/stripe.country.list.tsunused-file
- apps/frontend/src/components/new-layout/billing.after.tsxunused-file
- apps/frontend/src/components/new-launch/providers/reddit/reddit.provider.tsx:RedditPreviewunused-symbol
The code number leaves out tests, fixtures, docs, examples, data files, styles, translations and vendored code.
Largest clones in the code
- 547 lines in 3 placestypescript2,050 tokensapps/orchestrator/src/workflows/post-workflows/post.workflow.v1.0.7.ts:112–658apps/orchestrator/src/workflows/post-workflows/post.workflow.v1.0.8.ts:116–662apps/orchestrator/src/workflows/post-workflows/post.workflow.v1.0.9.ts:106–652
112export async function postWorkflowV107({ 113 taskQueue, 114 postId, 115 organizationId, 116 postNow = false, 117}: { 118 taskQueue: string; 119 postId: string; 120 organizationId: string; 121 postNow?: boolean;First 10 of 547 lines.
- 524 lines in 2 placestypescript1,978 tokensapps/orchestrator/src/workflows/post-workflows/post.workflow.v1.0.6.ts:107–630apps/orchestrator/src/workflows/post-workflows/post.workflow.v1.0.7.ts:135–658
107const { checkPostStatus } = proxyCheckTaskQueue(taskQueue); 108 109const { postSocialPending, finalizePost } = proxyMutationTaskQueue(taskQueue); 110 111let poked = false; 112setHandler(poke, () => { 113 poked = true; 114}); 115 116const startTime = new Date();First 10 of 524 lines.
- 447 lines in 2 placestypescript1,655 tokensapps/orchestrator/src/workflows/post-workflows/post.workflow.v1.0.6.ts:184–630apps/orchestrator/src/workflows/post-workflows/post.workflow.v1.1.0.ts:212–658
184 ); 185 return; 186} 187 188// Do we need to post comment for this social? 189const toComment: boolean = 190 postsListBefore.length === 1 191 ? false 192 : await isCommentable(post.integration); 193First 10 of 447 lines.
7 more
- 326 lines in 2 placestypescript1,275 tokens
- 306 lines in 2 placestypescript1,208 tokens
- 14 lines in 15 placesjavascript67 tokens
- 208 lines in 2 placestypescript809 tokens
- 111 lines in 3 placestypescript403 tokens
- 11 lines in 15 placesjavascript56 tokens
- 21 lines in 12 placestypescript63 tokensapps/orchestrator/src/workflows/post-workflows/post.workflow.v1.0.1.ts:383–403apps/orchestrator/src/workflows/post-workflows/post.workflow.v1.0.2.ts:390–410apps/orchestrator/src/workflows/post-workflows/post.workflow.v1.0.3.ts:410–430apps/orchestrator/src/workflows/post-workflows/post.workflow.v1.0.4.ts:419–439apps/orchestrator/src/workflows/post-workflows/post.workflow.v1.0.5.ts:418–438and 7 more
Largest clones over all files, tests and data included
- 2559 lines in 2 placescssstyles10,703 tokens
1.bp5-icon { 2 display: inline-block; 3 flex: 0 0 auto; 4 vertical-align: text-bottom; 5} 6.bp5-icon:not(:empty)::before { 7 content: '' !important; 8 content: unset !important; 9} 10.bp5-icon > svg {First 10 of 2559 lines.
- 547 lines in 3 placestypescript2,050 tokensapps/orchestrator/src/workflows/post-workflows/post.workflow.v1.0.7.ts:112–658apps/orchestrator/src/workflows/post-workflows/post.workflow.v1.0.8.ts:116–662apps/orchestrator/src/workflows/post-workflows/post.workflow.v1.0.9.ts:106–652
112export async function postWorkflowV107({ 113 taskQueue, 114 postId, 115 organizationId, 116 postNow = false, 117}: { 118 taskQueue: string; 119 postId: string; 120 organizationId: string; 121 postNow?: boolean;First 10 of 547 lines.
- 365 lines in 2 placescssstyles3,542 tokens
13452 visibility: hidden !important; 13453} 13454.bp5-tooltip { 13455 box-shadow: 0 0 0 1px rgba(17, 20, 24, 0.1), 0 2px 4px rgba(17, 20, 24, 0.2), 13456 0 8px 24px rgba(17, 20, 24, 0.2); 13457 transform: scale(1); 13458 color: #f6f7f9; 13459} 13460.bp5-tooltip .bp5-popover-arrow { 13461 height: 22px;First 10 of 365 lines.
- 524 lines in 2 placestypescript1,978 tokens
- 447 lines in 2 placestypescript1,655 tokens
By format, code only
| Format | Files | Lines | Clones | Duplicated lines | Duplication |
|---|---|---|---|---|---|
| typescript | 382 | 76,615 | 328 | 10,227 | 13.35% |
| tsx | 332 | 52,466 | 186 | 3,399 | 6.48% |
| javascript | 5 | 16,371 | 176 | 2,607 | 15.92% |
By format, all files
| Format | Files | Lines | Clones | Duplicated lines | Duplication |
|---|---|---|---|---|---|
| typescript | 383 | 76,667 | 328 | 10,227 | 13.34% |
| tsx | 332 | 52,466 | 186 | 3,399 | 6.48% |
| javascript | 6 | 16,399 | 176 | 2,607 | 15.9% |
| css | 2 | 16,565 | 93 | 3,649 | 22.03% |
| scss | 2 | 1,112 | 6 | 58 | 5.22% |
| markdown | 12 | 1,072 | 5 | 171 | 15.95% |
| json | 37 | 15,165 | 4 | 90 | 0.59% |
| yaml | 14 | 1,333 | 3 | 106 | 7.95% |
| nginx | 1 | 70 | 1 | 13 | 18.57% |
| markup | 14 | 291 | 0 | 0 | 0% |
Trending appearances
| Day | Rank | Stars | Files | Lines | Clones | All files | Code | Health | Commit |
|---|---|---|---|---|---|---|---|---|---|
| Oct 27, 2026 | #8 | 38,626 (+188) | 805 | 181,240 | 802 | 11.21% | 11.16% | E 38.7 | a5affe6 |
Want this for your own project? Install jscpd and run jscpd ., or measure it the way the baselines were measured.