The rule mesh-build-node and build-agent each keep their own copy of: x.js is started by x.serve.mjs beside it; other languages get none (ADR 0193).
23 lines
876 B
Go
23 lines
876 B
Go
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)
|
|
}
|
|
}
|