standard 0.1.0 → 1.51.1

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.
Files changed (80) hide show
  1. checksums.yaml +4 -4
  2. data/.github/dependabot.yml +11 -0
  3. data/.github/workflows/test.yml +24 -0
  4. data/.github/workflows/update.yml +54 -0
  5. data/.gitignore +3 -0
  6. data/.standard.yml +1 -1
  7. data/CHANGELOG.md +703 -0
  8. data/Gemfile +13 -0
  9. data/Gemfile.lock +71 -37
  10. data/LICENSE.txt +3 -4
  11. data/README.md +459 -264
  12. data/Rakefile +5 -4
  13. data/bin/console +0 -4
  14. data/bin/rake +27 -0
  15. data/bin/run +9 -0
  16. data/config/base.yml +1065 -193
  17. data/config/default.yml +8 -0
  18. data/config/ruby-1.8.yml +10 -2
  19. data/config/ruby-1.9.yml +11 -1
  20. data/config/ruby-2.0.yml +4 -0
  21. data/config/ruby-2.1.yml +4 -0
  22. data/config/ruby-2.2.yml +13 -5
  23. data/config/ruby-2.3.yml +10 -0
  24. data/config/ruby-2.4.yml +10 -0
  25. data/config/ruby-2.5.yml +10 -0
  26. data/config/ruby-2.6.yml +13 -0
  27. data/config/ruby-2.7.yml +10 -0
  28. data/config/ruby-3.0.yml +13 -0
  29. data/config/ruby-3.1.yml +11 -0
  30. data/config/ruby-3.2.yml +4 -0
  31. data/config/ruby-3.3.yml +7 -0
  32. data/docs/ARCHITECTURE.md +33 -0
  33. data/docs/RELEASE.md +41 -0
  34. data/docs/RUBY_VERSIONS.md +51 -0
  35. data/docs/UPGRADING.md +31 -0
  36. data/lib/ruby_lsp/standard/addon.rb +58 -0
  37. data/lib/ruby_lsp/standard/wraps_built_in_lsp_standardizer.rb +44 -0
  38. data/lib/standard/base/plugin.rb +69 -0
  39. data/lib/standard/base.rb +8 -0
  40. data/lib/standard/builds_config.rb +11 -1
  41. data/lib/standard/cli.rb +1 -7
  42. data/lib/standard/creates_config_store/assigns_rubocop_yaml.rb +2 -18
  43. data/lib/standard/creates_config_store/configures_ignored_paths.rb +2 -2
  44. data/lib/standard/creates_config_store/merges_user_config_extensions.rb +37 -0
  45. data/lib/standard/creates_config_store/sets_target_ruby_version.rb +21 -8
  46. data/lib/standard/creates_config_store.rb +5 -0
  47. data/lib/standard/formatter.rb +92 -37
  48. data/lib/standard/loads_runner.rb +17 -3
  49. data/lib/standard/loads_yaml_config.rb +18 -11
  50. data/lib/standard/lsp/diagnostic.rb +174 -0
  51. data/lib/standard/lsp/kills_server.rb +10 -0
  52. data/lib/standard/lsp/logger.rb +21 -0
  53. data/lib/standard/lsp/routes.rb +175 -0
  54. data/lib/standard/lsp/server.rb +37 -0
  55. data/lib/standard/lsp/standardizer.rb +34 -0
  56. data/lib/standard/lsp/stdin_rubocop_runner.rb +71 -0
  57. data/lib/standard/merges_settings.rb +22 -11
  58. data/lib/standard/plugin/combines_plugin_configs.rb +15 -0
  59. data/lib/standard/plugin/creates_runner_context.rb +15 -0
  60. data/lib/standard/plugin/determines_class_constant.rb +56 -0
  61. data/lib/standard/plugin/initializes_plugins.rb +23 -0
  62. data/lib/standard/plugin/merges_plugins_into_rubocop_config.rb +177 -0
  63. data/lib/standard/plugin/standardizes_configured_plugins.rb +37 -0
  64. data/lib/standard/plugin.rb +11 -0
  65. data/lib/standard/railtie.rb +1 -1
  66. data/lib/standard/rake.rb +8 -1
  67. data/lib/standard/{parses_cli_option.rb → resolves_yaml_option.rb} +9 -2
  68. data/lib/standard/rubocop/ext.rb +17 -0
  69. data/lib/standard/runners/genignore.rb +44 -0
  70. data/lib/standard/runners/help.rb +9 -5
  71. data/lib/standard/runners/lsp.rb +11 -0
  72. data/lib/standard/runners/rubocop.rb +14 -18
  73. data/lib/standard/runners/verbose_version.rb +14 -0
  74. data/lib/standard/version.rb +1 -1
  75. data/lib/standard.rb +6 -4
  76. data/standard.gemspec +22 -20
  77. metadata +72 -73
  78. data/.circleci/config.yml +0 -35
  79. data/lib/standard/cop/semantic_blocks.rb +0 -162
  80. data/lib/standard/detects_fixability.rb +0 -20
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 98a71071833789cb57bf9e9e492e2119548adcf9ea6752d85f1fcc0761757587
4
- data.tar.gz: ff8c402f23d7d622f7e13ad5288574095034b5ca92b55b0e3c7e93890e0c57de
3
+ metadata.gz: 07c40762e88776ff266e671bb0e0f9985b2017e91b99ff1593c24b7909663325
4
+ data.tar.gz: 65eebc32148755c1fa6fd98bfd24219f97f30466c8bff2edd360637d789c4118
5
5
  SHA512:
