-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathpackage.yaml
106 lines (89 loc) · 3.18 KB
/
package.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
name: safe-json
version: 1.2.0.2
github: "Vlix/safe-json"
license: MIT
author: "Felix Paulusma"
maintainer: "[email protected]"
copyright: "2019 Felix Paulusma"
# Metadata used when publishing your package
synopsis: Automatic JSON format versioning
category: "JSON"
tested-with: GHC == 9.0.2
, GHC == 9.2.8
, GHC == 9.4.8
, GHC == 9.6.6
, GHC == 9.8.3
, GHC == 9.10.1
extra-source-files:
- README.md
- ChangeLog.md
- test/json/*
# To avoid duplicated efforts in documentation and dealing with the
# complications of embedding Haddock markup inside cabal files, it is
# common to point users to the README.md file.
description: >
This library aims to make the updating of JSON formats or contents,
while keeping backward compatibility, as painless as possible.
The way this is achieved is through versioning and defined migration
functions to migrate older (or newer) versions to the one used.
The library mainly consists of two classes:
* @SafeJSON a@: Defines the version of @a@ and if (and how) it is
migratable.
* @Migrate a@: Defines the data type (@MigrateFrom a@) that can be
migrated to @a@ and how to migrate from that type.
Using these two classes, JSON serialized data types will stay
parsable, even after format changes.
For a more in-depth explanation and examples,
please see the README at <https://github.com/Vlix/safe-json#readme>
dependencies:
- base >= 4.9 && < 5
- bytestring >= 0.10.8.1 && < 1
- containers >= 0.5.7.1 && < 0.8
- dlist >= 0.8.0.3 && < 2
- hashable >= 1.2.6.1 && < 1.6
- scientific >= 0.3.5.2 && < 0.4
- tasty >= 0.11.3 && < 1.6
- tasty-hunit >= 0.9.2 && < 0.11
- tasty-quickcheck >= 0.8.4 && < 0.12
- text >= 1.2.3 && < 2.2
- time >= 1.6.0.1 && < 1.15
- unordered-containers >= 0.2.9 && < 0.3
- uuid-types >= 1.0.3 && < 1.1
- vector >= 0.12.0.1 && < 0.14
library:
source-dirs: src
exposed-modules:
- Data.Aeson.Safe
- Data.SafeJSON
- Data.SafeJSON.Test
default-extensions:
- OverloadedStrings
dependencies:
- aeson >= 1.4.1 && < 2.3
tests:
safe-json-test:
main: Spec.hs
source-dirs: test
ghc-options:
- -threaded
- -rtsopts
- -with-rtsopts=-N
when:
- condition: impl(ghc >= 9.2.0)
then:
dependencies:
- aeson >= 2.0.3.0 && < 2.3
else:
dependencies:
- aeson >= 1.4.1 && < 2.3
- generic-arbitrary >= 0.1.0 && < 1.1
dependencies:
- safe-json
- quickcheck-instances >= 0.3.16 && < 0.4
- tasty
- tasty-hunit
- tasty-quickcheck
- temporary >= 1.2.1.1
- uuid >= 1.3.13
default-extensions:
- OverloadedStrings