mirror of
https://github.com/projectdiscovery/nuclei.git
synced 2025-12-29 18:53:01 +00:00
* rebase js-layer PR from @ice3man543 * package restructuring * working * fix duplicated event & matcher status * fix lint error * fix response field * add new functions * multiple minor improvements * fix incorrect stats in js protocol * sort output metadata in cli * remove temp files * remove dead code * add unit and integration test * fix lint error * add jsdoclint using llm * fix error in test * add js lint using llm * generate docs of libs * llm lint * remove duplicated docs * update generated docs * update prompt in doclint * update docs * temp disable version check test * fix unit test and add retry * fix panic in it * update and move jsdocs * updated jsdocs * update docs * update container platform in test * dir restructure and adding docs * add api_reference and remove markdown docs * fix imports * add javascript design and contribution docs * add js protocol documentation * update integration test and docs * update doc ext mdx->md * minor update to docs * new integration test and more * move go libs and add docs * gen new net docs and more * final docs update * add new devtool * use fastdialer * fix build fail * use fastdialer + network sandbox support * add reserved keyword 'Port' * update Port to new syntax * misc update * always enable templatectx in js protocol * move docs to 'js-proto-docs' repo * remove scrapefuncs binary --------- Co-authored-by: sandeep <8293321+ehsandeep@users.noreply.github.com>
48 lines
1.2 KiB
Cheetah
48 lines
1.2 KiB
Cheetah
package {{.PackageName}}
|
|
|
|
{{$pkgName:=(printf "lib_%s" .PackageName) -}}
|
|
|
|
import (
|
|
{{$pkgName}} "{{.PackagePath}}"
|
|
|
|
"github.com/dop251/goja"
|
|
"github.com/projectdiscovery/nuclei/v2/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}}
|
|
|
|
// Types (value type)
|
|
{{- range $objName, $objDefine := .PackageTypes}}
|
|
"{{$objName}}": {{printf "func() %s.%s { return %s.%s{} }" $pkgName $objDefine $pkgName $objDefine}},
|
|
{{- end}}
|
|
|
|
// Types (pointer type)
|
|
{{range $objName, $objDefine := .PackageTypes}}
|
|
{{- $newObjName := printf "%s%s" "New" $objName -}}
|
|
{{- if not (exist $pkgFuncs $newObjName) -}}
|
|
"{{$newObjName}}": {{printf "func() *%s.%s { return &%s.%s{} }" $pkgName $objDefine $pkgName $objDefine}},
|
|
{{end -}}
|
|
{{- end -}}
|
|
},
|
|
).Register()
|
|
}
|
|
|
|
func Enable(runtime *goja.Runtime) {
|
|
module.Enable(runtime)
|
|
} |