|
# Package
|
|
|
|
version = "0.1.0"
|
|
author = "molodetz"
|
|
description = "Universal source code validation framework - validates source files across all common languages with tokenizer-based analysis, auto-detection, and JSON diagnostics."
|
|
license = "MIT"
|
|
srcDir = "src"
|
|
binDir = "bin"
|
|
bin = @["nimcheck"]
|
|
|
|
# Dependencies
|
|
requires "nim >= 2.0.0"
|
|
|
|
import std/os
|
|
|
|
# Tasks
|
|
proc runTestFile(fileName: string, extraFlags: string = "") =
|
|
let testPath = thisDir() / "tests" / fileName
|
|
exec "nim c " & extraFlags & " -r \"" & testPath & "\""
|
|
|
|
task test, "Run all tests":
|
|
runTestFile("test_all.nim")
|
|
|
|
task test_nim, "Run Nim-specific tests":
|
|
runTestFile("test_nim.nim")
|
|
|
|
task test_python, "Run Python-specific tests":
|
|
runTestFile("test_python.nim")
|
|
|
|
task test_bash, "Run Bash-specific tests":
|
|
runTestFile("test_bash.nim")
|
|
|
|
task test_js, "Run JavaScript-specific tests":
|
|
runTestFile("test_javascript.nim")
|
|
|
|
task test_php, "Run PHP-specific tests":
|
|
runTestFile("test_php.nim")
|
|
|
|
task test_html, "Run HTML-specific tests":
|
|
runTestFile("test_html.nim")
|
|
|
|
task test_jinja, "Run Jinja-specific tests":
|
|
runTestFile("test_jinja.nim")
|
|
|
|
task test_json, "Run JSON-specific tests":
|
|
runTestFile("test_json_exhaustive.nim")
|
|
|
|
task test_yaml, "Run YAML-specific tests":
|
|
runTestFile("test_yaml_exhaustive.nim")
|
|
|
|
task test_toml, "Run TOML-specific tests":
|
|
runTestFile("test_toml_exhaustive.nim")
|
|
|
|
task test_mixed, "Run mixed file tests":
|
|
runTestFile("test_mixed.nim")
|
|
|
|
task debug, "Run tests in debug mode":
|
|
runTestFile("test_all.nim", "-d:nimcheckDebug")
|
|
|
|
# End
|