standard 1.25.3 → 1.30.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test.yml +1 -1
  3. data/.gitignore +1 -0
  4. data/CHANGELOG.md +87 -0
  5. data/Gemfile +6 -4
  6. data/Gemfile.lock +21 -16
  7. data/LICENSE.txt +3 -4
  8. data/README.md +359 -456
  9. data/bin/console +0 -4
  10. data/bin/run +9 -0
  11. data/config/base.yml +22 -175
  12. data/config/default.yml +9 -0
  13. data/config/ruby-1.8.yml +3 -0
  14. data/config/ruby-1.9.yml +4 -0
  15. data/config/ruby-2.2.yml +0 -3
  16. data/config/ruby-2.6.yml +3 -0
  17. data/config/ruby-3.0.yml +1 -1
  18. data/config/ruby-3.1.yml +7 -0
  19. data/config/ruby-3.2.yml +4 -0
  20. data/docs/ARCHITECTURE.md +33 -0
  21. data/lib/standard/base/plugin.rb +67 -0
  22. data/lib/standard/base.rb +8 -0
  23. data/lib/standard/builds_config.rb +3 -9
  24. data/lib/standard/creates_config_store/assigns_rubocop_yaml.rb +1 -35
  25. data/lib/standard/creates_config_store/merges_user_config_extensions.rb +21 -51
  26. data/lib/standard/creates_config_store.rb +3 -1
  27. data/lib/standard/formatter.rb +70 -49
  28. data/lib/standard/loads_yaml_config.rb +2 -1
  29. data/lib/standard/lsp/routes.rb +4 -1
  30. data/lib/standard/lsp/standardizer.rb +2 -2
  31. data/lib/standard/merges_settings.rb +7 -1
  32. data/lib/standard/plugin/combines_plugin_configs.rb +15 -0
  33. data/lib/standard/plugin/creates_runner_context.rb +15 -0
  34. data/lib/standard/plugin/determines_class_constant.rb +56 -0
  35. data/lib/standard/plugin/initializes_plugins.rb +23 -0
  36. data/lib/standard/plugin/merges_plugins_into_rubocop_config.rb +177 -0
  37. data/lib/standard/plugin/standardizes_configured_plugins.rb +37 -0
  38. data/lib/standard/plugin.rb +11 -0
  39. data/lib/standard/railtie.rb +1 -1
  40. data/lib/standard/rake.rb +8 -1
  41. data/lib/standard/{parses_cli_option.rb → resolves_yaml_option.rb} +8 -2
  42. data/lib/standard/runners/help.rb +4 -3
  43. data/lib/standard/runners/rubocop.rb +1 -1
  44. data/lib/standard/runners/verbose_version.rb +1 -1
  45. data/lib/standard/version.rb +1 -1
  46. data/lib/standard.rb +5 -3
  47. data/standard.gemspec +9 -3
  48. metadata +55 -12
  49. data/lib/standard/cop/block_single_line_braces.rb +0 -96
  50. data/lib/standard/detects_fixability.rb +0 -16
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 10ded174ec569721dd381f60e3321ff5865202d1f74b8454f76318caf0aa9173
4
- data.tar.gz: 806883ee72a817ada40be7a32192cc9b6bb96c6dec4356cb3fcc094bba3f54e3
3
+ metadata.gz: 8c00678665803420723c8674b59d3c618e2164a9e469946ccccabed971f56149
4
+ data.tar.gz: 738c3f9610cb74a41aac35aec29348e6282b6f8018ed83dd80f831e723081e39
5
5
  SHA512:
6
- metadata.gz: 8c0944c89dacff7130ed7456eab5af4b4a43b5c297e449e5465671f90b78f72cd46dca21603b8c16d73bf30a76d701918a3086945bf5d101d8de18a700bbfe25
7
- data.tar.gz: 053d1ef9a8b3a0117741c61bd72a8079c5ae95733c038f58eb73bec579a3796351f735c08231d70d5118d209b21ae544d5f256bc031b6f1386e1089402fdd4ce
6
+ metadata.gz: 69eb144ed7790c19699edaf481ab4caf3b3805039ef94b180d711846767a352cdb87cdc71daeafd5240a78b6cda85573ee248605257d05641046d3a22165667a
7
+ data.tar.gz: 7ea6b6cd83b1768181ab075fa7f408281da76b22dff644c2ff1e7425543a8606a2a0f6ee81b59f69e46bcab53d0c176caa2d7034bc6dc16f57bb893797ffaa38
@@ -16,7 +16,7 @@ jobs:
16
16
  strategy:
17
17
  matrix:
18
18
  os: [ubuntu-latest]
19
- ruby-version: [2.6, 2.7, '3.0', 3.1, 3.2]
19
+ ruby-version: [2.7, '3.0', 3.1, 3.2, head]
20
20
 
21
21
  runs-on: ${{ matrix.os }}
22
22
 
data/.gitignore CHANGED
@@ -6,4 +6,5 @@
6
6
  /pkg/
7
7
  /spec/reports/