6
- metadata.gz: 8bc2cc69438696f8030d24a4a53d571fc16cd01a1f96088dd77c621da12b2b9919741e3009a6124638af9b210f304d76588331b2c565188ae8d47d87b4c90c9e
7
- data.tar.gz: 6cddf38bd3920ea49f25f3cab99d1514e2784e9d319971ba4c489c8a02238541c98e54a41beba4af69ec6c01c7b494f2a8ff188cdbefbbaa09b3953c9278f719
6
+ metadata.gz: 77d7ef4b4a63e4bd9c5fcc834a669db73d83299ae398e44424d5634b2507ed86910e4464ef487a8aaa6fe5aca1a73c7ba381ad9639532ebb9f65c4a53fc97873
7
+ data.tar.gz: '0048c371fc119bc358eb9603e6ec41fbdc136a7d17776f4a3ffcfc8144d8c125cb6e65de77c996b9638321392cbed1d12f12b47f8e405011bd3593db07266228'
@@ -0,0 +1,11 @@
1
+ # Please see the documentation for all configuration options:
2
+ # https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
3
+
4
+ version: 2
5
+ updates:
6
+ - package-ecosystem: bundler
7
+ directory: "/"
8
+ schedule: { interval: weekly, day: monday }
9
+ - package-ecosystem: github-actions
10
+ directory: "/"
11
+ schedule: { interval: weekly }
@@ -0,0 +1,24 @@
1
+ name: Tests
2
+
3
+ on:
4
+ push:
5
+ pull_request:
6
+ workflow_dispatch:
7
+ schedule: [ cron: "42 0 7 * *" ] # https://crontab.guru/#42_0_7_*_*
8
+ workflow_run:
9
+ workflows: [ "Update" ]
10
+ types: [ completed ]
11
+
12
+ jobs:
13
+ test:
14
+ runs-on: ubuntu-latest
15
+ strategy: {matrix: {ruby: [ '3.0', 3.1, 3.2, 3.3, 3.4 ]}}
16
+ steps:
17
+ - uses: step-security/harden-runner@ec9f2d5744a09debf3a187a3f4f675c53b671911 # v2.13.0
18
+ with: { egress-policy: audit }
19
+ - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
20
+ - uses: ruby/setup-ruby@a4effe49ee8ee5b8b5091268c473a4628afb5651 # v1.245.0
21
+ with:
22
+ ruby-version: ${{ matrix.ruby }}
23
+ bundler-cache: true
24
+ - run: bin/rake
@@ -0,0 +1,54 @@
1
+ name: Update
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ schedule:
6
+ - cron: '0 0 */100,1-7 * 1'
7
+ # https://blog.healthchecks.io/2022/09/schedule-cron-job-the-funky-way/
8
+ # In case you want to know how that cron job works to get the first Monday of each month.
9
+
10
+ jobs:
11
+ update:
12
+ name: Check for updates
13
+
14
+ runs-on: ubuntu-latest
15
+
16
+ steps:
17
+ - uses: actions/checkout@v5
18
+ - name: Set up Ruby
19
+ uses: ruby/setup-ruby@v1
20
+ with:
21
+ ruby-version: 3.0.0
22
+ bundler-cache: true
23
+ - name: Unset bundler deployment
24
+ run: bundle config unset deployment
25
+ - name: Get Outdated
26
+ id: outdated
27
+ run: |
28
+ eval "$(bundle outdated rubocop rubocop-performance |
29
+ grep rubocop |
30
+ awk '{print "echo \"::set-output name="$1"_OLD::"$2"\"; echo \"::set-output name="$1"_NEW::"$3"\";"}' - )";
31
+ - name: Update Changelog
32
+ run: |
33
+ eval "$(bundle outdated rubocop rubocop-performance |
34
+ grep rubocop |
35
+ awk '{print "sed -i \"2i* Update "$1" from "$2" to ["$3"](https://github.com/rubocop/"$1"/releases/tag/v"$3")\" CHANGELOG.md"}' - )";
36
+ sed -i '2i\\n## Unreleased\n' CHANGELOG.md;
37
+ - name: Update Gemspec
38
+ run: |
39
+ eval "$(bundle outdated rubocop rubocop-performance |
40
+ grep rubocop |
41
+ awk '{print "sed -i /\"" $1 "\"/s/" $2 "/" $3 "/ standard.gemspec"}' - )"
42
+ - name: Update Gemfile
43
+ run: bundle update
44
+ - name: Get current date
45
+ id: date
46
+ run: echo "::set-output name=date::$(date +'%Y-%m-%d')"
47
+ - name: Create Pull Request
48
+ uses: peter-evans/create-pull-request@v7
49
+ with:
50
+ reviewers: camilopayan
51
+ commit-message: '[ ${{ steps.date.outputs.date }} ] - Update dependencies'
52
+ title: '[ ${{ steps.date.outputs.date }} ] - Update dependencies'
53
+ delete-branch: true
54
+ branch: update-deps-${{ steps.date.outputs.date }}
data/.gitignore CHANGED
@@ -6,3 +6,6 @@
6
6
  /pkg/
7
7
  /spec/reports/
8
8
  /tmp/
9
+ /dont_call_it_tmp/
10
+ /vendor/
11
+ /.tool-versions
data/.standard.yml CHANGED
@@ -1,4 +1,4 @@
1
- ruby_version: 2.2.0
1
+ ruby_version: 3.0
2
2
  ignore:
3
3
  - tmp/**/*
4
4
  - test/fixture/**/*