{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":263255527,"defaultBranch":"master","name":"rubocop-ast","ownerLogin":"koic","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2020-05-12T06:44:24.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/13203?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1715012115.0","currentOid":""},"activityList":{"items":[{"before":"cb35ec8e9ff6146a17adae91b2eb6bfc0b667845","after":null,"ref":"refs/heads/use_prism_0_28","pushedAt":"2024-05-06T16:15:15.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"koic","name":"Koichi ITO","path":"/koic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13203?s=80&v=4"}},{"before":"fd4b9ca36e8e0d691b6da3e16d9f26546dfd2eab","after":"cb35ec8e9ff6146a17adae91b2eb6bfc0b667845","ref":"refs/heads/use_prism_0_28","pushedAt":"2024-05-06T16:11:33.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"koic","name":"Koichi ITO","path":"/koic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13203?s=80&v=4"},"commit":{"message":"Use Prism 0.28+ for development\n\n#290 was resolved in Prism 0.28.0.","shortMessageHtmlLink":"Use Prism 0.28+ for development"}},{"before":null,"after":"fd4b9ca36e8e0d691b6da3e16d9f26546dfd2eab","ref":"refs/heads/use_prism_0_28","pushedAt":"2024-05-06T16:04:20.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"koic","name":"Koichi ITO","path":"/koic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13203?s=80&v=4"},"commit":{"message":"Use Prism 0.28+ for development\n\n#290 was resolved in Prism 0.28.","shortMessageHtmlLink":"Use Prism 0.28+ for development"}},{"before":"c1e8668138161905df7262981469b85e41afb914","after":null,"ref":"refs/heads/workaround_for_prism_0_25","pushedAt":"2024-04-29T12:39:25.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"koic","name":"Koichi ITO","path":"/koic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13203?s=80&v=4"}},{"before":"d0276d1604d15de83730d62e3de557a59ee81810","after":"c1e8668138161905df7262981469b85e41afb914","ref":"refs/heads/workaround_for_prism_0_25","pushedAt":"2024-04-29T12:33:34.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"koic","name":"Koichi ITO","path":"/koic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13203?s=80&v=4"},"commit":{"message":"Workaround for incompatibilities between Prism 0.24.0 and 0.25.0\n\nThis is a workaround for incompatibilities between Prism 0.24.0 and 0.25.0.\nTo upgrade to Prism 0.25+, it is necessary to investigate the following build error and provide feedback to Prism.","shortMessageHtmlLink":"Workaround for incompatibilities between Prism 0.24.0 and 0.25.0"}},{"before":null,"after":"d0276d1604d15de83730d62e3de557a59ee81810","ref":"refs/heads/workaround_for_prism_0_25","pushedAt":"2024-04-29T12:33:20.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"koic","name":"Koichi ITO","path":"/koic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13203?s=80&v=4"},"commit":{"message":"Workaround for incompatibilities between Prism 0.24.0 and 0.25.0\n\nThis is a workaround for incompatibilities between Prism 0.24.0 and 0.25.0.\nTo upgrade to Prism 0.25+, it is necessary to investigate the following build error and provide feedback to Prism.\n\nI will proceed with these separately.","shortMessageHtmlLink":"Workaround for incompatibilities between Prism 0.24.0 and 0.25.0"}},{"before":"102c5df8a32dd2e7e83559490b225bb38fee923c","after":null,"ref":"refs/heads/remove_parser_from_runtime_dependency","pushedAt":"2024-03-01T08:50:42.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"koic","name":"Koichi ITO","path":"/koic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13203?s=80&v=4"}},{"before":"3bf7d20bef751fa6ccd0bd22f2d8f52346bfd9f2","after":"102c5df8a32dd2e7e83559490b225bb38fee923c","ref":"refs/heads/remove_parser_from_runtime_dependency","pushedAt":"2024-03-01T08:42:48.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"koic","name":"Koichi ITO","path":"/koic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13203?s=80&v=4"},"commit":{"message":"[Fix #282] Remove Prism from runtime dependency\n\nFixes #282.\n\nThis PR removes Prism from runtime dependency.\n\nIf it is decided that Prism will not be a runtime dependency for the time being,\nerror message and documentation will be used to communicate the dependency on Prism to users.\n\nMaking it a default runtime dependency will be avoided until at least #282 installation error with Prism is resolved.","shortMessageHtmlLink":"[Fix rubocop#282] Remove Prism from runtime dependency"}},{"before":null,"after":"3bf7d20bef751fa6ccd0bd22f2d8f52346bfd9f2","ref":"refs/heads/remove_parser_from_runtime_dependency","pushedAt":"2024-03-01T08:30:43.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"koic","name":"Koichi ITO","path":"/koic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13203?s=80&v=4"},"commit":{"message":"[Fix #282] Remove Prism from runtime dependency\n\nFixes #282.\n\nThis PR removes Prism from runtime dependency.\n\nIf it is decided that Prism will not be a runtime dependency for the time being,\nerror message and documentation will be used to communicate the dependency on Prism to users.\n\nMaking it a default runtime dependency will be avoided until at least #282 installation error with Prism is resolved.","shortMessageHtmlLink":"[Fix rubocop#282] Remove Prism from runtime dependency"}},{"before":"915ccdf0aff255430288d9ddb455ccd58e8b1aab","after":null,"ref":"refs/heads/remove_unused_target_ruby_version_envvar","pushedAt":"2024-02-27T16:56:20.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"koic","name":"Koichi ITO","path":"/koic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13203?s=80&v=4"}},{"before":"3f959d8cc01c975ecc5d44fb6019fb05a9172501","after":"915ccdf0aff255430288d9ddb455ccd58e8b1aab","ref":"refs/heads/remove_unused_target_ruby_version_envvar","pushedAt":"2024-02-27T15:42:46.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"koic","name":"Koichi ITO","path":"/koic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13203?s=80&v=4"},"commit":{"message":"Remove useless `TARGET_RUBY_VERSION` env var\n\nThis PR removes useless `TARGET_RUBY_VERSION` env var\nand uses `PARSER_ENGINE` env var instead.\n\nIn fact, the `ruby_version` in `shared_context` is replaced with\nthe value required by `PARSER_ENGINE`:\nhttps://github.com/rubocop/rubocop-ast/blob/49b135be4a4edce97955a1e987d50a295f72a907/spec/spec_helper.rb#L22-L60","shortMessageHtmlLink":"Remove useless TARGET_RUBY_VERSION env var"}},{"before":"bd1a44a36c322b94f8b7a7099fcadd19ef26eacc","after":"3f959d8cc01c975ecc5d44fb6019fb05a9172501","ref":"refs/heads/remove_unused_target_ruby_version_envvar","pushedAt":"2024-02-27T15:40:41.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"koic","name":"Koichi ITO","path":"/koic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13203?s=80&v=4"},"commit":{"message":"Remove useless `TARGET_RUBY_VERSION` env var\n\nThis PR removes useless `TARGET_RUBY_VERSION` env var\nand uses `PARSER_ENGINE` env var instead.\n\nIn fact, the `ruby_version` in `shared_context` is replaced with\nthe value required by `PARSER_ENGINE`:\nhttps://github.com/rubocop/rubocop-ast/blob/49b135be4a4edce97955a1e987d50a295f72a907/spec/spec_helper.rb#L22-L60","shortMessageHtmlLink":"Remove useless TARGET_RUBY_VERSION env var"}},{"before":null,"after":"bd1a44a36c322b94f8b7a7099fcadd19ef26eacc","ref":"refs/heads/remove_unused_target_ruby_version_envvar","pushedAt":"2024-02-27T15:37:16.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"koic","name":"Koichi ITO","path":"/koic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13203?s=80&v=4"},"commit":{"message":"Remove useless `TARGET_RUBY_VERSION` env var\n\nThis PR removes useless `TARGET_RUBY_VERSION` env var\nand uses `PARSER_ENGINE` env var instead.\n\nIn fact, the `ruby_version` in `shared_context` is replaced with\nthe value required by `PARSER_ENGINE`:\nhttps://github.com/rubocop/rubocop-ast/blob/49b135be4a4edce97955a1e987d50a295f72a907/spec/spec_helper.rb#L22-L60","shortMessageHtmlLink":"Remove useless TARGET_RUBY_VERSION env var"}},{"before":"f2c41662bd65ec2fce7a2628449ea25ee89215f5","after":null,"ref":"refs/heads/support_prism","pushedAt":"2024-02-25T07:03:42.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"koic","name":"Koichi ITO","path":"/koic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13203?s=80&v=4"}},{"before":"a82e15b11c69695ebdfb20670eff3f75e1c1c187","after":null,"ref":"refs/heads/make_token_left_curly_brace_aware_of_lambda_brace","pushedAt":"2024-02-25T06:59:54.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"koic","name":"Koichi ITO","path":"/koic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13203?s=80&v=4"}},{"before":"9febaba7ddc48b8ca3a751cf00afa055f3d22b3d","after":"f2c41662bd65ec2fce7a2628449ea25ee89215f5","ref":"refs/heads/support_prism","pushedAt":"2024-02-25T05:36:31.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"koic","name":"Koichi ITO","path":"/koic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13203?s=80&v=4"},"commit":{"message":"Support Prism as a Ruby parser\n\nThis PR introduces the `parser_engine` option to `ProcessedSource` to support Prism,\nas part of the RuboCop AST side effort towards addressing https://github.com/rubocop/rubocop/issues/12600.\n\n## Configuration\n\nBy default, analysis is performed using the Parser gem, so the default value\nfor the newly added `parser_engine` is `parser_whitequark`:\n\n```ruby\nProcessedSource.new(@options[:stdin], ruby_version, file, parser_engine: :parser_whitequark)\n```\n\nThis code maintains compatibility, meaning the traditional behavior is preserved:\n\n```ruby\nProcessedSource.new(@options[:stdin], ruby_version, file)\n```\n\nTo perform analysis using Prism, specify `parser_engine: :parser_prism`:\n\n```ruby\nProcessedSource.new(@options[:stdin], ruby_version, file, parser_engine: :parser_prism)\n```\n\nThe parameter name `parser_prism` reflects the original parser_prism which was the basis for\n`Prism::Translation::Parser` (now integrated into Prism):\nhttps://github.com/kddnewton/parser-prism\n\nThis is an experimental introduction, and some incompatibilities still remain.\n\n> [!NOTE]\n> As initially mentioned in https://github.com/rubocop/rubocop/issues/12600#issuecomment-1933657732,\n> the plan was to set `parser_engine: prism`.\n>\n> However, the parser engine used in this PR is `Prism::Translation::Parser`, not `Prism`:\n> https://github.com/ruby/prism/pull/2419\n>\n> `Prism::Translation::Parser` and `Prism` have different ASTs, so their migration will definitely cause incompatibility.\n> So, considering the possibility of further replacing `Prism::Translation::Parser` with `Prism` in the future,\n> it has been decided that it might be better not to use `ParserEngine: prism` for the time being.\n> `ParserEngine: prism` is reserved for `Prism`, not `Prism::Translation::Parser`.\n>\n> Therefore, the parameter value has been set to `parser_engine: parser_prism` specifically for\n> `Prism::Translation::Parser`.\n>\n> This means that the planned way to specify Prism in .rubocop.yml file will be `ParserEngine: parser_prism`,\n> not `ParserEngine: prism`.\n\n## Compatibility\n\nThe compatibility issues between Prism and the Parser gem have not been resolved.\nThe failing tests will be skipped with `broken_on: :prism`:\n\n- https://github.com/ruby/prism/issues/2454 has been resolved but not yet released.\n- https://github.com/ruby/prism/issues/2467 is still unresolved.\n\nIssues that will be resolved in several upcoming releases of Prism are being skipped\nwith `broken_on: :prism`.\n\nAnyway, RuboCop AST can be released independently of the resolution and release of Prism.\n\n> [!NOTE]\n> The hack in `Prism::Translation::Parser` for `ProcessedSource` needs to be fixed:\n> https://github.com/ruby/prism/blob/v0.24.0/lib/prism/translation/parser/rubocop.rb\n>\n> If the above interface is accepted, a fix will be proposed on the Prism side.\n\n## Test\n\nTests for RuboCop AST with Prism as the backend can be run as follows:\n\n```console\nbundle exec rake prism_spec\n```\n\nThe above is the shortcut alias for:\n\n```console\nPARSER_ENGINE=parser_prism TARGET_RUBY_VERSION=3.3 rake spec\n```\n\nRuboCop AST works on Ruby versions 2.6+, but since Prism only targets analysis for Ruby 3.3+,\n`internal_investigation` Rake task will not be executed. This task is only run with the Parser gem,\nwhich can analyze Ruby versions 2.0+.","shortMessageHtmlLink":"Support Prism as a Ruby parser"}},{"before":"8684b811d3e09f6ee786ec90257d2ba0132e74e2","after":"9febaba7ddc48b8ca3a751cf00afa055f3d22b3d","ref":"refs/heads/support_prism","pushedAt":"2024-02-25T05:36:09.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"koic","name":"Koichi ITO","path":"/koic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13203?s=80&v=4"},"commit":{"message":"Support Prism as a Ruby parser\n\nThis PR introduces the `parser_engine` option to `ProcessedSource` to support Prism,\nas part of the RuboCop AST side effort towards addressing https://github.com/rubocop/rubocop/issues/12600.\n\n## Configuration\n\nBy default, analysis is performed using the Parser gem, so the default value\nfor the newly added `parser_engine` is `parser_whitequark`:\n\n```ruby\nProcessedSource.new(@options[:stdin], ruby_version, file, parser_engine: :parser_whitequark)\n```\n\nThis code maintains compatibility, meaning the traditional behavior is preserved:\n\n```ruby\nProcessedSource.new(@options[:stdin], ruby_version, file)\n```\n\nTo perform analysis using Prism, specify `parser_engine: :parser_prism`:\n\n```ruby\nProcessedSource.new(@options[:stdin], ruby_version, file, parser_engine: :parser_prism)\n```\n\nThe parameter name `parser_prism` reflects the original parser_prism which was the basis for\n`Prism::Translation::Parser` (now integrated into Prism):\nhttps://github.com/kddnewton/parser-prism\n\nThis is an experimental introduction, and some incompatibilities still remain.\n\n> [!NOTE]\n> As initially mentioned in https://github.com/rubocop/rubocop/issues/12600#issuecomment-1933657732,\n> the plan was to set `parser_engine: prism`.\n>\n> However, the parser engine used in this PR is `Prism::Translation::Parser`, not `Prism`:\n> https://github.com/ruby/prism/pull/2419\n>\n> `Prism::Translation::Parser` and `Prism` have different ASTs, so their migration will definitely cause incompatibility.\n> So, considering the possibility of further replacing `Prism::Translation::Parser` with `Prism` in the future,\n> it has been decided that it might be better not to use `ParserEngine: prism` for the time being.\n> `ParserEngine: prism` is reserved for `Prism`, not `Prism::Translation::Parser`.\n>\n> Therefore, the parameter value has been set to `parser_engine: parser_prism` specifically for\n> `Prism::Translation::Parser`.\n>\n> This means that the planned way to specify Prism in .rubocop.yml file will be `ParserEngine: parser_prism`,\n> not `ParserEngine: prism`.\n\n## Compatibility\n\nThe compatibility issues between Prism and the Parser gem have not been resolved.\nThe failing tests will be skipped with `broken_on: :prism`:\n\n- https://github.com/ruby/prism/issues/2454 has been resolved but not yet released.\n- https://github.com/ruby/prism/issues/2467 is still unresolved.\n\nIssues that will be resolved in several upcoming releases of Prism are being skipped\nwith `broken_on: :prism`.\n\nAnyway, RuboCop AST can be released independently of the resolution and release of Prism.\n\n> [!NOTE]\n> The hack in `Prism::Translation::Parser` for `ProcessedSource` needs to be fixed:\n> https://github.com/ruby/prism/blob/v0.24.0/lib/prism/translation/parser/rubocop.rb\n>\n> If the above interface is accepted, a fix will be proposed on the Prism side.\n\n## Test\n\nTests for RuboCop AST with Prism as the backend can be run as follows:\n\n```console\nbundle exec rake prism_spec\n```\n\nThe above is the shortcut alias for:\n\n```console\nPARSER_ENGINE=parser_prism TARGET_RUBY_VERSION=3.3 rake spec\n```\n\nRuboCop AST works on Ruby versions 2.6+, but since Prism only targets analysis for Ruby 3.3+,\n`internal_investigation` Rake task will not be executed. This task is only run with the Parser gem,\nwhich can analyze Ruby versions 2.0+.","shortMessageHtmlLink":"Support Prism as a Ruby parser"}},{"before":"5ad1fcfbf5cf44f6e965c46fd9dfecabf9bff414","after":null,"ref":"refs/heads/fix_build_error","pushedAt":"2024-02-25T05:24:42.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"koic","name":"Koichi ITO","path":"/koic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13203?s=80&v=4"}},{"before":null,"after":"5ad1fcfbf5cf44f6e965c46fd9dfecabf9bff414","ref":"refs/heads/fix_build_error","pushedAt":"2024-02-25T05:21:54.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"koic","name":"Koichi ITO","path":"/koic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13203?s=80&v=4"},"commit":{"message":"Fix a build error\n\nThis PR resolves the following CI error with RuboCop 1.35.0:\n\n```console\n 1) RuboCop Project requiring all of `lib` with verbose warnings enabled emits no warnings\n Failure/Error: expect(warnings).to eq []\n\n expected: []\n got: [\"/home/runner/work/rubocop-ast/rubocop/lib/rubocop/formatter/html_formatter.rb:6:\nwarning: base64 wa...l no longer be part of the default gems since Ruby 3.4.0. Add base64 to your Gemfile or gemspec.\\n\"]\n\n (compared using ==)\n\n Diff:\n @@ -1 +1,2 @@\n +/home/runner/work/rubocop-ast/rubocop/lib/rubocop/formatter/html_formatter.rb:6: warning:\nbase64 was loaded from the standard library, but will no longer be part of the default gems since Ruby 3.4.0.\nAdd base64 to your Gemfile or gemspec.\\n\n\n # ./spec/project_spec.rb:284:in `block (3 levels) in '\n```\n\nhttps://github.com/rubocop/rubocop-ast/actions/runs/8033104014/job/21943241393\n\nIt updates RuboCop to 1.57.2, which was finally resolved by https://github.com/rubocop/rubocop/pull/12313.","shortMessageHtmlLink":"Fix a build error"}},{"before":"96743a1e6589a930bb00149f9dedf3bdd0374e47","after":null,"ref":"refs/heads/drop_ruby_26_runtime_support","pushedAt":"2024-02-25T05:06:43.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"koic","name":"Koichi ITO","path":"/koic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13203?s=80&v=4"}},{"before":"a8000bc8f04264d608a0abbfed48a5fe53782e00","after":"96743a1e6589a930bb00149f9dedf3bdd0374e47","ref":"refs/heads/drop_ruby_26_runtime_support","pushedAt":"2024-02-24T14:29:36.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"koic","name":"Koichi ITO","path":"/koic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13203?s=80&v=4"},"commit":{"message":"Drop Ruby 2.6 runtime support\n\nFollow up https://github.com/rubocop/rubocop-ast/pull/277#issuecomment-1962302045.\n\nThis PR drops Ruby 2.6 runtime support to prepare to support Prism.","shortMessageHtmlLink":"Drop Ruby 2.6 runtime support"}},{"before":null,"after":"a8000bc8f04264d608a0abbfed48a5fe53782e00","ref":"refs/heads/drop_ruby_26_runtime_support","pushedAt":"2024-02-24T14:28:46.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"koic","name":"Koichi ITO","path":"/koic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13203?s=80&v=4"},"commit":{"message":"Drop Ruby 2.6 runtime support\n\nFollow up https://github.com/rubocop/rubocop-ast/pull/277#issuecomment-1962302045.\n\nThis PR drops Ruby 2.6 runtime support to prepare to support Prism.","shortMessageHtmlLink":"Drop Ruby 2.6 runtime support"}},{"before":"48066438acf8caabe4efe76cc2a367b47fefeaa2","after":"8684b811d3e09f6ee786ec90257d2ba0132e74e2","ref":"refs/heads/support_prism","pushedAt":"2024-02-24T12:38:54.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"koic","name":"Koichi ITO","path":"/koic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13203?s=80&v=4"},"commit":{"message":"Support Prism as a Ruby parser\n\nThis PR introduces the `parser_engine` option to `ProcessedSource` to support Prism,\nas part of the RuboCop AST side effort towards addressing https://github.com/rubocop/rubocop/issues/12600.\n\n## Configuration\n\nBy default, analysis is performed using the Parser gem, so the default value\nfor the newly added `parser_engine` is `parser`:\n\n```ruby\nProcessedSource.new(@options[:stdin], ruby_version, file, parser_engine: :parser)\n```\n\nThis code maintains compatibility, meaning the traditional behavior is preserved:\n\n```ruby\nProcessedSource.new(@options[:stdin], ruby_version, file)\n```\n\nTo perform analysis using Prism, specify `parser_engine: :parser_prism`:\n\n```ruby\nProcessedSource.new(@options[:stdin], ruby_version, file, parser_engine: :parser_prism)\n```\n\nThe parameter name `parser_prism` reflects the original parser_prism which was the basis for\n`Prism::Translation::Parser` (now integrated into Prism):\nhttps://github.com/kddnewton/parser-prism\n\nThis is an experimental introduction, and some incompatibilities still remain.\n\n> [!NOTE]\n> As initially mentioned in https://github.com/rubocop/rubocop/issues/12600#issuecomment-1933657732,\n> the plan was to set `parser_engine: prism`.\n>\n> However, the parser engine used in this PR is `Prism::Translation::Parser`, not `Prism`:\n> https://github.com/ruby/prism/pull/2419\n>\n> `Prism::Translation::Parser` and `Prism` have different ASTs, so their migration will definitely cause incompatibility.\n> So, considering the possibility of further replacing `Prism::Translation::Parser` with `Prism` in the future,\n> it has been decided that it might be better not to use `ParserEngine: prism` for the time being.\n> `ParserEngine: prism` is reserved for `Prism`, not `Prism::Translation::Parser`.\n>\n> Therefore, the parameter value has been set to `parser_engine: parser_prism` specifically for\n> `Prism::Translation::Parser`.\n>\n> This means that the planned way to specify Prism in .rubocop.yml file will be `ParserEngine: parser_prism`,\n> not `ParserEngine: prism`.\n\n## Compatibility\n\nThe compatibility issues between Prism and the Parser gem have not been resolved.\nThe failing tests will be skipped with `broken_on: :prism`:\n\n- https://github.com/ruby/prism/issues/2454 has been resolved but not yet released.\n- https://github.com/ruby/prism/issues/2467 is still unresolved.\n\nIssues that will be resolved in several upcoming releases of Prism are being skipped\nwith `broken_on: :prism`.\n\nAnyway, RuboCop AST can be released independently of the resolution and release of Prism.\n\n> [!NOTE]\n> The hack in `Prism::Translation::Parser` for `ProcessedSource` needs to be fixed:\n> https://github.com/ruby/prism/blob/v0.24.0/lib/prism/translation/parser/rubocop.rb\n>\n> If the above interface is accepted, a fix will be proposed on the Prism side.\n\n## Test\n\nTests for RuboCop AST with Prism as the backend can be run as follows:\n\n```console\nbundle exec rake prism_spec\n```\n\nThe above is the shortcut alias for:\n\n```console\nPARSER_ENGINE=parser_prism TARGET_RUBY_VERSION=3.3 rake spec\n```\n\nRuboCop AST works on Ruby versions 2.6+, but since Prism only targets analysis for Ruby 3.3+,\n`internal_investigation` Rake task will not be executed. This task is only run with the Parser gem,\nwhich can analyze Ruby versions 2.0+.","shortMessageHtmlLink":"Support Prism as a Ruby parser"}},{"before":"6de4a6536b30428072f02f2e0baefe80aacd845b","after":"48066438acf8caabe4efe76cc2a367b47fefeaa2","ref":"refs/heads/support_prism","pushedAt":"2024-02-24T09:25:46.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"koic","name":"Koichi ITO","path":"/koic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13203?s=80&v=4"},"commit":{"message":"Support Prism as a Ruby parser\n\nThis PR introduces the `parser_engine` option to `ProcessedSource` to support Prism,\nas part of the RuboCop AST side effort towards addressing https://github.com/rubocop/rubocop/issues/12600.\n\n## Configuration\n\nBy default, analysis is performed using the Parser gem, so the default value\nfor the newly added `parser_engine` is `parser`:\n\n```ruby\nProcessedSource.new(@options[:stdin], ruby_version, file, parser_engine: :parser)\n```\n\nThis code maintains compatibility, meaning the traditional behavior is preserved:\n\n```ruby\nProcessedSource.new(@options[:stdin], ruby_version, file)\n```\n\nTo perform analysis using Prism, specify `parser_engine: :parser_prism`:\n\n```ruby\nProcessedSource.new(@options[:stdin], ruby_version, file, parser_engine: :parser_prism)\n```\n\nThe parameter name `parser_prism` reflects the original parser_prism which was the basis for\n`Prism::Translation::Parser` (now integrated into Prism):\nhttps://github.com/kddnewton/parser-prism\n\nThis is an experimental introduction, and some incompatibilities still remain.\n\n> [!NOTE]\n> As initially mentioned in https://github.com/rubocop/rubocop/issues/12600#issuecomment-1933657732,\n> the plan was to set `parser_engine: prism`.\n>\n> However, the parser engine used in this PR is `Prism::Translation::Parser`, not `Prism`:\n> https://github.com/ruby/prism/pull/2419\n>\n> `Prism::Translation::Parser` and `Prism` have different ASTs, so their migration will definitely cause incompatibility.\n> So, considering the possibility of further replacing `Prism::Translation::Parser` with `Prism` in the future,\n> it has been decided that it might be better not to use `ParserEngine: prism` for the time being.\n> `ParserEngine: prism` is reserved for `Prism`, not `Prism::Translation::Parser`.\n>\n> Therefore, the parameter value has been set to `parser_engine: parser_prism` specifically for\n> `Prism::Translation::Parser`.\n>\n> This means that the planned way to specify Prism in .rubocop.yml file will be `ParserEngine: parser_prism`,\n> not `ParserEngine: prism`.\n\n## Compatibility\n\nThe compatibility issues between Prism and the Parser gem have not been resolved.\nThe failing tests will be skipped with `broken_on: :prism`:\n\n- https://github.com/ruby/prism/issues/2454 has been resolved but not yet released.\n- https://github.com/ruby/prism/issues/2467 is still unresolved.\n\nIssues that will be resolved in several upcoming releases of Prism are being skipped\nwith `broken_on: :prism`.\n\nAnyway, RuboCop AST can be released independently of the resolution and release of Prism.\n\n> [!NOTE]\n> The hack in `Prism::Translation::Parser` for `ProcessedSource` needs to be fixed:\n> https://github.com/ruby/prism/blob/v0.24.0/lib/prism/translation/parser/rubocop.rb\n>\n> If the above interface is accepted, a fix will be proposed on the Prism side.\n\n## Test\n\nTests for RuboCop AST with Prism as the backend can be run as follows:\n\n```console\nbundle exec rake prism_spec\n```\n\nThe above is the shortcut alias for:\n\n```console\nPARSER_ENGINE=parser_prism TARGET_RUBY_VERSION=3.3 rake spec\n```\n\nRuboCop AST works on Ruby versions 2.6+, but since Prism only targets analysis for Ruby 3.3+,\n`internal_investigation` Rake task will not be executed. This task is only run with the Parser gem,\nwhich can analyze Ruby versions 2.0+.","shortMessageHtmlLink":"Support Prism as a Ruby parser"}},{"before":"e897d99d91d4499e555c0d4053791b3a5b86defe","after":null,"ref":"refs/heads/fix_build_error","pushedAt":"2024-02-24T09:25:15.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"koic","name":"Koichi ITO","path":"/koic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13203?s=80&v=4"}},{"before":null,"after":"e897d99d91d4499e555c0d4053791b3a5b86defe","ref":"refs/heads/fix_build_error","pushedAt":"2024-02-24T09:20:37.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"koic","name":"Koichi ITO","path":"/koic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13203?s=80&v=4"},"commit":{"message":"Fix a build error\n\nThis PR fixes the following build error when using Ruby 3.4dev:\n\n```console\n$ ruby -v\nruby 3.4.0dev (2024-02-24T04:19:37Z master e9e752c7ef) [x86_64-darwin23]\n$ bundle exec rspec ./spec/rubocop/ast/node_spec.rb:322\nRun options: include {:locations=>{\"./spec/rubocop/ast/node_spec.rb\"=>[322]}}\n\nRandomized with seed 21659\nF\n\nFailures:\n\n 1) RuboCop::AST::Node#pure? for a regexp with no interpolation returns true\n Failure/Error: let(:src) { URI::DEFAULT_PARSER.make_regexp.inspect }\n\n NameError:\n uninitialized constant URI\n # ./spec/rubocop/ast/node_spec.rb:320:in 'block (5 levels) in '\n # ./spec/rubocop/ast/node_spec.rb:4:in 'block (2 levels) in '\n # ./spec/rubocop/ast/node_spec.rb:5:in 'block (2 levels) in '\n # ./spec/rubocop/ast/node_spec.rb:323:in 'block (5 levels) in '\n\nFinished in 0.00259 seconds (files took 0.32884 seconds to load)\n1 example, 1 failure\n\nFailed examples:\n\nrspec ./spec/rubocop/ast/node_spec.rb:322 # RuboCop::AST::Node#pure? for a regexp with no interpolation returns true\n```","shortMessageHtmlLink":"Fix a build error"}},{"before":null,"after":"6de4a6536b30428072f02f2e0baefe80aacd845b","ref":"refs/heads/support_prism","pushedAt":"2024-02-24T08:36:49.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"koic","name":"Koichi ITO","path":"/koic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13203?s=80&v=4"},"commit":{"message":"Support Prism as a Ruby parser\n\nThis PR introduces the `parser_engine` option to `ProcessedSource` to support Prism,\nas part of the RuboCop AST side effort towards addressing https://github.com/rubocop/rubocop/issues/12600.\n\n## Configuration\n\nBy default, analysis is performed using the Parser gem, so the default value\nfor the newly added `parser_engine` is `parser`:\n\n```ruby\nProcessedSource.new(@options[:stdin], ruby_version, file, parser_engine: :parser)\n```\n\nThis code maintains compatibility, meaning the traditional behavior is preserved:\n\n```ruby\nProcessedSource.new(@options[:stdin], ruby_version, file)\n```\n\nTo perform analysis using Prism, specify `parser_engine: :parser_prism`:\n\n```ruby\nProcessedSource.new(@options[:stdin], ruby_version, file, parser_engine: :parser_prism)\n```\n\nThe parameter name `parser_prism` reflects the original parser_prism which was the basis for\n`Prism::Translation::Parser` (now integrated into Prism):\nhttps://github.com/kddnewton/parser-prism\n\nThis is an experimental introduction, and some incompatibilities still remain.\n\n> [!NOTE]\n> As initially mentioned in https://github.com/rubocop/rubocop/issues/12600#issuecomment-1933657732,\n> the plan was to set `parser_engine: prism`.\n>\n> However, the parser engine used in this PR is `Prism::Translation::Parser`, not `Prism`:\n> https://github.com/ruby/prism/pull/2419\n>\n> `Prism::Translation::Parser` and `Prism` have different ASTs, so their migration will definitely cause incompatibility.\n> So, considering the possibility of further replacing `Prism::Translation::Parser` with `Prism` in the future,\n> it has been decided that it might be better not to use `ParserEngine: prism` for the time being.\n> `ParserEngine: prism` is reserved for `Prism`, not `Prism::Translation::Parser`.\n>\n> Therefore, the parameter value has been set to `parser_engine: parser_prism` specifically for\n> `Prism::Translation::Parser`.\n>\n> This means that the planned way to specify Prism in .rubocop.yml file will be `ParserEngine: parser_prism`,\n> not `ParserEngine: prism`.\n\n## Compatibility\n\nThe compatibility issues between Prism and the Parser gem have not been resolved.\nThe failing tests will be skipped with `broken_on: :prism`:\n\n- https://github.com/ruby/prism/issues/2454 has been resolved but not yet released.\n- https://github.com/ruby/prism/issues/2467 is still unresolved.\n\nIssues that will be resolved in several upcoming releases of Prism are being skipped\nwith `broken_on: :prism`.\n\nAnyway, RuboCop AST can be released independently of the resolution and release of Prism.\n\n> [!NOTE]\n> The hack in `Prism::Translation::Parser` for `ProcessedSource` needs to be fixed:\n> https://github.com/ruby/prism/blob/v0.24.0/lib/prism/translation/parser/rubocop.rb\n>\n> If the above interface is accepted, a fix will be proposed on the Prism side.\n\n## Test\n\nTests for RuboCop AST with Prism as the backend can be run as follows:\n\n```console\nbundle exec rake prism_spec\n```\n\nThe above is the shortcut alias for:\n\n```console\nPARSER_ENGINE=parser_prism TARGET_RUBY_VERSION=3.3 rake spec\n```\n\nRuboCop AST works on Ruby versions 2.6+, but since Prism only targets analysis for Ruby 3.3+,\n`internal_investigation` Rake task will not be executed. This task is only run with the Parser gem,\nwhich can analyze Ruby versions 2.0+.","shortMessageHtmlLink":"Support Prism as a Ruby parser"}},{"before":"5e38a20e31d649dbb8639438d10da3ab460afcec","after":null,"ref":"refs/heads/ci_against_ruby_3_3","pushedAt":"2024-02-22T11:29:08.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"koic","name":"Koichi ITO","path":"/koic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13203?s=80&v=4"}},{"before":"7beabb9a9d3420bc3910ec621a8a4a49fe9ed93f","after":null,"ref":"refs/heads/support_ruby_34","pushedAt":"2024-01-16T07:42:31.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"koic","name":"Koichi ITO","path":"/koic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13203?s=80&v=4"}},{"before":null,"after":"7beabb9a9d3420bc3910ec621a8a4a49fe9ed93f","ref":"refs/heads/support_ruby_34","pushedAt":"2024-01-15T23:35:18.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"koic","name":"Koichi ITO","path":"/koic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13203?s=80&v=4"},"commit":{"message":"Support `Parser::Ruby34`\n\nParser gem has been started development for Ruby 3.4 (edge Ruby).\nhttps://github.com/whitequark/parser/pull/991\n\nAnd this PR update to require Parser 3.3.0.4 or higher, which contains `Parser::Ruby34`.\nhttps://github.com/whitequark/parser/blob/master/CHANGELOG.md#not-released-2024-01-15","shortMessageHtmlLink":"Support Parser::Ruby34"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEQrfH1AA","startCursor":null,"endCursor":null}},"title":"Activity ยท koic/rubocop-ast"}