🌻 The collaborative editing software that runs Wikipedia. Mirror from https://gerrit.wikimedia.org/g/mediawiki/core. See https://mediawiki.org/wiki/Developer_access for contributing.
This report summarizes scanner evidence for wikimedia/mediawiki, a PHP project with 5,221 GitHub stars. SynthScan examined 2,805,869 lines of code across 11157 source files, recording 6914 pattern matches distributed across 20 syntactic categories. The legacy adjusted pattern signal is 3.3 (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? 6277 finding(s).
Are imports declared and package/API names verified? 481 finding(s).
Are wrappers, guards, and repeated structures necessary? 6142 finding(s).
Which changes need focused human review? 6914 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 6914 distinct pattern matches across 20 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 | resources/lib/vue-test-utils/vue-test-utils.browser.js | 1358 | function getOriginalComponentFromStub(stub) { | CODE |
| LOW⚡ | resources/lib/vue-test-utils/vue-test-utils.browser.js | 1395 | function isLegacyExtendedComponent(component) { | CODE |
| LOW⚡ | resources/lib/vue-test-utils/vue-test-utils.browser.js | 1402 | function unwrapLegacyVueExtendComponent(selector) { | CODE |
| LOW⚡ | resources/lib/vue-test-utils/vue-test-utils.browser.js | 1405 | function isLegacyFunctionalComponent(component) { | CODE |
| LOW | resources/lib/vue-test-utils/vue-test-utils.browser.js | 2963 | function requireTemplatablepattern () { | CODE |
| LOW | resources/lib/vue-test-utils/vue-test-utils.browser.js | 7518 | function captureDevtoolsVueComponentEmitEvent(eventType, payload) { | CODE |
| LOW | resources/lib/vue-test-utils/vue-test-utils.browser.js | 7960 | function createStubComponentsTransformer(_a) { | CODE |
| LOW | resources/lib/vue-test-utils/vue-test-utils.browser.js | 8037 | function createStubDirectivesTransformer(_a) { | CODE |
| LOW | resources/lib/vue-compiler-dom/compiler-dom.global.js | 461 | function createConditionalExpression(test, consequent, alternate, newline = true) { | CODE |
| LOW | resources/lib/vue-compiler-dom/compiler-dom.global.js | 505 | function createAssignmentExpression(left, right) { | CODE |
| LOW | resources/lib/vue-compiler-dom/compiler-dom.global.js | 1636 | function isInDestructureAssignment(parent, parentStack) { | CODE |
| LOW | resources/lib/vue-compiler-dom/compiler-dom.global.js | 1878 | function advancePositionWithMutation(pos, source, numberOfCharacters = source.length) { | CODE |
| LOW | resources/lib/vue-compiler-dom/compiler-dom.global.js | 3096 | function getConstantTypeOfHelperCall(value, context) { | CODE |
| LOW | resources/lib/vue-compiler-dom/compiler-dom.global.js | 3107 | function getGeneratedPropsConstantType(node, context) { | CODE |
| LOW | resources/lib/vue-compiler-dom/compiler-dom.global.js | 3421 | function createStructuralDirectiveTransform(name, fn) { | CODE |
| LOW | resources/lib/vue-compiler-dom/compiler-dom.global.js | 3805 | function genExpressionAsPropertyKey(node, context) { | CODE |
| LOW | resources/lib/vue-compiler-dom/compiler-dom.global.js | 4031 | function validateBrowserExpression(node, context, asParams = false, asRawStatements = false) { | CODE |
| LOW | resources/lib/vue-compiler-dom/compiler-dom.global.js | 4223 | function createCodegenNodeForBranch(branch, keyIndex, context) { | CODE |
| LOW | resources/lib/vue-compiler-dom/compiler-dom.global.js | 4239 | function createChildrenCodegenNode(branch, keyIndex, context) { | CODE |
| LOW | resources/lib/vue-compiler-dom/compiler-dom.global.js | 5342 | function stringifyDynamicPropNames(props) { | CODE |
| LOW | resources/lib/qunitjs/qunit.js | 614 | function readFlatPreconfigStringOrBoolean(val, dest) { | CODE |
| LOW | resources/lib/qunitjs/qunit.js | 619 | function readFlatPreconfigStringArray(val, dest) { | CODE |
| LOW | resources/lib/qunitjs/qunit.js | 1701 | function validateExpectedExceptionArgs(expected, message, assertionMethod) { | CODE |
| LOW | resources/lib/qunitjs/qunit.js | 2173 | function createRegisterCallbackFunction(key) { | CODE |
| LOW | resources/lib/qunitjs/qunit.js | 4995 | prepareNextBeginningIndexes: function prepareNextBeginningIndexes(target) { | CODE |
| LOW | resources/lib/qunitjs/qunit.js | 7137 | function lastTestWithinModuleExecuted(module) { | CODE |
| LOW | resources/lib/moment/moment.js | 537 | function replaceLongDateFormatTokens(input) { | CODE |
| LOW | resources/lib/moment/moment.js | 2811 | function configFromStringAndFormat(config) { | CODE |
| LOW | resources/lib/moment/moment.js | 3484 | function isDaylightSavingTimeShifted() { | CODE |
| LOW | resources/lib/moment/moment.js | 3610 | function positiveMomentsDifference(base, other) { | CODE |
| LOW | resources/lib/moment/moment.js | 5454 | function getSetRelativeTimeRounding(roundingFunction) { | CODE |
| LOW | resources/lib/moment/moment.js | 5466 | function getSetRelativeTimeThreshold(threshold, limit) { | CODE |
| LOW | resources/lib/moment/locale/lb.js | 46 | function eifelerRegelAppliesToNumber(number) { | CODE |
| LOW | resources/lib/ooui/oojs-ui-widgets.js | 32 | OO.ui.mixin.DraggableElement = function OoUiMixinDraggableElement( config ) { | CODE |
| LOW | resources/lib/ooui/oojs-ui-widgets.js | 262 | OO.ui.mixin.DraggableGroupElement = function OoUiMixinDraggableGroupElement( config ) { | CODE |
| LOW | resources/lib/ooui/oojs-ui-widgets.js | 3234 | OO.ui.OutlineControlsWidget = function OoUiOutlineControlsWidget( outline, config ) { | CODE |
| LOW | resources/lib/ooui/oojs-ui-widgets.js | 3881 | OO.ui.ButtonMenuSelectWidget = function OoUiButtonMenuSelectWidget( config ) { | CODE |
| LOW | resources/lib/ooui/oojs-ui-widgets.js | 5193 | OO.ui.PopupTagMultiselectWidget = function OoUiPopupTagMultiselectWidget( config ) { | CODE |
| LOW | resources/lib/ooui/oojs-ui-widgets.js | 5353 | OO.ui.MenuTagMultiselectWidget = function OoUiMenuTagMultiselectWidget( config ) { | CODE |
| LOW⚡ | resources/lib/ooui/oojs-ui-widgets.js.map.json | 1 | {"version":3,"sources":["../src/intro.js.txt","../src/mixins/DraggableElement.js","../src/mixins/DraggableGroupElement.j | CODE |
| LOW | resources/lib/ooui/oojs-ui-core.js | 2056 | OO.ui.mixin.TabIndexedElement = function OoUiMixinTabIndexedElement( config ) { | CODE |
| LOW | resources/lib/ooui/oojs-ui-core.js | 3272 | OO.ui.mixin.IndicatorElement = function OoUiMixinIndicatorElement( config ) { | CODE |
| LOW | resources/lib/ooui/oojs-ui-core.js | 3769 | OO.ui.mixin.AccessKeyedElement = function OoUiMixinAccessKeyedElement( config ) { | CODE |
| LOW | resources/lib/ooui/oojs-ui-core.js | 5114 | OO.ui.mixin.FloatableElement = function OoUiMixinFloatableElement( config ) { | CODE |
| LOW | resources/lib/ooui/oojs-ui-core.js | 5548 | OO.ui.mixin.ClippableElement = function OoUiMixinClippableElement( config ) { | CODE |
| LOW | resources/lib/ooui/oojs-ui-core.js | 8332 | OO.ui.DecoratedOptionWidget = function OoUiDecoratedOptionWidget( config ) { | CODE |
| LOW | resources/lib/ooui/oojs-ui-core.js | 8432 | OO.ui.MenuSectionOptionWidget = function OoUiMenuSectionOptionWidget( config ) { | CODE |
| LOW | resources/lib/ooui/oojs-ui-core.js | 9615 | OO.ui.CheckboxMultioptionWidget = function OoUiCheckboxMultioptionWidget( config ) { | CODE |
| LOW | resources/lib/ooui/oojs-ui-core.js | 9738 | OO.ui.CheckboxMultiselectWidget = function OoUiCheckboxMultiselectWidget( config ) { | CODE |
| LOW | resources/lib/ooui/oojs-ui-core.js | 11147 | OO.ui.RadioSelectInputWidget = function OoUiRadioSelectInputWidget( config ) { | CODE |
| LOW | resources/lib/ooui/oojs-ui-core.js | 11326 | OO.ui.CheckboxMultiselectInputWidget = function OoUiCheckboxMultiselectInputWidget( config ) { | CODE |
| LOW | resources/lib/ooui/oojs-ui-core.js | 12327 | OO.ui.MultilineTextInputWidget = function OoUiMultilineTextInputWidget( config ) { | CODE |
| LOW | resources/lib/ooui/oojs-ui-core.js | 14219 | OO.ui.SelectFileInputWidget = function OoUiSelectFileInputWidget( config ) { | CODE |
| LOW | resources/lib/vue/vue.global.js | 1746 | function createInstrumentationGetter(isReadonly2, shallow) { | CODE |
| LOW | resources/lib/vue/vue.global.js | 2598 | function callWithAsyncErrorHandling(fn, instance, type, args) { | CODE |
| LOW | resources/lib/vue/vue.global.js | 3041 | function createDevtoolsComponentHook(hook) { | CODE |
| LOW | resources/lib/vue/vue.global.js | 3054 | function createDevtoolsPerformanceHook(hook) { | CODE |
| LOW | resources/lib/vue/vue.global.js | 3071 | function setCurrentRenderingInstance(instance) { | CODE |
| LOW | resources/lib/vue/vue.global.js | 4950 | function elementIsVisibleInViewport(el) { | CODE |
| LOW | resources/lib/vue/vue.global.js | 5971 | function exposePropsOnRenderContext(instance) { | CODE |
| 5926 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | resources/lib/oojs/oojs.js | 1645 | OO.Factory.super.prototype.register.call( this, key, constructor ); | CODE |
| CRITICAL | resources/lib/oojs/oojs.js | 1663 | OO.Factory.super.prototype.unregister.call( this, key ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-wikimediaui.js | 46 | classes = OO.ui.WikimediaUITheme.super.prototype.getElementClasses.call( this, element ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-widgets.js | 971 | OO.ui.TextInputWidget.prototype.setReadOnly.call( this, readOnly ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-widgets.js | 1463 | OO.ui.mixin.GroupElement.prototype.addItems.call( this, items, index ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-widgets.js | 1495 | OO.ui.mixin.GroupElement.prototype.removeItems.call( this, itemsToRemove ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-widgets.js | 1520 | OO.ui.mixin.GroupElement.prototype.clearItems.call( this ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-widgets.js | 1558 | return OO.ui.StackLayout.super.prototype.resetScroll.call( this ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-widgets.js | 2437 | OO.ui.BookletLayout.super.prototype.resetScroll.call( this ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-widgets.js | 3200 | OO.ui.ToggleButtonWidget.super.prototype.setValue.call( this, value ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-widgets.js | 3212 | OO.ui.mixin.ButtonElement.prototype.setButtonElement.call( this, $button ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-widgets.js | 3616 | OO.ui.ButtonOptionWidget.super.prototype.setSelected.call( this, state ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-widgets.js | 3742 | return OO.ui.TabOptionWidget.super.prototype.scrollElementIntoView.call( this ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-widgets.js | 3748 | return OO.ui.TabOptionWidget.super.prototype.scrollElementIntoView.call( this, Object.assign( | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-widgets.js | 4726 | OO.ui.TagMultiselectWidget.super.prototype.setDisabled.call( this, isDisabled ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-widgets.js | 5308 | OO.ui.PopupTagMultiselectWidget.super.prototype.onTagSelect.call( this, item ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-widgets.js | 5454 | OO.ui.MenuTagMultiselectWidget.super.prototype.onInputFocus.call( this ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-widgets.js | 5532 | OO.ui.MenuTagMultiselectWidget.super.prototype.onTagSelect.call( this, tagItem ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-widgets.js | 5541 | OO.ui.MenuTagMultiselectWidget.super.prototype.removeItems.call( this, items ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-widgets.js | 5596 | OO.ui.MenuTagMultiselectWidget.super.prototype.onChangeTags.call( this ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-widgets.js | 5608 | OO.ui.MenuTagMultiselectWidget.super.prototype.setDisabled.call( this, isDisabled ); | CODE |
| CRITICAL⚡ | resources/lib/ooui/oojs-ui-widgets.js.map.json | 1 | {"version":3,"sources":["../src/intro.js.txt","../src/mixins/DraggableElement.js","../src/mixins/DraggableGroupElement.j | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-wikimediaui.js.map.json | 1 | {"version":3,"sources":["../src/intro.js.txt","../src/themes/wikimediaui/WikimediaUITheme.js","../src/outro.js.txt"],"na | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-windows.js.map.json | 1 | {"version":3,"sources":["../src/intro.js.txt","../src/widgets/ActionWidget.js","../src/ActionSet.js","../src/Error.js"," | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-toolbars.js.map.json | 1 | {"version":3,"sources":["../src/intro.js.txt","../src/Toolbar.js","../src/Tool.js","../src/ToolGroup.js","../src/ToolFac | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 4926 | OO.ui.ToggleSwitchWidget.super.prototype.setValue.call( this, value ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 6330 | OO.ui.PopupWidget.super.prototype.toggle.call( this, show ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 6551 | const parentPosition = OO.ui.mixin.FloatableElement.prototype.computePosition.call( this ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 6888 | OO.ui.Widget.prototype.setDisabled.call( this, disabled ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 6942 | OO.ui.Element.prototype.setElementGroup.call( this, group ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 8229 | OO.ui.mixin.GroupWidget.prototype.addItems.call( this, items, index ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 8254 | OO.ui.mixin.GroupWidget.prototype.removeItems.call( this, items ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 8274 | OO.ui.mixin.GroupWidget.prototype.clearItems.call( this ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 8630 | OO.ui.MenuSelectWidget.super.prototype.onDocumentKeyDown.call( this, e ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 8650 | OO.ui.MenuSelectWidget.super.prototype.onDocumentKeyDown.call( this, e ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 8663 | return OO.ui.MenuSelectWidget.super.prototype.onDocumentKeyDown.call( this, e ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 8749 | OO.ui.MenuSelectWidget.super.prototype.bindDocumentKeyDownListener.call( this ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 8760 | OO.ui.MenuSelectWidget.super.prototype.unbindDocumentKeyDownListener.call( this ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 8781 | OO.ui.MenuSelectWidget.super.prototype.bindDocumentKeyPressListener.call( this ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 8798 | OO.ui.MenuSelectWidget.super.prototype.unbindDocumentKeyPressListener.call( this ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 8817 | OO.ui.MenuSelectWidget.super.prototype.chooseItem.call( this, item ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 8833 | OO.ui.MenuSelectWidget.super.prototype.addItems.call( this, items, index ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 8845 | OO.ui.MenuSelectWidget.super.prototype.removeItems.call( this, items ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 8857 | OO.ui.MenuSelectWidget.super.prototype.clearItems.call( this ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 8913 | OO.ui.MenuSelectWidget.super.prototype.toggle.call( this, visible ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 9317 | OO.ui.RadioOptionWidget.super.prototype.setSelected.call( this, state ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 9331 | OO.ui.RadioOptionWidget.super.prototype.setDisabled.call( this, disabled ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 9662 | OO.ui.CheckboxMultioptionWidget.super.prototype.setSelected.call( this, state ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 9671 | OO.ui.CheckboxMultioptionWidget.super.prototype.setDisabled.call( this, disabled ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 10067 | config = OO.ui.InputWidget.super.static.reusePreInfuseDOM( node, config ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 10079 | const state = OO.ui.InputWidget.super.static.gatherPreInfuseState( node, config ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 10212 | OO.ui.InputWidget.super.prototype.setDisabled.call( this, state ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 10235 | OO.ui.InputWidget.super.prototype.restorePreInfuseState.call( this, state ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 10406 | return OO.ui.mixin.LabelElement.prototype.setLabel.call( this, label ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 10421 | OO.ui.ButtonInputWidget.super.prototype.setValue.call( this, value ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 10535 | const state = OO.ui.CheckboxInputWidget.super.static.gatherPreInfuseState( node, config ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 10658 | OO.ui.CheckboxInputWidget.super.prototype.restorePreInfuseState.call( this, state ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 10784 | OO.ui.DropdownInputWidget.super.prototype.setValue.call( this, value ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 10798 | OO.ui.DropdownInputWidget.super.prototype.setDisabled.call( this, state ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 11046 | const state = OO.ui.RadioInputWidget.super.static.gatherPreInfuseState( node, config ); | CODE |
| 136 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | languages/i18n/bcc.json | 0 | <code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.png|200px|thumb|left|alt text]]</nowiki></code> | STRING |
| HIGH | languages/i18n/hif-latn.json | 0 | <code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.png|200px|thumb|left|alt text]]</nowiki></code> | STRING |
| HIGH | languages/i18n/bgn.json | 0 | <code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.png|200px|thumb|left|alt text]]</nowiki></code> | STRING |
| HIGH | languages/i18n/grc.json | 0 | <code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.png|200px|thumb|left|alt text]]</nowiki></code> | STRING |
| HIGH | languages/i18n/ky.json | 0 | <code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.png|200px|thumb|left|alt text]]</nowiki></code> | STRING |
| HIGH | languages/i18n/ml.json | 0 | <code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.png|200px|thumb|left|alt text]]</nowiki></code> | STRING |
| HIGH | languages/i18n/rm.json | 0 | <code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.png|200px|thumb|left|alt text]]</nowiki></code> | STRING |
| HIGH | languages/i18n/sgs.json | 0 | <code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.png|200px|thumb|left|alt text]]</nowiki></code> | STRING |
| HIGH | languages/i18n/tl.json | 0 | <code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.png|200px|thumb|left|alt text]]</nowiki></code> | STRING |
| HIGH | languages/i18n/roa-tara.json | 0 | <code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.png|200px|thumb|left|alt text]]</nowiki></code> | STRING |
| HIGH | languages/i18n/mzn.json | 0 | <code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.png|200px|thumb|left|alt text]]</nowiki></code> | STRING |
| HIGH | languages/i18n/ne.json | 0 | <code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.png|200px|thumb|left|alt text]]</nowiki></code> | STRING |
| HIGH | languages/i18n/gu.json | 0 | <code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.png|200px|thumb|left|alt text]]</nowiki></code> | STRING |
| HIGH | languages/i18n/si.json | 0 | <code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.png|200px|thumb|left|alt text]]</nowiki></code> | STRING |
| HIGH | languages/i18n/lki.json | 0 | <code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.png|200px|thumb|left|alt text]]</nowiki></code> | STRING |
| HIGH | languages/i18n/eu.json | 0 | <code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.png|200px|thumb|left|alt text]]</nowiki></code> | STRING |
| HIGH | languages/i18n/as.json | 0 | <code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.png|200px|thumb|left|alt text]]</nowiki></code> | STRING |
| HIGH | languages/i18n/bcl.json | 0 | <code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.png|200px|thumb|left|alt text]]</nowiki></code> | STRING |
| HIGH | languages/i18n/lrc.json | 0 | <code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.png|200px|thumb|left|alt text]]</nowiki></code> | STRING |
| HIGH | languages/i18n/ie.json | 0 | <code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.png|200px|thumb|left|alt text]]</nowiki></code> | STRING |
| HIGH | languages/i18n/bcc.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/ps.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/prg.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/hif-latn.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/bgn.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/crh-latn.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/bpy.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/grc.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/vec.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/ce.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/lus.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/nap.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/gsw.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/ky.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/lij.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/ur.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/ckb.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/az.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/rm.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/sgs.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/yi.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/it.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/crh-cyrl.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/tl.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/roa-tara.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/mzn.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/ne.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/gu.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/si.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/lki.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/eu.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/tt-latn.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/te.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/as.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/nds.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/th.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/bcl.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/lrc.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/ie.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/sc.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| 64 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | resources/lib/ooui/History.md | 3983 | * OutlineOptionWidget: Don't apply italics to "placeholder" status (James D. Forrester) | COMMENT |
| LOW | resources/lib/ooui/oojs-ui-widgets.js | 4367 | this.inputPlaceholder = this.input.$input.attr( 'placeholder' ); | CODE |
| LOW | resources/lib/ooui/oojs-ui-widgets.js | 4703 | this.input.$input.attr( 'placeholder', isUnderLimit ? this.inputPlaceholder : '' ); | CODE |
| LOW | resources/lib/ooui/oojs-ui-widgets.js | 5056 | const placeholder = this.input.$input.attr( 'placeholder' ); | CODE |
| LOW⚡ | resources/lib/ooui/oojs-ui-widgets.js.map.json | 1 | {"version":3,"sources":["../src/intro.js.txt","../src/mixins/DraggableElement.js","../src/mixins/DraggableGroupElement.j | CODE |
| LOW | resources/lib/ooui/oojs-ui-core.js | 11650 | this.$input.attr( 'placeholder', config.placeholder ); | CODE |
| LOW | resources/lib/codex/CHANGELOG.md | 2740 | - docs, Thumbnail: Update "placeholder" language (Anne Tomasevich) | CODE |
| LOW | …/src/mediawiki.special.block/components/PagesField.vue | 14 | :placeholder="placeholder" | CODE |
| LOW⚡ | resources/src/mediawiki.base/mediawiki.base.js | 34 | * obj = mw.message( 'hello-user', 'John Doe' ); | COMMENT |
| LOW⚡ | resources/src/mediawiki.base/mediawiki.base.js | 38 | * obj = mw.message( 'welcome-user', 'John Doe', 'Wikipedia', '2 hours ago' ); | COMMENT |
| LOW⚡ | resources/src/mediawiki.base/mediawiki.base.js | 43 | * str = mw.msg( 'hello-user', 'John Doe' ); | COMMENT |
| LOW | …es/src/mediawiki.languageselector/LanguageSelector.vue | 14 | :placeholder="placeholder" | CODE |
| LOW | resources/src/mediawiki.util/util.js | 892 | * mw.util.validateEmail( "me@example.org" ) === true; | COMMENT |
| LOW⚡ | tests/api-testing/REST/Update.js | 178 | const firstRev = await mindy.edit( title, { text: 'first line\nlorem ipsum\nsecond line' } ); | CODE |
| LOW⚡ | tests/api-testing/REST/Update.js | 179 | await mindy.edit( title, { text: 'FIRST LINE\nlorem ipsum\nsecond line' } ); | CODE |
| LOW⚡ | tests/api-testing/REST/Update.js | 183 | source: 'first line\nlorem ipsum\nSECOND LINE', | CODE |
| LOW | tests/api-testing/REST/Update.js | 194 | const expectedText = 'FIRST LINE\nlorem ipsum\nSECOND LINE'; | CODE |
| LOW⚡ | tests/parser/parserTests.txt | 540 | <nowiki>Lorem ipsum dolor | CODE |
| LOW⚡ | tests/parser/parserTests.txt | 548 | <p>Lorem ipsum dolor | CODE |
| LOW⚡ | tests/parser/parserTests.txt | 557 | <p><span typeof="mw:Nowiki">Lorem ipsum dolor | CODE |
| LOW | …unit/unit/includes/Widget/LanguageSelectWidgetTest.php | 82 | 'placeholder' => 'test-placeholder', | CODE |
| LOW⚡ | tests/phpunit/unit/includes/Mail/UserMailerTest.php | 194 | 'single recipient' => [ [ 'alice@example.org' ], 'example.org' ], | CODE |
| LOW⚡ | tests/phpunit/unit/includes/Mail/UserMailerTest.php | 196 | [ 'alice@example.org', 'bob@gmail.com' ], | CODE |
| LOW⚡ | tests/phpunit/unit/includes/Mail/UserMailerTest.php | 200 | [ 'alice@example.org', 'carol@example.org' ], | CODE |
| LOW⚡ | tests/phpunit/unit/includes/Mail/UserMailerTest.php | 229 | [ 'alice@example.org' ], | CODE |
| LOW⚡ | tests/phpunit/unit/includes/Mail/UserMailerTest.php | 232 | 'to' => 'alice@example.org', | CODE |
| LOW⚡ | tests/phpunit/unit/includes/Mail/UserMailerTest.php | 239 | [ 'alice@example.org', 'bob@gmail.com' ], | CODE |
| LOW⚡ | tests/phpunit/unit/includes/Mail/UserMailerTest.php | 242 | 'to' => 'alice@example.org', | CODE |
| LOW | …il/ConfirmEmail/EmailConfirmationBannerHandlerTest.php | 32 | string $email = 'user@example.com', | CODE |
| LOW⚡ | …il/ConfirmEmail/EmailConfirmationBannerHandlerTest.php | 49 | yield 'banner config disabled' => [ false, true, true, 'user@example.com', false, false, false ]; | CODE |
| LOW⚡ | …il/ConfirmEmail/EmailConfirmationBannerHandlerTest.php | 50 | yield 'email auth disabled' => [ true, false, true, 'user@example.com', false, false, false ]; | CODE |
| LOW⚡ | …il/ConfirmEmail/EmailConfirmationBannerHandlerTest.php | 51 | yield 'non-named user' => [ true, true, false, 'user@example.com', false, false, false ]; | CODE |
| LOW⚡ | …il/ConfirmEmail/EmailConfirmationBannerHandlerTest.php | 53 | yield 'email already confirmed' => [ true, true, true, 'user@example.com', true, false, false ]; | CODE |
| LOW⚡ | …il/ConfirmEmail/EmailConfirmationBannerHandlerTest.php | 54 | yield 'on ConfirmEmail page' => [ true, true, true, 'user@example.com', false, true, false ]; | CODE |
| LOW⚡ | …il/ConfirmEmail/EmailConfirmationBannerHandlerTest.php | 55 | yield 'all conditions met' => [ true, true, true, 'user@example.com', false, false, true ]; | CODE |
| LOW⚡ | tests/phpunit/unit/includes/Utils/UrlUtilsProviders.php | 459 | 'mailto:id@example.org', | CODE |
| LOW⚡ | tests/phpunit/unit/includes/Utils/UrlUtilsProviders.php | 464 | 'path' => 'id@example.org', | CODE |
| LOW⚡ | tests/phpunit/unit/includes/Utils/UrlUtilsProviders.php | 473 | 'path' => 'id@example.org', | CODE |
| LOW | tests/phpunit/unit/includes/libs/StringUtilsTest.php | 149 | $result = preg_replace( '/(placeholder)/', $escaped, 'placeholder' ); | CODE |
| LOW | …nit/unit/includes/Exception/MWExceptionHandlerTest.php | 121 | new NormalizedException( '{placeholder}', [ 'placeholder' => 'message' ] ) | CODE |
| LOW | …nit/unit/includes/Revision/RevisionStoreRecordTest.php | 39 | $main = SlotRecord::newUnsaved( SlotRecord::MAIN, new DummyContentForTesting( 'Lorem Ipsum' ) ); | CODE |
| LOW | …nit/includes/Revision/RevisionStoreCacheRecordTest.php | 36 | $main = SlotRecord::newUnsaved( SlotRecord::MAIN, new DummyContentForTesting( 'Lorem Ipsum' ) ); | CODE |
| LOW | …t/unit/includes/Revision/MutableRevisionRecordTest.php | 65 | $record->setContent( SlotRecord::MAIN, new DummyContentForTesting( 'Lorem Ipsum' ) ); | CODE |
| LOW | …t/unit/includes/Revision/RevisionArchiveRecordTest.php | 42 | $main = SlotRecord::newUnsaved( SlotRecord::MAIN, new DummyContentForTesting( 'Lorem Ipsum' ) ); | CODE |
| LOW | tests/phpunit/unit/includes/Revision/SlotRecordTest.php | 159 | yield [ 'Lorem ipsum', 'hcr5u40uxr81d3nx89nvwzclfz6r9c5' ]; | CODE |
| LOW | …sts/phpunit/unit/includes/Rest/Handler/HandlerTest.php | 875 | 'source' => 'Lorem Ipsum', | CODE |
| LOW | …sts/phpunit/unit/includes/Rest/Handler/HandlerTest.php | 892 | 'source' => 'Lorem Ipsum', | CODE |
| LOW | …punit/unit/includes/Rest/Handler/SearchHandlerTest.php | 154 | string $textSnippet = 'Lorem Ipsum', | CODE |
| LOW | …punit/unit/includes/Rest/Handler/SearchHandlerTest.php | 582 | $mockRedirectLinkTarget->method( 'getFragment' )->willReturn( 'Lorem Ipsum' ); | CODE |
| LOW | …punit/unit/includes/Rest/Handler/SearchHandlerTest.php | 606 | $this->assertSame( 'Lorem Ipsum', $data['pages'][0]['anchor'] ); | CODE |
| LOW | …t/integration/includes/Linker/UserLinkRendererTest.php | 331 | 'Jane Doe', | CODE |
| LOW⚡ | …nit/integration/includes/User/UserConfirmEmailTest.php | 16 | $user->setEmail( 'test@example.org' ); | CODE |
| LOW⚡ | …nit/integration/includes/User/UserConfirmEmailTest.php | 31 | $user->setEmail( 'test@example.org' ); | CODE |
| LOW | …nit/integration/includes/User/UserConfirmEmailTest.php | 58 | $user->setEmail( 'test@example.org' ); | CODE |
| LOW | …gration/includes/Parser/SanitizerValidateEmailTest.php | 15 | yield 'normal #1' => [ 'user@example.com' ]; | CODE |
| LOW | …gration/includes/Parser/SanitizerValidateEmailTest.php | 27 | yield 'with hythen #1' => [ "user-foo@example.org" ]; | CODE |
| LOW | …gration/includes/Parser/SanitizerValidateEmailTest.php | 55 | yield 'invalid comma #1' => [ "user,foo@example.org" ]; | CODE |
| LOW | …includes/Parser/Parsoid/HtmlToContentTransformTest.php | 182 | $text = 'Lorem Ipsum'; | CODE |
| LOW | …includes/Parser/Parsoid/HtmlToContentTransformTest.php | 194 | $text = 'Lorem Ipsum'; | CODE |
| LOW | …includes/Parser/Parsoid/HtmlToContentTransformTest.php | 207 | $text = 'Lorem Ipsum'; | CODE |
| 223 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | resources/lib/foreign-resources.yaml | 1 | # ## Format of this file | COMMENT |
| LOW | resources/lib/foreign-resources.yaml | 21 | # already formatted in YAML, ready for copying to this file. | COMMENT |
| LOW | resources/lib/foreign-resources.yaml | 41 | # | COMMENT |
| LOW | resources/lib/foreign-resources.yaml | 61 | # integrity: sha384-Je+NE+saisQuoi | COMMENT |
| LOW | resources/lib/foreign-resources.yaml | 81 | # | COMMENT |
| LOW | resources/lib/foreign-resources.yaml | 101 | # package/dist/style/*.css: themes | COMMENT |
| LOW | resources/lib/pako/pako_deflate.js | 1 | COMMENT | |
| LOW | resources/lib/pako/pako_deflate.js | 1201 | // | COMMENT |
| LOW | resources/lib/pako/pako_deflate.js | 1241 | COMMENT | |
| LOW | resources/lib/pako/pako_deflate.js | 1301 | var crc32_1 = crc32; | COMMENT |
| LOW | resources/lib/pako/pako_deflate.js | 1341 | // Permission is granted to anyone to use this software for any purpose, | COMMENT |
| LOW | resources/lib/pako/pako_deflate.js | 1401 | // (C) 1995-2013 Jean-loup Gailly and Mark Adler | COMMENT |
| LOW | resources/lib/pako/pako_deflate.js | 1841 | */ | COMMENT |
| LOW | resources/lib/vue-test-utils/vue-test-utils.browser.js | 1341 | COMMENT | |
| LOW | resources/lib/vue-test-utils/vue-test-utils.browser.js | 4261 | // (c || d)); | COMMENT |
| LOW | resources/lib/vue-test-utils/vue-test-utils.browser.js | 7921 | return function () { | COMMENT |
| LOW | resources/lib/vue-test-utils/vue-test-utils.browser.js | 8221 | // this must be done after `createApp`: https://github.com/vuejs/test-utils/issues/436 | COMMENT |
| LOW | resources/lib/qunitjs/qunit.js | 121 | // they may intentionally test their project with and without certain | COMMENT |
| LOW | resources/lib/qunitjs/qunit.js | 541 | // Semi-internal state. | COMMENT |
| LOW | resources/lib/qunitjs/qunit.js | 561 | // To set global hooks, use `QUnit.hooks` instead. | COMMENT |
| LOW | resources/lib/qunitjs/qunit.js | 1041 | // Define maps a and b to be equivalent if for each key-value pair (aKey, aVal) | COMMENT |
| LOW | resources/lib/qunitjs/qunit.js | 1181 | while (i > 0) { | COMMENT |
| LOW | resources/lib/qunitjs/qunit.js | 1201 | // > @/dist/vendor.js | COMMENT |
| LOW | resources/lib/qunitjs/qunit.js | 4121 | // Support IE 9-11: Use isFinite instead of ES6 Number.isFinite | COMMENT |
| LOW | resources/lib/qunitjs/qunit.js | 5221 | moduleId: undefined, | COMMENT |
| LOW | resources/lib/qunitjs/qunit.js | 6181 | // As for `todo` module, all its tests will be treated as `todo` except for | COMMENT |
| LOW | resources/lib/qunitjs/qunit.js | 6941 | // * x74: DEL. | COMMENT |
| LOW | resources/lib/qunitjs/qunit.js | 6961 | // This way each test name will hash to a unique testId with Rerun link, | COMMENT |
| LOW | resources/lib/qunitjs/qunit.js | 7301 | // only create new property for user-defined QUnit.config.urlConfig keys | COMMENT |
| LOW | resources/lib/qunitjs/qunit.js | 7381 | COMMENT | |
| LOW | resources/lib/qunitjs/qunit.js | 7401 | QUnit.reporters.html.init(QUnit); | COMMENT |
| LOW | resources/lib/qunitjs/qunit.js | 7481 | // Support: require('qunit').QUnit | COMMENT |
| LOW | resources/lib/moment/moment.js | 3361 | } | COMMENT |
| LOW | resources/lib/ooui/wikimedia-ui-base.less | 301 | // DEPRECATED TOKENS | COMMENT |
| LOW | resources/lib/jquery/jquery.js | 881 | COMMENT | |
| LOW | resources/lib/jquery/jquery.js | 1021 | */ | COMMENT |
| LOW | resources/lib/jquery/jquery.js | 1161 | // Support: IE 9 only | COMMENT |
| LOW | resources/lib/jquery/jquery.js | 1301 | // Support: Chrome <=105+, Firefox <=104+, Safari <=15.4+ | COMMENT |
| LOW | resources/lib/jquery/jquery.js | 2461 | COMMENT | |
| LOW | resources/lib/jquery/jquery.js | 4041 | // 1. No key was specified | COMMENT |
| LOW | resources/lib/jquery/jquery.js | 5381 | // If this is a native event triggered above, everything is now in order | COMMENT |
| LOW | resources/lib/jquery/jquery.js | 5641 | delegateType: delegateType | COMMENT |
| LOW | resources/lib/jquery/jquery.js | 6421 | // Support: Firefox 51+ | COMMENT |
| LOW | resources/lib/jquery/jquery.js | 6441 | // disconnected elements. However, in IE even disconnected elements | COMMENT |
| LOW | resources/lib/jquery/jquery.js | 10661 | COMMENT | |
| LOW | resources/lib/codex/codex.js | 6081 | }); | COMMENT |
| LOW | resources/lib/codex/codex.js | 6101 | }); | COMMENT |
| LOW | resources/lib/codex/mixins/css-icon.less | 1 | @import ( reference ) '@wikimedia/codex-icons/codex-icon-paths.less'; | COMMENT |
| LOW | resources/lib/codex/mixins/css-icon.less | 81 | // This sets min-width, min-height, width, and height for a square icon. | COMMENT |
| LOW | resources/lib/codex/mixins/css-icon.less | 121 | } | COMMENT |
| LOW | resources/lib/codex/mixins/css-icon.less | 181 | // | COMMENT |
| LOW | resources/lib/codex/mixins/css-icon.less | 261 | // Create a square, standalone CSS icon. | COMMENT |
| LOW | resources/lib/codex/mixins/link.less | 1 | // Link Styles | COMMENT |
| LOW | resources/lib/codex/mixins/link.less | 21 | // &.custom-underlined-class { | COMMENT |
| LOW | resources/lib/codex/mixins/button-layout-flush.less | 1 | // | COMMENT |
| LOW | resources/lib/codex/mixins/wip/grid.less | 1 | // Grid Layout System | COMMENT |
| LOW | resources/lib/codex/mixins/wip/grid.less | 21 | // } | COMMENT |
| LOW | resources/lib/codex/mixins/wip/grid.less | 101 | } | COMMENT |
| LOW | resources/lib/codex/mixins/wip/grid.less | 121 | // // On desktop: columns 1-6 (spans first 6 columns) | COMMENT |
| LOW | resources/lib/url/URL.js | 61 | } | COMMENT |
| 142 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/parser/wtEscaping.txt | 40 | #### ---------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/parser/wtEscaping.txt | 50 | #### ---------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/parser/wtEscaping.txt | 61 | #### ---------------------------------------- | COMMENT |
| MEDIUM | tests/parser/wtEscaping.txt | 370 | #### ---------------------------------------- | COMMENT |
| MEDIUM | tests/parser/wtEscaping.txt | 569 | #### ----------------------------------- | COMMENT |
| MEDIUM | tests/parser/wtEscaping.txt | 602 | #### -------------------------------------- | COMMENT |
| MEDIUM | tests/parser/wtEscaping.txt | 1036 | #### -------------------------------------- | COMMENT |
| MEDIUM | tests/parser/wtEscaping.txt | 1435 | #### -------------------------------------- | COMMENT |
| MEDIUM | tests/parser/wtEscaping.txt | 1552 | #### -------------------------------------- | COMMENT |
| MEDIUM | tests/parser/wtEscaping.txt | 1822 | #### ----------------------------------------- | COMMENT |
| MEDIUM | tests/parser/wikiLinks.txt | 11 | # ------------------- | COMMENT |
| MEDIUM | tests/parser/wikiLinks.txt | 13 | # ------------------- | COMMENT |
| MEDIUM | tests/parser/wikiLinks.txt | 207 | # ----------- | COMMENT |
| MEDIUM | tests/parser/wikiLinks.txt | 209 | # ----------- | COMMENT |
| MEDIUM | tests/parser/parserTests.txt | 813 | #-------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/parser/parserTests.txt | 816 | #-------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/parser/parserTests.txt | 1055 | #-------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/parser/parserTests.txt | 1057 | #-------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/parser/parserTests.txt | 2005 | # ------------------------------------------------------------------------ | COMMENT |
| MEDIUM | tests/parser/parserTests.txt | 2008 | # ------------------------------------------------------------------------ | COMMENT |
| MEDIUM | tests/parser/parserTests.txt | 8984 | #### ---------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/parser/parserTests.txt | 8988 | #### ---------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/phpunit/includes/Page/WikiPageDbTest.php | 312 | # ------------------------ | COMMENT |
| MEDIUM | tests/phpunit/includes/Page/WikiPageDbTest.php | 323 | # ------------------------ | COMMENT |
| MEDIUM | tests/phpunit/includes/Page/WikiPageDbTest.php | 329 | # ------------------------ | COMMENT |
| MEDIUM | tests/phpunit/includes/Page/WikiPageDbTest.php | 343 | # ------------------------ | COMMENT |
| MEDIUM | tests/phpunit/includes/Page/WikiPageDbTest.php | 370 | # ------------------------ | COMMENT |
| MEDIUM | tests/phpunit/includes/Page/WikiPageDbTest.php | 378 | # ------------------------ | COMMENT |
| MEDIUM | tests/phpunit/includes/Page/WikiPageDbTest.php | 492 | # ------------------------ | COMMENT |
| MEDIUM | languages/messages/MessagesKk_arab.php | 374 | # ------------------------------------------------------------------- | COMMENT |
| MEDIUM | languages/messages/MessagesKk_arab.php | 376 | # ------------------------------------------------------------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | resources/lib/jquery.ui/jquery.ui.datepicker.js | 1192 | // Format a name, short or long as requested | COMMENT |
| HIGH | resources/lib/vue-router/vue-router.global.js | 3694 | // history entry and trigger a new navigation as requested by the | COMMENT |
| HIGH | tests/qunit/resources/mediawiki.jqueryMsg.test.js | 667 | // Tests that {{-transformation vs. general parsing are done as requested | COMMENT |
| HIGH | …/MediaSearch/mediawiki.widgets.APIResultsQueue.test.js | 131 | // * The queue returned 10 results as requested | COMMENT |
| HIGH | includes/Specials/SpecialWatchlistLabels.php | 377 | // Sort by count by default, and others as requested. | COMMENT |
| HIGH | includes/Api/ApiOpenSearchFormatJson.php | 29 | // Ignore warnings or treat as errors, as requested | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | resources/lib/qunitjs/qunit.js | 6972 | // This also has the benefit of being stable and robust against e.g. | COMMENT |
| MEDIUM | resources/lib/ooui/oojs-ui-widgets.js | 5516 | // but in our case, we want to utilize the menu selection behavior, and | COMMENT |
| MEDIUM⚡ | resources/lib/ooui/oojs-ui-widgets.js.map.json | 1 | {"version":3,"sources":["../src/intro.js.txt","../src/mixins/DraggableElement.js","../src/mixins/DraggableGroupElement.j | CODE |
| MEDIUM⚡ | resources/lib/ooui/oojs-ui-widgets.js.map.json | 1 | {"version":3,"sources":["../src/intro.js.txt","../src/mixins/DraggableElement.js","../src/mixins/DraggableGroupElement.j | CODE |
| MEDIUM | resources/lib/jquery/jquery.js | 10665 | // understands anonymous AMD modules. A named AMD is safest and most robust | COMMENT |
| MEDIUM | resources/lib/vuex/vuex.global.js | 157 | // use computed to leverage its lazy-caching mechanism | COMMENT |
| LOW | resources/src/mediawiki.String.js | 60 | // String#slice will simply return a shorter (or empty) substring. | COMMENT |
| MEDIUM | includes/Page/ImagePage.php | 199 | # Yet we return metadata about the target. Definitely an issue in the FileRepo | COMMENT |
| LOW | includes/Category/CategoryViewer.php | 546 | # and have already been retrieved. We can just use $rescnt in that | COMMENT |
| LOW | includes/Language/LanguageNameUtils.php | 226 | # - For other names just add if not added through the hook | COMMENT |
| LOW | includes/Parser/Parser.php | 5762 | # Strip bad stuff out of the title (tooltip). We can't just use | COMMENT |
| LOW | includes/Parser/Parser.php | 6198 | # so just use the current user's name | COMMENT |
| LOW | includes/Parser/Parser.php | 6222 | # so just use the parser input size, because the own substitution | COMMENT |
| MEDIUM | includes/Installer/i18n/pt.json | 314 | "config-install-success": "O MediaWiki foi instalado. Já pode visitar <$1$2> para ver a sua wiki.\nSe tiver dúvidas, ve | CODE |
| MEDIUM | includes/Installer/i18n/pt-br.json | 320 | "config-install-success": "O MediaWiki foi instalado. Já pode visitar <$1$2> para ver a sua wiki.\nSe tiver dúvidas, ve | CODE |
| MEDIUM | includes/JobQueue/Jobs/AssembleUploadChunksJob.php | 187 | // To be extra robust. | COMMENT |
| MEDIUM | includes/Media/FormatMetadata.php | 629 | // Essentially like iimCategory. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | includes/Linker/Linker.php | 425 | # Create a resized image, without the additional thumbnail features | COMMENT |
| MEDIUM | includes/Specials/SpecialFileDuplicateSearch.php | 96 | # Create the input form | COMMENT |
| MEDIUM | includes/Specials/SpecialLog.php | 335 | # Create a LogPager item to get the results and a LogEventsList item to format them... | COMMENT |
| MEDIUM | includes/Parser/Parser.php | 4442 | # Create the anchor for linking from the TOC to the section | COMMENT |
| MEDIUM | includes/Installer/Task/SqliteCreateDatabaseTask.php | 54 | # Create the l10n cache DB | COMMENT |
| MEDIUM | includes/Installer/Task/SqliteCreateDatabaseTask.php | 75 | # Create the job queue DB | COMMENT |
| MEDIUM | includes/RecentChanges/RecentChangeNotifier.php | 161 | # The following code is only run, if several conditions are met: | COMMENT |
| MEDIUM | docs/config-schema.yaml | 1 | # This file is automatically generated using maintenance/generateConfigSchema.php. | COMMENT |
| MEDIUM | maintenance/generateConfigSchema.php | 313 | $header = "# This file is automatically generated using maintenance/generateConfigSchema.php.\n"; | CODE |
| MEDIUM | maintenance/mergeMessageFileList.php | 193 | "## This file is generated by mergeMessageFileList.php. Do not edit it directly.\n\n" . | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …sources/src/mediawiki.rcfilters/dm/FiltersViewModel.js | 149 | // In our case, we need to check if the entire group conflicts with | COMMENT |
| LOW | …/src/mediawiki.special.block/components/UserLookup.vue | 251 | // Valid IP, we need to check if there's a valid range | COMMENT |
| LOW | includes/Auth/AuthManager.php | 512 | // Step 1: Choose a primary authentication provider, and call it until it succeeds. | COMMENT |
| LOW | includes/Auth/AuthManager.php | 737 | // Step 2: Primary authentication succeeded, create the User object | COMMENT |
| LOW | includes/Auth/AuthManager.php | 792 | // Step 3: Iterate over all the secondary authentication providers. | COMMENT |
| LOW | includes/Auth/AuthManager.php | 847 | // Step 4: Authentication complete! Give hook handlers a chance to interrupt, then | COMMENT |
| LOW | includes/Auth/AuthManager.php | 1585 | // Step 0: Prepare and validate the input | COMMENT |
| LOW | includes/Auth/AuthManager.php | 1755 | // Step 1: Choose a primary authentication provider and call it until it succeeds. | COMMENT |
| LOW | includes/Auth/AuthManager.php | 1876 | // Step 2: Primary authentication succeeded. Give hook handlers a chance to interrupt, | COMMENT |
| LOW | includes/Auth/AuthManager.php | 1944 | // Step 3: Iterate over all the secondary authentication providers. | COMMENT |
| LOW | includes/Auth/AuthManager.php | 2557 | // Step 0: Prepare and validate the input | COMMENT |
| LOW | includes/Auth/AuthManager.php | 2610 | // Step 1: Call the primary again until it succeeds | COMMENT |
| LOW | maintenance/includes/TextPassDumper.php | 547 | // Step 1: Get some text (or reuse from previous iteratuon if checking | COMMENT |
| LOW | maintenance/includes/TextPassDumper.php | 600 | // Step 2: Checking for plausibility and return the text if it is | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | includes/Auth/AuthManager.php | 512 | // Step 1: Choose a primary authentication provider, and call it until it succeeds. | COMMENT |
| LOW | includes/Auth/AuthManager.php | 737 | // Step 2: Primary authentication succeeded, create the User object | COMMENT |
| LOW | includes/Auth/AuthManager.php | 792 | // Step 3: Iterate over all the secondary authentication providers. | COMMENT |
| LOW | includes/Auth/AuthManager.php | 847 | // Step 4: Authentication complete! Give hook handlers a chance to interrupt, then | COMMENT |
| LOW | includes/Auth/AuthManager.php | 1585 | // Step 0: Prepare and validate the input | COMMENT |
| LOW | includes/Auth/AuthManager.php | 1755 | // Step 1: Choose a primary authentication provider and call it until it succeeds. | COMMENT |
| LOW | includes/Auth/AuthManager.php | 1876 | // Step 2: Primary authentication succeeded. Give hook handlers a chance to interrupt, | COMMENT |
| LOW | includes/Auth/AuthManager.php | 1944 | // Step 3: Iterate over all the secondary authentication providers. | COMMENT |
| LOW | includes/Auth/AuthManager.php | 2557 | // Step 0: Prepare and validate the input | COMMENT |
| LOW | includes/Auth/AuthManager.php | 2610 | // Step 1: Call the primary again until it succeeds | COMMENT |
| LOW | maintenance/includes/TextPassDumper.php | 547 | // Step 1: Get some text (or reuse from previous iteratuon if checking | COMMENT |
| LOW | maintenance/includes/TextPassDumper.php | 600 | // Step 2: Checking for plausibility and return the text if it is | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | resources/lib/vue-test-utils/vue-test-utils.browser.js | 1908 | // but still return True as though you had | COMMENT |
| HIGH | resources/src/mediawiki.base/log.js | 19 | * @return {boolean|undefined} return.return True if the caller was not seen before. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …sources/src/mediawiki.page.gallery.styles/gallery.less | 6 | /* Don't forget to update gallery.print.css */ | COMMENT |
| MEDIUM | …sts/phpunit/unit/includes/Api/ApiModuleManagerTest.php | 34 | // actually used is a UserFactory, for demonstration purposes | COMMENT |
| LOW | includes/ServiceWiring.php | 368 | // NOTE: When adding a service here, don't forget to add a getter function | COMMENT |
| LOW | includes/Installer/LocalSettingsGenerator.php | 326 | * and their default values, but don't forget to make changes in _this_ | COMMENT |
| MEDIUM | includes/Installer/LocalSettingsGenerator.php | 438 | {$groupRights}{$noFollow}## Default skin: you can change the default skin. Use the internal symbolic | CODE |
| LOW | includes/HTMLForm/HTMLFormField.php | 461 | * field input. Don't forget to call parent::validate() to ensure | COMMENT |
| LOW | includes/Logging/LogEventsList.php | 1041 | // Don't forget to also update the method documentation | COMMENT |
| LOW | includes/Pager/IndexPager.php | 61 | * getQueryInfo() and getIndexField(). Don't forget to call the parent | COMMENT |
| LOW | docs/export-demo.xml | 69 | <!-- * Don't forget to decode character entities! --> | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | includes/Specials/SpecialRecentChanges.php | 305 | # Check if the page has been updated since the last visit | COMMENT |
| LOW | includes/Diff/DifferenceEngine.php | 792 | # Check if one of the revisions is deleted/suppressed | COMMENT |
| LOW | includes/Language/Language.php | 1569 | # Check if the year is a leap year | COMMENT |
| LOW | includes/Language/Language.php | 1623 | # Check if leap year | COMMENT |
| LOW | includes/Language/Language.php | 3882 | # Check if there is no need to truncate | COMMENT |
| LOW | includes/Language/Language.php | 3969 | # Check if there is clearly no need to truncate | COMMENT |
| LOW | includes/Parser/Preprocessor_Hash.php | 627 | # Add it to the stack | COMMENT |
| LOW | includes/Parser/Parser.php | 5471 | # Check if the options text is of the form "options|alt text" | COMMENT |
| LOW | includes/Parser/LinkHolderArray.php | 163 | # Check if it's a static known link, e.g. interwiki | COMMENT |
| LOW | includes/Import/WikiRevision.php | 667 | # Check if it exists already | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | resources/lib/ooui/oojs-ui-windows.js.map.json | 1 | {"version":3,"sources":["../src/intro.js.txt","../src/widgets/ActionWidget.js","../src/ActionSet.js","../src/Error.js"," | CODE |
| HIGH | …/mediawiki.skinning.typeaheadSearch/instrumentation.js | 90 | // In this implementation of the mediawiki.searchSuggestion protocol, we don't want to | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | maintenance/language/zhtable/Makefile.py | 202 | except: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | resources/lib/codex/mixins/link.less | 16 | // Example usage: | COMMENT |
| LOW | resources/lib/codex/mixins/wip/grid.less | 12 | // Example usage: | COMMENT |
| LOW | resources/lib/codex/mixins/wip/grid.less | 118 | // Example usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | includes/Rest/Handler/ModuleSpecHandler.php | 58 | // TODO: implement caching, get cache key from Router. | COMMENT |
| LOW | includes/Pager/ContributionsPager.php | 1075 | // TODO: Handle exceptions in the catch block above. Do any extensions rely on | COMMENT |
| LOW | includes/FileRepo/File/OldLocalFile.php | 350 | // TODO: implement this and make it possible to hit it from refreshImageMetadata.php | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | maintenance/language/zhtable/Makefile.py | 83 | CODE | |
| LOW | maintenance/language/zhtable/Makefile.py | 131 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | resources/lib/jquery/jquery.js | 4139 | function getData( data ) { | CODE |