jspacker - examples_test.go
1 package jspacker_test
2
3 import (
4 "fmt"
5 "io/fs"
6
7 "vimagination.zapto.org/javascript"
8 "vimagination.zapto.org/jspacker"
9 "vimagination.zapto.org/parser"
10 )
11
12 func Example() {
13 files := map[string]string{
14 "/main.js": `import fn from './lib/utils.js'; const v = 2; console.log(v + fn())`,
15 "/lib/utils.js": "export default () => 1;",
16 }
17 loader := func(file string) (*javascript.Module, error) {
18 src, ok := files[file]
19 if !ok {
20 return nil, fs.ErrNotExist
21 }
22
23 tk := parser.NewStringTokeniser(src)
24
25 return javascript.ParseModule(&tk)
26 }
27
28 script, err := jspacker.Package(jspacker.File("/main.js"), jspacker.NoExports, jspacker.Loader(loader))
29 if err != nil {
30 fmt.Println(err)
31 } else {
32 fmt.Printf("%s", script)
33 }
34
35 // Output:
36 // const b_default = () => 1;
37 //
38 // const a_v = 2;
39 //
40 // console.log(a_v + b_default());
41 }
42