From 4e030bf95b60d846d95185eb8bcc7ef2b23cc5ac Mon Sep 17 00:00:00 2001
From: DJj123dj <80536295+DJj123dj@users.noreply.github.com>
Date: Sun, 1 Sep 2024 18:38:08 +0200
Subject: [PATCH] Fixed config checker bugs & added new flags
---
README.md | 19 +++++--
index.js | 82 ++++++++++++++---------------
src/core/api/defaults/checker.ts | 5 +-
src/core/api/defaults/flag.ts | 2 +
src/core/api/modules/checker.ts | 14 +++--
src/data/framework/checkerLoader.ts | 1 +
src/data/framework/flagLoader.ts | 2 +
7 files changed, 76 insertions(+), 49 deletions(-)
diff --git a/README.md b/README.md
index a6252d3..67d34c6 100644
--- a/README.md
+++ b/README.md
@@ -80,9 +80,22 @@ The team behind Open Ticket!
### ❤️ Sponsors
A big thanks to all our sponsors! Without them, it wouldn't be possible to create this project!
-|
|
|
|
-|----|-|-|
-|**[SpyEye](https://github.com/SpyEye2)**|**[DOSEV5](https://github.com/DOSEV5)**|**[Mods HD](https://github.com/mods-hd)**|
+
![]() |
+![]() |
+
| DOSEV5 | +roppl3r | +
|---|
+
+
### 💬 Translators
|Language |Maintainer (discord name) |Status |
diff --git a/index.js b/index.js
index a947651..fd4d6a3 100644
--- a/index.js
+++ b/index.js
@@ -3,48 +3,48 @@ const fs = require("fs")
const ts = require("typescript")
const nodepath = require('path')
-//REMOVE EXISTING BUILDS
-console.log("OT: Removing Prebuilds...")
-fs.rmSync("./dist",{recursive:true,force:true})
+if (!process.argv.includes("--no-compile")){
+ //REMOVE EXISTING BUILDS
+ console.log("OT: Removing Prebuilds...")
+ fs.rmSync("./dist",{recursive:true,force:true})
-//COMPILE TYPESCRIPT
-console.log("OT: Compiling Typescript...")
-const configPath = nodepath.resolve('./tsconfig.json')
-const configFile = ts.readConfigFile(configPath,ts.sys.readFile)
+ //COMPILE TYPESCRIPT
+ console.log("OT: Compiling Typescript...")
+ const configPath = nodepath.resolve('./tsconfig.json')
+ const configFile = ts.readConfigFile(configPath,ts.sys.readFile)
-//check for tsconfig errors
-if (configFile.error){
- const message = ts.formatDiagnosticsWithColorAndContext([configFile.error],ts.createCompilerHost({}))
- console.error(message)
- process.exit(1)
+ //check for tsconfig errors
+ if (configFile.error){
+ const message = ts.formatDiagnosticsWithColorAndContext([configFile.error],ts.createCompilerHost({}))
+ console.error(message)
+ process.exit(1)
+ }
+
+ //parse tsconfig file
+ const parsedConfig = ts.parseJsonConfigFileContent(configFile.config,ts.sys,nodepath.dirname(configPath))
+
+ //create program/compiler
+ const program = ts.createProgram({
+ rootNames:parsedConfig.fileNames,
+ options:parsedConfig.options
+ })
+
+ //emit all compiled files
+ const emitResult = program.emit()
+
+ //print emit errors/warnings (type errors)
+ const allDiagnostics = ts.getPreEmitDiagnostics(program).concat(emitResult.diagnostics)
+ const formattedDiagnostics = ts.formatDiagnosticsWithColorAndContext(allDiagnostics, ts.createCompilerHost(parsedConfig.options))
+ console.log(formattedDiagnostics)
+
+ if (emitResult.emitSkipped || allDiagnostics.find((d) => d.category == ts.DiagnosticCategory.Error || d.category == ts.DiagnosticCategory.Warning)){
+ console.log("OT: Compilation Failed!")
+ process.exit(1)
+ }
}
-//parse tsconfig file
-const parsedConfig = ts.parseJsonConfigFileContent(configFile.config,ts.sys,nodepath.dirname(configPath))
-
-//create program/compiler
-const program = ts.createProgram({
- rootNames:parsedConfig.fileNames,
- options:parsedConfig.options
-})
-
-//emit all compiled files
-const emitResult = program.emit()
-
-//print emit errors/warnings (type errors)
-const allDiagnostics = ts.getPreEmitDiagnostics(program).concat(emitResult.diagnostics)
-const formattedDiagnostics = ts.formatDiagnosticsWithColorAndContext(allDiagnostics, ts.createCompilerHost(parsedConfig.options))
-console.log(formattedDiagnostics)
-
-//run with code
-if (emitResult.emitSkipped){
- console.log("OT: Compilation Failed!")
- process.exit(1)
-}else{
- console.log("OT: Compilation Succeeded!")
- if (process.argv.includes("-%-compile")) process.exit(0) //exit when only compile is required!
-
- //START THE BOT
- console.log("OT: Starting Bot!")
- require("./dist/src/index.js")
-}
\ No newline at end of file
+//START BOT
+console.log("OT: Compilation Succeeded!")
+if (process.argv.includes("--compile-only")) process.exit(0) //exit when only compile is required!
+console.log("OT: Starting Bot!")
+require("./dist/src/index.js")
\ No newline at end of file
diff --git a/src/core/api/defaults/checker.ts b/src/core/api/defaults/checker.ts
index 69e6d53..e12773d 100644
--- a/src/core/api/defaults/checker.ts
+++ b/src/core/api/defaults/checker.ts
@@ -345,6 +345,7 @@ export class ODCheckerTranslationRegister_Default extends ODCheckerTranslationRe
*/
export interface ODCheckerFunctionManagerIds_Default {
"openticket:unused-options":ODCheckerFunction,
+ "openticket:unused-questions":ODCheckerFunction,
"openticket:dropdown-options":ODCheckerFunction
}
@@ -355,14 +356,14 @@ export interface ODCheckerFunctionManagerIds_Default {
* This default class is made for the global variable `openticket.checkers.functions`!
*/
export class ODCheckerFunctionManager_Default extends ODCheckerFunctionManager {
- get