wikimedia/mediawiki-extensions-VisualEditor

View on GitHub

Showing 912 of 912 total issues

Similar blocks of code found in 3 locations. Consider refactoring.
Open

ve.dm.MWTemplateSpecModel.prototype.getParameterDefaultValue = function ( name ) {
    const param = this.templateData.params[ this.getPrimaryParameterName( name ) ];
    return param && param.default || '';
};
Severity: Major
Found in modules/ve-mw/dm/models/ve.dm.MWTemplateSpecModel.js and 2 other locations - About 2 hrs to fix
modules/ve-mw/dm/models/ve.dm.MWTemplateSpecModel.js on lines 361..364
modules/ve-mw/dm/models/ve.dm.MWTemplateSpecModel.js on lines 370..373

Duplicated Code

Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

Tuning

This issue has a mass of 75.

We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

Refactorings

Further Reading

Similar blocks of code found in 3 locations. Consider refactoring.
Open

ve.ui.MWLiveExtensionInspector.prototype.onChange = function () {
    // Parent method
    ve.ui.MWLiveExtensionInspector.super.prototype.onChange.call( this );

    this.updatePreviewDebounced();
modules/ve-mw/ce/nodes/ve.ce.MWBlockImageNode.js on lines 207..212
modules/ve-mw/ui/dialogs/ve.ui.MWExtensionPreviewDialog.js on lines 79..84

Duplicated Code

Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

Tuning

This issue has a mass of 75.

We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

Refactorings

Further Reading

Similar blocks of code found in 3 locations. Consider refactoring.
Open

ve.dm.MWTemplateSpecModel.prototype.getParameterType = function ( name ) {
    const param = this.templateData.params[ this.getPrimaryParameterName( name ) ];
    return param && param.type || 'string';
};
Severity: Major
Found in modules/ve-mw/dm/models/ve.dm.MWTemplateSpecModel.js and 2 other locations - About 2 hrs to fix
modules/ve-mw/dm/models/ve.dm.MWTemplateSpecModel.js on lines 339..342
modules/ve-mw/dm/models/ve.dm.MWTemplateSpecModel.js on lines 361..364

Duplicated Code

Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

Tuning

This issue has a mass of 75.

We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

Refactorings

Further Reading

Function createCheckboxFields has 49 lines of code (exceeds 25 allowed). Consider refactoring.
Open

        createCheckboxFields: function ( checkboxesDef, widgetConfig ) {
            const checkboxFields = [],
                checkboxesByName = {};

            if ( checkboxesDef ) {
Severity: Minor
Found in modules/ve-mw/preinit/ve.init.mw.ArticleTargetLoader.js - About 1 hr to fix

    Function requestPageData has 49 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

            requestPageData: function ( mode, pageName, options ) {
                options = options || {};
                const apiRequest = mode === 'source' ?
                    this.requestWikitext.bind( this, pageName, options ) :
                    this.requestParsoidData.bind( this, pageName, options );
    Severity: Minor
    Found in modules/ve-mw/preinit/ve.init.mw.ArticleTargetLoader.js - About 1 hr to fix

      Function getTarget has 49 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

          function getTarget( mode, section ) {
              if ( !targetPromise ) {
                  // The TargetLoader module is loaded in the bottom queue, so it should have been
                  // requested already but it might not have finished loading yet
                  targetPromise = mw.loader.using( 'ext.visualEditor.targetLoader' )
      Severity: Minor
      Found in modules/ve-mw/preinit/ve.init.mw.DesktopArticleTarget.init.js - About 1 hr to fix

        Function confirmSelectedImage has 48 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

        ve.ui.MWMediaDialog.prototype.confirmSelectedImage = function () {
            const obj = {},
                info = this.selectedImageInfo;
        
            if ( info ) {
        Severity: Minor
        Found in modules/ve-mw/ui/dialogs/ve.ui.MWMediaDialog.js - About 1 hr to fix

          Similar blocks of code found in 5 locations. Consider refactoring.
          Open

          ve.init.mw.ArticleTargetEvents.prototype.onNoChanges = function () {
              this.trackTiming( 'performance.user.reviewComplete', { duration: ve.now() - this.timings.saveReview } );
          };
          Severity: Major
          Found in modules/ve-mw/init/ve.init.mw.ArticleTargetEvents.js and 4 other locations - About 1 hr to fix
          modules/ve-mw/init/ve.init.mw.ArticleTargetEvents.js on lines 181..183
          modules/ve-mw/init/ve.init.mw.ArticleTargetEvents.js on lines 212..214
          modules/ve-mw/init/ve.init.mw.ArticleTargetEvents.js on lines 219..221
          modules/ve-mw/init/ve.init.mw.ArticleTargetEvents.js on lines 233..235

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 73.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 3 locations. Consider refactoring.
          Open

          ve.ui.EditCheckDialog = function VeUiEditCheckDialog( config ) {
              // Parent constructor
              ve.ui.EditCheckDialog.super.call( this, config );
          
              // Pre-initialization
          Severity: Major
          Found in editcheck/modules/EditCheckDialog.js and 2 other locations - About 1 hr to fix
          editcheck/modules/EditCheckInspector.js on lines 16..22
          modules/ve-mw-collab/ve.ui.MWExportWikitextDialog.js on lines 17..23

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 73.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 2 locations. Consider refactoring.
          Open

              ve.ui.wikitextCommandRegistry.register(
                  new ve.ui.Command(
                      'number', 'mwWikitext', 'wrapLine',
                      { args: [ '# ', '', OO.ui.deferMsg( 'visualeditor-listbutton-number-tooltip' ), unlist.bind( this, '#' ) ], supportedSelections: [ 'linear' ] }
                  )
          Severity: Major
          Found in modules/ve-mw/ui/ve.ui.MWWikitextCommandRegistry.js and 1 other location - About 1 hr to fix
          modules/ve-mw/ui/ve.ui.MWWikitextCommandRegistry.js on lines 213..218

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 73.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 2 locations. Consider refactoring.
          Open

              ve.ui.wikitextCommandRegistry.register(
                  new ve.ui.Command(
                      'bullet', 'mwWikitext', 'wrapLine',
                      { args: [ '* ', '', OO.ui.deferMsg( 'visualeditor-listbutton-bullet-tooltip' ), unlist.bind( this, '*' ) ], supportedSelections: [ 'linear' ] }
                  )
          Severity: Major
          Found in modules/ve-mw/ui/ve.ui.MWWikitextCommandRegistry.js and 1 other location - About 1 hr to fix
          modules/ve-mw/ui/ve.ui.MWWikitextCommandRegistry.js on lines 207..212

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 73.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 3 locations. Consider refactoring.
          Open

          ve.ui.EditCheckInspector = function VeUiEditCheckInspector( config ) {
              // Parent constructor
              ve.ui.EditCheckInspector.super.call( this, config );
          
              // Pre-initialization
          Severity: Major
          Found in editcheck/modules/EditCheckInspector.js and 2 other locations - About 1 hr to fix
          editcheck/modules/EditCheckDialog.js on lines 16..22
          modules/ve-mw-collab/ve.ui.MWExportWikitextDialog.js on lines 17..23

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 73.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 2 locations. Consider refactoring.
          Open

          ve.ui.MWEditModeSourceTool = function VeUiMWEditModeSourceTool() {
              // Parent constructor
              ve.ui.MWEditModeSourceTool.super.apply( this, arguments );
              // Mixin constructor
              ve.ui.MWEditModeTool.call( this );
          Severity: Major
          Found in modules/ve-mw/ui/tools/ve.ui.MWEditModeTool.js and 1 other location - About 1 hr to fix
          modules/ve-mw/ui/tools/ve.ui.MWEditModeTool.js on lines 57..62

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 73.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 5 locations. Consider refactoring.
          Open

          ve.init.mw.ArticleTargetEvents.prototype.onSerializeComplete = function () {
              this.trackTiming( 'performance.user.reviewComplete', { duration: ve.now() - this.timings.saveReview } );
          };
          Severity: Major
          Found in modules/ve-mw/init/ve.init.mw.ArticleTargetEvents.js and 4 other locations - About 1 hr to fix
          modules/ve-mw/init/ve.init.mw.ArticleTargetEvents.js on lines 181..183
          modules/ve-mw/init/ve.init.mw.ArticleTargetEvents.js on lines 212..214
          modules/ve-mw/init/ve.init.mw.ArticleTargetEvents.js on lines 219..221
          modules/ve-mw/init/ve.init.mw.ArticleTargetEvents.js on lines 226..228

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 73.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 2 locations. Consider refactoring.
          Open

          ve.ui.MWEditModeVisualTool = function VeUiMWEditModeVisualTool() {
              // Parent constructor
              ve.ui.MWEditModeVisualTool.super.apply( this, arguments );
              // Mixin constructor
              ve.ui.MWEditModeTool.call( this );
          Severity: Major
          Found in modules/ve-mw/ui/tools/ve.ui.MWEditModeTool.js and 1 other location - About 1 hr to fix
          modules/ve-mw/ui/tools/ve.ui.MWEditModeTool.js on lines 83..88

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 73.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 5 locations. Consider refactoring.
          Open

          ve.init.mw.ArticleTargetEvents.prototype.onShowChanges = function () {
              this.trackTiming( 'performance.user.reviewComplete', { duration: ve.now() - this.timings.saveReview } );
          };
          Severity: Major
          Found in modules/ve-mw/init/ve.init.mw.ArticleTargetEvents.js and 4 other locations - About 1 hr to fix
          modules/ve-mw/init/ve.init.mw.ArticleTargetEvents.js on lines 181..183
          modules/ve-mw/init/ve.init.mw.ArticleTargetEvents.js on lines 219..221
          modules/ve-mw/init/ve.init.mw.ArticleTargetEvents.js on lines 226..228
          modules/ve-mw/init/ve.init.mw.ArticleTargetEvents.js on lines 233..235

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 73.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 3 locations. Consider refactoring.
          Open

          ve.ui.MWExportWikitextDialog = function VeUiMwExportWikitextDialog( config ) {
              // Parent constructor
              ve.ui.MWExportWikitextDialog.super.call( this, config );
          
              // Initialization
          Severity: Major
          Found in modules/ve-mw-collab/ve.ui.MWExportWikitextDialog.js and 2 other locations - About 1 hr to fix
          editcheck/modules/EditCheckDialog.js on lines 16..22
          editcheck/modules/EditCheckInspector.js on lines 16..22

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 73.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 5 locations. Consider refactoring.
          Open

          ve.init.mw.ArticleTargetEvents.prototype.onShowChangesError = function () {
              this.trackTiming( 'performance.user.reviewError', { duration: ve.now() - this.timings.saveReview } );
          };
          Severity: Major
          Found in modules/ve-mw/init/ve.init.mw.ArticleTargetEvents.js and 4 other locations - About 1 hr to fix
          modules/ve-mw/init/ve.init.mw.ArticleTargetEvents.js on lines 181..183
          modules/ve-mw/init/ve.init.mw.ArticleTargetEvents.js on lines 212..214
          modules/ve-mw/init/ve.init.mw.ArticleTargetEvents.js on lines 226..228
          modules/ve-mw/init/ve.init.mw.ArticleTargetEvents.js on lines 233..235

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 73.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 5 locations. Consider refactoring.
          Open

          ve.init.mw.ArticleTargetEvents.prototype.trackActivationComplete = function () {
              this.trackTiming( 'performance.system.activation', { duration: ve.now() - this.timings.activationStart } );
          };
          Severity: Major
          Found in modules/ve-mw/init/ve.init.mw.ArticleTargetEvents.js and 4 other locations - About 1 hr to fix
          modules/ve-mw/init/ve.init.mw.ArticleTargetEvents.js on lines 212..214
          modules/ve-mw/init/ve.init.mw.ArticleTargetEvents.js on lines 219..221
          modules/ve-mw/init/ve.init.mw.ArticleTargetEvents.js on lines 226..228
          modules/ve-mw/init/ve.init.mw.ArticleTargetEvents.js on lines 233..235

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 73.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Function restorePage has 47 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

          ve.init.mw.DesktopArticleTarget.prototype.restorePage = function () {
              // Restore any previous redirectMsg/redirectsub
              this.setRealRedirectInterface();
              if ( this.$originalCategories ) {
                  $( '#catlinks' ).replaceWith( this.$originalCategories );
          Severity: Minor
          Found in modules/ve-mw/init/targets/ve.init.mw.DesktopArticleTarget.js - About 1 hr to fix
            Severity
            Category
            Status
            Source
            Language