hypernova 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.travis.yml +7 -1
- data/CHANGELOG.md +6 -0
- data/hypernova.gemspec +7 -1
- data/lib/hypernova/plugins/development_mode_plugin.rb +20 -4
- data/lib/hypernova/version.rb +1 -1
- metadata +20 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6fd596f52c7679e63d8ecbbcf30bd3ed2eb73995
|
4
|
+
data.tar.gz: 9c299ef53f79f1fc92a63656af9f24e6caa4c8de
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 732a397cc928541c490294987dae78fbbc8918e7d02ac233a2645c9ca2be7cae7c343837138495306c144204e89257531e8b45d7e892d076aad4b688aa967072
|
7
|
+
data.tar.gz: a885eadc1a0c4a61ddc66f49f786db530f166f2bf3df46a665c1fb7e4158b3726df4bb397a90003cc5a24bde0ea2613e4b81cf93776576888fa0a79eba49851e
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -5,6 +5,12 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
|
5
5
|
|
6
6
|
## [Unreleased]
|
7
7
|
|
8
|
+
## [1.2.0] - 2017-02-13
|
9
|
+
|
10
|
+
### Changed
|
11
|
+
|
12
|
+
- Developer plugin will now display Hypernova error stack traces in monospaced font, instead of as list items. HTML-escape stack traces.
|
13
|
+
|
8
14
|
## [1.1.0] - 2016-11-10
|
9
15
|
|
10
16
|
### Added
|
data/hypernova.gemspec
CHANGED
@@ -38,7 +38,13 @@ Gem::Specification.new do |spec|
|
|
38
38
|
spec.add_development_dependency "rspec", "~> 3.4"
|
39
39
|
spec.add_development_dependency "simplecov", "~> 0.11"
|
40
40
|
spec.add_development_dependency "pry", "~> 0.10"
|
41
|
-
|
41
|
+
# this is pinned because ruby devs hate semver
|
42
|
+
# see https://github.com/bblimke/webmock/issues/667
|
43
|
+
spec.add_development_dependency "webmock", "=2.1.0"
|
44
|
+
# below works around travis-ci requiring github-pages-health-check, whose subdep public_suffix
|
45
|
+
# stopped being compatible with ruby 1.9
|
46
|
+
# see https://github.com/weppos/publicsuffix-ruby/issues/127
|
47
|
+
spec.add_development_dependency "public_suffix", "=1.4.6"
|
42
48
|
|
43
49
|
spec.add_runtime_dependency "faraday", "~> 0.8"
|
44
50
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'erb'
|
2
|
+
|
1
3
|
class DevelopmentModePlugin
|
2
4
|
def after_response(current_response, _)
|
3
5
|
current_response.each do |name, result|
|
@@ -12,16 +14,30 @@ class DevelopmentModePlugin
|
|
12
14
|
<div style="background-color: #ff5a5f; color: #fff; padding: 12px;">
|
13
15
|
<p style="margin: 0">
|
14
16
|
<strong>Development Warning!</strong>
|
15
|
-
The <code>#{name}</code> component failed to render with Hypernova. Error stack:
|
17
|
+
The <code>#{html_escape(name)}</code> component failed to render with Hypernova. Error stack:
|
16
18
|
</p>
|
17
|
-
|
18
|
-
<li>#{stack_trace(result).join("</li><li>")}</li>
|
19
|
-
</ul>
|
19
|
+
#{ render_stack_trace(stack_trace(result)) }
|
20
20
|
</div>
|
21
21
|
#{result["html"]}
|
22
22
|
HTML
|
23
23
|
end
|
24
24
|
|
25
|
+
def render_stack_trace(trace)
|
26
|
+
# Put trace that was split in Hypernova back together, verbatim. Sometimes
|
27
|
+
# splitting babel errors makes them more confusing.
|
28
|
+
# https://github.com/airbnb/hypernova/blob/master/src/utils/BatchManager.js
|
29
|
+
text = html_escape(trace.join("\n "))
|
30
|
+
<<-HTML
|
31
|
+
<div
|
32
|
+
style="white-space: pre-wrap; font-family: monospace; font-size: .95em;"
|
33
|
+
>#{text}</div>
|
34
|
+
HTML
|
35
|
+
end
|
36
|
+
|
37
|
+
def html_escape(string)
|
38
|
+
::ERB::Util.html_escape(string)
|
39
|
+
end
|
40
|
+
|
25
41
|
def stack_trace(result)
|
26
42
|
result["error"]["stack"] || []
|
27
43
|
end
|
data/lib/hypernova/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hypernova
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jake Teton-Landis
|
@@ -12,7 +12,7 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: exe
|
14
14
|
cert_chain: []
|
15
|
-
date:
|
15
|
+
date: 2017-02-13 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: json
|
@@ -88,16 +88,30 @@ dependencies:
|
|
88
88
|
name: webmock
|
89
89
|
requirement: !ruby/object:Gem::Requirement
|
90
90
|
requirements:
|
91
|
-
- -
|
91
|
+
- - '='
|
92
92
|
- !ruby/object:Gem::Version
|
93
|
-
version:
|
93
|
+
version: 2.1.0
|
94
94
|
type: :development
|
95
95
|
prerelease: false
|
96
96
|
version_requirements: !ruby/object:Gem::Requirement
|
97
97
|
requirements:
|
98
|
-
- -
|
98
|
+
- - '='
|
99
|
+
- !ruby/object:Gem::Version
|
100
|
+
version: 2.1.0
|
101
|
+
- !ruby/object:Gem::Dependency
|
102
|
+
name: public_suffix
|
103
|
+
requirement: !ruby/object:Gem::Requirement
|
104
|
+
requirements:
|
105
|
+
- - '='
|
106
|
+
- !ruby/object:Gem::Version
|
107
|
+
version: 1.4.6
|
108
|
+
type: :development
|
109
|
+
prerelease: false
|
110
|
+
version_requirements: !ruby/object:Gem::Requirement
|
111
|
+
requirements:
|
112
|
+
- - '='
|
99
113
|
- !ruby/object:Gem::Version
|
100
|
-
version:
|
114
|
+
version: 1.4.6
|
101
115
|
- !ruby/object:Gem::Dependency
|
102
116
|
name: faraday
|
103
117
|
requirement: !ruby/object:Gem::Requirement
|