8
8
  /tmp/
9
+ /dont_call_it_tmp/
9
10
  /vendor/
data/CHANGELOG.md CHANGED
@@ -1,5 +1,92 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.30.1
4
+
5
+ * Just kidding about about `Standard::PluginSupport`. Moving it to `LintRoller::Support`
6
+ to avoid circular dependencies between Standard Ruby and its plugins
7
+
8
+ ## 1.30.0
9
+
10
+ * Add `Standard::PluginSupport` module of classes designed to make it a little
11
+ easier to author plugins. `MergesUpstreamMetadata#merge` will allow a minimal
12
+ YAML config (say, `standard-sorbet`'s, which only contains `Enabled` values for
13
+ each rule) to merge in any other defaults from a source YAML (e.g.
14
+ `rubocop-sorbet`'s which includes `Description`, `VersionAdded`, and so on).
15
+ This way that metadata is neither absent at runtime nor duplicated in a standard
16
+ plugin that mirrors a rubocop extension
17
+
18
+ ## 1.29.0
19
+
20
+ * Updates standard-performance to [1.1.0](https://github.com/standardrb/standard-performance/releases/tag/v1.1.0)
21
+ * Updates rubocop to [1.52.0](https://github.com/rubocop/rubocop/releases/tag/v1.52.0)
22
+ * Enables Style/ExactRegexpMatch, Style/RedundantArrayConstructor, Style/RedundantFilterChain, Style/RedundantRegexpConstructor
23
+
24
+ ## 1.28.5
25
+
26
+ * Make LSP behave more nicely with nvim-lspconfig [#564](https://github.com/standardrb/standard/pull/564)
27
+
28
+ ## 1.28.4
29
+
30
+ * Fix [standard-rails#7](https://github.com/standardrb/standard-rails/issues/7#issuecomment-1563505365)
31
+
32
+ ## 1.28.3
33
+
34
+ * Older ruby support fixes from [@pboling](https://github.com/pboling):
35
+ - [#559](https://github.com/standardrb/standard/issues/559)
36
+ - [#561](https://github.com/standardrb/standard/issues/560)
37
+ - [#561](https://github.com/standardrb/standard/issues/561)
38
+
39
+ ## 1.28.2
40
+
41
+ * Attempts to fix the not-actually fixed plugin behavior in 1.28.1
42
+
43
+ ## 1.28.1
44
+
45
+ * Fixes plugin behavior caused by setting `DisabledByDefault: true` in `AllCops`
46
+ Effectively, a single lint_roller plugin whose `rules` were of type `:object`
47
+ would inadvertently mark all previously-defined rules as invalid.
48
+ [#557](https://github.com/standardrb/standard/pull/557)
49
+
50
+ ## 1.28.0
51
+
52
+ * Refactor Standard into 3 gems and convert all built-in configuration into
53
+ [lint_roller](https://github.com/standardrb/lint_roller) plugins. See:
54
+ * [standard-performance](https://github.com/standardrb/standard-performance)
55
+ * [standard-custom](https://github.com/standardrb/standard-custom)
56
+ * Standard's behavior when merging multiple `extend_config` that change the same
57
+ set of rules has been fixed to be first-in-wins, as opposed to last-in-wins.
58
+ This ensures a consistent behavior across plugins and extended configurations,
59
+ namely that the first thing to configure a given rule effectively locks it
60
+ from subsequent changes
61
+ * Enable `DisabledByDefault: true`. This shouldn't impact anyone, but might
62
+ change the behavior of some `extend_config` users. Because Standard specifies
63
+ every rule in rubocop and rubocop-performance, this configuration's absence
64
+ wasn't felt until we went to the plugin system, where it makes much more sense
65
+ for plugins to _opt-in_ to the cops they want to configure, as opposed to just
66
+ running every single one that they happen to load/require
67
+
68
+ ## 1.27.0
69
+
70
+ * Update rubocop from 1.48.1 to [1.50.2](https://github.com/rubocop/rubocop/releases/tag/v1.50.2)
71
+ * Enabled [Style/RedundantLineContinuation](https://docs.rubocop.org/rubocop/cops_style.html#styleredundantlinecontinuation)
72
+
73
+ ## 1.26.0
74
+
75
+ * Introduce `--fix-unsafely` and `rake standard:fix_unsafely` for running
76
+ unsafe corrections. Improve output about fix suggestions, as well
77
+ [#545](https://github.com/testdouble/standard/pull/545)
78
+
79
+ ## 1.25.5
80
+
81
+ * Temporarily disable registration of `executeCommand` to prevent conflict with
82
+ the VS Code extension's client-side registration of the same name
83
+ [#544](https://github.com/testdouble/standard/pull/544)
84
+
85
+ ## 1.25.4
86
+
87
+ * Bring the LSP Server's executeCommand capabilities in line with the spec
88
+ [#543](https://github.com/testdouble/standard/pull/543)
89
+
3
90
  ## 1.25.3
4
91
 
5
92
  * Relax the version specifier on `rubocop` and `rubocop-performance` to allow
data/Gemfile CHANGED
@@ -4,11 +4,13 @@ gemspec
4
4
 
5
5
  gem "bundler"
6
6
  gem "minitest", "~> 5.0"
7
- gem "pry"
8
7
  gem "rake", "~> 13.0"
9
8
  gem "gimme"
10
9
  gem "m"
11
10
 
12
- if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("2.5")
13
- gem "simplecov"
14
- end
11
+ # You may want to run these off path locally:
12
+ # gem "lint_roller", path: "../lint_roller"
13
+ # gem "standard-custom", path: "../standard-custom"
14
+ # gem "standard-performance", path: "../standard-performance"
15
+
16
+ gem "simplecov"
data/Gemfile.lock CHANGED
@@ -1,48 +1,49 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- standard (1.25.3)
4
+ standard (1.30.1)
5
5
  language_server-protocol (~> 3.17.0.2)
6
- rubocop (~> 1.48.1)
7
- rubocop-performance (~> 1.16.0)
6
+ lint_roller (~> 1.0)
7
+ rubocop (~> 1.52.0)
8
+ standard-custom (~> 1.0.0)
9
+ standard-performance (~> 1.1.0)
8
10
 
9
11
  GEM
10
12
  remote: https://rubygems.org/
11
13
  specs:
12
14
  ast (2.4.2)
13
- coderay (1.1.3)
14
15
  docile (1.4.0)
15
16
  gimme (0.5.0)
16
17
  json (2.6.3)
17
18
  language_server-protocol (3.17.0.3)
19
+ lint_roller (1.0.0)
18
20
  m (1.6.1)
19
21
  method_source (>= 0.6.7)
20
22
  rake (>= 0.9.2.2)
21
23
  method_source (1.0.0)
22
24
  minitest (5.18.0)
23
- parallel (1.22.1)
24
- parser (3.2.1.1)
25
+ parallel (1.23.0)
26
+ parser (3.2.2.3)
25
27
  ast (~> 2.4.1)
26
- pry (0.14.2)
27
- coderay (~> 1.1)
28
- method_source (~> 1.0)
28
+ racc
29
+ racc (1.7.1)
29
30
  rainbow (3.1.1)
30
31
  rake (13.0.6)
31
- regexp_parser (2.7.0)
32
+ regexp_parser (2.8.1)
32
33
  rexml (3.2.5)
33
- rubocop (1.48.1)
34
+ rubocop (1.52.1)
34
35
  json (~> 2.3)
35
36
  parallel (~> 1.10)
36
- parser (>= 3.2.0.0)
37
+ parser (>= 3.2.2.3)
37
38
  rainbow (>= 2.2.2, < 4.0)
38
39
  regexp_parser (>= 1.8, < 3.0)
39
40
  rexml (>= 3.2.5, < 4.0)
40
- rubocop-ast (>= 1.26.0, < 2.0)
41
+ rubocop-ast (>= 1.28.0, < 2.0)
41
42
  ruby-progressbar (~> 1.7)
42
43
  unicode-display_width (>= 2.4.0, < 3.0)
43
- rubocop-ast (1.27.0)
44
+ rubocop-ast (1.29.0)
44
45
  parser (>= 3.2.1.0)
45
- rubocop-performance (1.16.0)
46
+ rubocop-performance (1.18.0)
46
47
  rubocop (>= 1.7.0, < 2.0)
47
48
  rubocop-ast (>= 0.4.0)
48
49
  ruby-progressbar (1.13.0)
@@ -52,6 +53,11 @@ GEM
52
53
  simplecov_json_formatter (~> 0.1)
53
54
  simplecov-html (0.12.3)
54
55
  simplecov_json_formatter (0.1.4)
56
+ standard-custom (1.0.1)
57
+ lint_roller (~> 1.0)
58
+ standard-performance (1.1.0)
59
+ lint_roller (~> 1.0)
60
+ rubocop-performance (~> 1.18.0)
55
61
  unicode-display_width (2.4.2)
56
62
 
57
63
  PLATFORMS
@@ -63,7 +69,6 @@ DEPENDENCIES
63
69
  gimme
64
70
  m
65
71
  minitest (~> 5.0)
66
- pry
67
72
  rake (~> 13.0)
68
73
  simplecov
69
74
  standard!
data/LICENSE.txt CHANGED
@@ -1,9 +1,8 @@
1
- Copyright (c) 2019 Test Double, LLC
1
+ Copyright (c) 2023 Test Double, Inc.
2
2
 
3
- Portions of these files Copyright (c) 2012-18 Bozhidar Batsov:
3
+ Portions of these files Copyright (c) Bozhidar Batsov:
4
4
  - config/base.yml
5
- - lib/standard/cop/block_single_line_braces.rb
6
- - test/cop_invoker.rb
5
+ - lib/standard/plugin/merges_plugins_into_rubocop_config.rb
7
6
 
8
7
  Permission is hereby granted, free of charge, to any person obtaining
9
8
  a copy of this software and associated documentation files (the