Skip to content

Commit 5633de2

Browse files
committed
Address feedback from shurcooL
1 parent 2e061e6 commit 5633de2

File tree

8 files changed

+183
-52
lines changed

8 files changed

+183
-52
lines changed

circle.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ dependencies:
1515

1616
test:
1717
override:
18-
- PATH=node_modules/.bin:$PATH go generate github.com/gopherjs/gopherjs/compiler/prelude
18+
- PATH=$PWD/node_modules/.bin:$PATH go generate github.com/gopherjs/gopherjs/compiler/prelude
1919
- diff -u <(echo -n) <(git status --porcelain)
2020
- diff -u <(echo -n) <(gofmt -d .)
2121
- go tool vet *.go # Go package in root directory.

compiler/prelude/genmin.go

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
// +build ignore
2+
3+
package main
4+
5+
import (
6+
"fmt"
7+
"io/ioutil"
8+
"log"
9+
"os/exec"
10+
"strings"
11+
12+
"github.com/gopherjs/gopherjs/compiler/prelude"
13+
)
14+
15+
func main() {
16+
if err := run(); err != nil {
17+
log.Fatalln(err)
18+
}
19+
}
20+
21+
func run() error {
22+
cmd := exec.Command("uglifyjs", "--config-file", "uglifyjs_options.json")
23+
cmd.Stdin = strings.NewReader(prelude.Prelude)
24+
25+
out, err := cmd.CombinedOutput()
26+
if err != nil {
27+
return fmt.Errorf("failed to run uglifyjs: %v\n%s", err, string(out))
28+
}
29+
30+
fn := "prelude_min.go"
31+
32+
safeOut := strings.Replace(string(out), "`", "\\0060", -1)
33+
34+
err = ioutil.WriteFile(fn, []byte(`// Code generated by regen. DO NOT EDIT.
35+
36+
package prelude
37+
38+
// Minified is an uglifyjs-minified version of Prelude
39+
const Minified = `+"`"+safeOut+"`\n"), 0644)
40+
41+
if err != nil {
42+
return fmt.Errorf("failed to write to %v: %v", fn, err)
43+
}
44+
45+
return nil
46+
}

compiler/prelude/prelude.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
package prelude
22

3-
//go:generate go run regen.go
3+
//go:generate go run genmin.go
44

5+
// Prelude is the GopherJS Javascript interop layer that is behind
6+
// the github.com/gopherjs/gopherjs/js package
57
const Prelude = prelude + numeric + types + goroutines + jsmapping
68

79
const prelude = `Error.stackTraceLimit = Infinity;

compiler/prelude/prelude_min.go

Lines changed: 22 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

compiler/prelude/regen.go

Lines changed: 0 additions & 34 deletions
This file was deleted.
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
{
2+
"compress": {
3+
"arrows": true,
4+
"booleans": true,
5+
"collapse_vars": true,
6+
"comparisons": true,
7+
"computed_props": true,
8+
"conditionals": true,
9+
"dead_code": true,
10+
"drop_console": false,
11+
"drop_debugger": true,
12+
"ecma": 5,
13+
"evaluate": true,
14+
"expression": false,
15+
"global_defs": {},
16+
"hoist_funs": false,
17+
"hoist_props": true,
18+
"hoist_vars": false,
19+
"ie8": false,
20+
"if_return": true,
21+
"inline": true,
22+
"join_vars": true,
23+
"keep_classnames": false,
24+
"keep_fargs": true,
25+
"keep_fnames": false,
26+
"keep_infinity": false,
27+
"loops": true,
28+
"negate_iife": true,
29+
"passes": 1,
30+
"properties": true,
31+
"pure_funcs": null,
32+
"pure_getters": "strict",
33+
"reduce_funcs": true,
34+
"reduce_vars": true,
35+
"sequences": true,
36+
"side_effects": true,
37+
"switches": true,
38+
"top_retain": null,
39+
"toplevel": false,
40+
"typeofs": true,
41+
"unsafe": false,
42+
"unsafe_Function": false,
43+
"unsafe_arrows": false,
44+
"unsafe_comps": false,
45+
"unsafe_math": false,
46+
"unsafe_methods": false,
47+
"unsafe_proto": false,
48+
"unsafe_regexp": false,
49+
"unsafe_undefined": false,
50+
"unused": true,
51+
"warnings": false
52+
},
53+
"mangle": {
54+
"eval": false,
55+
"ie8": false,
56+
"keep_classnames": false,
57+
"keep_fnames": false,
58+
"properties": false,
59+
"reserved": [],
60+
"safari10": false,
61+
"toplevel": false
62+
},
63+
"output": {
64+
"ascii_only": false,
65+
"beautify": false,
66+
"bracketize": false,
67+
"comments": {},
68+
"ecma": 5,
69+
"ie8": false,
70+
"indent_level": 4,
71+
"indent_start": 0,
72+
"inline_script": true,
73+
"keep_quoted_props": false,
74+
"max_line_len": false,
75+
"preamble": null,
76+
"preserve_line": false,
77+
"quote_keys": false,
78+
"quote_style": 0,
79+
"safari10": false,
80+
"semicolons": true,
81+
"shebang": true,
82+
"source_map": null,
83+
"webkit": false,
84+
"width": 80,
85+
"wrap_iife": false
86+
},
87+
"parse": {
88+
"bare_returns": false,
89+
"ecma": 8,
90+
"expression": false,
91+
"filename": null,
92+
"html5_comments": true,
93+
"shebang": true,
94+
"strict": false,
95+
"toplevel": null
96+
},
97+
"wrap": false
98+
}

package-lock.json

Lines changed: 12 additions & 14 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "gopherjs",
33
"devDependencies": {
4-
"uglify-es": "^3.3.9"
4+
"uglify-es": "3.3.9"
55
}
66
}

0 commit comments

Comments
 (0)