mirror of
https://github.com/projectdiscovery/nuclei.git
synced 2025-12-25 05:25:24 +00:00
* introduce typescript files generation using ast + tmpl * feat valid ts with scraping * feat remove old logic + tsdocs for all modules * fix ikev and related bugs * typescript docs for js modules * lint,build + ldap realm fix * go mod tidy * fix named imports ast parsing * fix ast code generation errors * complete support for ts files generation * support go global/const in ts docs * updated template * feat: typescript using go code generation * nuke jsdoc generator * update generated ts dir structure * fix multifile ts gen issue * fix panic in ts code gen * fix test * update docs of js libs * feat: add doc+example for every js class,function,method * fix missing quotes in ikev example --------- Co-authored-by: Sandeep Singh <sandeep@projectdiscovery.io>
45 lines
984 B
Cheetah
45 lines
984 B
Cheetah
package {{.PackageName}}
|
|
|
|
{{$pkgName:=(printf "lib_%s" .PackageName) -}}
|
|
|
|
import (
|
|
{{$pkgName}} "{{.PackagePath}}"
|
|
|
|
"github.com/dop251/goja"
|
|
"github.com/projectdiscovery/nuclei/v3/pkg/js/gojs"
|
|
)
|
|
|
|
var (
|
|
module = gojs.NewGojaModule("nuclei/{{.PackageName}}")
|
|
)
|
|
|
|
func init() {
|
|
module.Set(
|
|
gojs.Objects{
|
|
{{- $pkgFuncs:=.PackageFuncs}}
|
|
// Functions
|
|
{{- range $objName, $objDefine := .PackageFuncs}}
|
|
"{{$objName}}": {{$pkgName}}.{{$objDefine}},
|
|
{{- end}}
|
|
|
|
// Var and consts
|
|
{{- range $objName, $objDefine := .PackageVars}}
|
|
"{{$objName}}": {{$pkgName}}.{{$objDefine}},
|
|
{{- end}}
|
|
|
|
// Objects / Classes
|
|
{{- range $objName, $objDefine := .PackageTypes}}
|
|
{{- if $objDefine}}
|
|
"{{$objName}}": {{$pkgName}}.{{$objDefine}},
|
|
{{- else}}
|
|
"{{$objName}}": gojs.GetClassConstructor[{{$pkgName}}.{{$objName}}](&{{$pkgName}}.{{$objName}}{}),
|
|
{{- end}}
|
|
{{- end}}
|
|
|
|
},
|
|
).Register()
|
|
}
|
|
|
|
func Enable(runtime *goja.Runtime) {
|
|
module.Enable(runtime)
|
|
} |