Repository Analysis

emberjs/ember.js

Ember.js - A JavaScript framework for creating ambitious web applications

0.6 Likely human-written View on GitHub
0.6
Adjusted Score
0.6
Raw Score
100%
Time Factor
2026-05-30
Last Push
22,565
Stars
TypeScript
Language
299,976
Lines of Code
1753
Files
141
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 2MEDIUM 5LOW 134

Pattern Findings

141 matches across 6 categories. Click a row to expand file-level details.

Hyper-Verbose Identifiers90 hits · 100 pts
SeverityFileLineSnippet
LOWblueprints/-utils.js4function generateComponentSignature(componentName) {
LOWblueprints/component-test/index.js14function invocationForStrictComponentAuthoringFormat(options) {
LOW…ke-tests/node-template/tests/node/helpers/setup-app.js164function registerApplicationClasses(app, registry) {
LOWpackages/router_js/tests/test_helpers.ts54function stubbedHandlerInfoFactory(name: string, props: Dict<unknown>) {
LOWpackages/router_js/tests/router_test.ts4292 function setupAuthenticatedExample(assert: Assert) {
LOWpackages/router_js/tests/query_params_test.ts75 function consumeAllFinalQueryParams(params: Dict<unknown>, finalParams: Dict<unknown>[]) {
LOWpackages/router_js/lib/route-info.ts178function createRouteInfoWithAttributes(
LOWpackages/router_js/lib/utils.ts67export function coerceQueryParamsToString(queryParams: Dict<unknown>) {
LOW…uter_js/lib/transition-intent/url-transition-intent.ts34 function checkHandlerAccessibility(handler: R) {
LOWpackages/internal-test-helpers/lib/element-helpers.ts68export function assertClassicComponentElement(
LOWpackages/internal-test-helpers/lib/element-helpers.ts72export function assertClassicComponentElement(shape: ClassicComponentShape): void;
LOWpackages/internal-test-helpers/lib/element-helpers.ts73export function assertClassicComponentElement(
LOWpackages/@ember/test/index.ts14export function registerTestImplementation(impl: typeof EmberTesting) {
LOWpackages/@ember/-internals/metal/tests/alias_test.js172 function assertPropertyTagUnchanged(obj, keyName, callback) {
LOWpackages/@ember/-internals/metal/lib/property_get.ts18 getPossibleMandatoryProxyValue = function getPossibleMandatoryProxyValue(obj, keyName): any {
LOWpackages/@ember/-internals/metal/lib/cached.ts126function throwCachedExtraneousParens(): never {
LOWpackages/@ember/-internals/metal/lib/cached.ts132function throwCachedGetterOnlyError(key: string): never {
LOWpackages/@ember/-internals/metal/lib/cached.ts136function throwCachedInvalidArgsError(args: unknown[] = []): never {
LOWpackages/@ember/-internals/metal/lib/observer.ts84function getOrCreateActiveObserversFor(target: object, sync: boolean) {
LOWpackages/@ember/-internals/metal/lib/observer.ts84function getOrCreateActiveObserversFor(target: object, sync: boolean) {
LOWpackages/@ember/-internals/metal/lib/observer.ts142export function suspendedObserverDeactivation() {
LOWpackages/@ember/-internals/metal/lib/observer.ts146export function resumeObserverDeactivation() {
LOWpackages/@ember/-internals/utils/lib/super.ts44function createObserverListenerMetaFor(fn: Function) {
LOW…mer/tests/integration/custom-component-manager-test.js31function createInstrumentedManager(owner) {
LOW…als/glimmer/tests/integration/event-dispatcher-test.js8function fireNativeWithDataTransfer(node, type, dataTransfer) {
LOW…ckages/@ember/-internals/glimmer/lib/utils/bindings.ts83export function createClassNameBindingRef(
LOW…ckages/@ember/-internals/glimmer/lib/utils/bindings.ts113export function createSimpleClassNameBindingRef(inner: Reference, path?: string) {
LOW…ckages/@ember/-internals/glimmer/lib/utils/bindings.ts134function createColonClassNameBindingRef(
LOW…ber/-internals/glimmer/lib/component-managers/curly.ts487export function processComponentInitializationAssertions(component: Component, props: any): void {
LOW…ber/-internals/glimmer/lib/component-managers/curly.ts538export function initialRenderInstrumentDetails(component: any): any {
LOW…ber/-internals/glimmer/lib/component-managers/curly.ts542function rerenderInstrumentDetails(component: any): any {
LOWpackages/@ember/-internals/views/lib/system/utils.ts24export function constructStyleDeprecationMessage(affectedStyle: string): string {
LOWpackages/@ember/-internals/views/lib/system/utils.ts203export function getViewBoundingClientRect(view: View): DOMRect {
LOWpackages/@ember/object/core.ts1086 CoreObject._onLookup = function injectedPropertyAssertion(debugContainerKey: string) {
LOWpackages/@ember/object/mixin.ts49function concatenatedMixinProperties(
LOWpackages/@ember/object/mixin.ts172function applyConcatenatedProperties(key: string, value: any, values: { [key: string]: any }) {
LOWpackages/@ember/object/mixin.ts372function updateObserversAndListeners(obj: object, key: string, fn: Function, add: boolean) {
LOW…s/@ember/object/lib/computed/reduce_computed_macros.ts1292function sortByNormalizedSortProperties(
LOWpackages/@ember/object/lib/computed/computed_macros.ts35function generateComputedWithPredicate(name: string, predicate: (value: unknown) => unknown) {
LOW…ompiler/lib/plugins/transform-wrap-mount-and-outlet.ts38export default function transformWrapMountAndOutlet(env: EmberASTPluginEnvironment): ASTPlugin {
LOW…e-compiler/lib/plugins/assert-against-named-outlets.ts18export default function assertAgainstNamedOutlets(env: EmberASTPluginEnvironment): ASTPlugin {
LOW…ompiler/lib/plugins/assert-reserved-named-arguments.ts7export default function assertReservedNamedArguments(env: EmberASTPluginEnvironment): ASTPlugin {
LOW…lugins/transform-quoted-bindings-into-just-bindings.ts4export default function transformQuotedBindingsIntoJustBindings(/* env */): ASTPlugin {
LOWpackages/@ember/routing/lib/generate_controller.ts20export function generateControllerFactory(
LOWpackages/@ember/routing/lib/utils.ts192export function normalizeControllerQueryParams(queryParams: Readonly<ControllerQueryParam[]>) {
LOWpackages/@ember/routing/lib/utils.ts202function accumulateQueryParamDescriptors(
LOWpackages/@ember/routing/lib/routing-service.ts138function numberOfContextsAcceptedByHandler(handlerName: string, handlerInfos: any[]) {
LOW…glimmer-workspace/integration-tests/test/owner-test.ts104function defineCheckOwnerComponent(ownerToCheck: object | undefined, assert: Assert) {
LOW…rkspace/integration-tests/test/ember-component-test.ts123export function assertElementIsEmberishElement(
LOW…rkspace/integration-tests/test/ember-component-test.ts130export function assertElementIsEmberishElement(
LOW…rkspace/integration-tests/test/ember-component-test.ts136export function assertElementIsEmberishElement(
LOW…rkspace/integration-tests/test/ember-component-test.ts140export function assertElementIsEmberishElement(
LOW…-workspace/integration-tests/lib/modes/jit/register.ts29export function registerTemplateOnlyComponent(
LOW…-workspace/integration-tests/lib/modes/jit/register.ts42export function registerEmberishCurlyComponent(
LOW…-workspace/integration-tests/lib/modes/jit/register.ts58export function registerGlimmerishComponent(
LOW…mmer-workspace/integration-tests/lib/dom/assertions.ts179export function assertSerializedInElement(result: string, expected: string, message?: string) {
LOW…mmer-workspace/integration-tests/lib/dom/assertions.ts245export function processAssertComponentArgs(
LOW…@glimmer/opcode-compiler/lib/opcode-builder/context.ts5export function templateCompilationContext(
LOW…code-compiler/lib/opcode-builder/helpers/resolution.ts27function makeResolutionTypeVerifier(typeToVerify: SexpOpcode) {
LOW…code-compiler/lib/opcode-builder/helpers/resolution.ts347export function resolveOptionalComponentOrHelper(
30 more matches not shown…
Over-Commented Block38 hits · 38 pts
SeverityFileLineSnippet
LOW…s/compiler-internals/02-program-compilation-context.md1#
LOWpackages/ember-template-compiler/minimal.ts1// The main entrypoint of ember-template-compiler is the fairly-crufty
LOWpackages/router_js/lib/router.ts681 // route, the transition is aborted using replaceWith('/bar').
LOWpackages/internal-test-helpers/lib/ember-dev/warning.ts61 };
LOW…ges/internal-test-helpers/lib/ember-dev/deprecation.ts121 true
LOWpackages/@ember/runloop/-private/backburner.ts1// This exists solely to provide a compatibility shim for `ember-test-helpers`
LOWpackages/@ember/runloop/tests/later_test.js141 // later(this, fn, 5, 10);
LOWpackages/@ember/runloop/tests/later_test.js161
LOWpackages/@ember/modifier/on.ts1import { on as glimmerOn } from '@glimmer/runtime/lib/modifiers/on';
LOW…/components/runtime-template-compiler-implicit-test.ts401 },
LOW…immer/tests/integration/components/strict-mode-test.js321 );
LOW…/components/runtime-template-compiler-explicit-test.ts301 // we specifically enable them when calling `precompile`)
LOW…/tests/integration/components/render-component-test.ts1081 // Ember currently uses AST plugins to implement certain features that
LOWpackages/@ember/-internals/glimmer/lib/helper.ts321// terms meaningful to *them*, while preserving the type behavior described on
LOWpackages/@ember/-internals/glimmer/lib/helper.ts381): FunctionBasedHelper<S>;
LOW…ber/-internals/glimmer/lib/component-managers/curly.ts281 // Set component instance's parentView property to point to nearest concrete
LOWpackages/@ember/-internals/glimmer/lib/helpers/mut.ts81*/
LOW…ges/@ember/-internals/glimmer/lib/helpers/unique-id.ts41// From https://gist.github.com/selfish/fef2c0ba6cdfe07af76e64cecd74888b
LOWpackages/@ember/component/template-only.ts41// eslint-disable-next-line @typescript-eslint/no-empty-object-type
LOWpackages/@ember/utils/lib/compare.ts21};
LOWpackages/@ember/object/-internals.ts1export { getCachedValueFor as cacheFor } from '@ember/-internals/metal/lib/computed_cache';
LOWpackages/@ember/object/core.ts461 }
LOWpackages/@ember/canary-features/index.ts61// }
LOWpackages/@ember/routing/router-service.ts321 // get isBarActive() {
LOWpackages/@ember/routing/route.ts381 // By default, changes to controller query param properties
LOWpackages/@ember/routing/tests/system/route_test.js61 // By default, controller query param properties don't
LOW…rkspace/integration-tests/test/collections/set-test.ts301 // behavior is fixed
LOW…pace/integration-tests/test/collections/object-test.ts81 update() {
LOW…pace/integration-tests/test/collections/object-test.ts101 //
LOW…ode-compiler/lib/opcode-builder/helpers/conditional.ts141 // If the body invokes a block, its return will return to
LOW…ode-compiler/lib/opcode-builder/helpers/conditional.ts161
LOWpackages/@glimmer/validator/lib/validators.ts181 } else {
LOWpackages/@glimmer/validator/lib/collections/array.ts181 }
LOWpackages/@glimmer/runtime/lib/vm/element-builder.ts481 // In general, you only need to clear the root of a hierarchy, and should never
LOWpackages/@glimmer/runtime/lib/dom/props.ts41 return value;
LOWpackages/@glimmer/syntax/lib/v1/nodes-v1.ts321};
LOWpackages/@glimmer/compiler/test/compiler-test.ts321
LOWpackages/@glimmer/compiler/lib/utils.ts1import type { Dict, WellKnownAttrName, WellKnownTagName } from '@glimmer/interfaces';
Cross-Language Confusion (JS/TS)2 hits · 10 pts
SeverityFileLineSnippet
HIGHpackages/@glimmer/syntax/test/generation/print-test.ts186 print(ast, { entityEncoding: 'raw' }),
HIGHpackages/@glimmer/syntax/lib/generation/printer.ts536 print(node: ASTv1.Node): string {
Self-Referential Comments3 hits · 9 pts
SeverityFileLineSnippet
MEDIUMpackages/@ember/-internals/glimmer/lib/component.ts233 ## Defining a Classic Component
MEDIUMpackages/@glimmer/component/src/index.ts32 ## Defining a Template-only Component
MEDIUMpackages/@glimmer/component/src/-private/component.ts108 * ## Defining a Component
Fake / Example Data6 hits · 8 pts
SeverityFileLineSnippet
LOWtype-tests/@ember/template-tests.ts4let trusted = htmlSafe('lorem ipsum...');
LOWtype-tests/@ember/object-test/proxy.ts101expectTypeOf(person.set('fullName', 'John Doe')).toBeString();
LOWtype-tests/@ember/object-test/proxy.ts106expectTypeOf(person.setProperties({ fullName: 'John Doe' })).toEqualTypeOf<{
LOWtype-tests/@ember/object-test/proxy.ts107 fullName: 'John Doe';
LOWtype-tests/@ember/object-test/proxy.ts109expectTypeOf(person.setProperties({ fullName: 'John Doe' }).fullName).toBeString();
LOWtype-tests/@ember/object-test/proxy.ts111person.setProperties({ fullName: 'John Doe', invalid: true });
AI Slop Vocabulary2 hits · 5 pts
SeverityFileLineSnippet
MEDIUM…ber/-internals/glimmer/lib/component-managers/curly.ts336 // Essentially we're saving off all the state we'll need in the future.
MEDIUM.github/workflows/publish-to-npm.yml27 use-node-modules-cache: false # Absolutely no cache should be used when publishing due to the potential of cac