WarpDrive is the lightweight data library for ambitious web apps — universal, typed, reactive, and ready to scale.
This report summarizes scanner evidence for warp-drive-data/warp-drive, a TypeScript project with 3,160 GitHub stars. SynthScan examined 405,573 lines of code across 2483 source files, recording 579 pattern matches distributed across 9 syntactic categories. The legacy adjusted pattern signal is 1.6 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 334 finding(s).
Are imports declared and package/API names verified? 245 finding(s).
Are wrappers, guards, and repeated structures necessary? 185 finding(s).
Which changes need focused human review? 579 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 579 distinct pattern matches across 9 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. 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 configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ntegration/cache/cache.get-remote-relationship-test.ts | 53 | name: 'John Doe', | CODE |
| LOW | …ntegration/cache/cache.get-remote-relationship-test.ts | 82 | name: 'John Doe', | CODE |
| LOW | …ntegration/cache/cache.get-remote-relationship-test.ts | 112 | name: 'John Doe', | CODE |
| LOW | …ntegration/cache/cache.get-remote-relationship-test.ts | 128 | name: 'Jane Doe', | CODE |
| LOW | …ntegration/cache/cache.get-remote-relationship-test.ts | 157 | name: 'John Doe', | CODE |
| LOW | …ntegration/cache/cache.get-remote-relationship-test.ts | 171 | name: 'Jane Doe', | CODE |
| LOW | …ntegration/cache/cache.get-remote-relationship-test.ts | 197 | name: 'John Doe', | CODE |
| LOW | …ntegration/cache/cache.get-remote-relationship-test.ts | 209 | name: 'Jane Doe', | CODE |
| LOW | …ntegration/cache/cache.get-remote-relationship-test.ts | 238 | name: 'John Doe', | CODE |
| LOW | …ntegration/cache/cache.get-remote-relationship-test.ts | 254 | name: 'Jane Doe', | CODE |
| LOW | …ntegration/cache/cache.get-remote-relationship-test.ts | 295 | name: 'John Doe', | CODE |
| LOW | …ntegration/cache/cache.get-remote-relationship-test.ts | 311 | name: 'Jane Doe', | CODE |
| LOW | …ts/integration/cache/collection-data-documents-test.ts | 247 | address: { street: '123 Main Street', city: 'Anytown', state: 'NY', zip: '23456' }, | CODE |
| LOW | …ts/integration/cache/collection-data-documents-test.ts | 270 | street: '123 Main Street', | CODE |
| LOW | …ts/integration/cache/collection-data-documents-test.ts | 285 | assert.equal(record?.business?.address?.street, '123 Main Street', 'record name is correct'); | CODE |
| LOW | …ts/integration/cache/collection-data-documents-test.ts | 328 | street: '123 Main Street', | CODE |
| LOW⚡ | …s/json-api/tests/integration/cache/cache.patch-test.ts | 327 | assert.equal(record?.name, 'John Doe', 'The name is correct'); | CODE |
| LOW⚡ | …s/json-api/tests/integration/cache/cache.patch-test.ts | 335 | value: 'Jane Doe', | CODE |
| LOW⚡ | …s/json-api/tests/integration/cache/cache.patch-test.ts | 339 | assert.equal(updatedRecord?.name, 'Jane Doe', 'The name is updated'); | CODE |
| LOW | …s/json-api/tests/integration/cache/cache.patch-test.ts | 145 | name: 'John Doe', | CODE |
| LOW | …s/json-api/tests/integration/cache/cache.patch-test.ts | 157 | assert.equal(record?.name, 'John Doe', 'The name is correct'); | CODE |
| LOW | …s/json-api/tests/integration/cache/cache.patch-test.ts | 169 | name: 'John Doe', | CODE |
| LOW | …s/json-api/tests/integration/cache/cache.patch-test.ts | 199 | assert.equal(record?.name, 'John Doe', 'The name is correct'); | CODE |
| LOW | …s/json-api/tests/integration/cache/cache.patch-test.ts | 214 | name: 'John Doe', | CODE |
| LOW | …s/json-api/tests/integration/cache/cache.patch-test.ts | 226 | assert.equal(record?.name, 'John Doe', 'The name is correct'); | CODE |
| LOW | …s/json-api/tests/integration/cache/cache.patch-test.ts | 246 | name: 'John Doe', | CODE |
| LOW | …s/json-api/tests/integration/cache/cache.patch-test.ts | 269 | assert.equal(record?.name, 'John Doe', 'The name is correct'); | CODE |
| LOW | …s/json-api/tests/integration/cache/cache.patch-test.ts | 285 | name: 'Jane Doe', | CODE |
| LOW | …s/json-api/tests/integration/cache/cache.patch-test.ts | 301 | assert.equal(updatedRecord?.name, 'Jane Doe', 'The name is updated'); | CODE |
| LOW | …s/json-api/tests/integration/cache/cache.patch-test.ts | 315 | name: 'John Doe', | CODE |
| LOW | …s/json-api/tests/integration/cache/cache.patch-test.ts | 350 | name: 'John Doe', | CODE |
| LOW | …s/json-api/tests/integration/cache/cache.patch-test.ts | 385 | assert.equal(record?.name, 'John Doe', 'The name is correct'); | CODE |
| LOW | …s/json-api/tests/integration/cache/cache.patch-test.ts | 419 | name: 'John Doe', | CODE |
| LOW | …s/json-api/tests/integration/cache/cache.patch-test.ts | 442 | assert.equal(record?.name, 'John Doe', 'The name is correct'); | CODE |
| LOW | …s/json-api/tests/integration/cache/cache.patch-test.ts | 469 | name: 'John Doe', | CODE |
| LOW | …s/json-api/tests/integration/cache/cache.patch-test.ts | 492 | assert.equal(record?.name, 'John Doe', 'The name is correct'); | CODE |
| LOW | …s/json-api/tests/integration/cache/cache.patch-test.ts | 521 | name: 'John Doe', | CODE |
| LOW | …s/json-api/tests/integration/cache/cache.patch-test.ts | 544 | assert.equal(record?.name, 'John Doe', 'The name is correct'); | CODE |
| LOW | …s/json-api/tests/integration/cache/cache.patch-test.ts | 571 | name: 'John Doe', | CODE |
| LOW | …s/json-api/tests/integration/cache/cache.patch-test.ts | 606 | assert.equal(record?.name, 'John Doe', 'The name is correct'); | CODE |
| LOW | …s/json-api/tests/integration/cache/cache.patch-test.ts | 638 | name: 'John Doe', | CODE |
| LOW | …s/json-api/tests/integration/cache/cache.patch-test.ts | 763 | name: 'John Doe', | CODE |
| LOW | …s/json-api/tests/integration/cache/cache.patch-test.ts | 820 | assert.equal(record?.name, 'John Doe', 'The name is correct'); | CODE |
| LOW | …s/json-api/tests/integration/cache/cache.patch-test.ts | 863 | name: 'John Doe', | CODE |
| LOW | …s/json-api/tests/integration/cache/cache.patch-test.ts | 977 | name: 'John Doe', | CODE |
| LOW | …s/json-api/tests/integration/cache/cache.patch-test.ts | 1052 | assert.equal(record?.name, 'John Doe', 'The name is correct'); | CODE |
| LOW | …s/json-api/tests/integration/cache/cache.patch-test.ts | 1089 | name: 'John Doe', | CODE |
| LOW | …s/json-api/tests/integration/cache/cache.patch-test.ts | 1228 | name: 'John Doe', | CODE |
| LOW | …ore/tests/polaris-mode/object-field-reactivity-test.ts | 56 | street: '123 Main St', | CODE |
| LOW | …ore/tests/polaris-mode/object-field-reactivity-test.ts | 70 | street: '123 Main St', | CODE |
| LOW | …re/tests/polaris-mode/schema-object-field-read-test.ts | 80 | street: '123 Main St', | CODE |
| LOW | …re/tests/polaris-mode/schema-object-field-read-test.ts | 92 | { street: '123 Main St', city: 'Anytown', state: 'NY', zip: '12345' }, | CODE |
| LOW | …re/tests/polaris-mode/schema-object-field-read-test.ts | 110 | street: '123 Main St', | CODE |
| LOW | …re/tests/polaris-mode/schema-object-field-read-test.ts | 185 | street: '123 Main St', | CODE |
| LOW | …re/tests/polaris-mode/schema-object-field-read-test.ts | 207 | { street: '123 Main St', city: 'Anytown', state: 'NY', zip: '12345' }, | CODE |
| LOW | …re/tests/polaris-mode/schema-object-field-read-test.ts | 227 | street: '123 Main St', | CODE |
| LOW | …re/tests/polaris-mode/schema-object-field-read-test.ts | 316 | street: '123 Main St', | CODE |
| LOW | …re/tests/polaris-mode/schema-object-field-read-test.ts | 344 | { street: '123 Main St', city: 'Anytown', state: 'NY', zip: '12345' }, | CODE |
| LOW | …sts/polaris-mode/schema-array-field-reactivity-test.ts | 97 | { street: '123 Main St', city: 'Anytown', state: 'NY', zip: '12345' }, | CODE |
| LOW | …sts/polaris-mode/schema-array-field-reactivity-test.ts | 115 | assert.equal(record.addresses![0]!.street, '123 Main St', 'addresses are accessible'); | CODE |
| 179 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/internal-config/tsdown/config.js | 81 | function forceBundleOverEmberExternals(options) { | CODE |
| LOW | tools/internal-config/tsdown/config.js | 106 | function withMacroImportsAlwaysBabeled(emberOptions) { | CODE |
| LOW | tools/release/core/release-notes/index.ts | 14 | export async function executeReleaseNoteGeneration(args: string[]) { | CODE |
| LOW | tools/release/core/publish/steps/generate-tarballs.ts | 472 | async function synthesizeTypesDirectoryFromDist(pkg: Package, subdir: 'unstable-preview-types' | 'preview-types') { | CODE |
| LOW | tools/release/core/publish/steps/generate-tarballs.ts | 646 | async function amendFilesForTypesStrategy(pkg: Package, strategy: APPLIED_STRATEGY) { | CODE |
| LOW | tools/release/core/publish/steps/generate-tarballs.ts | 667 | async function restoreTypesStrategyChanges(pkg: Package, _strategy: APPLIED_STRATEGY) { | CODE |
| LOW | tools/release/core/publish/steps/bump-versions.ts | 64 | export async function updateWorkspaceVersionsForPublish( | CODE |
| LOW | tools/release/core/publish/steps/bump-versions.ts | 100 | function bumpKnownProjectVersionsFromStrategy( | CODE |
| LOW | tools/release/utils/channel.ts | 91 | export function npmDistTagForChannelAndVersion( | CODE |
| LOW | tools/release/utils/channel.ts | 125 | export function branchForChannelAndVersion( | CODE |
| LOW | tools/release/utils/git.ts | 175 | async function isUnrecoverableExtractionError(e: Error): Promise<boolean> { | CODE |
| LOW | tools/release/help/docs.ts | 7 | function getDefaultValueDescriptor(value: unknown) { | CODE |
| LOW | tools/internal-tooling/src/tasks/sync-references.ts | 26 | function cleanupAndGetReferencedPackages(project: ProjectPackage) { | CODE |
| LOW | tools/internal-tooling/src/tasks/sync-references.ts | 84 | function validateDesiredTsConfigSettings(project: ProjectPackageWithTsConfig) { | CODE |
| LOW | …ation/graph/edge-removal/abstract-edge-removal-test.ts | 223 | function persistedDeletionUnloadedTest(config: TestConfig) { | CODE |
| LOW | …mode/polymorphic-abstract-type-concrete-schema-test.ts | 70 | function registerConcreteAbstractRecord(schema: SchemaService) { | CODE |
| LOW | …mode/polymorphic-abstract-type-concrete-schema-test.ts | 81 | function registerConflictingConcreteAbstractRecord(schema: SchemaService) { | CODE |
| LOW | …mode/polymorphic-abstract-type-concrete-schema-test.ts | 101 | function registerConcreteAbstractRecordMissingAs(schema: SchemaService) { | CODE |
| LOW | …elationships/polymorphic-relationship-payloads-test.js | 263 | function makePolymorphicHatForPolymorphicPerson(type, isForBigPerson = true) { | CODE |
| LOW | …elationships/polymorphic-relationship-payloads-test.js | 738 | function makePolymorphicHatForPolymorphicPerson(type, isForBigPerson = true) { | CODE |
| LOW | …tests/integration/relationships/json-api-links-test.js | 973 | function shouldReloadWithLinkTests(description, payloads) { | CODE |
| LOW | …here/tests/acceptance/relationships/belongs-to-test.js | 105 | function makePeopleWithRelationshipData() { | CODE |
| LOW | …s-here/tests/acceptance/relationships/has-many-test.js | 90 | function makePeopleWithRelationshipData() { | CODE |
| LOW | …s-here/tests/acceptance/relationships/has-many-test.js | 184 | function makePeopleWithRelationshipLinks(removeData = true) { | CODE |
| LOW | …t-write-new-tests-here/tests/helpers/watch-property.js | 100 | QUnit.assert.watchedPropertyCounts = function assertWatchedPropertyCount(watchedObject, expectedCounts, label = '') { | CODE |
| LOW | …t-write-new-tests-here/tests/helpers/watch-property.js | 132 | QUnit.assert.watchedPropertyCount = function assertWatchedPropertyCount(watcher, expectedCount, label) { | CODE |
| LOW | …s/dont-write-new-tests-here/tests/helpers/accessors.ts | 8 | export function getRelationshipStateForRecord(record: { store: Store }, propertyName: string): GraphEdge { | CODE |
| LOW | tests/codemods/tests/schema-migration/-utils/test.ts | 91 | function isErrorTransformationTest( | CODE |
| LOW | .claude/skills/ast-grep-codemods/SKILL.md | 342 | function collectPrecedingDecorators(node: SgNode): string[] { | CODE |
| LOW | docs-viewer/src/site-utils.ts | 1243 | function consolidateOverloadSignatures(content: string): string { | CODE |
| LOW | …iagnostic/client/src/helpers/-dom/trigger-key-event.ts | 121 | function keyFromKeyCodeAndModifiers(keycode: number, modifiers: KeyModifiers): string | void { | CODE |
| LOW | packages/-warp-drive/src/-private/shared/npm.ts | 54 | export function getPackageManagerFromLockfile(): 'yarn' | 'npm' | 'bun' | 'pnpm' { | CODE |
| LOW | packages/-warp-drive/src/-private/shared/docs.ts | 6 | function getDefaultValueDescriptor(value: unknown) { | CODE |
| LOW | packages/-warp-drive/src/-private/shared/channel.ts | 67 | export function npmDistTagForChannelAndVersion(channel: CHANNEL, package_version: SEMVER_VERSION): NPM_DIST_TAG { | CODE |
| LOW | packages/-warp-drive/src/-private/shared/channel.ts | 97 | export function branchForChannelAndVersion(channel: CHANNEL, package_version: SEMVER_VERSION): VALID_BRANCHES { | CODE |
| LOW | …arp-drive/src/-private/warp-drive/generators/shared.ts | 20 | export function extendFromApplicationEntity( | CODE |
| LOW | …/adapter/fastboot/instance-initializers/setup-fetch.js | 8 | function patchFetchForRelativeURLs(instance) { | CODE |
| LOW | …ages/internal-exam/src/-private/filter-test-modules.js | 54 | function convertFilePathToModulePath(filePath) { | CODE |
| LOW | packages/internal-exam/src/node/test-page-helper.js | 80 | export function combineOptionValueIntoArray(optionValue) { | CODE |
| LOW | packages/internal-exam/src/node/test-page-helper.js | 119 | export function getTestUrlFromTestemConfig(configFile) { | CODE |
| LOW | …t-infra/src/test-support/asserts/assert-deprecation.ts | 140 | export function configureDeprecationHandler(assert: unknown): void { | CODE |
| LOW | …ra/src/test-support/asserts/assert-all-deprecations.ts | 22 | export function configureAssertAllDeprecations(hooks: ExpandedHooks): void { | CODE |
| LOW | …est-infra/src/test-support/asserts/assert-assertion.ts | 42 | export function configureAssertionHandler(assert: unknown): void { | CODE |
| LOW | …-infra/src/test-support/asserts/assert-notification.ts | 112 | export function configureNotificationsAssert(this: TestContext, assert: unknown): void { | CODE |
| LOW | …ugin-warp-drive/src/rules/no-create-record-rerender.js | 160 | function parentFunctionIsConstructor(maybeParentFunction) { | CODE |
| LOW | …slint-plugin-warp-drive/src/rules/no-legacy-imports.js | 96 | function getImportExportNameFromImportSpecifier(spec) { | CODE |
| LOW | …slint-plugin-warp-drive/src/rules/no-legacy-imports.js | 109 | function groupImportSpecifiersByTarget(moduleName, specifiers, declarationIsTypeOnly) { | CODE |
| LOW | …slint-plugin-warp-drive/src/rules/no-legacy-imports.js | 159 | function collectUnresolvedExportNames(groups) { | CODE |
| LOW | …mods/src/legacy-compat-builders/legacy-store-method.ts | 59 | export function transformLegacyStoreMethod( | CODE |
| LOW | …mods/src/legacy-compat-builders/legacy-store-method.ts | 216 | function assertIsValidLegacyStoreMethodCallExpressionPath( | CODE |
| LOW | packages/codemods/src/cli/apply.ts | 42 | function createMigrateToSchemaCommand(applyCommand: Command) { | CODE |
| LOW | packages/codemods/src/cli/apply.ts | 71 | function createLegacyCompatBuildersCommand(applyCommand: Command) { | CODE |
| LOW | packages/codemods/src/cli/apply.ts | 104 | async function handleLegacyCompatBuilders(patterns: string[] | string, options: SharedCodemodOptions & RunOptions) { | CODE |
| LOW | packages/codemods/src/schema-migration/tasks/migrate.ts | 113 | function getRelativePathFromAdditionalSources( | CODE |
| LOW | packages/codemods/src/schema-migration/tasks/migrate.ts | 286 | function writeIntermediateArtifacts( | CODE |
| LOW | …ages/codemods/src/schema-migration/utils/type-utils.ts | 51 | export function getTypeScriptTypeForAttribute( | CODE |
| LOW | …ages/codemods/src/schema-migration/utils/type-utils.ts | 99 | function getTypeScriptTypeForBelongsTo( | CODE |
| LOW | …ages/codemods/src/schema-migration/utils/type-utils.ts | 122 | function getTypeScriptTypeForHasMany( | CODE |
| LOW | …ages/codemods/src/schema-migration/utils/type-utils.ts | 153 | export function schemaFieldToTypeScriptType(field: SchemaFieldForType, options?: TransformOptions): string { | CODE |
| LOW | …ages/codemods/src/schema-migration/utils/type-utils.ts | 387 | export function extractTypeFromDeclaration(propertyNode: SgNode, options: TransformOptions): ExtractedType | null { | CODE |
| 125 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .oxlintrc.json | 1 | { | COMMENT |
| LOW | .oxlintrc.json | 1181 | { | COMMENT |
| LOW | turbo.json | 21 | // business invalidating every task's cache in the entire monorepo -- | COMMENT |
| LOW | turbo.json | 41 | // when pnpm itself runs a package's script -- it never fires for a | COMMENT |
| LOW | turbo.json | 61 | COMMENT | |
| LOW | turbo.json | 81 | COMMENT | |
| LOW | turbo.json | 121 | // build:pkg`, so they never affect a normal turbo-orchestrated build:pkg run. | COMMENT |
| LOW | turbo.json | 241 | // Local Dev | COMMENT |
| LOW | turbo.json | 261 | // $TURBO_DEFAULT$ is required here or these `inputs` REPLACE (rather | COMMENT |
| LOW | pnpm-workspace.yaml | 1 | hoist: false | COMMENT |
| LOW | pnpm-workspace.yaml | 21 | COMMENT | |
| LOW | pnpm-workspace.yaml | 41 | COMMENT | |
| LOW | pnpm-workspace.yaml | 61 | ## and reduced disk usage. However, it seems to cause lint to fail. | COMMENT |
| LOW | pnpm-workspace.yaml | 81 | ## In theory it would be nice to use `deep` here just in case we | COMMENT |
| LOW | pnpm-workspace.yaml | 101 | ## "isolated dep trees", we also want to avoid other things that | COMMENT |
| LOW | pnpm-workspace.yaml | 121 | ## maintainer account or leaked publish token) before we can pull them in, | COMMENT |
| LOW | pnpm-workspace.yaml | 141 | # Renovate security update: tmp@0.2.6 | COMMENT |
| LOW | pnpm-workspace.yaml | 161 | - vitest@3.2.6 | COMMENT |
| LOW | pnpm-workspace.yaml | 181 | # to be installable at all. | COMMENT |
| LOW | pnpm-workspace.yaml | 201 | trustPolicy: no-downgrade | COMMENT |
| LOW | pnpm-workspace.yaml | 221 | ## scenario. It never had provenance to begin with -- the "downgrade" is | COMMENT |
| LOW | pnpm-workspace.yaml | 241 | ## undici-types@6.21.0 (2024-11-13) is a transitive dependency of | COMMENT |
| LOW | pnpm-workspace.yaml | 281 | ## every dependency/devDependency/peerDependency of an internal (private) | COMMENT |
| LOW | pnpm-workspace.yaml | 541 | ember-source@3.28.12: patches/ember-source@3.28.12.patch | COMMENT |
| LOW | tools/internal-config/oxlint/scoped-dirs.txt | 1 | # Directories oxlint should scan. | COMMENT |
| LOW | tools/internal-config/oxlint/type-aware-scoped-dirs.txt | 1 | # Directories oxlint should scan. | COMMENT |
| LOW | tools/internal-config/tsdown/config.js | 181 | ...options.define, | COMMENT |
| LOW | tools/internal-config/eslint/oxlint.js | 1 | // oxlint (see ../oxlint/scoped-dirs.txt and the root `.oxlintrc.json`) already runs as a | COMMENT |
| LOW | tools/release/core/publish/steps/generate-tarballs.ts | 361 | // declare module '@ember-data/model' { | COMMENT |
| LOW | tools/release/core/publish/steps/publish-packages.ts | 21 | ); | COMMENT |
| LOW | tools/release/core/publish/steps/publish-packages.ts | 61 | // TODO - moving to OIDC breaks this, bring it back once npm adds the feature | COMMENT |
| LOW | tools/release/core/publish/steps/amend-for-unpkg.ts | 101 | * - development, no-deprecations | COMMENT |
| LOW | …ore/tests/signals/request-subscription-non-dom-test.ts | 1 | import { RequestManager } from '@warp-drive/core'; | COMMENT |
| LOW | tests/dont-write-new-tests-here/app/app.ts | 1 | // oxfmt-ignore | COMMENT |
| LOW | …ts/dont-write-new-tests-here/app/config/environment.js | 1 | // @embroider/config-meta-loader reads config off a <meta name="main-test-app/config/environment"> | COMMENT |
| LOW | …-here/tests/integration/relationships/has-many-test.js | 861 | await post.comments | COMMENT |
| LOW | tests/example-app-ember/tests/index.html | 21 | // // by default testem serializes all of these logs | COMMENT |
| LOW | …s/example-app-ember/workers/ember-data-cache-worker.ts | 1 | // import DataWorker, { CacheHandler } from '@ember-data/data-worker'; | COMMENT |
| LOW | …s/example-app-ember/workers/ember-data-cache-worker.ts | 21 | COMMENT | |
| LOW | …s/example-app-ember/workers/ember-data-cache-worker.ts | 41 | // // hooks for in the worker. | COMMENT |
| LOW | tests/performance/routes/update-with-same-state-m2m.js | 61 | performance.mark('start-push-minus-one-payload'); | COMMENT |
| LOW | tests/performance/routes/update-with-same-state-m2m.js | 81 | // would need to account for the natural re-ordering of cars in the colors | COMMENT |
| LOW | …/preserve-comments/by-identifier-with-options.input.js | 1 | // NOTE: Ideally the comment order and positioning would be unchanged, but due to limitations in recast, this doesn't se | COMMENT |
| LOW | …preserve-comments/by-identifier-with-options.output.js | 1 | import { findRecord } from '@warp-drive/legacy/compat/builders'; | COMMENT |
| LOW | …s/find-record/preserve-comments/by-identifier.input.js | 1 | // NOTE: Ideally the comment order and positioning would be unchanged, but due to limitations in recast, this doesn't se | COMMENT |
| LOW | …/query-record/preserve-comments/with-options.output.js | 1 | import { queryRecord } from '@warp-drive/legacy/compat/builders'; | COMMENT |
| LOW | …s/query-record/preserve-comments/with-options.input.js | 1 | // NOTE: Ideally the comment order and positioning would be unchanged, but due to limitations in recast, this doesn't se | COMMENT |
| LOW | …ders/js/query/preserve-comments/with-options.output.js | 1 | import { query } from '@warp-drive/legacy/compat/builders'; | COMMENT |
| LOW | …lders/js/query/preserve-comments/with-options.input.js | 1 | // NOTE: Ideally the comment order and positioning would be unchanged, but due to limitations in recast, this doesn't se | COMMENT |
| LOW | …s/find-record/preserve-comments/by-identifier.input.ts | 1 | // NOTE: Ideally the comment order and positioning would be unchanged, but due to limitations in recast, this doesn't se | COMMENT |
| LOW | …/preserve-comments/by-identifier-with-options.input.ts | 1 | // NOTE: Ideally the comment order and positioning would be unchanged, but due to limitations in recast, this doesn't se | COMMENT |
| LOW | …s/query-record/preserve-comments/with-options.input.ts | 1 | // NOTE: Ideally the comment order and positioning would be unchanged, but due to limitations in recast, this doesn't se | COMMENT |
| LOW | …lders/ts/query/preserve-comments/with-options.input.ts | 1 | // NOTE: Ideally the comment order and positioning would be unchanged, but due to limitations in recast, this doesn't se | COMMENT |
| LOW | scripts/benchmark-push.js | 281 | // console.log({ start, end, iterations }); | COMMENT |
| LOW | scripts/session-worktree.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | scripts/worktree-create.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | packages/diagnostic/server/src/index.ts | 261 | return handleFetch(resolvedConfig, state, req); | COMMENT |
| LOW | …ages/diagnostic/server/src/-private/utils/port-lock.ts | 1 | import fs from 'node:fs'; | COMMENT |
| LOW | …kages/diagnostic/server/src/-private/browsers/index.ts | 201 | '--no-sandbox', | COMMENT |
| LOW | …kages/diagnostic/server/src/-private/browsers/index.ts | 301 | COMMENT | |
| 37 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | CHANGELOG.md | 446 | * [#10357](https://github.com/warp-drive-data/warp-drive/pull/10357) feat: useRecommendedStore for quickly scaffolding a | COMMENT |
| MEDIUM⚡ | CHANGELOG.md | 533 | * [#10106](https://github.com/warp-drive-data/warp-drive/pull/10106) chore: scaffold @warp-drive/svelte ([@runspired](ht | COMMENT |
| MEDIUM⚡ | CHANGELOG.md | 533 | * [#10106](https://github.com/warp-drive-data/warp-drive/pull/10106) chore: scaffold @warp-drive/svelte ([@runspired](ht | COMMENT |
| MEDIUM⚡ | CHANGELOG.md | 534 | * [#10105](https://github.com/warp-drive-data/warp-drive/pull/10105) chore: scaffold @warp-drive/vue ([@runspired](http | COMMENT |
| MEDIUM⚡ | CHANGELOG.md | 534 | * [#10105](https://github.com/warp-drive-data/warp-drive/pull/10105) chore: scaffold @warp-drive/vue ([@runspired](http | COMMENT |
| MEDIUM⚡ | CHANGELOG.md | 535 | * [#10104](https://github.com/warp-drive-data/warp-drive/pull/10104) chore: scaffold @warp-drive/react ([@runspired](htt | COMMENT |
| MEDIUM⚡ | CHANGELOG.md | 535 | * [#10104](https://github.com/warp-drive-data/warp-drive/pull/10104) chore: scaffold @warp-drive/react ([@runspired](htt | COMMENT |
| MEDIUM | CHANGELOG.md | 622 | * [#10001](https://github.com/warp-drive-data/warp-drive/pull/10001) chore: scaffold packages ([@runspired](https://gith | COMMENT |
| MEDIUM | CHANGELOG.md | 622 | * [#10001](https://github.com/warp-drive-data/warp-drive/pull/10001) chore: scaffold packages ([@runspired](https://gith | COMMENT |
| MEDIUM | CHANGELOG.md | 992 | * [#8963](https://github.com/warp-drive-data/warp-drive/pull/8963) chore: scaffold additional contributing materials ([@ | COMMENT |
| MEDIUM | CHANGELOG.md | 992 | * [#8963](https://github.com/warp-drive-data/warp-drive/pull/8963) chore: scaffold additional contributing materials ([@ | COMMENT |
| MEDIUM | CHANGELOG.md | 1011 | * [#8955](https://github.com/warp-drive-data/warp-drive/pull/8955) feat(private): scaffold packages for schema parser ([ | COMMENT |
| MEDIUM | CHANGELOG.md | 1011 | * [#8955](https://github.com/warp-drive-data/warp-drive/pull/8955) feat(private): scaffold packages for schema parser ([ | COMMENT |
| MEDIUM | CHANGELOG.md | 1369 | * [#8542](https://github.com/warp-drive-data/warp-drive/pull/8542) feat: full-relationship definitions when scaffoldin | COMMENT |
| MEDIUM | guides/the-manual/testing/writing-mocks.md | 150 | ## Build a scaffold by hand | COMMENT |
| MEDIUM | packages/schema/CHANGELOG.md | 107 | * [#8955](https://github.com/warp-drive-data/warp-drive/pull/8955) feat(private): scaffold packages for schema parser ([ | COMMENT |
| MEDIUM | packages/schema/CHANGELOG.md | 107 | * [#8955](https://github.com/warp-drive-data/warp-drive/pull/8955) feat(private): scaffold packages for schema parser ([ | COMMENT |
| MEDIUM | packages/schema/src/scaffold-resource.ts | 2 | // Entry point for the `resource` bin: `resource <name>` is `scaffold resource <name>`. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | packages/diagnostic/server/src/index.ts | 359 | print( | CODE |
| HIGH⚡ | packages/diagnostic/server/src/index.ts | 389 | print( | CODE |
| HIGH⚡ | packages/diagnostic/server/src/index.ts | 397 | print(styleText('white', ` Proxy Configuration:`)); | CODE |
| HIGH⚡ | packages/diagnostic/server/src/index.ts | 399 | print(`\t${styleText('cyan', context)} => ${styleText('green', target)}`); | CODE |
| HIGH⚡ | packages/diagnostic/server/src/index.ts | 402 | print('\n'); | CODE |
| HIGH | …diagnostic/server/src/-private/serve/launch-browser.ts | 56 | print(styleText('magenta', `⚛️ Launched ${launcherName}`)); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .claude/skills/ast-grep/SKILL.md | 25 | ### Step 1: Understand the Query | COMMENT |
| LOW | .claude/skills/ast-grep/SKILL.md | 33 | ### Step 2: Create Example Code | COMMENT |
| LOW | .claude/skills/ast-grep/SKILL.md | 48 | ### Step 3: Write the ast-grep Rule | COMMENT |
| LOW | .claude/skills/ast-grep/SKILL.md | 71 | ### Step 4: Test the Rule | COMMENT |
| LOW | .claude/skills/ast-grep/SKILL.md | 97 | ### Step 5: Search the Codebase | COMMENT |
| LOW | guides/the-manual/cookbook/basic-usage.md | 64 | ## Step 1: lets create a request manager for our app | COMMENT |
| LOW | guides/the-manual/cookbook/basic-usage.md | 100 | ## Step 2: Configure some request defaults | COMMENT |
| LOW | guides/the-manual/cookbook/basic-usage.md | 120 | ## Step 3: Lets make a request! | COMMENT |
| LOW | guides/the-manual/cookbook/basic-usage.md | 240 | ## Step 4: Handling Errors | COMMENT |
| LOW | upgrading/v5/incremental-adoption.md | 13 | ## Step 1: Upgrade to WarpDrive 4.12.x | COMMENT |
| LOW | upgrading/v5/incremental-adoption.md | 17 | ## Step 2: Add `Store` service to your application | COMMENT |
| LOW | upgrading/v5/incremental-adoption.md | 36 | ## Step 3: Add `RequestManager` to your application | COMMENT |
| LOW | upgrading/v5/incremental-adoption.md | 84 | ## Step 4: Install `@ember-data/json-api`, `@ember-data/request-utils` packages | COMMENT |
| LOW | upgrading/v5/incremental-adoption.md | 92 | ## Step 5: Off you go! Start using new APIs | COMMENT |
| LOW | upgrading/v5/index.md | 30 | ### Step 1 - delete all the ember/ember-data DT type packages | COMMENT |
| LOW | upgrading/v5/index.md | 64 | ### Step 2 - install the official packages using the latest versions. | COMMENT |
| LOW | upgrading/v5/index.md | 186 | ### Step 3 - configure tsconfig.json | COMMENT |
| LOW | upgrading/v5/index.md | 209 | ### Step 4 - brand your models | COMMENT |
| LOW | upgrading/v5/index.md | 220 | ### Step 5 - replace registry usage with branded model usages | COMMENT |
| LOW | upgrading/v5/index.md | 258 | ### Step 6 - fix other type issues that arise | COMMENT |
| LOW | upgrading/v5/index.md | 264 | ### Step 1 - Install the Mirror Packages | COMMENT |
| LOW | upgrading/v5/index.md | 301 | ### Step 2 - Configure The Build | COMMENT |
| LOW | upgrading/v5/index.md | 356 | ### Step 3 - Configure Reactivity | COMMENT |
| LOW | upgrading/v5/index.md | 367 | ### Step 4 - Configure the Store | COMMENT |
| LOW | upgrading/v5/index.md | 437 | ### Step 5 - Convert + Profit | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/dont-write-new-tests-here/tests/index.html | 79 | // our custom DOT_REPORTER will utilize this | COMMENT |
| MEDIUM | tests/example-app-ember/tests/index.html | 38 | // // our custom DOT_REPORTER will utilize this | COMMENT |
| MEDIUM | warp-drive-packages/core/src/types/-private.ts | 1 | // in testing mode, we utilize globals to ensure only one copy exists of | COMMENT |
| MEDIUM | …ore/src/store/-private/record-arrays/resource-array.ts | 426 | // is called and might bulk update multiple array cells. Fundamentally, | COMMENT |
| MEDIUM | warp-drive-packages/build-config/src/canary-features.ts | 67 | * FEATURE_A: false, // utilize existing behavior | COMMENT |
| MEDIUM | warp-drive-packages/build-config/src/canary-features.ts | 68 | * FEATURE_B: true // utilize the new behavior | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | warp-drive-packages/legacy/src/model.ts | 45 | ### Defining a Model | COMMENT |
| MEDIUM | warp-drive-packages/legacy/src/adapter.ts | 246 | ### Creating an Adapter | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ages/codemods/src/schema-migration/processors/model.ts | 1071 | // We need to check if the resolved path ends with this pattern | COMMENT |