Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,10 @@ jobs:
name: ESLint
command: pnpm eslint

- run:
name: Verify ESLint Autogen
command: bundle exec exe/eslint_autogen

- run:
name: Vitest
command: pnpm vitest
Expand All @@ -89,6 +93,10 @@ jobs:
name: Stylelint
command: pnpm stylelint

- run:
name: Verify Stylelint Autogen
command: bundle exec exe/stylelint_autogen

- run:
name: Rubocop
command: bundle exec rubocop
Expand Down
11 changes: 7 additions & 4 deletions .eslint_todo.ts
Original file line number Diff line number Diff line change
@@ -1,17 +1,20 @@
// This configuration was generated by `exe/eslint_autogen`
// on 2025-12-16 22:19:02 UTC.
// on 2026-02-13 00:31:54 UTC.
// The point is for the user to remove these configuration records
// one by one as the offenses are removed from the code base.

import type {Linter} from "eslint";

const eslintTodo: Linter.Config[] = [
const config: Linter.Config[] = [
// Offense count: 1
{
files: ["spec/javascript/controllers/file_upload_controller_spec.ts"],
files: [
"spec/javascript/controllers/file_upload_controller_spec.ts",
],
rules: {
"@typescript-eslint/consistent-type-assertions": "off",
},
},
];

export default eslintTodo;
export default config;
16 changes: 8 additions & 8 deletions .stylelint_todo.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# This configuration was generated by `exe/stylelint_autogen`
# on 2026-02-08 01:36:05 UTC.
# on 2026-02-13 00:26:45 UTC.
# The point is for the user to remove these configuration records
# one by one as the offenses are removed from the code base.

overrides:

# Offense count: 119
# Offense count: 117
- rules: { 'alpha-value-notation': null }
files:
- app/assets/stylesheets/application.css
Expand All @@ -17,7 +17,7 @@ overrides:
- app/assets/stylesheets/pricing.css
- app/assets/stylesheets/welcome.css

# Offense count: 119
# Offense count: 117
- rules: { 'color-function-alias-notation': null }
files:
- app/assets/stylesheets/application.css
Expand All @@ -29,7 +29,7 @@ overrides:
- app/assets/stylesheets/pricing.css
- app/assets/stylesheets/welcome.css

# Offense count: 119
# Offense count: 117
- rules: { 'color-function-notation': null }
files:
- app/assets/stylesheets/application.css
Expand Down Expand Up @@ -102,7 +102,7 @@ overrides:
files:
- app/assets/stylesheets/pricing.css

# Offense count: 455
# Offense count: 461
- rules: { 'order/properties-order': null }
files:
- app/assets/stylesheets/application.css
Expand All @@ -114,7 +114,7 @@ overrides:
- app/assets/stylesheets/pricing.css
- app/assets/stylesheets/welcome.css

# Offense count: 610
# Offense count: 623
- rules: { 'plugin/selector-bem-pattern': null }
files:
- app/assets/stylesheets/application.css
Expand All @@ -126,7 +126,7 @@ overrides:
- app/assets/stylesheets/pricing.css
- app/assets/stylesheets/welcome.css

# Offense count: 14
# Offense count: 10
- rules: { 'rule-empty-line-before': null }
files:
- app/assets/stylesheets/application.css
Expand All @@ -147,7 +147,7 @@ overrides:
- app/assets/stylesheets/pricing.css
- app/assets/stylesheets/welcome.css

# Offense count: 2
# Offense count: 1
- rules: { 'value-keyword-case': null }
files:
- app/assets/stylesheets/flash.css
9 changes: 7 additions & 2 deletions exe/eslint_autogen
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
# frozen_string_literal: true

require "active_support/all"
require "stringio"

TODO_FILE_PATH = "./.eslint_todo.ts"
HEADING = <<~COMMENTS.freeze
Expand All @@ -12,7 +13,7 @@ HEADING = <<~COMMENTS.freeze
COMMENTS

File.write(TODO_FILE_PATH, "export default []")
json = `pnpm eslint --format json`
json = `pnpm --silent eslint --format json`
results = JSON.parse(json)

by_rule =
Expand All @@ -29,7 +30,9 @@ by_rule =
output = StringIO.new
output.puts(HEADING)
output.puts
output.puts("export default [")
output.puts("import type {Linter} from \"eslint\";")
output.puts
output.puts("const config: Linter.Config[] = [")

by_rule.sort.each do |rule, file_paths|
output.puts(" // Offense count: #{file_paths.length}")
Expand All @@ -49,5 +52,7 @@ by_rule.sort.each do |rule, file_paths|
end

output.puts("];")
output.puts
output.puts("export default config;")

File.write(TODO_FILE_PATH, output.string)