@sap/di.code-validation.core

1.0.17 • Public • Published

di.code-validation.core

code validation controller for DI. returning issues in code according to validators configured

install

npm install di.code-validation.core --save-dev

CodeValidation API

executeForProject(projectPath, workspaceRootName, configuration, callbackFunction)

basePath - full path for the validated folder location

options - an object to set additional options for execution and return values processing.

options.pathPrefix - validation issues paths are relative to the project path. _pathPrefix enable to set constant prefix to the returned path.

configuration - configuration of the validators to execute. object of type ValidationConfig

callbackFunction - callback of results. (TBD: add also failure for callback?)

ValidationConfig structure:

  {
      "validators" : {
          "validator1" : {
              "extensions" : ['.js', '.xsjs'],
              "filters": {
                  "levels" :["error", "warning", "info"]
              }
          },
          "validator2" : {
              "extensions" : ['.new'],
              "filters": {
                  "levels" :["error"]
              }
          }
          ....
      }
  }

result structure:

{
    "validator_id" : {
        "issues" : {
            "relative_file_path" : [
                {
                    "category" : "Possible Error",
                    "checker" : "validator checker name",
                    "column" : 1,
                    "line" : 14,
                    "message" : "some message",
                    "path" : "relative_file_path",
                    "ruleId" : "optional name of rule",
                    "severity" : "error"
                }
                ....
            ]
        }
        ....
    }
}

validator API

Each validator should implement following API:

  validateFiles(validationMetadata, fileResources)

validationMetadata - contains following methods:

  getRootPath() - workspaceRootName

  getLevels() - array of levels of issues to return

fileResources - array of files to validate (TBD: enable validation by extension of regular expression)

  getPath() - returns the file full path
  
  getText() - returns the text in the file

run validation from command line

node di.code-validation.core\bin\run.js "project file location" "client workspace root path"

--c "configuration file location" - file with validation configuration. if not supplied defaults used.

Example for configuration file:

  var configParam = { 
    "validators" : { 
      "di.code-validation.js" : { 
          "extensions" : [".js", ".xsjs"], 
          "filters": { 
            "levels" :["error", "warning", "info"] 
            } 
          } 
        } 
      };
  module.exports =  configParam;

--l "log file" - location of the outpul log file. default is the execution directory

default configuration:

  validators: {
    "di.code-validation.js": {
      extensions: [".js", ".xsjs"]
    },
    "di.code-validation.xml": {
      extensions: [ ".xml"]
    }
  }

Readme

Keywords

none

Package Sidebar

Install

npm i @sap/di.code-validation.core

Weekly Downloads

32,392

Version

1.0.17

License

none

Unpacked Size

29.2 kB

Total Files

18

Last publish

Collaborators

  • sap_extncrepos