browsable 0.1.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 +7 -0
- data/CHANGELOG.md +12 -0
- data/README.md +240 -0
- data/bin/update-bcd-snapshot +65 -0
- data/data/bcd-snapshot.json +341 -0
- data/exe/browsable +6 -0
- data/lib/browsable/analyzers/base.rb +74 -0
- data/lib/browsable/analyzers/css.rb +82 -0
- data/lib/browsable/analyzers/erb.rb +258 -0
- data/lib/browsable/analyzers/html.rb +11 -0
- data/lib/browsable/analyzers/javascript.rb +81 -0
- data/lib/browsable/cli.rb +333 -0
- data/lib/browsable/config.rb +163 -0
- data/lib/browsable/doctor.rb +189 -0
- data/lib/browsable/finding.rb +41 -0
- data/lib/browsable/formatters/github.rb +50 -0
- data/lib/browsable/formatters/human.rb +162 -0
- data/lib/browsable/formatters/json.rb +20 -0
- data/lib/browsable/policy_detector.rb +267 -0
- data/lib/browsable/policy_scanner.rb +73 -0
- data/lib/browsable/railtie.rb +16 -0
- data/lib/browsable/rake_tasks.rb +28 -0
- data/lib/browsable/report.rb +139 -0
- data/lib/browsable/sources/base.rb +45 -0
- data/lib/browsable/sources/builds.rb +10 -0
- data/lib/browsable/sources/importmap.rb +98 -0
- data/lib/browsable/sources/javascripts.rb +10 -0
- data/lib/browsable/sources/public_assets.rb +9 -0
- data/lib/browsable/sources/stylesheets.rb +9 -0
- data/lib/browsable/sources/views.rb +9 -0
- data/lib/browsable/target.rb +175 -0
- data/lib/browsable/version.rb +5 -0
- data/lib/browsable.rb +47 -0
- data/lib/generators/browsable/install/install_generator.rb +82 -0
- data/lib/generators/browsable/install/templates/browsable.yml.tt +51 -0
- metadata +185 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# config/browsable.yml
|
|
2
|
+
#
|
|
3
|
+
# Configuration for the `browsable` gem. Every option below is optional —
|
|
4
|
+
# delete this file entirely and `browsable` will use sensible defaults.
|
|
5
|
+
# Uncomment any line to override.
|
|
6
|
+
<% if manual_query -%>
|
|
7
|
+
|
|
8
|
+
# A manual target was requested when this file was generated:
|
|
9
|
+
target:
|
|
10
|
+
source: manual
|
|
11
|
+
manual_query: "<%= manual_query %>"
|
|
12
|
+
<% end -%>
|
|
13
|
+
<% unless minimal -%>
|
|
14
|
+
|
|
15
|
+
# target:
|
|
16
|
+
# # How browsable decides which browsers your app must support.
|
|
17
|
+
# # Options: allow_browsers | browserslist | manual
|
|
18
|
+
# # Default: allow_browsers (reads ApplicationController's allow_browser policy)
|
|
19
|
+
# #
|
|
20
|
+
# <%= detected_comment %>
|
|
21
|
+
# source: allow_browsers
|
|
22
|
+
#
|
|
23
|
+
# # Only used when source: manual
|
|
24
|
+
# manual_query: "defaults"
|
|
25
|
+
|
|
26
|
+
# sources:
|
|
27
|
+
# # Globs are relative to the project root. The values shown are the defaults.
|
|
28
|
+
# stylesheets: ["app/assets/stylesheets/**/*.{css,scss}"]
|
|
29
|
+
# builds: ["app/assets/builds/**/*.css"]
|
|
30
|
+
# views: ["app/views/**/*.{html.erb,turbo_stream.erb}", "app/components/**/*.{rb,html.erb}"]
|
|
31
|
+
# javascript: ["app/javascript/**/*.{js,mjs}"]
|
|
32
|
+
# importmap: true # resolve config/importmap.rb pins and audit pinned JS
|
|
33
|
+
# public: ["public/**/*.{html,css,js}"]
|
|
34
|
+
# custom: [] # extra globs to fold into the audit
|
|
35
|
+
|
|
36
|
+
# severity:
|
|
37
|
+
# # Map each finding category to error | warning | info.
|
|
38
|
+
# baseline_newly_available: warning # Baseline feature, only recently so
|
|
39
|
+
# baseline_limited: error # limited availability (not Baseline)
|
|
40
|
+
# below_target: error # unsupported by a browser you target
|
|
41
|
+
|
|
42
|
+
# ignore:
|
|
43
|
+
# features: [] # e.g. ["css.properties.has", "html.global_attributes.popover"]
|
|
44
|
+
# files: [] # globs of files to skip entirely
|
|
45
|
+
<% else -%>
|
|
46
|
+
|
|
47
|
+
# target:
|
|
48
|
+
# sources:
|
|
49
|
+
# severity:
|
|
50
|
+
# ignore:
|
|
51
|
+
<% end -%>
|
metadata
ADDED
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: browsable
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.1.0
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Roman Hood
|
|
8
|
+
bindir: exe
|
|
9
|
+
cert_chain: []
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
|
+
dependencies:
|
|
12
|
+
- !ruby/object:Gem::Dependency
|
|
13
|
+
name: herb
|
|
14
|
+
requirement: !ruby/object:Gem::Requirement
|
|
15
|
+
requirements:
|
|
16
|
+
- - ">="
|
|
17
|
+
- !ruby/object:Gem::Version
|
|
18
|
+
version: '0.1'
|
|
19
|
+
type: :runtime
|
|
20
|
+
prerelease: false
|
|
21
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
22
|
+
requirements:
|
|
23
|
+
- - ">="
|
|
24
|
+
- !ruby/object:Gem::Version
|
|
25
|
+
version: '0.1'
|
|
26
|
+
- !ruby/object:Gem::Dependency
|
|
27
|
+
name: pastel
|
|
28
|
+
requirement: !ruby/object:Gem::Requirement
|
|
29
|
+
requirements:
|
|
30
|
+
- - "~>"
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: '0.8'
|
|
33
|
+
type: :runtime
|
|
34
|
+
prerelease: false
|
|
35
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
36
|
+
requirements:
|
|
37
|
+
- - "~>"
|
|
38
|
+
- !ruby/object:Gem::Version
|
|
39
|
+
version: '0.8'
|
|
40
|
+
- !ruby/object:Gem::Dependency
|
|
41
|
+
name: prism
|
|
42
|
+
requirement: !ruby/object:Gem::Requirement
|
|
43
|
+
requirements:
|
|
44
|
+
- - ">="
|
|
45
|
+
- !ruby/object:Gem::Version
|
|
46
|
+
version: '1.0'
|
|
47
|
+
type: :runtime
|
|
48
|
+
prerelease: false
|
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
50
|
+
requirements:
|
|
51
|
+
- - ">="
|
|
52
|
+
- !ruby/object:Gem::Version
|
|
53
|
+
version: '1.0'
|
|
54
|
+
- !ruby/object:Gem::Dependency
|
|
55
|
+
name: thor
|
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
|
57
|
+
requirements:
|
|
58
|
+
- - "~>"
|
|
59
|
+
- !ruby/object:Gem::Version
|
|
60
|
+
version: '1.3'
|
|
61
|
+
type: :runtime
|
|
62
|
+
prerelease: false
|
|
63
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
64
|
+
requirements:
|
|
65
|
+
- - "~>"
|
|
66
|
+
- !ruby/object:Gem::Version
|
|
67
|
+
version: '1.3'
|
|
68
|
+
- !ruby/object:Gem::Dependency
|
|
69
|
+
name: zeitwerk
|
|
70
|
+
requirement: !ruby/object:Gem::Requirement
|
|
71
|
+
requirements:
|
|
72
|
+
- - "~>"
|
|
73
|
+
- !ruby/object:Gem::Version
|
|
74
|
+
version: '2.6'
|
|
75
|
+
type: :runtime
|
|
76
|
+
prerelease: false
|
|
77
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
78
|
+
requirements:
|
|
79
|
+
- - "~>"
|
|
80
|
+
- !ruby/object:Gem::Version
|
|
81
|
+
version: '2.6'
|
|
82
|
+
- !ruby/object:Gem::Dependency
|
|
83
|
+
name: rake
|
|
84
|
+
requirement: !ruby/object:Gem::Requirement
|
|
85
|
+
requirements:
|
|
86
|
+
- - "~>"
|
|
87
|
+
- !ruby/object:Gem::Version
|
|
88
|
+
version: '13.0'
|
|
89
|
+
type: :development
|
|
90
|
+
prerelease: false
|
|
91
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
92
|
+
requirements:
|
|
93
|
+
- - "~>"
|
|
94
|
+
- !ruby/object:Gem::Version
|
|
95
|
+
version: '13.0'
|
|
96
|
+
- !ruby/object:Gem::Dependency
|
|
97
|
+
name: rspec
|
|
98
|
+
requirement: !ruby/object:Gem::Requirement
|
|
99
|
+
requirements:
|
|
100
|
+
- - "~>"
|
|
101
|
+
- !ruby/object:Gem::Version
|
|
102
|
+
version: '3.13'
|
|
103
|
+
type: :development
|
|
104
|
+
prerelease: false
|
|
105
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
106
|
+
requirements:
|
|
107
|
+
- - "~>"
|
|
108
|
+
- !ruby/object:Gem::Version
|
|
109
|
+
version: '3.13'
|
|
110
|
+
description: |
|
|
111
|
+
browsable audits a Rails application's CSS, HTML, ERB, and JavaScript and
|
|
112
|
+
reports which browsers can actually render and run it, then compares that
|
|
113
|
+
against the project's declared allow_browser policy. It is a thin Ruby
|
|
114
|
+
orchestrator over best-in-class external tools (Herb, stylelint, eslint).
|
|
115
|
+
email:
|
|
116
|
+
- roman.hood@aigility.com
|
|
117
|
+
executables:
|
|
118
|
+
- browsable
|
|
119
|
+
extensions: []
|
|
120
|
+
extra_rdoc_files: []
|
|
121
|
+
files:
|
|
122
|
+
- CHANGELOG.md
|
|
123
|
+
- README.md
|
|
124
|
+
- bin/update-bcd-snapshot
|
|
125
|
+
- data/bcd-snapshot.json
|
|
126
|
+
- exe/browsable
|
|
127
|
+
- lib/browsable.rb
|
|
128
|
+
- lib/browsable/analyzers/base.rb
|
|
129
|
+
- lib/browsable/analyzers/css.rb
|
|
130
|
+
- lib/browsable/analyzers/erb.rb
|
|
131
|
+
- lib/browsable/analyzers/html.rb
|
|
132
|
+
- lib/browsable/analyzers/javascript.rb
|
|
133
|
+
- lib/browsable/cli.rb
|
|
134
|
+
- lib/browsable/config.rb
|
|
135
|
+
- lib/browsable/doctor.rb
|
|
136
|
+
- lib/browsable/finding.rb
|
|
137
|
+
- lib/browsable/formatters/github.rb
|
|
138
|
+
- lib/browsable/formatters/human.rb
|
|
139
|
+
- lib/browsable/formatters/json.rb
|
|
140
|
+
- lib/browsable/policy_detector.rb
|
|
141
|
+
- lib/browsable/policy_scanner.rb
|
|
142
|
+
- lib/browsable/railtie.rb
|
|
143
|
+
- lib/browsable/rake_tasks.rb
|
|
144
|
+
- lib/browsable/report.rb
|
|
145
|
+
- lib/browsable/sources/base.rb
|
|
146
|
+
- lib/browsable/sources/builds.rb
|
|
147
|
+
- lib/browsable/sources/importmap.rb
|
|
148
|
+
- lib/browsable/sources/javascripts.rb
|
|
149
|
+
- lib/browsable/sources/public_assets.rb
|
|
150
|
+
- lib/browsable/sources/stylesheets.rb
|
|
151
|
+
- lib/browsable/sources/views.rb
|
|
152
|
+
- lib/browsable/target.rb
|
|
153
|
+
- lib/browsable/version.rb
|
|
154
|
+
- lib/generators/browsable/install/install_generator.rb
|
|
155
|
+
- lib/generators/browsable/install/templates/browsable.yml.tt
|
|
156
|
+
homepage: https://github.com/romanhood/browsable
|
|
157
|
+
licenses:
|
|
158
|
+
- MIT
|
|
159
|
+
metadata:
|
|
160
|
+
homepage_uri: https://github.com/romanhood/browsable
|
|
161
|
+
source_code_uri: https://github.com/romanhood/browsable/tree/main/browsable
|
|
162
|
+
changelog_uri: https://github.com/romanhood/browsable/blob/main/browsable/CHANGELOG.md
|
|
163
|
+
bug_tracker_uri: https://github.com/romanhood/browsable/issues
|
|
164
|
+
rubygems_mfa_required: 'true'
|
|
165
|
+
post_install_message: |
|
|
166
|
+
Thanks for installing browsable. Run `browsable doctor` to verify your
|
|
167
|
+
system dependencies, then `rails g browsable:install` (optional) to customize.
|
|
168
|
+
rdoc_options: []
|
|
169
|
+
require_paths:
|
|
170
|
+
- lib
|
|
171
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
172
|
+
requirements:
|
|
173
|
+
- - ">="
|
|
174
|
+
- !ruby/object:Gem::Version
|
|
175
|
+
version: '3.2'
|
|
176
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
177
|
+
requirements:
|
|
178
|
+
- - ">="
|
|
179
|
+
- !ruby/object:Gem::Version
|
|
180
|
+
version: '0'
|
|
181
|
+
requirements: []
|
|
182
|
+
rubygems_version: 4.0.10
|
|
183
|
+
specification_version: 4
|
|
184
|
+
summary: Rails-aware browser-compatibility audit for your frontend code.
|
|
185
|
+
test_files: []
|