-
-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
lint: check concept .meta/config.json
files
#261
Conversation
This commit implements the below checks for each concept's `.meta/config.json` file. - The JSON root must be an object - The `"blurb"` key is required - The `"blurb"` value must be a non-blank string¹ with length <= 350 - The `"authors"` key is required - The `"authors"` value must be an array - The `"authors"` values must be non-blank strings¹ - The `"authors"` values must not have duplicates - The `"contributors"` key is optional - The `"contributors"` value must be an array - The `"contributors"` values must be non-blank strings¹ - The `"contributors"` values must not have duplicates [1] Non-blank string: a string that contains at least one non-whitespace character.
Even though some tracks have merged the PRs that add the config file, this PR still adds a lot of output. Should we merge it as-is? As of 2021-05-01, this PR produces the below diff. Click to expandclojure+Missing file:
+./concepts/basics/.meta/config.json
+
+Missing file:
+./concepts/booleans/.meta/config.json
+
+Missing file:
+./concepts/conditionals/.meta/config.json
+
+Missing file:
+./concepts/floating-point-numbers/.meta/config.json
+
+Missing file:
+./concepts/lists/.meta/config.json
+
+Missing file:
+./concepts/numbers/.meta/config.json
+
+Missing file:
+./concepts/strings/.meta/config.json
+
+Missing file:
+./concepts/vectors/.meta/config.json
+ common-lisp+The `authors` array is empty:
+./concepts/anonymous-functions/.meta/config.json
+
+The `authors` array is empty:
+./concepts/arrays/.meta/config.json
+
+The `authors` array is empty:
+./concepts/assignment/.meta/config.json
+
+The `authors` array is empty:
+./concepts/bitwise-operations/.meta/config.json
+
+The `authors` array is empty:
+./concepts/characters/.meta/config.json
+
+The `authors` array is empty:
+./concepts/constants/.meta/config.json
+
+Missing file:
+./concepts/dates-times/.meta/config.json
+
+The `authors` array is empty:
+./concepts/destructuring-assignment/.meta/config.json
+
+The `authors` array is empty:
+./concepts/filtering/.meta/config.json
+
+The `authors` array is empty:
+./concepts/hash-tables/.meta/config.json
+
+The `authors` array is empty:
+./concepts/higher-order-functions/.meta/config.json
+
+The `authors` array is empty:
+./concepts/iteration/.meta/config.json
+
+The `authors` array is empty:
+./concepts/loop/.meta/config.json
+
+The `authors` array is empty:
+./concepts/mapping/.meta/config.json
+
+The `authors` array is empty:
+./concepts/multiple-values/.meta/config.json
+
+The `authors` array is empty:
+./concepts/nested-functions/.meta/config.json
+
+The `authors` array is empty:
+./concepts/packages/.meta/config.json
+
+The `authors` array is empty:
+./concepts/printing/.meta/config.json
+
+The `authors` array is empty:
+./concepts/randomness/.meta/config.json
+
+The `authors` array is empty:
+./concepts/recursion/.meta/config.json
+
+The `authors` array is empty:
+./concepts/scope/.meta/config.json
+
+The `authors` array is empty:
+./concepts/sequences/.meta/config.json
+
+The `authors` array is empty:
+./concepts/sets/.meta/config.json
+
+The `authors` array is empty:
+./concepts/sorting/.meta/config.json
+
+The `authors` array is empty:
+./concepts/structures/.meta/config.json
+
+The `authors` array is empty:
+./concepts/text-formatting/.meta/config.json
+
+The `authors` array is empty:
+./concepts/variables/.meta/config.json
+
+Configlet detected at least one problem.
+For more information on resolving the problems, please see the documentation:
+https://github.com/exercism/docs/blob/main/building/configlet/lint.md cpp+Missing file:
+./concepts/strings/.meta/config.json
+ csharp+The `authors` array is empty:
+./concepts/bit-manipulation/.meta/config.json
+
+The `authors` array is empty:
+./concepts/compound-assignment/.meta/config.json
+
+The `authors` array is empty:
+./concepts/const-readonly/.meta/config.json
+
+Missing file:
+./concepts/enumerables/.meta/config.json
+
+The `authors` array is empty:
+./concepts/explicit-casts/.meta/config.json
+
+The `authors` array is empty:
+./concepts/indexers/.meta/config.json
+
+Missing file:
+./concepts/lambdas/.meta/config.json
+
+Missing file:
+./concepts/math-operators/.meta/config.json
+
+The `authors` array is empty:
+./concepts/memory-allocation/.meta/config.json
+
+The `authors` array is empty:
+./concepts/string-interpolation/.meta/config.json
+
+The `authors` array is empty:
+./concepts/varargs/.meta/config.json
+
+Configlet detected at least one problem.
+For more information on resolving the problems, please see the documentation:
+https://github.com/exercism/docs/blob/main/building/configlet/lint.md dart+The `authors` array is empty:
+./concepts/callbacks/.meta/config.json
+
+The `authors` array is empty:
+./concepts/errors-basic/.meta/config.json
+
+The `authors` array is empty:
+./concepts/futures/.meta/config.json
+
+The `authors` array is empty:
+./concepts/iterables-basic/.meta/config.json
+
+The `authors` array is empty:
+./concepts/numbers-basic/.meta/config.json
+
+The `authors` array is empty:
+./concepts/recursion/.meta/config.json
+
+The `authors` array is empty:
+./concepts/strings-basic/.meta/config.json
+
+The `authors` array is empty:
+./concepts/type-conversion/.meta/config.json
+ fsharp+The `authors` array is empty:
+./concepts/classes/.meta/config.json
+
+The `authors` array is empty:
+./concepts/higher-order-functions/.meta/config.json
+ go+Missing file:
+./concepts/anonymous-functions/.meta/config.json
+
+Missing file:
+./concepts/application-timing/.meta/config.json
+
+Missing file:
+./concepts/booleans/.meta/config.json
+
+Missing file:
+./concepts/bytes/.meta/config.json
+
+Missing file:
+./concepts/channels/.meta/config.json
+
+Missing file:
+./concepts/comments/.meta/config.json
+
+Missing file:
+./concepts/conditionals/.meta/config.json
+
+Missing file:
+./concepts/conditionals-if/.meta/config.json
+
+Missing file:
+./concepts/conditionals-switch/.meta/config.json
+
+Missing file:
+./concepts/constants/.meta/config.json
+
+Missing file:
+./concepts/context/.meta/config.json
+
+Missing file:
+./concepts/defer/.meta/config.json
+
+Missing file:
+./concepts/duration/.meta/config.json
+
+Missing file:
+./concepts/empty-interface/.meta/config.json
+
+Missing file:
+./concepts/errors/.meta/config.json
+
+Missing file:
+./concepts/errors-handling/.meta/config.json
+
+Missing file:
+./concepts/floating-point/.meta/config.json
+
+Missing file:
+./concepts/functions/.meta/config.json
+
+Missing file:
+./concepts/goroutines/.meta/config.json
+
+Missing file:
+./concepts/interfaces/.meta/config.json
+
+Missing file:
+./concepts/iteration/.meta/config.json
+
+Missing file:
+./concepts/maps/.meta/config.json
+
+Missing file:
+./concepts/methods/.meta/config.json
+
+Missing file:
+./concepts/mutex/.meta/config.json
+
+Missing file:
+./concepts/nil/.meta/config.json
+
+Missing file:
+./concepts/numbers/.meta/config.json
+
+Missing file:
+./concepts/packages/.meta/config.json
+
+Missing file:
+./concepts/panic/.meta/config.json
+
+Missing file:
+./concepts/pointers/.meta/config.json
+
+Missing file:
+./concepts/range-iteration/.meta/config.json
+
+Missing file:
+./concepts/recover/.meta/config.json
+
+Missing file:
+./concepts/reflection/.meta/config.json
+
+Missing file:
+./concepts/runes/.meta/config.json
+
+Missing file:
+./concepts/select/.meta/config.json
+
+Missing file:
+./concepts/slices/.meta/config.json
+
+Missing file:
+./concepts/strings/.meta/config.json
+
+Missing file:
+./concepts/strings-package/.meta/config.json
+
+Missing file:
+./concepts/structs/.meta/config.json
+
+Missing file:
+./concepts/time/.meta/config.json
+
+Missing file:
+./concepts/type-assertion/.meta/config.json
+
+Missing file:
+./concepts/type-conversion/.meta/config.json
+
+Missing file:
+./concepts/variables/.meta/config.json
+
+Missing file:
+./concepts/zero-value/.meta/config.json
+ haxe+Missing file:
+./concepts/abstract-types/.meta/config.json
+
+Missing file:
+./concepts/array-comprehension/.meta/config.json
+
+Missing file:
+./concepts/arrays/.meta/config.json
+
+Missing file:
+./concepts/basics/.meta/config.json
+
+Missing file:
+./concepts/bit-manipulation/.meta/config.json
+
+Missing file:
+./concepts/booleans/.meta/config.json
+
+Missing file:
+./concepts/chars/.meta/config.json
+
+Missing file:
+./concepts/classes/.meta/config.json
+
+Missing file:
+./concepts/constructors/.meta/config.json
+
+Missing file:
+./concepts/datetimes/.meta/config.json
+
+Missing file:
+./concepts/do-while-loops/.meta/config.json
+
+Missing file:
+./concepts/enums/.meta/config.json
+
+Missing file:
+./concepts/equality/.meta/config.json
+
+Missing file:
+./concepts/exceptions/.meta/config.json
+
+Missing file:
+./concepts/final/.meta/config.json
+
+Missing file:
+./concepts/flag-enums/.meta/config.json
+
+Missing file:
+./concepts/floating-point-numbers/.meta/config.json
+
+Missing file:
+./concepts/for-loops/.meta/config.json
+
+Missing file:
+./concepts/foreach-loops/.meta/config.json
+
+Missing file:
+./concepts/generic-types/.meta/config.json
+
+Missing file:
+./concepts/if-statements/.meta/config.json
+
+Missing file:
+./concepts/indexers/.meta/config.json
+
+Missing file:
+./concepts/inheritance/.meta/config.json
+
+Missing file:
+./concepts/integral-numbers/.meta/config.json
+
+Missing file:
+./concepts/interfaces/.meta/config.json
+
+Missing file:
+./concepts/iterators/.meta/config.json
+
+Missing file:
+./concepts/lambda/.meta/config.json
+
+Missing file:
+./concepts/lists/.meta/config.json
+
+Missing file:
+./concepts/maps/.meta/config.json
+
+Missing file:
+./concepts/nullability/.meta/config.json
+
+Missing file:
+./concepts/numbers/.meta/config.json
+
+Missing file:
+./concepts/operator-overloading/.meta/config.json
+
+Missing file:
+./concepts/option-type/.meta/config.json
+
+Missing file:
+./concepts/optional-arguments/.meta/config.json
+
+Missing file:
+./concepts/pattern-matching/.meta/config.json
+
+Missing file:
+./concepts/properties/.meta/config.json
+
+Missing file:
+./concepts/randomness/.meta/config.json
+
+Missing file:
+./concepts/reflection/.meta/config.json
+
+Missing file:
+./concepts/regular-expressions/.meta/config.json
+
+Missing file:
+./concepts/rest-args/.meta/config.json
+
+Missing file:
+./concepts/string-buffer/.meta/config.json
+
+Missing file:
+./concepts/string-interpolation/.meta/config.json
+
+Missing file:
+./concepts/strings/.meta/config.json
+
+Missing file:
+./concepts/switch-expressions/.meta/config.json
+
+Missing file:
+./concepts/templates/.meta/config.json
+
+Missing file:
+./concepts/ternary-operators/.meta/config.json
+
+Missing file:
+./concepts/throw-expressions/.meta/config.json
+
+Missing file:
+./concepts/time/.meta/config.json
+
+Missing file:
+./concepts/typedefs/.meta/config.json
+
+Missing file:
+./concepts/using-statements/.meta/config.json
+
+Missing file:
+./concepts/while-loops/.meta/config.json
+ java+The `authors` array is empty:
+./concepts/abstract/.meta/config.json
+
+The `authors` array is empty:
+./concepts/boolean/.meta/config.json
+
+The `authors` array is empty:
+./concepts/conditionals/.meta/config.json
+
+Missing file:
+./concepts/for-loops/.meta/config.json
+
+Missing file:
+./concepts/foreach-loops/.meta/config.json
+
+The `authors` array is empty:
+./concepts/functions/.meta/config.json
+
+The `authors` array is empty:
+./concepts/lists/.meta/config.json
+
+Missing file:
+./concepts/switch-statement/.meta/config.json
+ javascript+The `authors` array is empty:
+./concepts/array-loops/.meta/config.json
+
+The `authors` array is empty:
+./concepts/errors/.meta/config.json
+
+Missing file:
+./concepts/rest-elements/.meta/config.json
+
+Missing file:
+./concepts/spread-elements/.meta/config.json
+
+Missing file:
+./concepts/spread-operator/.meta/config.json
+
+The `authors` array is empty:
+./concepts/string-formatting/.meta/config.json
+
+Missing file:
+./concepts/type-conversion/.meta/config.json
+
+The `authors` array is empty:
+./concepts/variable-parameters/.meta/config.json
+
+Configlet detected at least one problem.
+For more information on resolving the problems, please see the documentation:
+https://github.com/exercism/docs/blob/main/building/configlet/lint.md julia+The `authors` array is empty:
+./concepts/abstract-types/.meta/config.json
+
+Missing file:
+./concepts/arithmetic-operators/.meta/config.json
+
+Missing file:
+./concepts/boolean-expressions/.meta/config.json
+
+The `authors` array is empty:
+./concepts/boolean-logic/.meta/config.json
+
+The `authors` array is empty:
+./concepts/composite-types/.meta/config.json
+
+Missing file:
+./concepts/conditionals/.meta/config.json
+
+The `authors` array is empty:
+./concepts/constants/.meta/config.json
+
+The `authors` array is empty:
+./concepts/emoji-symbols/.meta/config.json
+
+Missing file:
+./concepts/if-expressions/.meta/config.json
+
+Missing file:
+./concepts/integer-equality/.meta/config.json
+
+Missing file:
+./concepts/iterator-protocol/.meta/config.json
+
+The `authors` array is empty:
+./concepts/matrices-concatenation/.meta/config.json
+
+The `authors` array is empty:
+./concepts/matrices-indices/.meta/config.json
+
+The `authors` array is empty:
+./concepts/matrices-introduction/.meta/config.json
+
+The `authors` array is empty:
+./concepts/matrices-iteration/.meta/config.json
+
+The `authors` array is empty:
+./concepts/matrices-mutation/.meta/config.json
+
+The `authors` array is empty:
+./concepts/methods/.meta/config.json
+
+The `authors` array is empty:
+./concepts/multiple-dispatch/.meta/config.json
+
+Missing file:
+./concepts/nothingness/.meta/config.json
+
+Missing file:
+./concepts/pairs/.meta/config.json
+
+The `authors` array is empty:
+./concepts/randomness/.meta/config.json
+
+Missing file:
+./concepts/short-circuit-evaluation/.meta/config.json
+
+The `authors` array is empty:
+./concepts/symbols/.meta/config.json
+
+Missing file:
+./concepts/ternary-operator/.meta/config.json
+
+The `authors` array is empty:
+./concepts/unicode-identifiers/.meta/config.json
+
+Missing file:
+./concepts/vectors/.meta/config.json
+ kotlin+Missing file:
+./concepts/basics/.meta/config.json
+
+Missing file:
+./concepts/booleans/.meta/config.json
+ php+Missing file:
+./concepts/for-loops/.meta/config.json
+
+Missing file:
+./concepts/foreach-loops/.meta/config.json
+
+Missing file:
+./concepts/variable-scope/.meta/config.json
+
+Missing file:
+./concepts/variables/.meta/config.json
+
+Missing file:
+./concepts/while-loops/.meta/config.json
+ purescript+Missing file:
+./concepts/booleans/.meta/config.json
+ python+The `authors` array is empty:
+./concepts/aliasing/.meta/config.json
+
+The `authors` array is empty:
+./concepts/anonymous-functions/.meta/config.json
+
+The `authors` array is empty:
+./concepts/binary-data/.meta/config.json
+
+The `authors` array is empty:
+./concepts/bitflags/.meta/config.json
+
+The `authors` array is empty:
+./concepts/bitwise-operators/.meta/config.json
+
+The `authors` array is empty:
+./concepts/bytes/.meta/config.json
+
+The `authors` array is empty:
+./concepts/class-composition/.meta/config.json
+
+The `authors` array is empty:
+./concepts/class-customization/.meta/config.json
+
+The `authors` array is empty:
+./concepts/class-inheritance/.meta/config.json
+
+The `authors` array is empty:
+./concepts/class-interfaces/.meta/config.json
+
+The `authors` array is empty:
+./concepts/classes/.meta/config.json
+
+The `authors` array is empty:
+./concepts/collections/.meta/config.json
+
+The `authors` array is empty:
+./concepts/comparisons/.meta/config.json
+
+The `authors` array is empty:
+./concepts/complex-numbers/.meta/config.json
+
+The `authors` array is empty:
+./concepts/conditionals/.meta/config.json
+
+The `authors` array is empty:
+./concepts/context-manager-customization/.meta/config.json
+
+The `authors` array is empty:
+./concepts/dataclasses-and-namedtuples/.meta/config.json
+
+The `authors` array is empty:
+./concepts/decorators/.meta/config.json
+
+The `authors` array is empty:
+./concepts/descriptors/.meta/config.json
+
+The `authors` array is empty:
+./concepts/dict-methods/.meta/config.json
+
+The `authors` array is empty:
+./concepts/function-arguments/.meta/config.json
+
+The `authors` array is empty:
+./concepts/functional-tools/.meta/config.json
+
+The `authors` array is empty:
+./concepts/functions/.meta/config.json
+
+The `authors` array is empty:
+./concepts/functools/.meta/config.json
+
+The `authors` array is empty:
+./concepts/generator-expressions/.meta/config.json
+
+The `authors` array is empty:
+./concepts/generators/.meta/config.json
+
+The `authors` array is empty:
+./concepts/higher-order-functions/.meta/config.json
+
+The `authors` array is empty:
+./concepts/iteration/.meta/config.json
+
+The `authors` array is empty:
+./concepts/iterators/.meta/config.json
+
+The `authors` array is empty:
+./concepts/itertools/.meta/config.json
+
+The `authors` array is empty:
+./concepts/list-comprehensions/.meta/config.json
+
+The `authors` array is empty:
+./concepts/loops/.meta/config.json
+
+The `authors` array is empty:
+./concepts/memoryview/.meta/config.json
+
+The `authors` array is empty:
+./concepts/number-variations/.meta/config.json
+
+The `authors` array is empty:
+./concepts/operator-overloading/.meta/config.json
+
+The `authors` array is empty:
+./concepts/other-comprehensions/.meta/config.json
+
+The `authors` array is empty:
+./concepts/raising-and-handling-errors/.meta/config.json
+
+The `authors` array is empty:
+./concepts/regular-expressions/.meta/config.json
+
+The `authors` array is empty:
+./concepts/rich-comparisons/.meta/config.json
+
+The `authors` array is empty:
+./concepts/sequences/.meta/config.json
+
+The `authors` array is empty:
+./concepts/sets/.meta/config.json
+
+The `authors` array is empty:
+./concepts/string-methods-splitting/.meta/config.json
+
+The `authors` array is empty:
+./concepts/testing/.meta/config.json
+
+The `authors` array is empty:
+./concepts/text-processing/.meta/config.json
+
+The `authors` array is empty:
+./concepts/type-hinting/.meta/config.json
+
+The `authors` array is empty:
+./concepts/unicode-regular-expressions/.meta/config.json
+
+The `authors` array is empty:
+./concepts/unpacking-and-multiple-assignment/.meta/config.json
+
+The `authors` array is empty:
+./concepts/user-defined-errors/.meta/config.json
+
+The `authors` array is empty:
+./concepts/walrus-operator/.meta/config.json
+
+The `authors` array is empty:
+./concepts/with-statement/.meta/config.json
+
+Configlet detected at least one problem.
+For more information on resolving the problems, please see the documentation:
+https://github.com/exercism/docs/blob/main/building/configlet/lint.md ruby+Missing file:
+./concepts/arrays/.meta/config.json
+
+Missing file:
+./concepts/basics/.meta/config.json
+
+Missing file:
+./concepts/blocks/.meta/config.json
+
+Missing file:
+./concepts/booleans/.meta/config.json
+
+Missing file:
+./concepts/classes/.meta/config.json
+
+Missing file:
+./concepts/conditionals/.meta/config.json
+
+Missing file:
+./concepts/enumeration/.meta/config.json
+
+Missing file:
+./concepts/exceptions/.meta/config.json
+
+Missing file:
+./concepts/floating-point-numbers/.meta/config.json
+
+Missing file:
+./concepts/instance-variables/.meta/config.json
+
+Missing file:
+./concepts/loops/.meta/config.json
+
+Missing file:
+./concepts/nil/.meta/config.json
+
+Missing file:
+./concepts/numbers/.meta/config.json
+
+Missing file:
+./concepts/ostruct/.meta/config.json
+
+Missing file:
+./concepts/strings/.meta/config.json
+ rust+The value of `blurb` is a zero-length string:
+./concepts/anonymous-lifetime/.meta/config.json
+
+The `authors` array is empty:
+./concepts/anonymous-lifetime/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/arc/.meta/config.json
+
+The `authors` array is empty:
+./concepts/arc/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/async/.meta/config.json
+
+The `authors` array is empty:
+./concepts/async/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/booleans/.meta/config.json
+
+The `authors` array is empty:
+./concepts/booleans/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/borrow-trait/.meta/config.json
+
+The `authors` array is empty:
+./concepts/borrow-trait/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/box/.meta/config.json
+
+The `authors` array is empty:
+./concepts/box/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/btreemap/.meta/config.json
+
+The `authors` array is empty:
+./concepts/btreemap/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/casting/.meta/config.json
+
+The `authors` array is empty:
+./concepts/casting/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/cell-and-refcell/.meta/config.json
+
+The `authors` array is empty:
+./concepts/cell-and-refcell/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/channels/.meta/config.json
+
+The `authors` array is empty:
+./concepts/channels/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/char/.meta/config.json
+
+The `authors` array is empty:
+./concepts/char/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/closures/.meta/config.json
+
+The `authors` array is empty:
+./concepts/closures/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/collect/.meta/config.json
+
+The `authors` array is empty:
+./concepts/collect/.meta/config.json
+
+Missing file:
+./concepts/concept/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/conditionals/.meta/config.json
+
+The `authors` array is empty:
+./concepts/conditionals/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/const-and-static/.meta/config.json
+
+The `authors` array is empty:
+./concepts/const-and-static/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/count-and-sum/.meta/config.json
+
+The `authors` array is empty:
+./concepts/count-and-sum/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/deref-coercion/.meta/config.json
+
+The `authors` array is empty:
+./concepts/deref-coercion/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/derive/.meta/config.json
+
+The `authors` array is empty:
+./concepts/derive/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/designing-custom-traits/.meta/config.json
+
+The `authors` array is empty:
+./concepts/designing-custom-traits/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/enums/.meta/config.json
+
+The `authors` array is empty:
+./concepts/enums/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/explicit-return/.meta/config.json
+
+The `authors` array is empty:
+./concepts/explicit-return/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/external-crates/.meta/config.json
+
+The `authors` array is empty:
+./concepts/external-crates/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/external-traits-as-bounds/.meta/config.json
+
+The `authors` array is empty:
+./concepts/external-traits-as-bounds/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/fold/.meta/config.json
+
+The `authors` array is empty:
+./concepts/fold/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/format-macro/.meta/config.json
+
+The `authors` array is empty:
+./concepts/format-macro/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/from-into-iterator/.meta/config.json
+
+The `authors` array is empty:
+./concepts/from-into-iterator/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/functions/.meta/config.json
+
+The `authors` array is empty:
+./concepts/functions/.meta/config.json
+
+Missing file:
+./concepts/functions-anonymous/.meta/config.json
+
+Missing file:
+./concepts/functions-closures/.meta/config.json
+
+Missing file:
+./concepts/functions-higher-order/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/futures/.meta/config.json
+
+The `authors` array is empty:
+./concepts/futures/.meta/config.json
+
+Missing file:
+./concepts/generic/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/generics/.meta/config.json
+
+The `authors` array is empty:
+./concepts/generics/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/hashmap/.meta/config.json
+
+The `authors` array is empty:
+./concepts/hashmap/.meta/config.json
+
+The `authors` array is empty:
+./concepts/hashmaps/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/hashset/.meta/config.json
+
+The `authors` array is empty:
+./concepts/hashset/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/higher-order-functions/.meta/config.json
+
+The `authors` array is empty:
+./concepts/higher-order-functions/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/if-while-let/.meta/config.json
+
+The `authors` array is empty:
+./concepts/if-while-let/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/impl-blocks/.meta/config.json
+
+The `authors` array is empty:
+./concepts/impl-blocks/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/implementing-traits/.meta/config.json
+
+The `authors` array is empty:
+./concepts/implementing-traits/.meta/config.json
+
+The `authors` array is empty:
+./concepts/intro-fn/.meta/config.json
+
+Missing file:
+./concepts/intro-option/.meta/config.json
+
+The `authors` array is empty:
+./concepts/intro-types/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/iterator-usage/.meta/config.json
+
+The `authors` array is empty:
+./concepts/iterator-usage/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/lazy-evaluation/.meta/config.json
+
+The `authors` array is empty:
+./concepts/lazy-evaluation/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/lifetimes/.meta/config.json
+
+The `authors` array is empty:
+./concepts/lifetimes/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/logical-operators/.meta/config.json
+
+The `authors` array is empty:
+./concepts/logical-operators/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/loops/.meta/config.json
+
+The `authors` array is empty:
+./concepts/loops/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/macros-declarative/.meta/config.json
+
+The `authors` array is empty:
+./concepts/macros-declarative/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/macros-procedural/.meta/config.json
+
+The `authors` array is empty:
+./concepts/macros-procedural/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/map-and-filter/.meta/config.json
+
+The `authors` array is empty:
+./concepts/map-and-filter/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/match-basics/.meta/config.json
+
+The `authors` array is empty:
+./concepts/match-basics/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/match-destructuring/.meta/config.json
+
+The `authors` array is empty:
+./concepts/match-destructuring/.meta/config.json
+
+Missing file:
+./concepts/match-pattern-matching/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/methods/.meta/config.json
+
+The `authors` array is empty:
+./concepts/methods/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/move-semantics/.meta/config.json
+
+The `authors` array is empty:
+./concepts/move-semantics/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/mutability/.meta/config.json
+
+The `authors` array is empty:
+./concepts/mutability/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/mutex/.meta/config.json
+
+The `authors` array is empty:
+./concepts/mutex/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/newtype-pattern/.meta/config.json
+
+The `authors` array is empty:
+./concepts/newtype-pattern/.meta/config.json
+
+Missing file:
+./concepts/numbers/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/numeric-traits/.meta/config.json
+
+The `authors` array is empty:
+./concepts/numeric-traits/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/overflow-and-underflow/.meta/config.json
+
+The `authors` array is empty:
+./concepts/overflow-and-underflow/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/ranges/.meta/config.json
+
+The `authors` array is empty:
+./concepts/ranges/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/rc/.meta/config.json
+
+The `authors` array is empty:
+./concepts/rc/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/references/.meta/config.json
+
+The `authors` array is empty:
+./concepts/references/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/result/.meta/config.json
+
+The `authors` array is empty:
+./concepts/result/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/rwlock/.meta/config.json
+
+The `authors` array is empty:
+./concepts/rwlock/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/scopes-and-expressions/.meta/config.json
+
+The `authors` array is empty:
+./concepts/scopes-and-expressions/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/shadowing/.meta/config.json
+
+The `authors` array is empty:
+./concepts/shadowing/.meta/config.json
+
+Missing file:
+./concepts/signedness/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/slices/.meta/config.json
+
+The `authors` array is empty:
+./concepts/slices/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/static-lifetime/.meta/config.json
+
+The `authors` array is empty:
+./concepts/static-lifetime/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/std-thread/.meta/config.json
+
+The `authors` array is empty:
+./concepts/std-thread/.meta/config.json
+
+Missing file:
+./concepts/string/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/string-slices/.meta/config.json
+
+The `authors` array is empty:
+./concepts/string-slices/.meta/config.json
+
+The `authors` array is empty:
+./concepts/string-use/.meta/config.json
+
+Missing file:
+./concepts/string-vs-str/.meta/config.json
+
+Missing file:
+./concepts/strings-basic/.meta/config.json
+
+Missing file:
+./concepts/structs-generic/.meta/config.json
+
+Missing file:
+./concepts/structs-tuple/.meta/config.json
+
+Missing file:
+./concepts/structs-zero-size/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/total-ordering/.meta/config.json
+
+The `authors` array is empty:
+./concepts/total-ordering/.meta/config.json
+
+Missing file:
+./concepts/tuples/.meta/config.json
+
+Missing file:
+./concepts/turbofish/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/typedefs/.meta/config.json
+
+The `authors` array is empty:
+./concepts/typedefs/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/unsafe/.meta/config.json
+
+The `authors` array is empty:
+./concepts/unsafe/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/use/.meta/config.json
+
+The `authors` array is empty:
+./concepts/use/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/variable-assignment/.meta/config.json
+
+The `authors` array is empty:
+./concepts/variable-assignment/.meta/config.json
+
+Missing file:
+./concepts/vec-macro/.meta/config.json
+
+The value of `blurb` is a zero-length string:
+./concepts/visibility/.meta/config.json
+
+The `authors` array is empty:
+./concepts/visibility/.meta/config.json
+
+Configlet detected at least one problem.
+For more information on resolving the problems, please see the documentation:
+https://github.com/exercism/docs/blob/main/building/configlet/lint.md swift+Missing file:
+./concepts/arrays/.meta/config.json
+
+Missing file:
+./concepts/basics/.meta/config.json
+
+Missing file:
+./concepts/booleans/.meta/config.json
+
+Missing file:
+./concepts/capturing/.meta/config.json
+
+Missing file:
+./concepts/characters/.meta/config.json
+
+Missing file:
+./concepts/classes/.meta/config.json
+
+Missing file:
+./concepts/closures/.meta/config.json
+
+Missing file:
+./concepts/conditionals/.meta/config.json
+
+Missing file:
+./concepts/conditionals-guard/.meta/config.json
+
+Missing file:
+./concepts/conditionals-if/.meta/config.json
+
+Missing file:
+./concepts/conditionals-switch/.meta/config.json
+
+Missing file:
+./concepts/constants/.meta/config.json
+
+Missing file:
+./concepts/constants-and-variables/.meta/config.json
+
+Missing file:
+./concepts/control-transfer/.meta/config.json
+
+Missing file:
+./concepts/default-parameters/.meta/config.json
+
+Missing file:
+./concepts/dictionaries/.meta/config.json
+
+Missing file:
+./concepts/enumerations/.meta/config.json
+
+Missing file:
+./concepts/escaping-functions/.meta/config.json
+
+Missing file:
+./concepts/for-loops/.meta/config.json
+
+Missing file:
+./concepts/function-overloading/.meta/config.json
+
+Missing file:
+./concepts/functions/.meta/config.json
+
+Missing file:
+./concepts/higher-order-functions/.meta/config.json
+
+Missing file:
+./concepts/importing/.meta/config.json
+
+Missing file:
+./concepts/initializers/.meta/config.json
+
+Missing file:
+./concepts/inout-parameters/.meta/config.json
+
+Missing file:
+./concepts/loops/.meta/config.json
+
+Missing file:
+./concepts/methods/.meta/config.json
+
+Missing file:
+./concepts/multiple-return-values/.meta/config.json
+
+Missing file:
+./concepts/nested-functions/.meta/config.json
+
+Missing file:
+./concepts/numbers/.meta/config.json
+
+Missing file:
+./concepts/opaque-indices/.meta/config.json
+
+Missing file:
+./concepts/optionals/.meta/config.json
+
+Missing file:
+./concepts/repeat-while/.meta/config.json
+
+Missing file:
+./concepts/self/.meta/config.json
+
+Missing file:
+./concepts/shorthand-arguments/.meta/config.json
+
+Missing file:
+./concepts/stored-properties/.meta/config.json
+
+Missing file:
+./concepts/string-components/.meta/config.json
+
+Missing file:
+./concepts/string-indexing/.meta/config.json
+
+Missing file:
+./concepts/strings/.meta/config.json
+
+Missing file:
+./concepts/strings-and-characters/.meta/config.json
+
+Missing file:
+./concepts/structs/.meta/config.json
+
+Missing file:
+./concepts/structs-and-classes/.meta/config.json
+
+Missing file:
+./concepts/ternary-operator/.meta/config.json
+
+Missing file:
+./concepts/trailing-closures/.meta/config.json
+
+Missing file:
+./concepts/tuples/.meta/config.json
+
+Missing file:
+./concepts/type-annotations/.meta/config.json
+
+Missing file:
+./concepts/value-and-reference-types/.meta/config.json
+
+Missing file:
+./concepts/variables/.meta/config.json
+
+Missing file:
+./concepts/variadic-parameters/.meta/config.json
+
+Missing file:
+./concepts/while-loops/.meta/config.json
+ x86-64-assembly+Missing file:
+./concepts/basics/.meta/config.json
+ |
I think so, as this is really data that tracks should get right. Having configlet fails makes them be aware of it. It should also be not that hard to fix. |
Okay, I'll merge then. |
.meta/config.json
.meta/config.json
files
This commit implements the below checks for each concept's
.meta/config.json
file."blurb"
key is required"blurb"
value must be a non-blank string with length <= 350"authors"
key is required"authors"
value must be an array"authors"
values must be non-blank strings"authors"
values must not have duplicates"contributors"
key is optional"contributors"
value must be an array"contributors"
values must be non-blank strings"contributors"
values must not have duplicatesWe define a "non-blank string" as a string that contains at least one
non-whitespace character.
This PR updates
configlet lint
to reflect exercism/v3-launch#27As of 2021-04-02, this PR produces the below diff to the
configlet lint
output. As you'd expect, it just complains about the missing files.Click to expand
clojure
common-lisp
cpp
csharp
dart
elixir
elm
fsharp
go
haxe
java
javascript
julia
kotlin
php
purescript
python
ruby
rust
swift
x86-64-assembly