| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
obviously, it should remove all objects defining badges, not those NOT
defining badges …
|
|
|
|
| |
(and `url` is, too)
|
| |
|
|
|
|
|
| |
(since we're starting to get maps that actually pass linting, we also
get to find more bugs! yay!)
|
|
|
|
|
| |
these now have their own top-level config attribute which is essentially a
shorthand for setting one that's deeper nested.
|
| |
|
| |
|
|
|
|
| |
(this seems to be a common mistake so far)
|
| |
|
| |
|
|
|
|
|
| |
(before it would fail to find e.g. the start layer if it wasn't a
top-level layer)
|
|
|
|
|
| |
The script inject doesn't do anything for now; guess I'll re-add that
once we actually have a URI for that.
|
|
|
|
|
| |
(these were `error` before, which didn't really make sense, since
workadventure can deal with them, they're just not allowed at rc3)
|
|
|
|
| |
also, float properties exist, apparently
|
|
|
|
| |
(in which case it just doesn't do anything at all)
|
| |
|
| |
|
|
|
|
| |
(the format used last year is no longer applicable to this year's event)
|
|
|
|
| |
(found by running through rc3 2021 map submissions and looking at what failed)
|
|
|
|
|
| |
(as per today's discussion with tabascoeye, mapCopyright should not be
required, though I've left it as recommended)
|
| |
|
|
|
|
|
| |
(previously it would just lint "can't use name twice" multiple times,
which looks kind of silly)
|
| |
|
| |
|
| |
|
|
|
|
|
| |
(forgot that `error` is the builtin haskell function; the one to create
linter errors is called `complain`)
|
| |
|
| |
|
|
|
|
|
|
|
| |
it was kinda getting messy in places.
Also found some accidental isomorphisms between types, so these are now
only one type because the consequences were getting silly.
|
| |
|
|
|
|
|
| |
this includes a halfway-reasonable parsing of object layers, as well as
some monad plumbing to get them all in the right place.
|
|
|
|
|
|
| |
because we can't ever trust workadventure, apparently.
why are we using that thing again?
|
|
|
|
|
| |
(to prevent name clashes between assemblies; shared jitsi rooms are
still possible simply by letting their names start with "shared-")
|
|
|
|
|
| |
(since otherwise we might run into namespace clashes for assemblies with
funny names)
|
|
|
|
|
|
| |
since the scripting API can define new properties and we (for now) do
not know what the script may or may not be able to do, the linter would
otherwise reject potentially valid maps.
|
|
|
|
|
|
| |
("rudimentary" since for now the best it can do is just replacing /
prepending urls; presumably, it should also do a sanity check or
something of the like)
|
|
|
|
|
|
|
|
|
|
| |
Among them
- always set correct exit codes
- refuse to write out files if the out path already exists
- calculate the overall severity correctly
- slightly changed the json output schema
- also output the text output format in json
- make the default config.json suitable for a production environment
|
|
|
|
|
|
| |
this allows for creating custom URI "schemas" in the linter's config,
which may be either allowed, prefixed, or translated according to
some (domain-based) substitution.
|
|
|
|
|
|
| |
(these use a rather crude regex for parsing, which may be possible to
side-step, and which should probably be replaced by something that was
actually written while following the relevant rfc)
|
| |
|
|
|
|
|
| |
I have no idea why these even exist, but apparently they do, so here's
some code to deal with them in a hopefully useful manner …
|
|
|
|
|
| |
(mostly to do with the scripting API, but also some old ones which are
already deprecated / not even mentioned in the documentation anymore)
|
| |
|
|
|
|
|
| |
I found yet more properties that weren't really documented or weren't
marked as optional, hurray!
|
| |
|
| |
|
| |
|
|
|
|
| |
also yet another typeclass™, because why not?
|
| |
|
|
|
|
|
|
|
|
|
| |
this also includes some more monad plumbing, and an option for the
linter to actually write things out again. Some of the previous commit
was reverted a bit since it turned out to be stupid, but overall it was
suprisingly easy once I got around to it, so yay! i guess
Also includes a fairly silly example of how to use it.
|