package buildstep import ( "reflect" "testing" ) // A TypeScript bundle's entrypoint x.js is started as x.serve.mjs beside it (novox/hq ADR 0193), the rule mesh-build-node // and build-agent both apply; an entrypoint that is not .js gets none, and another language gets none. func TestATypeScriptEntrypointIsStartedByTheLauncherBesideIt(t *testing.T) { got := Launchers("typescript", []string{"index.js", "tools/x.js", "data.json"}) want := map[string]string{"index.js": "index.serve.mjs", "tools/x.js": "tools/x.serve.mjs"} if !reflect.DeepEqual(got, want) { t.Fatalf("Launchers(typescript) = %v, want %v", got, want) } if got := Launchers("go", []string{"index.js"}); len(got) != 0 { t.Fatalf("a Go bundle got launchers: %v", got) } if got := Launchers("typescript", nil); len(got) != 0 { t.Fatalf("a bundle with no entrypoint got launchers: %v", got) } }