ethereum/mist

View on GitHub
interface/client/templates/popupWindows/importAccount.js

Summary

Maintainability
A
3 hrs
Test Coverage

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

  'submit form': function(e, template) {
    var pw = template.find('input.password').value;

    ipc.send('backendAction_importWalletFile', TemplateVar.get('filePath'), pw);

Severity: Minor
Found in interface/client/templates/popupWindows/importAccount.js - About 1 hr to fix

    Function drop .dropable has 34 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

      'drop .dropable': function(e, template) {
        e.preventDefault();
    
        if (e.originalEvent.dataTransfer) {
          files = e.originalEvent.dataTransfer.files;
    Severity: Minor
    Found in interface/client/templates/popupWindows/importAccount.js - About 1 hr to fix

      Unexpected console statement.
      Open

                  console.log(`Imported ${type} account`);

      disallow the use of console (no-console)

      In JavaScript that is designed to be executed in the browser, it's considered a best practice to avoid using methods on console. Such messages are considered to be for debugging purposes and therefore not suitable to ship to the client. In general, calls using console should be stripped before being pushed to production.

      console.log("Made it here.");
      console.error("That shouldn't have happened.");

      Rule Details

      This rule disallows calls to methods of the console object.

      Examples of incorrect code for this rule:

      /*eslint no-console: "error"*/
      
      console.log("Log a debug level message.");
      console.warn("Log a warn level message.");
      console.error("Log an error level message.");

      Examples of correct code for this rule:

      /*eslint no-console: "error"*/
      
      // custom console
      Console.log("Hello world!");

      Options

      This rule has an object option for exceptions:

      • "allow" has an array of strings which are allowed methods of the console object

      Examples of additional correct code for this rule with a sample { "allow": ["warn", "error"] } option:

      /*eslint no-console: ["error", { allow: ["warn", "error"] }] */
      
      console.warn("Log a warn level message.");
      console.error("Log an error level message.");

      When Not To Use It

      If you're using Node.js, however, console is used to output information to the user and so is not strictly used for debugging purposes. If you are developing for Node.js then you most likely do not want this rule enabled.

      Another case where you might not use this rule is if you want to enforce console calls and not console overwrites. For example:

      /*eslint no-console: ["error", { allow: ["warn"] }] */
      console.error = function (message) {
        throw new Error(message);
      };

      With the no-console rule in the above example, ESLint will report an error. For the above example, you can disable the rule:

      // eslint-disable-next-line no-console
      console.error = function (message) {
        throw new Error(message);
      };
      
      // or
      
      console.error = function (message) {  // eslint-disable-line no-console
        throw new Error(message);
      };

      However, you might not want to manually add eslint-disable-next-line or eslint-disable-line. You can achieve the effect of only receiving errors for console calls with the no-restricted-syntax rule:

      {
          "rules": {
              "no-restricted-syntax": [
                  "error",
                  {
                      "selector": "CallExpression[callee.object.name='console'][callee.property.name=/^(log|warn|error|info|trace)$/]",
                      "message": "Unexpected property on console object was called"
                  }
              ]
          }
      }

      Related Rules

      Unexpected console statement.
      Open

              console.log('Import failed', error);

      disallow the use of console (no-console)

      In JavaScript that is designed to be executed in the browser, it's considered a best practice to avoid using methods on console. Such messages are considered to be for debugging purposes and therefore not suitable to ship to the client. In general, calls using console should be stripped before being pushed to production.

      console.log("Made it here.");
      console.error("That shouldn't have happened.");

      Rule Details

      This rule disallows calls to methods of the console object.

      Examples of incorrect code for this rule:

      /*eslint no-console: "error"*/
      
      console.log("Log a debug level message.");
      console.warn("Log a warn level message.");
      console.error("Log an error level message.");

      Examples of correct code for this rule:

      /*eslint no-console: "error"*/
      
      // custom console
      Console.log("Hello world!");

      Options

      This rule has an object option for exceptions:

      • "allow" has an array of strings which are allowed methods of the console object

      Examples of additional correct code for this rule with a sample { "allow": ["warn", "error"] } option:

      /*eslint no-console: ["error", { allow: ["warn", "error"] }] */
      
      console.warn("Log a warn level message.");
      console.error("Log an error level message.");

      When Not To Use It

      If you're using Node.js, however, console is used to output information to the user and so is not strictly used for debugging purposes. If you are developing for Node.js then you most likely do not want this rule enabled.

      Another case where you might not use this rule is if you want to enforce console calls and not console overwrites. For example:

      /*eslint no-console: ["error", { allow: ["warn"] }] */
      console.error = function (message) {
        throw new Error(message);
      };

      With the no-console rule in the above example, ESLint will report an error. For the above example, you can disable the rule:

      // eslint-disable-next-line no-console
      console.error = function (message) {
        throw new Error(message);
      };
      
      // or
      
      console.error = function (message) {  // eslint-disable-line no-console
        throw new Error(message);
      };

      However, you might not want to manually add eslint-disable-next-line or eslint-disable-line. You can achieve the effect of only receiving errors for console calls with the no-restricted-syntax rule:

      {
          "rules": {
              "no-restricted-syntax": [
                  "error",
                  {
                      "selector": "CallExpression[callee.object.name='console'][callee.property.name=/^(log|warn|error|info|trace)$/]",
                      "message": "Unexpected property on console object was called"
                  }
              ]
          }
      }

      Related Rules

      Unexpected console statement.
      Open

              console.log('Imported account: ', address);

      disallow the use of console (no-console)

      In JavaScript that is designed to be executed in the browser, it's considered a best practice to avoid using methods on console. Such messages are considered to be for debugging purposes and therefore not suitable to ship to the client. In general, calls using console should be stripped before being pushed to production.

      console.log("Made it here.");
      console.error("That shouldn't have happened.");

      Rule Details

      This rule disallows calls to methods of the console object.

      Examples of incorrect code for this rule:

      /*eslint no-console: "error"*/
      
      console.log("Log a debug level message.");
      console.warn("Log a warn level message.");
      console.error("Log an error level message.");

      Examples of correct code for this rule:

      /*eslint no-console: "error"*/
      
      // custom console
      Console.log("Hello world!");

      Options

      This rule has an object option for exceptions:

      • "allow" has an array of strings which are allowed methods of the console object

      Examples of additional correct code for this rule with a sample { "allow": ["warn", "error"] } option:

      /*eslint no-console: ["error", { allow: ["warn", "error"] }] */
      
      console.warn("Log a warn level message.");
      console.error("Log an error level message.");

      When Not To Use It

      If you're using Node.js, however, console is used to output information to the user and so is not strictly used for debugging purposes. If you are developing for Node.js then you most likely do not want this rule enabled.

      Another case where you might not use this rule is if you want to enforce console calls and not console overwrites. For example:

      /*eslint no-console: ["error", { allow: ["warn"] }] */
      console.error = function (message) {
        throw new Error(message);
      };

      With the no-console rule in the above example, ESLint will report an error. For the above example, you can disable the rule:

      // eslint-disable-next-line no-console
      console.error = function (message) {
        throw new Error(message);
      };
      
      // or
      
      console.error = function (message) {  // eslint-disable-line no-console
        throw new Error(message);
      };

      However, you might not want to manually add eslint-disable-next-line or eslint-disable-line. You can achieve the effect of only receiving errors for console calls with the no-restricted-syntax rule:

      {
          "rules": {
              "no-restricted-syntax": [
                  "error",
                  {
                      "selector": "CallExpression[callee.object.name='console'][callee.property.name=/^(log|warn|error|info|trace)$/]",
                      "message": "Unexpected property on console object was called"
                  }
              ]
          }
      }

      Related Rules

      Unexpected console statement.
      Open

                  console.log(`Imported ${type} account`);

      disallow the use of console (no-console)

      In JavaScript that is designed to be executed in the browser, it's considered a best practice to avoid using methods on console. Such messages are considered to be for debugging purposes and therefore not suitable to ship to the client. In general, calls using console should be stripped before being pushed to production.

      console.log("Made it here.");
      console.error("That shouldn't have happened.");

      Rule Details

      This rule disallows calls to methods of the console object.

      Examples of incorrect code for this rule:

      /*eslint no-console: "error"*/
      
      console.log("Log a debug level message.");
      console.warn("Log a warn level message.");
      console.error("Log an error level message.");

      Examples of correct code for this rule:

      /*eslint no-console: "error"*/
      
      // custom console
      Console.log("Hello world!");

      Options

      This rule has an object option for exceptions:

      • "allow" has an array of strings which are allowed methods of the console object

      Examples of additional correct code for this rule with a sample { "allow": ["warn", "error"] } option:

      /*eslint no-console: ["error", { allow: ["warn", "error"] }] */
      
      console.warn("Log a warn level message.");
      console.error("Log an error level message.");

      When Not To Use It

      If you're using Node.js, however, console is used to output information to the user and so is not strictly used for debugging purposes. If you are developing for Node.js then you most likely do not want this rule enabled.

      Another case where you might not use this rule is if you want to enforce console calls and not console overwrites. For example:

      /*eslint no-console: ["error", { allow: ["warn"] }] */
      console.error = function (message) {
        throw new Error(message);
      };

      With the no-console rule in the above example, ESLint will report an error. For the above example, you can disable the rule:

      // eslint-disable-next-line no-console
      console.error = function (message) {
        throw new Error(message);
      };
      
      // or
      
      console.error = function (message) {  // eslint-disable-line no-console
        throw new Error(message);
      };

      However, you might not want to manually add eslint-disable-next-line or eslint-disable-line. You can achieve the effect of only receiving errors for console calls with the no-restricted-syntax rule:

      {
          "rules": {
              "no-restricted-syntax": [
                  "error",
                  {
                      "selector": "CallExpression[callee.object.name='console'][callee.property.name=/^(log|warn|error|info|trace)$/]",
                      "message": "Unexpected property on console object was called"
                  }
              ]
          }
      }

      Related Rules

      There are no issues that match your filters.

      Category
      Status