fewieden/MMM-Fuel

View on GitHub

Showing 9 of 12 total issues

Function getData has a Cognitive Complexity of 17 (exceeds 5 allowed). Consider refactoring.
Open

async function getData() {
    const responses = await Promise.all(config.types.map(requestFuelType));
    const collection = {};
    responses.forEach(element => {
        collection[element.type] = element.data;
Severity: Minor
Found in apis/spritpreisrechner.js - About 2 hrs to fix

Cognitive Complexity

Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

A method's cognitive complexity is based on a few simple rules:

  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
  • Code is considered more complex for each "break in the linear flow of the code"
  • Code is considered more complex when "flow breaking structures are nested"

Further reading

Function getData has 45 lines of code (exceeds 25 allowed). Consider refactoring.
Open

async function getData() {
    const responses = await Promise.all(config.types.map(requestFuelType));
    const collection = {};
    responses.forEach(element => {
        collection[element.type] = element.data;
Severity: Minor
Found in apis/spritpreisrechner.js - About 1 hr to fix

    Function getData has a Cognitive Complexity of 14 (exceeds 5 allowed). Consider refactoring.
    Open

    async function getData() {
        const responses = await Promise.all(config.types.map(requestFuelType));
        const collection = {};
        for (const response of responses) {
            collection[response.type] = mapPriceToStation(response.data);
    Severity: Minor
    Found in apis/nsw.js - About 1 hr to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function getData has 42 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

    async function getData() {
        const responses = await Promise.all(config.types.map(requestFuelType));
        const collection = {};
        for (const response of responses) {
            collection[response.type] = mapPriceToStation(response.data);
    Severity: Minor
    Found in apis/nsw.js - About 1 hr to fix

      Function addFilters has 37 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

          addFilters() {
              this.nunjucksEnvironment().addFilter('capitalizeFirstLetter', text => this.capitalizeFirstLetter(text));
              this.nunjucksEnvironment().addFilter('shortenText', text => this.shortenText(text));
              this.nunjucksEnvironment().addFilter('formatPrice', price => {
                  if (price === -1) {
      Severity: Minor
      Found in MMM-Fuel.js - About 1 hr to fix

        Function checkCommands has 30 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

            checkCommands(data) {
                if (/(HELP)/g.test(data)) {
                    if (/(CLOSE)/g.test(data) && !/(OPEN)/g.test(data)) {
                        this.sendNotification('CLOSE_MODAL');
                    } else if (/(OPEN)/g.test(data) && !/(CLOSE)/g.test(data)) {
        Severity: Minor
        Found in MMM-Fuel.js - About 1 hr to fix

          Function checkCommands has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
          Open

              checkCommands(data) {
                  if (/(HELP)/g.test(data)) {
                      if (/(CLOSE)/g.test(data) && !/(OPEN)/g.test(data)) {
                          this.sendNotification('CLOSE_MODAL');
                      } else if (/(OPEN)/g.test(data) && !/(CLOSE)/g.test(data)) {
          Severity: Minor
          Found in MMM-Fuel.js - About 25 mins to fix

          Cognitive Complexity

          Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

          A method's cognitive complexity is based on a few simple rules:

          • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
          • Code is considered more complex for each "break in the linear flow of the code"
          • Code is considered more complex when "flow breaking structures are nested"

          Further reading

          Function mapPriceToStation has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
          Open

          function mapPriceToStation({ stations, prices }) {
              for (const station of stations) {
                  for (const price of prices) {
                      if (station.code === price.stationcode) {
                          station.price = price.price / 100;
          Severity: Minor
          Found in apis/nsw.js - About 25 mins to fix

          Cognitive Complexity

          Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

          A method's cognitive complexity is based on a few simple rules:

          • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
          • Code is considered more complex for each "break in the linear flow of the code"
          • Code is considered more complex when "flow breaking structures are nested"

          Further reading

          Bare URL used
          Open

          * Config option `showDistance` https://github.com/fewieden/MMM-Fuel/pull/49
          Severity: Info
          Found in CHANGELOG.md by markdownlint

          MD034 - Bare URL used

          Tags: links, url

          Aliases: no-bare-urls

          This rule is triggered whenever a URL is given that isn't surrounded by angle brackets:

          For more information, see http://www.example.com/.

          To fix this, add angle brackets around the URL:

          For more information, see <http:></http:>.

          Rationale: Without angle brackets, the URL isn't converted into a link in many markdown parsers.

          Note: if you do want a bare URL without it being converted into a link, enclose it in a code block, otherwise in some markdown parsers it will be converted:

          `http://www.example.com`
          Severity
          Category
          Status
          Source
          Language