standard 1.29.0 → 1.30.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d0beb51ce9976fc9de3f3daad988e62190aaf87c9641850bcd6f0b0e2503745b
4
- data.tar.gz: 94cffff45294c2b64124c0b655fbe448d314e5bd1aa7d30dbde08f75326ff413
3
+ metadata.gz: b17c9efa5e16ef81d493ca9044fb993a0d7c7deac41d30fbf659017267921573
4
+ data.tar.gz: 5168903cd15b8733663ee2de10965128e9621c095b9e31ec8edf27836eccaa18
5
5
  SHA512:
6
- metadata.gz: e5a7d941184da2cc685816c9f1b7a895686b4c915502455e6576a317d1451f3eb2cf696d9891c835a2e929c090053d25450da8548f6efd95043de114b5a36441
7
- data.tar.gz: 0efce415cf6e84eff032d114ee0c25de76cf964c56359c1e018325c6d4dfb8c2de0afca63549ba6754fff18825fd50151018fee4bc3c95d78d3c7213dfb7f083
6
+ metadata.gz: 054b9c7768a59c0c90719083f2c3e03f5579926ff2a4d80bd564971a4d922041f67666a7eaad57b46edf119eff9fecf0d2878efa010a656e6c9d1564718b032f
7
+ data.tar.gz: c57756fc025f736248cc725222196599dbe43c4efc8c093dddfac557335dd7fd273f85f233803d631f7492091295719a1cf23823083889105ae911b7dea90715
data/CHANGELOG.md CHANGED
@@ -1,8 +1,18 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.30.0
4
+
5
+ * Add `Standard::PluginSupport` module of classes designed to make it a little
6
+ easier to author plugins. `MergesUpstreamMetadata#merge` will allow a minimal
7
+ YAML config (say, `standard-sorbet`'s, which only contains `Enabled` values for
8
+ each rule) to merge in any other defaults from a source YAML (e.g.
9
+ `rubocop-sorbet`'s which includes `Description`, `VersionAdded`, and so on).
10
+ This way that metadata is neither absent at runtime nor duplicated in a standard
11
+ plugin that mirrors a rubocop extension
12
+
3
13
  ## 1.29.0
4
14
 
5
- * Updates standard-performance to [1.1.0](https://github.com/standardrb/standard-performacne/releases/tag/v1.1.0)
15
+ * Updates standard-performance to [1.1.0](https://github.com/standardrb/standard-performance/releases/tag/v1.1.0)
6
16
  * Updates rubocop to [1.52.0](https://github.com/rubocop/rubocop/releases/tag/v1.52.0)
7
17
  * Enables Style/ExactRegexpMatch, Style/RedundantArrayConstructor, Style/RedundantFilterChain, Style/RedundantRegexpConstructor
8
18
 
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- standard (1.29.0)
4
+ standard (1.30.0)
5
5
  language_server-protocol (~> 3.17.0.2)
6
6
  lint_roller (~> 1.0)
7
7
  rubocop (~> 1.52.0)
@@ -23,16 +23,18 @@ GEM
23
23
  method_source (1.0.0)
24
24
  minitest (5.18.0)
25
25
  parallel (1.23.0)
26
- parser (3.2.2.1)
26
+ parser (3.2.2.3)
27
27
  ast (~> 2.4.1)
28
+ racc
29
+ racc (1.7.1)
28
30
  rainbow (3.1.1)
29
31
  rake (13.0.6)
30
- regexp_parser (2.8.0)
32
+ regexp_parser (2.8.1)
31
33
  rexml (3.2.5)
32
- rubocop (1.52.0)
34
+ rubocop (1.52.1)
33
35
  json (~> 2.3)
34
36
  parallel (~> 1.10)
35
- parser (>= 3.2.0.0)
37
+ parser (>= 3.2.2.3)
36
38
  rainbow (>= 2.2.2, < 4.0)
37
39
  regexp_parser (>= 1.8, < 3.0)
38
40
  rexml (>= 3.2.5, < 4.0)
@@ -51,7 +53,7 @@ GEM
51
53
  simplecov_json_formatter (~> 0.1)
52
54
  simplecov-html (0.12.3)
53
55
  simplecov_json_formatter (0.1.4)
54
- standard-custom (1.0.0)
56
+ standard-custom (1.0.1)
55
57
  lint_roller (~> 1.0)
56
58
  standard-performance (1.1.0)
57
59
  lint_roller (~> 1.0)
data/docs/ARCHITECTURE.md CHANGED
@@ -8,7 +8,9 @@ buried.
8
8
  Starting with version 1.28.0, Standard Ruby introduced plugin support and
9
9
  refactored how it loads its own rules from one large YAML file into several
10
10
  plugins. As a result, what was a single `standard` gem is now spread across 3
11
- gems. Here's how it's all organized:
11
+ gems.
12
+
13
+ Here's how it's all organized:
12
14
 
13
15
  * [standard](https://github.com/standardrb/standard) - The main gem. The one
14
16
  people install and think of. Because `standard` has a hard dependency on `rubocop`,
@@ -0,0 +1,23 @@
1
+ module Standard
2
+ module PluginSupport
3
+ class MergesUpstreamMetadata
4
+ def merge(plugin_yaml, upstream_yaml)
5
+ common_upstream_values = upstream_yaml.select { |key| plugin_yaml.key?(key) }
6
+
7
+ plugin_yaml.merge(common_upstream_values) { |key, plugin_value, upstream_value|
8
+ if plugin_value.is_a?(Hash) && upstream_value.is_a?(Hash)
9
+ plugin_value.merge(upstream_value) { |sub_key, plugin_sub_value, upstream_sub_value|
10
+ if plugin_value.key?(sub_key)
11
+ plugin_sub_value
12
+ else
13
+ upstream_sub_value
14
+ end
15
+ }
16
+ else
17
+ plugin_value
18
+ end
19
+ }
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1 @@
1
+ require "standard/plugin_support/merges_upstream_metadata"
@@ -1,3 +1,3 @@
1
1
  module Standard
2
- VERSION = Gem::Version.new("1.29.0")
2
+ VERSION = Gem::Version.new("1.30.0")
3
3
  end
data/lib/standard.rb CHANGED
@@ -11,6 +11,6 @@ require "standard/cli"
11
11
  require "standard/railtie" if defined?(Rails) && defined?(Rails::Railtie)
12
12
 
13
13
  require "standard/formatter"
14
- require "standard/cop/block_single_line_braces"
15
14
 
16
15
  require "standard/plugin"
16
+ require "standard/plugin_support"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: standard
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.29.0
4
+ version: 1.30.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Searls
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-06-02 00:00:00.000000000 Z
11
+ date: 2023-07-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubocop
@@ -80,7 +80,7 @@ dependencies:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: 3.17.0.2
83
- description:
83
+ description:
84
84
  email:
85
85
  - searls@gmail.com
86
86
  executables:
@@ -148,6 +148,8 @@ files:
148
148
  - lib/standard/plugin/initializes_plugins.rb
149
149
  - lib/standard/plugin/merges_plugins_into_rubocop_config.rb
150
150
  - lib/standard/plugin/standardizes_configured_plugins.rb
151
+ - lib/standard/plugin_support.rb
152
+ - lib/standard/plugin_support/merges_upstream_metadata.rb
151
153
  - lib/standard/railtie.rb
152
154
  - lib/standard/rake.rb
153
155
  - lib/standard/resolves_yaml_option.rb
@@ -167,7 +169,7 @@ metadata:
167
169
  source_code_uri: https://github.com/standardrb/standard
168
170
  changelog_uri: https://github.com/standardrb/standard/blob/main/CHANGELOG.md
169
171
  rubygems_mfa_required: 'true'
170
- post_install_message:
172
+ post_install_message:
171
173
  rdoc_options: []
172
174
  require_paths:
173
175
  - lib
@@ -182,8 +184,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
182
184
  - !ruby/object:Gem::Version
183
185
  version: '0'
184
186
  requirements: []
185
- rubygems_version: 3.1.6
186
- signing_key:
187
+ rubygems_version: 3.4.14
188
+ signing_key:
187
189
  specification_version: 4
188
190
  summary: Ruby Style Guide, with linter & automatic code fixer
189
191
  test_files: []