standard 1.29.0 → 1.30.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 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: []