# 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