tenon-io/tenon-cli

View on GitHub

Showing 296 of 296 total issues

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

      parseFormat(result).then((formattedResult) => {
        if (allOptions.out) {
          console.log('Writing results to file...');
          try {
            writeResultFile(formattedResult, allOptions.out);
Severity: Major
Found in tenon-cli.js and 1 other location - About 4 hrs to fix
bin/tenon-cli.js on lines 218..232

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 119.

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

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

      parseFormat(result).then(function (formattedResult) {
        if (allOptions.out) {
          console.log('Writing results to file...');
          try {
            writeResultFile(formattedResult, allOptions.out);
Severity: Major
Found in bin/tenon-cli.js and 1 other location - About 4 hrs to fix
tenon-cli.js on lines 206..220

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 119.

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

      case 'html':
        return new Promise(function (resolve) {
          _tenonReporters2.default.HTML(json, function (err, result) {
            if (err) {
              console.error('Failed to parse Tenon response into HTML format');
Severity: Major
Found in bin/tenon-cli.js and 2 other locations - About 2 hrs to fix
bin/tenon-cli.js on lines 161..172
bin/tenon-cli.js on lines 185..196

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 91.

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

      case 'csv':
        return new Promise(function (resolve) {
          _tenonReporters2.default.CSV(json, function (err, result) {
            if (err) {
              console.error('Failed to parse Tenon response into CSV format');
Severity: Major
Found in bin/tenon-cli.js and 2 other locations - About 2 hrs to fix
bin/tenon-cli.js on lines 173..184
bin/tenon-cli.js on lines 185..196

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 91.

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

      case 'xunit':
        return new Promise(function (resolve) {
          _tenonReporters2.default.XUnit(json, function (err, result) {
            if (err) {
              console.error('Failed to parse Tenon response into XUnit format');
Severity: Major
Found in bin/tenon-cli.js and 2 other locations - About 2 hrs to fix
bin/tenon-cli.js on lines 161..172
bin/tenon-cli.js on lines 173..184

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 91.

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 parseCommand has 69 lines of code (exceeds 25 allowed). Consider refactoring.
Open

export const parseCommand = function(passedArguments) {
  program
  .command('*')
  .description('A CLI for the Tenon Node')
  .option(
Severity: Major
Found in index.js - About 2 hrs to fix

    Function parseCommand has 68 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

    export const parseCommand = function(passedArguments) {
      decache('commander');
      const program = require('commander');
    
      program
    Severity: Major
    Found in testIndex.js - About 2 hrs to fix

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

            case 'html':
              return new Promise((resolve) => {
                reporters.HTML(json, (err, result) => {
                  if (err) {
                    console.error('Failed to parse Tenon response into HTML format');
      Severity: Major
      Found in tenon-cli.js and 2 other locations - About 2 hrs to fix
      tenon-cli.js on lines 149..160
      tenon-cli.js on lines 173..184

      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 87.

      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

            case 'csv':
              return new Promise((resolve) => {
                reporters.CSV(json, (err, result) => {
                  if (err) {
                    console.error('Failed to parse Tenon response into CSV format');
      Severity: Major
      Found in tenon-cli.js and 2 other locations - About 2 hrs to fix
      tenon-cli.js on lines 161..172
      tenon-cli.js on lines 173..184

      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 87.

      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

            case 'xunit':
              return new Promise((resolve) => {
                reporters.XUnit(json, (err, result) => {
                  if (err) {
                    console.error('Failed to parse Tenon response into XUnit format');
      Severity: Major
      Found in tenon-cli.js and 2 other locations - About 2 hrs to fix
      tenon-cli.js on lines 149..160
      tenon-cli.js on lines 161..172

      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 87.

      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

        Object.keys(tenonOptions).forEach(function (key) {
          var value = tenonOptions[key];
          if (allOptions[key]) {
            if (key === 'store' || key === 'fragment') {
              allOptions[key] = +allOptions[key];
      Severity: Major
      Found in bin/tenon-cli.js and 1 other location - About 2 hrs to fix
      tenon-cli.js on lines 78..86

      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 77.

      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

        Object.keys(tenonOptions).forEach((key) => {
          const value = tenonOptions[key];
          if (allOptions[key]) {
            if (key === 'store' || key === 'fragment') {
              allOptions[key] = +allOptions[key];
      Severity: Major
      Found in tenon-cli.js and 1 other location - About 2 hrs to fix
      bin/tenon-cli.js on lines 90..98

      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 77.

      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 parseFormat has 46 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

        const parseFormat = (json) => {
          switch (allOptions.format) {
            case 'json':
              // Tenon returns resuls in JSON, so it's already formatted correctly
              return new Promise((resolve) => {
      Severity: Minor
      Found in tenon-cli.js - About 1 hr to fix

        Function parseFormat has 46 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

          var parseFormat = function parseFormat(json) {
            switch (allOptions.format) {
              case 'json':
                // Tenon returns resuls in JSON, so it's already formatted correctly
                return new Promise(function (resolve) {
        Severity: Minor
        Found in bin/tenon-cli.js - About 1 hr to fix

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

            const tenonOptions = {
              waitFor: 'waitFor',
              level: 'level',
              certainty: 'certainty',
              importance: 'importance',
          Severity: Major
          Found in tenon-cli.js and 1 other location - About 1 hr to fix
          bin/tenon-cli.js on lines 73..86

          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 70.

          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

            var tenonOptions = {
              waitFor: 'waitFor',
              level: 'level',
              certainty: 'certainty',
              importance: 'importance',
          Severity: Major
          Found in bin/tenon-cli.js and 1 other location - About 1 hr to fix
          tenon-cli.js on lines 61..74

          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 70.

          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

          Line 70 exceeds the maximum line length of 100.
          Open

              // The 'source of truth' options object combining program and file configs, giving program priority
          Severity: Minor
          Found in index.js by eslint

          enforce a maximum line length (max-len)

          Very long lines of code in any language can be difficult to read. In order to aid in readability and maintainability many coders have developed a convention to limit lines of code to X number of characters (traditionally 80 characters).

          var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" }, "difficult": "to read" }; // very long

          Rule Details

          This rule enforces a maximum line length to increase code readability and maintainability. The length of a line is defined as the number of Unicode characters in the line.

          Options

          This rule has a number or object option:

          • "code" (default 80) enforces a maximum line length
          • "tabWidth" (default 4) specifies the character width for tab characters
          • "comments" enforces a maximum line length for comments; defaults to value of code
          • "ignorePattern" ignores lines matching a regular expression; can only match a single line and need to be double escaped when written in YAML or JSON
          • "ignoreComments": true ignores all trailing comments and comments on their own line
          • "ignoreTrailingComments": true ignores only trailing comments
          • "ignoreUrls": true ignores lines that contain a URL
          • "ignoreStrings": true ignores lines that contain a double-quoted or single-quoted string
          • "ignoreTemplateLiterals": true ignores lines that contain a template literal
          • "ignoreRegExpLiterals": true ignores lines that contain a RegExp literal

          code

          Examples of incorrect code for this rule with the default { "code": 80 } option:

          /*eslint max-len: ["error", 80]*/
          
          var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" }, "difficult": "to read" };

          Examples of correct code for this rule with the default { "code": 80 } option:

          /*eslint max-len: ["error", 80]*/
          
          var foo = {
            "bar": "This is a bar.",
            "baz": { "qux": "This is a qux" },
            "easier": "to read"
          };

          tabWidth

          Examples of incorrect code for this rule with the default { "tabWidth": 4 } option:

          /*eslint max-len: ["error", 80, 4]*/
          
          \t  \t  var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" } };

          Examples of correct code for this rule with the default { "tabWidth": 4 } option:

          /*eslint max-len: ["error", 80, 4]*/
          
          \t  \t  var foo = {
          \t  \t  \t  \t  "bar": "This is a bar.",
          \t  \t  \t  \t  "baz": { "qux": "This is a qux" }
          \t  \t  };

          comments

          Examples of incorrect code for this rule with the { "comments": 65 } option:

          /*eslint max-len: ["error", { "comments": 65 }]*/
          
          /**
           * This is a comment that violates the maximum line length we have specified
          **/

          ignoreComments

          Examples of correct code for this rule with the { "ignoreComments": true } option:

          /*eslint max-len: ["error", { "ignoreComments": true }]*/
          
          /**
           * This is a really really really really really really really really really long comment
          **/

          ignoreTrailingComments

          Examples of correct code for this rule with the { "ignoreTrailingComments": true } option:

          /*eslint max-len: ["error", { "ignoreTrailingComments": true }]*/
          
          var foo = 'bar'; // This is a really really really really really really really long comment

          ignoreUrls

          Examples of correct code for this rule with the { "ignoreUrls": true } option:

          /*eslint max-len: ["error", { "ignoreUrls": true }]*/
          
          var url = 'https://www.example.com/really/really/really/really/really/really/really/long';

          ignoreStrings

          Examples of correct code for this rule with the { "ignoreStrings": true } option:

          /*eslint max-len: ["error", { "ignoreStrings": true }]*/
          
          var longString = 'this is a really really really really really long string!';

          ignoreTemplateLiterals

          Examples of correct code for this rule with the { "ignoreTemplateLiterals": true } option:

          /*eslint max-len: ["error", { "ignoreTemplateLiterals": true }]*/
          
          var longTemplateLiteral = `this is a really really really really really long template literal!`;

          ignoreRegExpLiterals

          Examples of correct code for this rule with the { "ignoreRegExpLiterals": true } option:

          /*eslint max-len: ["error", { "ignoreRegExpLiterals": true }]*/
          
          var longRegExpLiteral = /this is a really really really really really long regular expression!/;

          ignorePattern

          Examples of correct code for this rule with the { "ignorePattern": true } option:

          /*eslint max-len: ["error", { "ignorePattern": "^\\s*var\\s.+=\\s*require\\s*\\(/" }]*/
          
          var dep = require('really/really/really/really/really/really/really/really/long/module');

          Related Rules

          • [complexity](complexity.md)
          • [max-depth](max-depth.md)
          • [max-nested-callbacks](max-nested-callbacks.md)
          • [max-params](max-params.md)
          • [max-statements](max-statements.md) Source: http://eslint.org/docs/rules/

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

                if (result.status >= 400) {
                  console.error('Tenon reported an error:');
                  console.error(JSON.stringify(result, null, '\t'));
                  process.exit(1);
                }
          Severity: Major
          Found in bin/tenon-cli.js and 1 other location - About 1 hr to fix
          tenon-cli.js on lines 199..203

          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 58.

          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

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

                if (result.status >= 400) {
                  console.error('Tenon reported an error:');
                  console.error(JSON.stringify(result, null, '\t'));
                  process.exit(1);
                }
          Severity: Major
          Found in tenon-cli.js and 1 other location - About 1 hr to fix
          bin/tenon-cli.js on lines 211..215

          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 58.

          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

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

            if (program.commands[0].args.length > 1) {
              console.error('You have supplied too many arguments, for help type \'tenon --help\'');
              process.exit(1);
            }
          Severity: Minor
          Found in tenon-cli.js and 1 other location - About 55 mins to fix
          bin/tenon-cli.js on lines 30..33

          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 54.

          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

          Severity
          Category
          Status
          Source
          Language