From d05cabd50dda3d2d79acb4a50745ede5b08965fe Mon Sep 17 00:00:00 2001 From: Nick Date: Fri, 3 Oct 2025 21:15:14 -0500 Subject: [PATCH] feat: added elm-review --- templates/website/frontend/review/elm.json | 41 +++++++++++++ .../frontend/review/src/ReviewConfig.elm | 58 +++++++++++++++++++ 2 files changed, 99 insertions(+) create mode 100644 templates/website/frontend/review/elm.json create mode 100644 templates/website/frontend/review/src/ReviewConfig.elm diff --git a/templates/website/frontend/review/elm.json b/templates/website/frontend/review/elm.json new file mode 100644 index 0000000..1cd52e6 --- /dev/null +++ b/templates/website/frontend/review/elm.json @@ -0,0 +1,41 @@ +{ + "type": "application", + "source-directories": [ + "src" + ], + "elm-version": "0.19.1", + "dependencies": { + "direct": { + "elm/core": "1.0.5", + "elm/json": "1.1.4", + "elm/project-metadata-utils": "1.0.2", + "jfmengels/elm-review": "2.15.3", + "jfmengels/elm-review-code-style": "1.2.0", + "jfmengels/elm-review-common": "1.3.3", + "jfmengels/elm-review-debug": "1.0.8", + "jfmengels/elm-review-documentation": "2.0.4", + "jfmengels/elm-review-simplify": "2.1.9", + "jfmengels/elm-review-unused": "1.2.4", + "stil4m/elm-syntax": "7.3.9" + }, + "indirect": { + "elm/bytes": "1.0.8", + "elm/html": "1.0.0", + "elm/parser": "1.1.0", + "elm/random": "1.0.0", + "elm/regex": "1.0.0", + "elm/time": "1.0.0", + "elm/virtual-dom": "1.0.4", + "elm-explorations/test": "2.2.0", + "pzp1997/assoc-list": "1.0.0", + "rtfeldman/elm-hex": "1.0.0", + "stil4m/structured-writer": "1.0.3" + } + }, + "test-dependencies": { + "direct": { + "elm-explorations/test": "2.2.0" + }, + "indirect": {} + } +} \ No newline at end of file diff --git a/templates/website/frontend/review/src/ReviewConfig.elm b/templates/website/frontend/review/src/ReviewConfig.elm new file mode 100644 index 0000000..2a3a988 --- /dev/null +++ b/templates/website/frontend/review/src/ReviewConfig.elm @@ -0,0 +1,58 @@ +module ReviewConfig exposing (config) + +{-| Do not rename the ReviewConfig module or the config function, because +`elm-review` will look for these. + +To add packages that contain rules, add them to this review project using + + `elm install author/packagename` + +when inside the directory containing this file. + +-} + +import Docs.ReviewAtDocs +import NoConfusingPrefixOperator +import NoDebug.Log +import NoDebug.TodoOrToString +import NoExposingEverything +import NoImportingEverything +import NoMissingTypeAnnotation +import NoMissingTypeAnnotationInLetIn +import NoMissingTypeExpose +import NoPrematureLetComputation +import NoSimpleLetBody +import NoUnused.CustomTypeConstructorArgs +import NoUnused.CustomTypeConstructors +import NoUnused.Dependencies +import NoUnused.Exports +import NoUnused.Parameters +import NoUnused.Patterns +import NoUnused.Variables +import Review.Rule as Rule exposing (Rule) +import Simplify + + +config : List Rule +config = + [ Docs.ReviewAtDocs.rule + , NoConfusingPrefixOperator.rule + , NoDebug.Log.rule + , NoDebug.TodoOrToString.rule + |> Rule.ignoreErrorsForDirectories [ "tests/" ] + , NoExposingEverything.rule + , NoImportingEverything.rule [] + , NoMissingTypeAnnotation.rule + , NoMissingTypeAnnotationInLetIn.rule + , NoMissingTypeExpose.rule + , NoSimpleLetBody.rule + , NoPrematureLetComputation.rule + , NoUnused.CustomTypeConstructors.rule [] + , NoUnused.CustomTypeConstructorArgs.rule + , NoUnused.Dependencies.rule + , NoUnused.Exports.rule + , NoUnused.Parameters.rule + , NoUnused.Patterns.rule + , NoUnused.Variables.rule + , Simplify.rule Simplify.defaults + ]