Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
SiriusStarr committed Apr 2, 2021
0 parents commit 89d67f1
Show file tree
Hide file tree
Showing 10 changed files with 1,443 additions and 0 deletions.
44 changes: 44 additions & 0 deletions .github/workflows/ci.yml
@@ -0,0 +1,44 @@
name: Elm CI

on:
push:
branches: [master]
pull_request:
branches: [master]

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2

- run: npm install

- name: Add elm-format, elm-review, and elm-test to path
run: echo "$(npm bin)" >> $GITHUB_PATH

- name: Setup Elm environment
uses: JorelAli/setup-elm@v2
with:
elm-version: 0.19.1

- name: Build
run: find src -type f -name '*.elm' -exec elm make {} +

- name: Test
run: elm-test

- name: elm-format
uses: sparksp/elm-format-action@v1.0.2
with:
elm_files: |
src/*.elm
src/**/*.elm
tests/*.elm
elm_glob: true

- name: elm-review
uses: sparksp/elm-review-action@v1.0.6
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
9 changes: 9 additions & 0 deletions .gitignore
@@ -0,0 +1,9 @@
# Cache
elm-stuff

# Editor
.vscode

# CI Packages
package-lock.json
node_modules
636 changes: 636 additions & 0 deletions LICENSE

Large diffs are not rendered by default.

31 changes: 31 additions & 0 deletions README.md
@@ -0,0 +1,31 @@
# elm-ancillary-json

![Build Status](https://github.com/langyu-app/elm-ancillary-json/actions/workflows/ci.yml/badge.svg)

* [elm-ancillary-json](#elm-ancillary-json)
* [Introduction](#introduction)
* [Installation](#installation)
* [Contributing](#contributing)

## Introduction

This package provides additional convenience functions for working with JSON not
available in [elm-community/json-extra](https://package.elm-lang.org/packages/elm-community/json-extra/latest/).
As with all, `elm-ancillary-*` packages, these began as functions we've found
useful for `langyu` but often include additional functions.

## Installation

```bash
elm install langyu-app/elm-ancillary-json
```

## Contributing

Contributions are welcome, so long as it has the potential to be generally
useful and isn't found already in the base `elm/json` or `elm-community/json-extra`
packages.

---

[![the langyu logo, a multi-colored tangram depicting a wolf](https://raw.githubusercontent.com/langyu-app/organization/master/logos/main.svg)](https://www.github.com/langyu-app)
22 changes: 22 additions & 0 deletions elm.json
@@ -0,0 +1,22 @@
{
"type": "package",
"name": "langyu-app/elm-ancillary-json",
"summary": "Convenience functions not included in elm-community/json-extra",
"license": "GPL-3.0",
"version": "1.0.0",
"exposed-modules": [
"Json.Decode.Ancillary"
],
"elm-version": "0.19.0 <= v < 0.20.0",
"dependencies": {
"elm/core": "1.0.0 <= v < 2.0.0",
"elm/json": "1.1.3 <= v < 2.0.0",
"elm-community/basics-extra": "4.1.0 <= v < 5.0.0",
"elm-community/json-extra": "4.3.0 <= v < 5.0.0"
},
"test-dependencies": {
"elm/parser": "1.1.0 <= v < 2.0.0",
"elm-explorations/test": "1.2.2 <= v < 2.0.0",
"ktonon/elm-test-extra": "2.0.1 <= v < 3.0.0"
}
}
8 changes: 8 additions & 0 deletions package.json
@@ -0,0 +1,8 @@
{
"name": "elm-ancillary-json",
"devDependencies": {
"elm-format": "^0.8.5",
"elm-review": "^2.4.6",
"elm-test": "^0.19.1-revision6"
}
}
57 changes: 57 additions & 0 deletions review/elm.json
@@ -0,0 +1,57 @@
{
"type": "application",
"source-directories": [
"src"
],
"elm-version": "0.19.1",
"dependencies": {
"direct": {
"ContaSystemer/elm-review-no-missing-documentation": "1.0.0",
"ContaSystemer/elm-review-no-regex": "1.0.0",
"elm/core": "1.0.5",
"elm/json": "1.1.3",
"elm/project-metadata-utils": "1.0.1",
"folq/review-rgb-ranges": "1.0.4",
"jfmengels/elm-review": "2.3.11",
"jfmengels/elm-review-common": "1.0.3",
"jfmengels/elm-review-debug": "1.0.5",
"jfmengels/elm-review-documentation": "1.0.1",
"jfmengels/elm-review-the-elm-architecture": "1.0.3",
"jfmengels/elm-review-unused": "1.1.8",
"leojpod/review-no-empty-html-text": "1.0.2",
"lxierita/no-typealias-constructor-call": "1.0.1",
"r-k-b/no-float-ids": "1.0.1",
"r-k-b/no-long-import-lines": "1.0.4",
"sparksp/elm-review-camelcase": "1.1.0",
"sparksp/elm-review-imports": "1.0.0",
"sparksp/elm-review-ports": "1.3.0",
"stil4m/elm-syntax": "7.2.3",
"truqu/elm-review-nobooleancase": "1.0.0",
"truqu/elm-review-noleftpizza": "2.0.0",
"truqu/elm-review-noredundantconcat": "1.0.0",
"truqu/elm-review-noredundantcons": "1.0.0"
},
"indirect": {
"elm/browser": "1.0.2",
"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/url": "1.0.0",
"elm/virtual-dom": "1.0.2",
"elm-community/list-extra": "8.3.0",
"elm-community/maybe-extra": "5.2.0",
"elm-explorations/test": "1.2.2",
"miniBill/elm-unicode": "1.0.2",
"rtfeldman/elm-hex": "1.0.0",
"stil4m/structured-writer": "1.0.3"
}
},
"test-dependencies": {
"direct": {
"elm-explorations/test": "1.2.2"
},
"indirect": {}
}
}
97 changes: 97 additions & 0 deletions review/src/ReviewConfig.elm
@@ -0,0 +1,97 @@
module ReviewConfig exposing (config)

import Documentation.ReadmeLinksPointToCurrentVersion
import NoBooleanCase
import NoDebug.Log
import NoDebug.TodoOrToString
import NoDuplicatePorts
import NoEmptyText
import NoExposingEverything
import NoFloatIds
import NoImportingEverything
import NoInconsistentAliases
import NoInvalidRGBValues
import NoLeftPizza
import NoLongImportLines
import NoMissingDocumentation
import NoMissingSubscriptionsCall
import NoMissingTypeAnnotation
import NoMissingTypeAnnotationInLetIn
import NoMissingTypeExpose
import NoModuleOnExposedNames
import NoRecursiveUpdate
import NoRedundantConcat
import NoRedundantCons
import NoRegex
import NoTypeAliasConstructorCall
import NoUnsafePorts
import NoUnused.CustomTypeConstructorArgs
import NoUnused.CustomTypeConstructors
import NoUnused.Dependencies
import NoUnused.Exports
import NoUnused.Modules
import NoUnused.Parameters
import NoUnused.Patterns
import NoUnused.Variables
import NoUnusedPorts
import NoUselessSubscriptions
import Review.Rule exposing (Rule)
import UseCamelCase


config : List Rule
config =
[ Documentation.ReadmeLinksPointToCurrentVersion.rule
, NoBooleanCase.rule
, NoDebug.Log.rule
, NoDebug.TodoOrToString.rule
, NoDuplicatePorts.rule
, NoEmptyText.rule
, NoExposingEverything.rule
, NoFloatIds.rule
, NoImportingEverything.rule []
, NoInconsistentAliases.config
[ ( "Array.Extra", "ArrayX" )
, ( "Html.Attributes", "Attr" )
, ( "Html.Extra", "HtmlX" )
, ( "Json.Decode", "Decode" )
, ( "Json.Decode.Ancillary", "DecodeA" )
, ( "Json.Decode.Extra", "DecodeX" )
, ( "Json.Encode", "Encode" )
, ( "Json.Encode.Extra", "EncodeX" )
, ( "List.Extra", "ListX" )
, ( "List.Nonempty", "NE" )
, ( "List.Nonempty.Ancillary", "NEA" )
, ( "Maybe.Extra", "MaybeX" )
, ( "Random.Extra", "RandomX" )
, ( "Result.Extra", "ResultX" )
, ( "Svg.Attributes", "SvgAttr" )
]
|> NoInconsistentAliases.noMissingAliases
|> NoInconsistentAliases.rule
, NoInvalidRGBValues.rule
, NoLeftPizza.rule NoLeftPizza.Redundant
, NoLongImportLines.rule
, NoMissingDocumentation.rule
, NoMissingSubscriptionsCall.rule
, NoMissingTypeAnnotation.rule
, NoMissingTypeAnnotationInLetIn.rule
, NoModuleOnExposedNames.rule
, NoRecursiveUpdate.rule
, NoRedundantConcat.rule
, NoRedundantCons.rule
, NoRegex.rule
, NoTypeAliasConstructorCall.rule
, NoUnsafePorts.rule NoUnsafePorts.any
, NoUnused.CustomTypeConstructors.rule []
, NoUnused.CustomTypeConstructorArgs.rule
, NoUnused.Dependencies.rule
, NoUnused.Exports.rule
, NoUnused.Modules.rule
, NoUnused.Parameters.rule
, NoUnused.Patterns.rule
, NoUnused.Variables.rule
, NoUnusedPorts.rule
, NoUselessSubscriptions.rule
, UseCamelCase.rule UseCamelCase.default
]

0 comments on commit 89d67f1

Please sign in to comment.