AI-powered development workspaces with reusable components, architectural clarity and zero overhead.
This report presents the forensic synthetic code analysis of teambit/bit, a TypeScript project with 18,422 GitHub stars. SynthScan v2.0 examined 317,395 lines of code across 3137 source files, recording 444 pattern matches distributed across 15 syntactic categories. The overall adjusted score of 2.6 places this repository in the Likely human-written band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 444 distinct pattern matches across 15 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …onents/semantics/doc-parser/jsdoc/jsdoc-parser.spec.ts | 89 | expect(doclets).to.have.length.of.at.least(2); | CODE |
| CRITICAL | scopes/workspace/workspace/workspace.ts | 1804 | const unmergedComps = this.scope.legacyScope.objects.unmergedComponents.getComponents(); | CODE |
| CRITICAL | scopes/workspace/workspace/workspace.ts | 1810 | const unmerged = this.scope.legacyScope.objects.unmergedComponents.getEntry(componentId); | CODE |
| CRITICAL | scopes/workspace/workspace/filter.ts | 130 | const unmergedComponents = this.workspace.scope.legacyScope.objects.unmergedComponents.getComponents(); | CODE |
| CRITICAL | scopes/workspace/workspace/filter.ts | 159 | const all = this.workspace.consumer.bitMap.components.filter((c) => c.nextVersion).map((c) => c.id); | CODE |
| CRITICAL | scopes/workspace/workspace/aspects-merger.ts | 227 | return this.workspace.scope.legacyScope.objects.unmergedComponents.getEntry(componentId); | CODE |
| CRITICAL | scopes/component/remove/remove.main.runtime.ts | 447 | const bitMapEntry = this.workspace.consumer.bitMap.components.find((compMap) => { | CODE |
| CRITICAL | scopes/component/checkout/checkout.main.runtime.ts | 105 | await this.workspace.scope.legacyScope.scopeImporter.importWithoutDeps(ComponentIdList.fromArray(toImport), { | CODE |
| CRITICAL | scopes/component/stash/stash.main.runtime.ts | 74 | await this.workspace.scope.legacyScope.objects.persist(); | CODE |
| CRITICAL | scopes/component/stash/stash.main.runtime.ts | 147 | await this.workspace.scope.legacyScope.sources.consumerComponentToVersion(consumerComponent); | CODE |
| CRITICAL | scopes/component/snapping/version-maker.ts | 214 | if (hash) this.workspace.scope.legacyScope.stagedSnaps.addSnap(hash.toString()); | CODE |
| CRITICAL | scopes/component/snapping/version-maker.ts | 219 | await this.workspace.scope.legacyScope.stagedSnaps.write(); | CODE |
| CRITICAL | scopes/component/snapping/snapping.main.runtime.ts | 832 | await this.workspace.scope.legacyScope.stagedSnaps.write(); | CODE |
| CRITICAL | scopes/component/snapping/snapping.main.runtime.ts | 1090 | const unmergedComponent = this.scope.legacyScope.objects.unmergedComponents.getEntry(component.toComponentId()); | CODE |
| CRITICAL | scopes/component/snapping/snapping.main.runtime.ts | 1133 | this.scope.legacyScope.objects.unmergedComponents.removeComponent(component.toComponentId()); | CODE |
| CRITICAL | scopes/component/merging/merging.main.runtime.ts | 643 | const remoteHead = await this.workspace.consumer.scope.objects.remoteLanes.getRef(remoteLaneId, bitId); | CODE |
| CRITICAL | scopes/component/merging/merging.main.runtime.ts | 670 | const unmergedComponents = this.scope.legacyScope.objects.unmergedComponents.getComponents(); | CODE |
| CRITICAL | scopes/component/merging/merging.main.runtime.ts | 697 | aspects: this.scope.legacyScope.objects.unmergedComponents.getEntry(id)?.mergedConfig, | CODE |
| CRITICAL | scopes/component/merging/merging.main.runtime.ts | 757 | const entry = this.workspace.consumer.scope.objects.unmergedComponents.getEntry(id); | CODE |
| CRITICAL | scopes/component/merging/merging.main.runtime.ts | 764 | const unresolvedComponents = this.workspace.consumer.scope.objects.unmergedComponents.getComponents(); | CODE |
| CRITICAL | scopes/component/merging/merge-status-provider.ts | 262 | const unmerged = this.scope.legacyScope.objects.unmergedComponents.getEntry(id); | CODE |
| CRITICAL | scopes/scope/export/export.main.runtime.ts | 267 | await this.workspace.scope.legacyScope.stagedSnaps.deleteFile(); | CODE |
| CRITICAL | scopes/lanes/lanes/switch-lanes.ts | 78 | await this.workspace.scope.legacyScope.scopeImporter.importWithoutDeps(allIds, { | CODE |
| CRITICAL | scopes/lanes/lanes/lanes.main.runtime.ts | 528 | await this.scope.legacyScope.objects.remoteLanes.renameRefByNewLaneName(laneNameWithoutScope, newName, lane.scope); | CODE |
| CRITICAL | scopes/lanes/merge-lanes/merge-lanes.main.runtime.ts | 438 | this.workspace.consumer.scope.objects.unmergedComponents.removeAllComponents(); | CODE |
| CRITICAL | scopes/lanes/merge-lanes/merge-lanes.main.runtime.ts | 439 | await this.workspace.consumer.scope.objects.unmergedComponents.write(); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ies/use-component-artifacts/use-component-artifacts.ts | 90 | export function useComponentArtifactFileContent( | CODE |
| LOW | …component-artifacts-model/component-artifacts.model.ts | 33 | export function getArtifactFileDetailsFromUrl( | CODE |
| LOW | …ponents/ui/artifacts/artifacts-tree/artifacts-tree.tsx | 159 | function fileTreeNodeWithArtifactFiles(artifactFiles: Array<ArtifactFile & { id: string }>) { | CODE |
| LOW | …mpare-editor-settings/code-compare-editor-settings.tsx | 26 | export function CodeCompareEditorSettings({ | CODE |
| LOW | …re/version-picker/component-compare-version-picker.tsx | 21 | export function ComponentCompareVersionPicker({ | CODE |
| LOW | …nent-compare/changelog/component-compare-changelog.tsx | 50 | export function ComponentCompareChangelog({ className }: ComponentCompareChangelogType) { | CODE |
| LOW | …ponent-compare/component-compare/component-compare.tsx | 156 | function deriveChangeTypeCssForNav(tab: TabItem, changed: ChangeType[] | null | undefined): string | null { | CODE |
| LOW | …ponents/ui/composition-compare/composition-compare.tsx | 41 | function MissingCompositionTemplate({ message, title }: { message?: string; title?: string } = {}) { | CODE |
| LOW | …ponents/ui/composition-compare/composition-compare.tsx | 262 | function resolveRequestedCompositionId({ | CODE |
| LOW | components/ui/component-drawer/component-drawer.tsx | 171 | function ComponentsDrawerRenderFilters({ | CODE |
| LOW | components/ui/component-drawer/component-drawer.tsx | 211 | function ComponentsDrawerRenderTree({ | CODE |
| LOW | components/component-issues/untracked-dependencies.ts | 33 | function untrackedFilesComponentIssueToString(value: UntrackedFileDependencyEntry) { | CODE |
| LOW | …nents/component-issues/relative-components-authored.ts | 45 | function relativeComponentsAuthoredIssuesToString(relativeEntries: RelativeComponentsAuthoredEntry[]) { | CODE |
| LOW | components/legacy/consumer-config/component-config.ts | 108 | export function getBindingPrefixByDefaultScope(defaultScope: string): string { | CODE |
| LOW | components/legacy/logger/logger.ts | 355 | function determineWritingLogToScreen() { | CODE |
| LOW | components/legacy/logger/pino-logger.ts | 121 | export function getPinoLoggerWithoutWorkers( | CODE |
| LOW | …onents/legacy/component-diff/components-object-diff.ts | 27 | export function componentToPrintableForDiff(component: Component): Record<string, any> { | CODE |
| LOW | …onents/legacy/component-diff/components-object-diff.ts | 131 | function componentToPrintableForDiffCommand(component: Component, verbose = false): Record<string, any> { | CODE |
| LOW | …onents/legacy/component-diff/components-object-diff.ts | 177 | export async function diffBetweenComponentsObjects( | CODE |
| LOW | …onents/legacy/component-diff/components-object-diff.ts | 353 | async function getExtensionsConfigOutput(componentLeft: Component, componentRight: Component): Promise<ConfigDiff[]> { | CODE |
| LOW | components/legacy/component-diff/components-diff.ts | 210 | export function outputDiffResultsNameOnly(diffResults: DiffResults[]): string { | CODE |
| LOW | components/legacy/component-diff/components-diff.ts | 218 | export function outputDiffResultsFormatted(diffResults: DiffResults[], opts: DiffOutputOptions = {}): string { | CODE |
| LOW | …ents/legacy/utils/object-to-stringified-tuple-array.ts | 3 | export default function objectToStringifiedTupleArray(obj: { [key: string]: any }): [string | number][] { | CODE |
| LOW | components/legacy/utils/bit/component-placeholders.ts | 8 | export function replacePlaceHolderForPackageValue( | CODE |
| LOW | components/legacy/utils/bit/component-placeholders.ts | 36 | export function getMainFileWithoutExtension(mainFile: string) { | CODE |
| LOW | components/legacy/scope/version-dependencies.ts | 57 | export async function multipleVersionDependenciesToConsumer( | CODE |
| LOW | components/legacy/scope/lanes/remote-lanes.ts | 28 | function assertValidRemoteLaneSegment(value: unknown, kind: 'lane scope' | 'lane name'): void { | CODE |
| LOW | …egacy/scope/component-ops/scope-components-importer.ts | 1212 | export function errorIsTypeOfMissingObject(err: Error) { | CODE |
| LOW | components/legacy/extension-data/extension-data-list.ts | 272 | export function removeInternalConfigFields(config?: ExtensionConfig): ExtensionConfig | undefined { | CODE |
| LOW | components/legacy/extension-data/extension-data-list.ts | 279 | export function removeInternalConfigFieldsWithMutation(config?: ExtensionConfig) { | CODE |
| LOW | components/legacy/consumer/consumer.ts | 616 | export function currentDateAndTimeToFileName() { | CODE |
| LOW | components/legacy/e2e-helper/e2e-scope-json-helper.ts | 26 | function composeScopePathForWorkspace(workspacePath: string) { | CODE |
| LOW | …invalid-jest-config-env/invalid-jest-config.bit-env.ts | 19 | function generateResolveSpecPathsFunc(pattern: string) { | CODE |
| LOW | …ulti-jest-testers-env/multi-jest-tester-env.bit-env.ts | 19 | function generateResolveSpecPathsFunc(pattern: string) { | CODE |
| LOW | …om-jest-resolve-env/custom-jest-resolve-env.bit-env.ts | 17 | function generateResolveSpecPathsFunc(pattern: string) { | CODE |
| LOW | …on-message-listener/use-navigation-message-listener.ts | 10 | export function useNavigationMessageListener({ origin = '*' }: NavigationMessageListenerProps = {}) { | CODE |
| LOW | …view-summary/grouped-schema-nodes-overview-summary.tsx | 46 | const defaultTableRenderer = function DefaultTableRendererWrapper(apiNodeRendererProps: APINodeRenderProps) { | CODE |
| LOW | …/component-package-name/component-node-modules-path.ts | 7 | export function getNodeModulesPathOfComponent({ | CODE |
| LOW | …component-package-name/package-name-to-component-id.ts | 24 | export async function resolveComponentIdFromPackageName( | CODE |
| LOW | …dules/harmony-root-generator/harmony-root-generator.ts | 161 | function getRegularAspectIdentifier(aspectDef: AspectDefinition, suffix: string, pathProp?: string): string { | CODE |
| LOW | components/entities/semantic-schema/schema-diff.ts | 87 | export function typesAreSemanticallyEqual( | CODE |
| LOW | scripts/cleanup-node-modules.js | 488 | function scanPackageForRedundantBuilds(packagePath) { | CODE |
| LOW | scripts/cleanup-node-modules.js | 677 | function cleanupDuplicateModuleFormats(nodeModulesPath) { | CODE |
| LOW | scripts/extensions-to-aspects.js | 94 | function moveExtensionToMainRuntime(extName) { | CODE |
| LOW | scripts/extensions-to-aspects.js | 100 | function moveManifestToMainRuntime(extName) { | CODE |
| LOW | scripts/extensions-to-aspects.js | 112 | function movePreviewToPreviewRuntime(extName) { | CODE |
| LOW | scripts/find-unused-packages.js | 100 | function deleteUnusedFromWorkspaceJsonc() { | CODE |
| LOW | scripts/circular-deps-check/check-circular-deps.js | 51 | function countCircularDependencies(graphData) { | CODE |
| LOW | scripts/circular-deps-check/check-circular-deps.js | 73 | function analyzeCircularDependencies(graphData, verbose = false) { | CODE |
| LOW | scripts/circular-deps-check/check-circular-deps.js | 166 | function showNewCircularDependencies(graphData) { | CODE |
| LOW | e2e/harmony/export-harmony.e2e.ts | 132 | function expectRemotesToHaveTheComponents() { | CODE |
| LOW | e2e/harmony/ci-commands.e2e.ts | 37 | function setupComponentsAndInitialCommit(numComponents = 2) { | CODE |
| LOW | e2e/harmony/git-worktree.e2e.ts | 35 | function initGitWorkspaceWithExportedComponents(numComponents: number, gitIgnore: string[]) { | CODE |
| LOW | e2e/harmony/extensions-config-diff.e2e.ts | 121 | function reEjectAndCheckStatusBefore(helper, fullId = 'bar/foo') { | CODE |
| LOW | e2e/harmony/ci-bitmap-auto-sync.e2e.ts | 56 | function setupComponentsAndInitialCommit(numComponents = 2): string { | CODE |
| LOW | e2e/harmony/ci-bitmap-auto-sync.e2e.ts | 78 | function commitAndPushWorkspaceJsonc(branch: string, message = 'chore: enable bitmapAutoSync'): void { | CODE |
| LOW | e2e/harmony/ci-bitmap-auto-sync.e2e.ts | 90 | function simulatePrMergedOnDefaultBranch( | CODE |
| LOW | e2e/harmony/recovery-after-deletion.e2e.ts | 34 | function runFetchMissingDepsAction(remote, ids: string[]) { | CODE |
| LOW | e2e/harmony/custom-aspects.e2e.ts | 246 | function getMainAspectWithRegularDep(remoteScope: string) { | CODE |
| LOW | e2e/harmony/mocha-tester.e2e.ts | 274 | function specFileWithErrorInBeforeHook() { | CODE |
| 171 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …ui/composition-compare/composition-compare.module.scss | 164 | // ─── Empty / missing states ───────────────────────────────────────────── | COMMENT |
| MEDIUM | e2e/harmony/dependencies/forked-env-missing-deps.e2e.ts | 41 | // ── Source workspace: create the env, tag, and export ────────────── | COMMENT |
| MEDIUM | e2e/harmony/dependencies/forked-env-missing-deps.e2e.ts | 77 | // ── Fresh workspace: fork the env ───────────────────────────────── | COMMENT |
| MEDIUM⚡ | .circleci/config.yml | 76 | # ======================================== | COMMENT |
| MEDIUM⚡ | .circleci/config.yml | 78 | # ======================================== | COMMENT |
| MEDIUM⚡ | .circleci/config.yml | 84 | # ======================================== | COMMENT |
| MEDIUM⚡ | .circleci/config.yml | 86 | # ======================================== | COMMENT |
| MEDIUM | .circleci/config.yml | 3 | # ======================================== | COMMENT |
| MEDIUM | .circleci/config.yml | 5 | # ======================================== | COMMENT |
| MEDIUM | .circleci/config.yml | 53 | # ======================================== | COMMENT |
| MEDIUM | .circleci/config.yml | 55 | # ======================================== | COMMENT |
| MEDIUM | .circleci/config.yml | 508 | # ======================================== | COMMENT |
| MEDIUM | .circleci/config.yml | 510 | # ======================================== | COMMENT |
| MEDIUM | .circleci/config.yml | 1340 | # ======================================== | COMMENT |
| MEDIUM | .circleci/config.yml | 1342 | # ======================================== | COMMENT |
| MEDIUM | .circleci/config.yml | 1618 | # ======================================== | COMMENT |
| MEDIUM | .circleci/config.yml | 1620 | # ======================================== | COMMENT |
| MEDIUM | …pes/compositions/compositions/compositions.module.scss | 73 | // ─── Toolbar ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …pes/compositions/compositions/compositions.module.scss | 118 | // ─── Preview + Controls Tray area ─────────────────────────────────────── | COMMENT |
| MEDIUM | …pes/compositions/compositions/compositions.module.scss | 141 | // ─── Controls Tray (bottom panel, like DevTools) ──────────────────────── | COMMENT |
| MEDIUM | …pes/compositions/compositions/compositions.module.scss | 164 | // ─── Two-zone header: resize strip on top, click-to-collapse below ───── | COMMENT |
| MEDIUM | …pes/compositions/compositions/compositions.module.scss | 293 | // ─── Splitter ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …pes/compositions/compositions/compositions.module.scss | 307 | // ─── Tabs ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …pes/compositions/compositions/compositions.module.scss | 339 | // ─── Empty / error states ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | …s/ui/compositions-panel/compositions-panel.module.scss | 9 | // ─── Compositions list ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …s/ui/compositions-panel/compositions-panel.module.scss | 137 | // ─── Legacy compat ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …preview/ui/preview-placeholder/preview-placeholder.tsx | 11 | // ── BrowserSkeleton ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …preview/ui/preview-placeholder/preview-placeholder.tsx | 32 | // ── Prefetch helper ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …preview/ui/preview-placeholder/preview-placeholder.tsx | 55 | // ── ViewportGate ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …preview/ui/preview-placeholder/preview-placeholder.tsx | 117 | // ── PreviewPlaceholder ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ui/preview-placeholder/preview-placeholder.module.scss | 81 | // ── Viewport gate & skeleton overlay ──────────────────────────────────────── | COMMENT |
| MEDIUM | …ui/preview-placeholder/preview-placeholder.module.scss | 104 | // ── Browser-chrome skeleton ───────────────────────────────────────────────── | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .claude/skills/generate-release-notes/SKILL.md | 23 | ### Step 1: Setup Temp Directory | COMMENT |
| LOW | .claude/skills/generate-release-notes/SKILL.md | 31 | ### Step 2: Determine the Commit Range | COMMENT |
| LOW | .claude/skills/generate-release-notes/SKILL.md | 57 | ### Step 3: Fetch Commits and Save to raw-commits.md | COMMENT |
| LOW | .claude/skills/generate-release-notes/SKILL.md | 87 | ### Step 4: Filter Commits and Save to filtered-commits.md | COMMENT |
| LOW | .claude/skills/generate-release-notes/SKILL.md | 137 | ### Step 5: Enrich Commit Information | COMMENT |
| LOW | .claude/skills/generate-release-notes/SKILL.md | 155 | ### Step 6: Categorize Changes | COMMENT |
| LOW | .claude/skills/generate-release-notes/SKILL.md | 167 | ### Step 7: Write Release Notes | COMMENT |
| LOW | .claude/skills/generate-release-notes/SKILL.md | 179 | ### Step 8: Save the Release Notes | COMMENT |
| LOW | …onents/mcp/mcp-config-writer/bit-git-rules-template.md | 38 | ### Step 1: Choose the Correct Generic Execution Tool | COMMENT |
| LOW | …onents/mcp/mcp-config-writer/bit-git-rules-template.md | 49 | ### Step 2: Check for Terminal Exceptions | COMMENT |
| LOW | …onents/mcp/mcp-config-writer/bit-git-rules-template.md | 61 | ### Step 3: Git-Integrated Workflow Restrictions | COMMENT |
| LOW | components/mcp/mcp-config-writer/bit-rules-template.md | 35 | ### Step 1: Choose the Correct Generic Execution Tool | COMMENT |
| LOW | components/mcp/mcp-config-writer/bit-rules-template.md | 41 | ### Step 2: Check for Terminal Exceptions | COMMENT |
| LOW | .github/instructions/bit.instructions.md | 42 | ### Step 1: Choose the Correct Generic Execution Tool | COMMENT |
| LOW | .github/instructions/bit.instructions.md | 48 | ### Step 2: Check for Terminal Exceptions | COMMENT |
| LOW | .github/instructions/bit.instructions.md | 60 | ### Step 3: Git-Integrated Workflow Restrictions | COMMENT |
| LOW⚡ | e2e/harmony/tag-harmony.e2e.ts | 564 | // Step 1: Tag 0.0.1 and export | COMMENT |
| LOW⚡ | e2e/harmony/tag-harmony.e2e.ts | 568 | // Step 2: Tag 2.0.0 but DON'T export (this sets head to 2.0.0) | COMMENT |
| LOW⚡ | e2e/harmony/tag-harmony.e2e.ts | 573 | // Step 3: Checkout to 0.0.1 | COMMENT |
| LOW⚡ | e2e/harmony/tag-harmony.e2e.ts | 576 | // Step 4: Tag with --detach-head (creates a detached head 2.0.1) | COMMENT |
| LOW⚡ | e2e/harmony/tag-harmony.e2e.ts | 581 | // Step 5: Export - should export BOTH 2.0.0 (head) and 2.0.1 (detached head) | COMMENT |
| LOW⚡ | e2e/harmony/tag-harmony.e2e.ts | 621 | // Step 1: Tag 0.0.1 and export | COMMENT |
| LOW⚡ | e2e/harmony/tag-harmony.e2e.ts | 625 | // Step 2: Tag 2.0.0 but DON'T export (this sets head to 2.0.0) | COMMENT |
| LOW⚡ | e2e/harmony/tag-harmony.e2e.ts | 630 | // Step 3: Snap but DON'T export (creates an untagged snap) | COMMENT |
| LOW⚡ | e2e/harmony/tag-harmony.e2e.ts | 635 | // Step 4: Tag 2.0.1 but DON'T export (this sets head to 2.0.1) | COMMENT |
| LOW⚡ | e2e/harmony/tag-harmony.e2e.ts | 641 | // Step 5: Checkout to 0.0.1 | COMMENT |
| LOW⚡ | e2e/harmony/tag-harmony.e2e.ts | 644 | // Step 6: Tag with --detach-head (creates a detached head 2.0.2) | COMMENT |
| LOW⚡ | e2e/harmony/tag-harmony.e2e.ts | 649 | // Step 7: Export - should export 2.0.0, snap, 2.0.1 (head), and 2.0.2 (detached head) | COMMENT |
| LOW⚡ | e2e/harmony/tag-harmony.e2e.ts | 702 | // Step 1: Tag 1.0.0 and export | COMMENT |
| LOW⚡ | e2e/harmony/tag-harmony.e2e.ts | 706 | // Step 2: Create a lane from 1.0.0 and make snaps | COMMENT |
| LOW⚡ | e2e/harmony/tag-harmony.e2e.ts | 714 | // Step 3: Switch back to main and tag 2.0.0 (DON'T export - this is the key!) | COMMENT |
| LOW⚡ | e2e/harmony/tag-harmony.e2e.ts | 719 | // Step 4: Merge the lane with --detach-head | COMMENT |
| LOW⚡ | e2e/harmony/tag-harmony.e2e.ts | 721 | // Step 5: Export - should export 2.0.0 (unexported main head) | COMMENT |
| LOW | e2e/harmony/lanes/lane-import-git-branch.e2e.ts | 87 | // Step 1: On main, populate components, tag, export | COMMENT |
| LOW⚡ | e2e/harmony/lanes/lane-import-git-branch.e2e.ts | 108 | // Step 2: Create lane, change comp1, snap, export | COMMENT |
| LOW⚡ | e2e/harmony/lanes/lane-import-git-branch.e2e.ts | 114 | // Step 3: Restore workspace to before lane creation | COMMENT |
| LOW⚡ | scopes/harmony/bit/server-forever.ts | 154 | // Step 1: Hash the workspace path using MD5 | COMMENT |
| LOW⚡ | scopes/harmony/bit/server-forever.ts | 157 | // Step 2: Convert a portion of the hash to an integer | COMMENT |
| LOW⚡ | scopes/harmony/bit/server-forever.ts | 161 | // Step 3: Map the integer to the port range 49152 to 65535 (these are dynamic ports not assigned by IANA) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .claude/hooks/check-e2e-only.sh | 21 | exit 0 | COMMENT |
| LOW | components/ui/inputs/lane-selector_1/lane-selector.tsx | 81 | // case LaneSelectorSortBy.CREATED: | COMMENT |
| LOW | components/ui/inputs/lane-selector_1/lane-selector.tsx | 181 | e.stopPropagation(); | COMMENT |
| LOW | components/legacy/scope/lanes/lanes.ts | 141 | }) | COMMENT |
| LOW | components/legacy/dependency-graph/scope-graph.ts | 141 | // const allModelComponents: ModelComponent[] = await scope.list(); | COMMENT |
| LOW | …s/extensions/custom-react-env/typescript/tsconfig.json | 1 | { | COMMENT |
| LOW | …xtures/extensions/custom-react-env/jest/jest.config.js | 1 | COMMENT | |
| LOW | …xtensions/multi-jest-testers-env/config/jest.config.js | 1 | // @bit-no-check | COMMENT |
| LOW | …tensions/custom-jest-resolve-env/config/jest.config.js | 1 | // @bit-no-check | COMMENT |
| LOW | …r/excluded-fixtures/scopes/repository-hooks-fixture.js | 61 | // That's here for debug purpose | COMMENT |
| LOW | scripts/check-harmony-version-sync.sh | 1 | #!/bin/bash | COMMENT |
| LOW | e2e/harmony/merge-config.e2e.ts | 61 | const deprecationData = helper.command.showAspectConfig('comp1', Extensions.deprecation); | COMMENT |
| LOW | e2e/harmony/ci-bitmap-auto-sync.e2e.ts | 561 | const currentGitHead = helper.command.runCmd('git rev-parse HEAD').trim(); | COMMENT |
| LOW | e2e/harmony/ci-bitmap-auto-sync.e2e.ts | 661 | // ------------------------------------------------------------------------------------ | COMMENT |
| LOW | e2e/harmony/dependency-resolver.e2e.ts | 201 | expect(depResolverExt.data.dependencies[0].packageName).to.equal(`react.${randomStr}.comp3`); | COMMENT |
| LOW | e2e/harmony/lanes/lane-export-skip-main-history.e2e.ts | 301 | // lives on scope-L and the client-side `collectLogs` fallback only retries against the | COMMENT |
| LOW | .circleci/config.yml | 481 | key: v3-linux-bvm-folder-{{ checksum "version.txt" }} | COMMENT |
| LOW | .circleci/config.yml | 541 | <<: *defaults | COMMENT |
| LOW | .circleci/config.yml | 1281 | SKIP_REGISTRY_TESTS: "true" | COMMENT |
| LOW | .circleci/config.yml | 1321 | path: bit\junit | COMMENT |
| LOW | .circleci/config.yml | 1501 | # branches: | COMMENT |
| LOW | .circleci/config.yml | 1621 | COMMENT | |
| LOW | .circleci/config.yml | 1641 | COMMENT | |
| LOW | .circleci/config.yml | 1661 | # - checkout_code: | COMMENT |
| LOW | .circleci/config.yml | 1681 | # requires: | COMMENT |
| LOW | scopes/harmony/bit/bootstrap.ts | 21 | process.on('unhandledRejection', async (err: any) => handleUnhandledRejection(err)); | COMMENT |
| LOW | scopes/harmony/bit/bootstrap.ts | 41 | // https://github.com/garycourt/uri-js/pull/95 | COMMENT |
| LOW | scopes/harmony/graphql/logging.ts | 21 | // const promise = crossFetch(...p); | COMMENT |
| LOW | scopes/workspace/install/install.main.runtime.ts | 661 | // return aspectDef.component?.id.toStringWithoutVersion() === 'bitdev.general/envs/bit-env'; | COMMENT |
| LOW | scopes/workspace/workspace/auto-tag.ts | 41 | } | COMMENT |
| LOW | scopes/workspace/workspace/workspace.ts | 1421 | COMMENT | |
| LOW | scopes/workspace/workspace/workspace.ts | 2301 | // bitmap res (_id) : my-name1 (comp is tagged but not exported) | COMMENT |
| LOW | scopes/workspace/workspace/workspace-aspects-loader.ts | 701 | * @returns | COMMENT |
| LOW | …pes/dependencies/pnpm/lockfile-deps-graph-converter.ts | 381 | } | COMMENT |
| LOW | …/files-dependency-builder/filing-cabinet/index.spec.ts | 41 | // require('module-lookup-amd'); | COMMENT |
| LOW | …/files-dependency-builder/filing-cabinet/index.spec.ts | 141 | // it('uses the amd resolver', () => { | COMMENT |
| LOW | …/files-dependency-builder/filing-cabinet/index.spec.ts | 161 | // directory: `${UNIT_TEST_DIR}/js/amd/`, | COMMENT |
| LOW | …es/dependencies/dependencies-loader/apply-overrides.ts | 201 | // because (pasting the original comment here): | COMMENT |
| LOW | scopes/component/isolator/isolator.main.runtime.ts | 381 | ? await host.getMany(seeders) | COMMENT |
| LOW | scopes/component/isolator/isolator.main.runtime.ts | 1701 | // For dependencies, check if they are exported and unmodified | COMMENT |
| LOW | scopes/component/component/state.ts | 81 | // consumerComponent.version || 'new', | COMMENT |
| LOW | …opes/component/modules/merge-helper/three-way-merge.ts | 81 | baseComponent: Version; | COMMENT |
| LOW | scopes/component/snapping/snapping.main.runtime.ts | 501 | COMMENT | |
| LOW | scopes/component/merging/merge-status-provider.ts | 321 | const getCurrentComponent = () => { | COMMENT |
| LOW | scopes/pipelines/builder/pipeline.ts | 101 | // return acc.concat(pipeline); | COMMENT |
| LOW | scopes/scope/export/export.main.runtime.ts | 681 | const remotes = manyObjectsPerRemote.map((o) => o.remote); | COMMENT |
| LOW | …tor/templates/basic/template/files/workspace-config.ts | 21 | // 'teambit.node/node', | COMMENT |
| LOW | scopes/webpack/webpack/config/webpack.dev.config.ts | 81 | // Don't be confused with `dev.publicPath`, it is `publicPath` for static directory | COMMENT |
| LOW | scopes/preview/preview/strategies/component-strategy.ts | 101 | // const modules = await Promise.all(entriesArr.map(async (entry) => { | COMMENT |
| LOW | …opes/react/eslint-config-bit-react/bit-react-eslint.js | 81 | // but probably won't break much. | COMMENT |
| LOW | scopes/react/react/webpack/webpack.config.base.ts | 321 | // "file" loader makes sure those assets get served by WebpackDevServer. | COMMENT |
| LOW | scopes/react/react/webpack/webpack.config.base.prod.ts | 21 | minify: false, | COMMENT |
| LOW | scopes/react/react/webpack/webpack.config.base.prod.ts | 41 | // ecma: 8, | COMMENT |
| LOW | scopes/react/react/webpack/webpack.config.base.prod.ts | 81 | // https://twitter.com/wSokra/status/969633336732905474 | COMMENT |
| LOW | scopes/react/react/webpack/webpack.config.base.prod.ts | 101 | // output file so that tools can pick it up without having to parse | COMMENT |
| LOW | scopes/react/bit-react-transformer/helpers.ts | 21 | COMMENT | |
| LOW | scopes/react/bit-react-transformer/helpers.ts | 41 | // // return !!block.body.find(statement => { | COMMENT |
| LOW | scopes/defender/jest/jest.tester.ts | 161 | const config: any = { | COMMENT |
| LOW | scopes/defender/jest/jest.tester.ts | 281 | // ): Promise<Record<string, Array<string>>> { | COMMENT |
| LOW | scopes/git/ci/ci.main.runtime.ts | 421 | // diverged component. Pre-fetch main's head objects in one batched remote call (mirroring the | COMMENT |
| 3 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | e2e/harmony/tag-harmony.e2e.ts | 564 | // Step 1: Tag 0.0.1 and export | COMMENT |
| LOW⚡ | e2e/harmony/tag-harmony.e2e.ts | 568 | // Step 2: Tag 2.0.0 but DON'T export (this sets head to 2.0.0) | COMMENT |
| LOW⚡ | e2e/harmony/tag-harmony.e2e.ts | 573 | // Step 3: Checkout to 0.0.1 | COMMENT |
| LOW⚡ | e2e/harmony/tag-harmony.e2e.ts | 576 | // Step 4: Tag with --detach-head (creates a detached head 2.0.1) | COMMENT |
| LOW⚡ | e2e/harmony/tag-harmony.e2e.ts | 581 | // Step 5: Export - should export BOTH 2.0.0 (head) and 2.0.1 (detached head) | COMMENT |
| LOW⚡ | e2e/harmony/tag-harmony.e2e.ts | 621 | // Step 1: Tag 0.0.1 and export | COMMENT |
| LOW⚡ | e2e/harmony/tag-harmony.e2e.ts | 625 | // Step 2: Tag 2.0.0 but DON'T export (this sets head to 2.0.0) | COMMENT |
| LOW⚡ | e2e/harmony/tag-harmony.e2e.ts | 630 | // Step 3: Snap but DON'T export (creates an untagged snap) | COMMENT |
| LOW⚡ | e2e/harmony/tag-harmony.e2e.ts | 635 | // Step 4: Tag 2.0.1 but DON'T export (this sets head to 2.0.1) | COMMENT |
| LOW⚡ | e2e/harmony/tag-harmony.e2e.ts | 641 | // Step 5: Checkout to 0.0.1 | COMMENT |
| LOW⚡ | e2e/harmony/tag-harmony.e2e.ts | 644 | // Step 6: Tag with --detach-head (creates a detached head 2.0.2) | COMMENT |
| LOW⚡ | e2e/harmony/tag-harmony.e2e.ts | 649 | // Step 7: Export - should export 2.0.0, snap, 2.0.1 (head), and 2.0.2 (detached head) | COMMENT |
| LOW⚡ | e2e/harmony/tag-harmony.e2e.ts | 702 | // Step 1: Tag 1.0.0 and export | COMMENT |
| LOW⚡ | e2e/harmony/tag-harmony.e2e.ts | 706 | // Step 2: Create a lane from 1.0.0 and make snaps | COMMENT |
| LOW⚡ | e2e/harmony/tag-harmony.e2e.ts | 714 | // Step 3: Switch back to main and tag 2.0.0 (DON'T export - this is the key!) | COMMENT |
| LOW⚡ | e2e/harmony/tag-harmony.e2e.ts | 719 | // Step 4: Merge the lane with --detach-head | COMMENT |
| LOW⚡ | e2e/harmony/tag-harmony.e2e.ts | 721 | // Step 5: Export - should export 2.0.0 (unexported main head) | COMMENT |
| LOW | e2e/harmony/lanes/lane-import-git-branch.e2e.ts | 87 | // Step 1: On main, populate components, tag, export | COMMENT |
| LOW⚡ | e2e/harmony/lanes/lane-import-git-branch.e2e.ts | 108 | // Step 2: Create lane, change comp1, snap, export | COMMENT |
| LOW⚡ | e2e/harmony/lanes/lane-import-git-branch.e2e.ts | 114 | // Step 3: Restore workspace to before lane creation | COMMENT |
| LOW⚡ | scopes/harmony/bit/server-forever.ts | 154 | // Step 1: Hash the workspace path using MD5 | COMMENT |
| LOW⚡ | scopes/harmony/bit/server-forever.ts | 157 | // Step 2: Convert a portion of the hash to an integer | COMMENT |
| LOW⚡ | scopes/harmony/bit/server-forever.ts | 161 | // Step 3: Map the integer to the port range 49152 to 65535 (these are dynamic ports not assigned by IANA) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | e2e/harmony/pkg.e2e.ts | 69 | // TODO: implement once we can extend a specific env with new methods (to apply config changes) | COMMENT |
| LOW | e2e/harmony/load-extensions.e2e.ts | 55 | // TODO: implement | COMMENT |
| LOW | e2e/harmony/load-extensions.e2e.ts | 92 | // TODO: implement | COMMENT |
| LOW | e2e/harmony/load-extensions.e2e.ts | 160 | // TODO: implement | COMMENT |
| LOW | e2e/harmony/load-extensions.e2e.ts | 185 | // TODO: implement | COMMENT |
| LOW | e2e/harmony/component-config.e2e.ts | 217 | // TODO: implement once vendor is implemented | COMMENT |
| LOW | e2e/harmony/dependency-resolver.e2e.ts | 65 | // TODO: implement once we can extend a specific env with new methods (to apply config changes) | COMMENT |
| LOW | e2e/harmony/dependencies/env-jsonc-policies.e2e.ts | 159 | // TODO: implement if needed | COMMENT |
| LOW | scopes/workspace/workspace/workspace.ts | 1970 | // TODO: implement | COMMENT |
| LOW | …pace/workspace-component/workspace-component-loader.ts | 408 | // TODO: implement this function | COMMENT |
| LOW | scopes/dependencies/yarn/yarn.package-manager.ts | 330 | // TODO: implement this to automate configuration. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | scopes/harmony/bit/run-bit.ts | 70 | print(args[0]); | CODE |
| HIGH | scopes/harmony/bit/run-bit.ts | 77 | print(args[0]); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | scopes/react/react/webpack/webpack.config.base.ts | 361 | // Turn off performance processing because we utilize | COMMENT |
| MEDIUM | scopes/react/react/webpack/webpack.config.base.prod.ts | 123 | // Turn off performance processing because we utilize | COMMENT |
| MEDIUM | …pes/react/react/webpack/overlay/webpackHotDevClient.js | 48 | // Essentially, we cannot guarantee application state was not corrupted by the | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | scripts/check-env-cache-sync.sh | 57 | # Create the temp file next to the target (explicit template for BSD/macOS | COMMENT |
| MEDIUM | scopes/dependencies/yarn/yarn.package-manager.ts | 575 | `# This file is generated by running "yarn install" inside your project.\n`, | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .circleci/config.yml | 456 | token: "fake-token" | CODE |
| LOW | .circleci/config.yml | 1303 | token: "fake-token" | CODE |
| LOW | …workspace/workspace/ui/workspace/workspace.module.scss | 119 | div[class*='placeholder'] { | CODE |
| LOW | …workspace/workspace/ui/workspace/workspace.module.scss | 128 | div[class*='placeholder'] { | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | scopes/harmony/host-initializer/agents-template-git.md | 97 | bit create <template> <name> # scaffold a new component | CODE |
| MEDIUM | scopes/harmony/host-initializer/agents-template.md | 95 | bit create <template> <name> # scaffold a new component | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | releases-docs/scripts/get-release-commits.sh | 28 | # Check if it's an annotated tag (points to tag object) or lightweight tag (points directly to commit) | COMMENT |
| LOW | scripts/circular-deps-check/ci-check.sh | 17 | # Check if workspace cycle baseline exists | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/check-harmony-version-sync.sh | 12 | # Usage: | COMMENT |
| LOW | scripts/check-env-cache-sync.sh | 6 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scopes/harmony/cli-reference/cli-reference.json | 2212 | "the arguments passing to the app. for example, --args=\"--a=1 --b\". don't forget to use quotes to wrap the val | CODE |
| LOW | scopes/harmony/cli-reference/cli-reference.json | 2282 | "the arguments passing to the app. for example, --args=\"--a=1 --b\". don't forget to use quotes to wrap the | CODE |