diff --git a/internal/stack/stack.go b/internal/stack/stack.go index f70be93..eb693ad 100644 --- a/internal/stack/stack.go +++ b/internal/stack/stack.go @@ -324,7 +324,7 @@ func detectJSLibs(r *Result, html string) { {"Livewire", []string{"livewire/livewire", " wire:"}}, {"Next.js", []string{"__next_data__", "/_next/"}}, {"Nuxt", []string{"__nuxt", "/_nuxt/"}}, - {"Preact", []string{"preact.min.js", "preact/"}}, + {"Preact", []string{"preact.min.js", "preact/hooks", "preact/compat", "/preact@"}}, {"React", []string{"react.production.min.js", "react-dom", "data-reactroot", "_reactlistening"}}, {"Remix", []string{"__remix"}}, {"Solid.js", []string{"solid-js", "_$createcomponent"}}, diff --git a/internal/stack/stack_test.go b/internal/stack/stack_test.go index 38dcb1a..b635519 100644 --- a/internal/stack/stack_test.go +++ b/internal/stack/stack_test.go @@ -185,6 +185,16 @@ func TestDetectJSLibs(t *testing.T) { html: ``, want: []string{"Next.js"}, }, + { + name: "Preact from submodule import", + html: ``, + want: []string{"Preact"}, + }, + { + name: "Preact not detected from a tag URL", + html: `#Preact`, + want: nil, + }, { name: "no false positives", html: `

Just a simple page

`,