OWASP/NodeGoat

Migration from Grunt to npm scripts

servatj opened this issue · 4 comments

After looking at the RoadMap 2019 provided by @UlisesGascon. I'm happy to start working on this. I will update this issue with the steps I will follow once I have a bit more context about the status of the project by running it in my local.

Thanks @servatj for join us! 🤗

I will update your issue a little bit ;-)

This issue is assigned to you, please remember to refer to it when do you submit a PR, so we can connect the dots easily.

Replace current grunt tasks by npm scripts:

  • Grunt test --> Currently the service has no tests, so we can remove this
  • Grunt ("precommit", ["jsbeautifier", "jshint"]);
  • Grunt test security
  • Grunt precommit , cocncurrent
  • Grunt db-reset
  • Use prettier instead of beautifier
  • Use Eslint instead of jshint

@UlisesGascon

I like your approach. In the near future we will add some Unit testing using Jest (I believe).

I paste here OLD jshint rules to be reviewed in the future, after we completly remove jshint package and the new eslint package is setup.

{
    "node": true, // Enable globals available when code is running inside of the NodeJS runtime environment.
    "browser": true, // Standard browser globals e.g. `window`, `document`.
    "es5": false, // Allow EcmaScript 5 syntax.
    "esnext": true, // Allow ES.next specific features such as `const` and `let`.
    "bitwise": false, // Prohibit bitwise operators (&, |, ^, etc.).
    "camelcase": true, // Permit only camelcase for `var` and `object indexes`.
    "curly": false, // Require {} for every new block or scope.
    "eqeqeq": true, // Require triple equals i.e. `===`.
    "immed": true, // Require immediate invocations to be wrapped in parens e.g. `( function(){}() );`
    "latedef": true, // Prohibit variable use before definition.
    "newcap": true, // Require capitalization of all constructor functions e.g. `new F()`.
    "noarg": true, // Prohibit use of `arguments.caller` and `arguments.callee`.
    "quotmark": "double", // Define quotes to string values.
    "regexp": true, // Prohibit `.` and `[^...]` in regular expressions.
    "undef": true, // Require all non-global variables be declared before they are used.
    "unused": false, // Warn unused variables.
    "strict": true, // Require `use strict` pragma in every file.
    "trailing": true, // Prohibit trailing whitespaces.
    "smarttabs": false, // Suppresses warnings about mixed tabs and spaces
    "globals": { // Globals variables.
    },
    "predef": [ // Extra globals.
        "define",
        "require",
        "exports",
        "module",
        "describe",
        "before",
        "beforeEach",
        "after",
        "afterEach",
        "it",
        "$",
        "Morris",
        "Tour"
    ],
    "indent": 4, // Specify indentation spacing
    "maxlen": 120, // Max line lenght
    "devel": false, // Allow development statements e.g. `console.log();`.
    "noempty": true // Prohibit use of empty blocks.
}