Skip to content

Commit

Permalink
js: Support more recent targets with js.Build / esbuild
Browse files Browse the repository at this point in the history
Closes #12575
  • Loading branch information
bep committed Jun 8, 2024
1 parent b57306d commit 1cdd3d0
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 2 deletions.
6 changes: 6 additions & 0 deletions resources/resource_transformers/js/options.go
Original file line number Diff line number Diff line change
Expand Up @@ -342,6 +342,12 @@ func toBuildOptions(opts Options) (buildOptions api.BuildOptions, err error) {
target = api.ES2019
case "es2020":
target = api.ES2020
case "es2021":
target = api.ES2021
case "es2022":
target = api.ES2022
case "es2023":
target = api.ES2023
default:
err = fmt.Errorf("invalid target: %q", opts.Target)
return
Expand Down
36 changes: 34 additions & 2 deletions resources/resource_transformers/js/options_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -136,8 +136,10 @@ func TestToBuildOptions(t *testing.T) {
},
})

opts, err = toBuildOptions(Options{mediaType: media.Builtin.JavascriptType,
JSX: "automatic", JSXImportSource: "preact"})
opts, err = toBuildOptions(Options{
mediaType: media.Builtin.JavascriptType,
JSX: "automatic", JSXImportSource: "preact",
})
c.Assert(err, qt.IsNil)
c.Assert(opts, qt.DeepEquals, api.BuildOptions{
Bundle: true,
Expand All @@ -151,6 +153,36 @@ func TestToBuildOptions(t *testing.T) {
})
}

func TestToBuildOptionsTarget(t *testing.T) {
c := qt.New(t)

for _, test := range []struct {
target string
expect api.Target
}{
{"es2015", api.ES2015},
{"es2016", api.ES2016},
{"es2017", api.ES2017},
{"es2018", api.ES2018},
{"es2019", api.ES2019},
{"es2020", api.ES2020},
{"es2021", api.ES2021},
{"es2022", api.ES2022},
{"es2023", api.ES2023},
{"", api.ESNext},
{"esnext", api.ESNext},
} {
c.Run(test.target, func(c *qt.C) {
opts, err := toBuildOptions(Options{
Target: test.target,
mediaType: media.Builtin.JavascriptType,
})
c.Assert(err, qt.IsNil)
c.Assert(opts.Target, qt.Equals, test.expect)
})
}
}

func TestResolveComponentInAssets(t *testing.T) {
c := qt.New(t)

Expand Down

0 comments on commit 1cdd3d0

Please sign in to comment.