├── LICENSE
├── README.md
├── config
├── compiler
│ └── logback.xml
├── editor
│ └── logback.xml
└── router
│ └── logback.xml
├── dc.sh
├── docker-compose.logging.yml
├── docker-compose.metrics.yml
├── docker-compose.postgres.yml
├── docker-compose.prod.yml
├── docker-compose.yml
├── libraries.json
├── logging
├── elasticsearch
│ ├── Dockerfile
│ └── config
│ │ └── elasticsearch.yml
├── kibana
│ ├── Dockerfile
│ └── config
│ │ └── kibana.yml
└── logstash
│ ├── Dockerfile
│ ├── config
│ └── logstash.yml
│ └── pipeline
│ └── logstash.conf
├── metrics
└── Dockerfile
└── samples
├── scalajs-react
├── 1.1
│ └── todo.scala
└── 1.2
│ └── todo.scala
└── slinky
└── 0.4.3
└── todo.scala
/LICENSE:
--------------------------------------------------------------------------------
1 | Apache License
2 | Version 2.0, January 2004
3 | http://www.apache.org/licenses/
4 |
5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6 |
7 | 1. Definitions.
8 |
9 | "License" shall mean the terms and conditions for use, reproduction,
10 | and distribution as defined by Sections 1 through 9 of this document.
11 |
12 | "Licensor" shall mean the copyright owner or entity authorized by
13 | the copyright owner that is granting the License.
14 |
15 | "Legal Entity" shall mean the union of the acting entity and all
16 | other entities that control, are controlled by, or are under common
17 | control with that entity. For the purposes of this definition,
18 | "control" means (i) the power, direct or indirect, to cause the
19 | direction or management of such entity, whether by contract or
20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
21 | outstanding shares, or (iii) beneficial ownership of such entity.
22 |
23 | "You" (or "Your") shall mean an individual or Legal Entity
24 | exercising permissions granted by this License.
25 |
26 | "Source" form shall mean the preferred form for making modifications,
27 | including but not limited to software source code, documentation
28 | source, and configuration files.
29 |
30 | "Object" form shall mean any form resulting from mechanical
31 | transformation or translation of a Source form, including but
32 | not limited to compiled object code, generated documentation,
33 | and conversions to other media types.
34 |
35 | "Work" shall mean the work of authorship, whether in Source or
36 | Object form, made available under the License, as indicated by a
37 | copyright notice that is included in or attached to the work
38 | (an example is provided in the Appendix below).
39 |
40 | "Derivative Works" shall mean any work, whether in Source or Object
41 | form, that is based on (or derived from) the Work and for which the
42 | editorial revisions, annotations, elaborations, or other modifications
43 | represent, as a whole, an original work of authorship. For the purposes
44 | of this License, Derivative Works shall not include works that remain
45 | separable from, or merely link (or bind by name) to the interfaces of,
46 | the Work and Derivative Works thereof.
47 |
48 | "Contribution" shall mean any work of authorship, including
49 | the original version of the Work and any modifications or additions
50 | to that Work or Derivative Works thereof, that is intentionally
51 | submitted to Licensor for inclusion in the Work by the copyright owner
52 | or by an individual or Legal Entity authorized to submit on behalf of
53 | the copyright owner. For the purposes of this definition, "submitted"
54 | means any form of electronic, verbal, or written communication sent
55 | to the Licensor or its representatives, including but not limited to
56 | communication on electronic mailing lists, source code control systems,
57 | and issue tracking systems that are managed by, or on behalf of, the
58 | Licensor for the purpose of discussing and improving the Work, but
59 | excluding communication that is conspicuously marked or otherwise
60 | designated in writing by the copyright owner as "Not a Contribution."
61 |
62 | "Contributor" shall mean Licensor and any individual or Legal Entity
63 | on behalf of whom a Contribution has been received by Licensor and
64 | subsequently incorporated within the Work.
65 |
66 | 2. Grant of Copyright License. Subject to the terms and conditions of
67 | this License, each Contributor hereby grants to You a perpetual,
68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69 | copyright license to reproduce, prepare Derivative Works of,
70 | publicly display, publicly perform, sublicense, and distribute the
71 | Work and such Derivative Works in Source or Object form.
72 |
73 | 3. Grant of Patent License. Subject to the terms and conditions of
74 | this License, each Contributor hereby grants to You a perpetual,
75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76 | (except as stated in this section) patent license to make, have made,
77 | use, offer to sell, sell, import, and otherwise transfer the Work,
78 | where such license applies only to those patent claims licensable
79 | by such Contributor that are necessarily infringed by their
80 | Contribution(s) alone or by combination of their Contribution(s)
81 | with the Work to which such Contribution(s) was submitted. If You
82 | institute patent litigation against any entity (including a
83 | cross-claim or counterclaim in a lawsuit) alleging that the Work
84 | or a Contribution incorporated within the Work constitutes direct
85 | or contributory patent infringement, then any patent licenses
86 | granted to You under this License for that Work shall terminate
87 | as of the date such litigation is filed.
88 |
89 | 4. Redistribution. You may reproduce and distribute copies of the
90 | Work or Derivative Works thereof in any medium, with or without
91 | modifications, and in Source or Object form, provided that You
92 | meet the following conditions:
93 |
94 | (a) You must give any other recipients of the Work or
95 | Derivative Works a copy of this License; and
96 |
97 | (b) You must cause any modified files to carry prominent notices
98 | stating that You changed the files; and
99 |
100 | (c) You must retain, in the Source form of any Derivative Works
101 | that You distribute, all copyright, patent, trademark, and
102 | attribution notices from the Source form of the Work,
103 | excluding those notices that do not pertain to any part of
104 | the Derivative Works; and
105 |
106 | (d) If the Work includes a "NOTICE" text file as part of its
107 | distribution, then any Derivative Works that You distribute must
108 | include a readable copy of the attribution notices contained
109 | within such NOTICE file, excluding those notices that do not
110 | pertain to any part of the Derivative Works, in at least one
111 | of the following places: within a NOTICE text file distributed
112 | as part of the Derivative Works; within the Source form or
113 | documentation, if provided along with the Derivative Works; or,
114 | within a display generated by the Derivative Works, if and
115 | wherever such third-party notices normally appear. The contents
116 | of the NOTICE file are for informational purposes only and
117 | do not modify the License. You may add Your own attribution
118 | notices within Derivative Works that You distribute, alongside
119 | or as an addendum to the NOTICE text from the Work, provided
120 | that such additional attribution notices cannot be construed
121 | as modifying the License.
122 |
123 | You may add Your own copyright statement to Your modifications and
124 | may provide additional or different license terms and conditions
125 | for use, reproduction, or distribution of Your modifications, or
126 | for any such Derivative Works as a whole, provided Your use,
127 | reproduction, and distribution of the Work otherwise complies with
128 | the conditions stated in this License.
129 |
130 | 5. Submission of Contributions. Unless You explicitly state otherwise,
131 | any Contribution intentionally submitted for inclusion in the Work
132 | by You to the Licensor shall be under the terms and conditions of
133 | this License, without any additional terms or conditions.
134 | Notwithstanding the above, nothing herein shall supersede or modify
135 | the terms of any separate license agreement you may have executed
136 | with Licensor regarding such Contributions.
137 |
138 | 6. Trademarks. This License does not grant permission to use the trade
139 | names, trademarks, service marks, or product names of the Licensor,
140 | except as required for reasonable and customary use in describing the
141 | origin of the Work and reproducing the content of the NOTICE file.
142 |
143 | 7. Disclaimer of Warranty. Unless required by applicable law or
144 | agreed to in writing, Licensor provides the Work (and each
145 | Contributor provides its Contributions) on an "AS IS" BASIS,
146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147 | implied, including, without limitation, any warranties or conditions
148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149 | PARTICULAR PURPOSE. You are solely responsible for determining the
150 | appropriateness of using or redistributing the Work and assume any
151 | risks associated with Your exercise of permissions under this License.
152 |
153 | 8. Limitation of Liability. In no event and under no legal theory,
154 | whether in tort (including negligence), contract, or otherwise,
155 | unless required by applicable law (such as deliberate and grossly
156 | negligent acts) or agreed to in writing, shall any Contributor be
157 | liable to You for damages, including any direct, indirect, special,
158 | incidental, or consequential damages of any character arising as a
159 | result of this License or out of the use or inability to use the
160 | Work (including but not limited to damages for loss of goodwill,
161 | work stoppage, computer failure or malfunction, or any and all
162 | other commercial damages or losses), even if such Contributor
163 | has been advised of the possibility of such damages.
164 |
165 | 9. Accepting Warranty or Additional Liability. While redistributing
166 | the Work or Derivative Works thereof, You may choose to offer,
167 | and charge a fee for, acceptance of support, warranty, indemnity,
168 | or other liability obligations and/or rights consistent with this
169 | License. However, in accepting such obligations, You may act only
170 | on Your own behalf and on Your sole responsibility, not on behalf
171 | of any other Contributor, and only if You agree to indemnify,
172 | defend, and hold each Contributor harmless for any liability
173 | incurred by, or claims asserted against, such Contributor by reason
174 | of your accepting any such warranty or additional liability.
175 |
176 | END OF TERMS AND CONDITIONS
177 |
178 | APPENDIX: How to apply the Apache License to your work.
179 |
180 | To apply the Apache License to your work, attach the following
181 | boilerplate notice, with the fields enclosed by brackets "{}"
182 | replaced with your own identifying information. (Don't include
183 | the brackets!) The text should be enclosed in the appropriate
184 | comment syntax for the file format. We also recommend that a
185 | file or class name and description of purpose be included on the
186 | same "printed page" as the copyright notice for easier
187 | identification within third-party archives.
188 |
189 | Copyright {yyyy} {name of copyright owner}
190 |
191 | Licensed under the Apache License, Version 2.0 (the "License");
192 | you may not use this file except in compliance with the License.
193 | You may obtain a copy of the License at
194 |
195 | http://www.apache.org/licenses/LICENSE-2.0
196 |
197 | Unless required by applicable law or agreed to in writing, software
198 | distributed under the License is distributed on an "AS IS" BASIS,
199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200 | See the License for the specific language governing permissions and
201 | limitations under the License.
202 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # scalafiddle-io
2 | Configuration repository for scalafiddle.io
3 |
--------------------------------------------------------------------------------
/config/compiler/logback.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | true
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/config/editor/logback.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | true
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/config/router/logback.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | true
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/dc.sh:
--------------------------------------------------------------------------------
1 | docker-compose -f docker-compose.yml -f docker-compose.prod.yml -f docker-compose.logging.yml -f docker-compose.metrics.yml "$@"
2 |
--------------------------------------------------------------------------------
/docker-compose.logging.yml:
--------------------------------------------------------------------------------
1 | version: '3'
2 | services:
3 | elasticsearch:
4 | build: logging/elasticsearch/
5 | container_name: elasticsearch
6 | restart: always
7 | volumes:
8 | - logvolume:/usr/share/elasticsearch/data
9 | - ./logging/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
10 | # Enable for direct access to ES
11 | # ports:
12 | # - "9200:9200"
13 | environment:
14 | ES_JAVA_OPTS: "-Xmx2g -Xms1g"
15 |
16 | logstash:
17 | build: logging/logstash/
18 | container_name: logstash
19 | restart: always
20 | volumes:
21 | - ./logging/logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml
22 | - ./logging/logstash/pipeline:/usr/share/logstash/pipeline
23 | environment:
24 | LS_JAVA_OPTS: "-Xmx256m -Xms256m"
25 | ports:
26 | - "5000:5000/udp"
27 | depends_on:
28 | - elasticsearch
29 |
30 | kibana:
31 | build: logging/kibana/
32 | container_name: kibana
33 | volumes:
34 | - ./logging/kibana/config/:/usr/share/kibana/config
35 | ports:
36 | - "5611:5601"
37 | depends_on:
38 | - elasticsearch
39 |
40 | volumes:
41 | logvolume:
42 |
--------------------------------------------------------------------------------
/docker-compose.metrics.yml:
--------------------------------------------------------------------------------
1 | version: '3'
2 | services:
3 | metrics:
4 | build: metrics/
5 | container_name: metrics
6 | ports:
7 | - "8060:80"
8 | - "8061:81"
9 | volumes:
10 | - metrics:/data
11 |
12 | volumes:
13 | metrics:
14 |
--------------------------------------------------------------------------------
/docker-compose.postgres.yml:
--------------------------------------------------------------------------------
1 | version: '3'
2 | services:
3 | postgres:
4 | image: postgres:9.6
5 | container_name: postgres
6 | volumes:
7 | - sfdata:/data
8 | environment:
9 | - PGDATA=/data/postgres
10 | - POSTGRES_PASSWORD
11 |
--------------------------------------------------------------------------------
/docker-compose.prod.yml:
--------------------------------------------------------------------------------
1 | version: '3'
2 | services:
3 | editor:
4 | environment:
5 | - SCALAFIDDLE_SQL_URL=jdbc:postgresql://${POSTGRES_SERVER}/scalafiddle
6 | - SCALAFIDDLE_COMPILER_URL=https://embed.scalafiddle.io
7 | - SCALAFIDDLE_AUTH_URL=https://scalafiddle.io/authenticate
8 |
9 | router:
10 | environment:
11 | - SCALAFIDDLE_SOURCE_URL=https://scalafiddle.io/raw/
12 | - SCALAFIDDLE_EDIT_URL=https://scalafiddle.io/
13 | - SCALAFIDDLE_EMBED_URL=https://embed.scalafiddle.io/
14 |
--------------------------------------------------------------------------------
/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: '3'
2 | services:
3 | editor:
4 | image: scalafiddle/scalafiddle-editor:latest
5 | restart: always
6 | container_name: editor
7 | volumes:
8 | - sfdata:/data
9 | - ./config/editor/logback.xml:/app/config/logback.xml
10 | ports:
11 | - "9000:9000"
12 | environment:
13 | - JAVA_OPTS=-Xmx1G
14 | - SCALAFIDDLE_SQL_URL=jdbc:postgresql://postgres/scalafiddle
15 | - SCALAFIDDLE_SQL_USER=scalafiddle
16 | - SCALAFIDDLE_SQL_PASSWORD
17 | - APPLICATION_SECRET
18 | - SCALAFIDDLE_SQL_CONFIG=postgre
19 | - SCALAFIDDLE_COMPILER_URL=https://embed.scalafiddle.io
20 | - SCALAFIDDLE_URL=https://scalafiddle.io
21 | - GITHUB_CLIENT_ID
22 | - GITHUB_CLIENT_SECRET
23 | - SCALAFIDDLE_AUTH_URL=https://scalafiddle.io/authenticate
24 | - SCALAFIDDLE_LIBRARIES_URL=https://raw.githubusercontent.com/scalafiddle/scalafiddle-io/master/libraries.json
25 | - SCALAFIDDLE_METRICS_STATSD_HOSTNAME=metrics
26 | logging:
27 | driver: gelf
28 | options:
29 | gelf-address: "udp://localhost:5000"
30 |
31 | router:
32 | image: scalafiddle/scalafiddle-router:latest
33 | depends_on:
34 | - editor
35 | restart: always
36 | container_name: router
37 | volumes:
38 | - sfdata:/data
39 | - ./config/router/logback.xml:/app/config/logback.xml
40 | ports:
41 | - "8888:8880"
42 | environment:
43 | - JAVA_OPTS=-Xmx1G
44 | - SCALAFIDDLE_LIBRARIES_URL=https://raw.githubusercontent.com/scalafiddle/scalafiddle-io/master/libraries.json
45 | - SCALAFIDDLE_CACHE_DIR=/data/router/cache
46 | - SCALAFIDDLE_SOURCE_URL=http://editor:9000/raw/
47 | - SCALAFIDDLE_EDIT_URL=http://editor:9000/
48 | - SCALAFIDDLE_METRICS_STATSD_HOSTNAME=metrics
49 | - SCALAFIDDLE_SECRET
50 | logging:
51 | driver: gelf
52 | options:
53 | gelf-address: "udp://localhost:5000"
54 |
55 | compiler-2.12-sjs0.6:
56 | image: scalafiddle/scalafiddle-core-2.12-sjs0.6:latest
57 | depends_on:
58 | - router
59 | restart: always
60 | volumes:
61 | - sfdata:/data
62 | - ./config/compiler/logback.xml:/app/config/logback.xml
63 | environment:
64 | - JAVA_OPTS=-Xmx3G
65 | - SCALAFIDDLE_ROUTER_URL=ws://router:8880/compiler
66 | - COURSIER_CACHE=/data/compiler/coursier
67 | - SCALAFIDDLE_LIBCACHE=/data/compiler/extlibs
68 | - SCALAFIDDLE_METRICS_STATSD_HOSTNAME=metrics
69 | - SCALAFIDDLE_SECRET
70 | logging:
71 | driver: gelf
72 | options:
73 | gelf-address: "udp://localhost:5000"
74 |
75 | compiler-2.12-sjs1:
76 | image: scalafiddle/scalafiddle-core-2.12-sjs1:latest
77 | depends_on:
78 | - router
79 | restart: always
80 | volumes:
81 | - sfdata:/data
82 | - ./config/compiler/logback.xml:/app/config/logback.xml
83 | environment:
84 | - JAVA_OPTS=-Xmx3G
85 | - SCALAFIDDLE_ROUTER_URL=ws://router:8880/compiler
86 | - COURSIER_CACHE=/data/compiler/coursier
87 | - SCALAFIDDLE_LIBCACHE=/data/compiler/extlibs
88 | - SCALAFIDDLE_METRICS_STATSD_HOSTNAME=metrics
89 | - SCALAFIDDLE_SECRET
90 | logging:
91 | driver: gelf
92 | options:
93 | gelf-address: "udp://localhost:5000"
94 |
95 | compiler-2.11-sjs0.6:
96 | image: scalafiddle/scalafiddle-core-2.11-sjs0.6:latest
97 | depends_on:
98 | - router
99 | restart: always
100 | volumes:
101 | - sfdata:/data
102 | - ./config/compiler/logback.xml:/app/config/logback.xml
103 | environment:
104 | - JAVA_OPTS=-Xmx3G
105 | - SCALAFIDDLE_ROUTER_URL=ws://router:8880/compiler
106 | - COURSIER_CACHE=/data/compiler/coursier
107 | - SCALAFIDDLE_LIBCACHE=/data/compiler/extlibs
108 | - SCALAFIDDLE_METRICS_STATSD_HOSTNAME=metrics
109 | - SCALAFIDDLE_SECRET
110 | logging:
111 | driver: gelf
112 | options:
113 | gelf-address: "udp://localhost:5000"
114 |
115 | volumes:
116 | sfdata:
117 |
--------------------------------------------------------------------------------
/libraries.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "group": "Web",
4 | "libraries": [
5 | {
6 | "name": "Slinky",
7 | "organization": "me.shadaj",
8 | "artifact": "slinky-core",
9 | "doc": "https://slinky.shadaj.me",
10 | "versions": [
11 | {
12 | "version": "0.6.3",
13 | "scalaVersions": ["2.12"],
14 | "extraDeps": [
15 | "me.shadaj %%% slinky-web % 0.6.3"
16 | ],
17 | "jsDeps": [
18 | "react % 16.9.0 % https://cdnjs.cloudflare.com/ajax/libs/react/16.9.0/umd/react.development.js",
19 | "react-dom % 16.9.0 % https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.9.0/umd/react-dom.development.js"
20 | ],
21 | "example":"https://raw.githubusercontent.com/scalafiddle/scalafiddle-io/master/samples/slinky/0.4.3/todo.scala"
22 | },
23 | {
24 | "version": "0.5.0",
25 | "scalaVersions": ["2.12"],
26 | "extraDeps": [
27 | "me.shadaj %%% slinky-web % 0.5.0"
28 | ],
29 | "jsDeps": [
30 | "react % 16.4.2 % https://cdnjs.cloudflare.com/ajax/libs/react/16.4.2/umd/react.development.js",
31 | "react-dom % 16.4.2 % https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.4.2/umd/react-dom.development.js"
32 | ],
33 | "example":"https://raw.githubusercontent.com/scalafiddle/scalafiddle-io/master/samples/slinky/0.4.3/todo.scala"
34 | },
35 | {
36 | "version": "0.4.3",
37 | "scalaVersions": ["2.12"],
38 | "extraDeps": [
39 | "me.shadaj %%% slinky-web % 0.4.3"
40 | ],
41 | "jsDeps": [
42 | "react % 16.3.2 % https://cdnjs.cloudflare.com/ajax/libs/react/16.3.0/umd/react.development.js",
43 | "react-dom % 16.3.2 % https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.3.0/umd/react-dom.development.js"
44 | ],
45 | "example":"https://raw.githubusercontent.com/scalafiddle/scalafiddle-io/master/samples/slinky/0.4.3/todo.scala"
46 | }
47 | ],
48 | "compileTimeOnly": false
49 | },
50 | {
51 | "name": "Scala.js React",
52 | "organization": "com.github.japgolly.scalajs-react",
53 | "artifact": "core",
54 | "doc": "japgolly/scalajs-react",
55 | "versions": [
56 | {
57 | "version": "1.4.2",
58 | "scalaVersions": ["2.12"],
59 | "extraDeps": [
60 | "com.github.japgolly.scalajs-react %%% extra % 1.4.2"
61 | ],
62 | "jsDeps": [
63 | "react % 16.7.0 % https://cdnjs.cloudflare.com/ajax/libs/react/16.7.0/umd/react.development.js",
64 | "react-dom % 16.7.0 % https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.7.0/umd/react-dom.development.js"
65 | ],
66 | "example":"https://raw.githubusercontent.com/scalafiddle/scalafiddle-io/master/samples/scalajs-react/1.2/todo.scala"
67 | },
68 | {
69 | "version": "1.2.0",
70 | "scalaVersions": ["2.11", "2.12"],
71 | "extraDeps": [
72 | "com.github.japgolly.scalajs-react %%% extra % 1.2.0"
73 | ],
74 | "jsDeps": [
75 | "react % 16.3.0 % https://cdnjs.cloudflare.com/ajax/libs/react/16.3.0/umd/react.development.js",
76 | "react-dom % 16.3.0 % https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.3.0/umd/react-dom.development.js"
77 | ],
78 | "example":"https://raw.githubusercontent.com/scalafiddle/scalafiddle-io/master/samples/scalajs-react/1.2/todo.scala"
79 | },
80 | {
81 | "version": "1.1.1",
82 | "scalaVersions": ["2.11", "2.12"],
83 | "extraDeps": [
84 | "com.github.japgolly.scalajs-react %%% extra % 1.1.1"
85 | ],
86 | "jsDeps": [
87 | "react % 15.6.1 % https://cdnjs.cloudflare.com/ajax/libs/react/15.6.1/react-with-addons.min.js",
88 | "react-dom % 15.6.1 % https://cdnjs.cloudflare.com/ajax/libs/react/15.6.1/react-dom.min.js"
89 | ],
90 | "example":"https://raw.githubusercontent.com/scalafiddle/scalafiddle-io/master/samples/scalajs-react/1.1/todo.scala"
91 | }
92 | ],
93 | "compileTimeOnly": false
94 | },
95 | {
96 | "name": "React Components",
97 | "organization": "com.olvind",
98 | "artifact": "scalajs-react-components",
99 | "doc": "chandu0101/scalajs-react-components",
100 | "versions": [
101 | {
102 | "version": "1.0.0-M2",
103 | "scalaVersions": ["2.12"],
104 | "extraDeps": [
105 | ],
106 | "jsDeps": [
107 | "react % 15.6.1 % https://cdnjs.cloudflare.com/ajax/libs/react/15.6.1/react-with-addons.min.js",
108 | "react-dom % 15.6.1 % https://cdnjs.cloudflare.com/ajax/libs/react/15.6.1/react-dom.min.js"
109 | ],
110 | "cssDeps": [
111 | "semantic-ui % 2.2.4 % https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.2.12/semantic.min.css"
112 | ]
113 | }
114 | ],
115 | "compileTimeOnly": false
116 | },
117 | {
118 | "name": "Diode",
119 | "organization": "io.suzaku",
120 | "artifact": "diode",
121 | "doc": "https://diode.suzaku.io",
122 | "versions": [
123 | {
124 | "version": "1.1.5",
125 | "scalaVersions": ["2.12"]
126 | },
127 | {
128 | "version": "1.1.3",
129 | "scalaVersions": ["2.11", "2.12"]
130 | },
131 | {
132 | "version": "1.1.2",
133 | "scalaVersions": ["2.11", "2.12"]
134 | },
135 | {
136 | "version": "1.1.0",
137 | "organization": "me.chrons",
138 | "scalaVersions": ["2.11", "2.12"]
139 | },
140 | {
141 | "version": "1.0.0",
142 | "organization": "me.chrons",
143 | "scalaVersions": ["2.11"]
144 | }
145 | ],
146 | "compileTimeOnly": false
147 | },
148 | {
149 | "name": "ScalaCSS",
150 | "organization": "com.github.japgolly.scalacss",
151 | "artifact": "core",
152 | "doc": "https://japgolly.github.io/scalacss/book/",
153 | "versions": [
154 | {
155 | "version": "0.5.3",
156 | "scalaVersions": ["2.11", "2.12"]
157 | },
158 | {
159 | "version": "0.4.1",
160 | "scalaVersions": ["2.11"]
161 | }
162 | ],
163 | "compileTimeOnly": false
164 | },
165 | {
166 | "name": "Widok",
167 | "organization": "io.github.widok",
168 | "artifact": "widok",
169 | "doc": "https://widok.github.io",
170 | "versions": [
171 | {
172 | "version": "0.2.4",
173 | "scalaVersions": ["2.11"]
174 | }
175 | ],
176 | "compileTimeOnly": false
177 | },
178 | {
179 | "name": "Udash",
180 | "organization": "io.udash",
181 | "artifact": "udash-core",
182 | "doc": "https://udash.io",
183 | "versions": [
184 | {
185 | "version": "0.8.1",
186 | "scalaVersions": ["2.11", "2.12"],
187 | "extraDeps": [
188 | "io.udash %%% udash-auth % 0.8.1",
189 | "io.udash %%% udash-bootstrap4 % 0.8.1",
190 | "io.udash %%% udash-charts % 0.8.1",
191 | "io.udash %%% udash-css % 0.8.1",
192 | "io.udash %%% udash-i18n % 0.8.1",
193 | "io.udash %%% udash-rpc % 0.8.1",
194 | "io.udash %%% udash-rest % 0.8.1"
195 | ],
196 | "jsDeps": [
197 | "bootstrap % 4.1.3 % https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js",
198 | "jquery % 3.3.1 % https://code.jquery.com/jquery-3.3.1.min.js",
199 | "highcharts % 5.0.14 % https://code.highcharts.com/5.0.14/highcharts.js",
200 | "highcharts-3d % 5.0.14 % https://code.highcharts.com/5.0.14/highcharts-3d.js",
201 | "highcharts-more % 5.0.14 % https://code.highcharts.com/5.0.14/highcharts-more.js",
202 | "highcharts-exporting % 5.0.14 % https://code.highcharts.com/5.0.14/modules/exporting.js",
203 | "highcharts-drilldown % 5.0.14 % https://code.highcharts.com/5.0.14/modules/drilldown.js",
204 | "highcharts-heatmap % 5.0.14 % https://code.highcharts.com/5.0.14/modules/heatmap.js"
205 | ],
206 | "cssDeps": [
207 | "bootstrap % 4.1.3 % https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"
208 | ]
209 | },
210 | {
211 | "version": "0.7.1",
212 | "artifact": "udash-core-frontend",
213 | "scalaVersions": ["2.11", "2.12"],
214 | "extraDeps": [
215 | "io.udash %%% udash-auth-frontend % 0.7.1",
216 | "io.udash %%% udash-bootstrap % 0.7.1",
217 | "io.udash %%% udash-charts % 0.7.1",
218 | "io.udash %%% udash-css-frontend % 0.7.1",
219 | "io.udash %%% udash-i18n-frontend % 0.7.1",
220 | "io.udash %%% udash-rpc-frontend % 0.7.1",
221 | "io.udash %%% udash-rest-shared % 0.7.1"
222 | ],
223 | "jsDeps": [
224 | "bootstrap % 3.3.7 % https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js",
225 | "jquery % 3.3.1 % https://code.jquery.com/jquery-3.3.1.min.js",
226 | "highcharts % 5.0.10 % https://code.highcharts.com/5.0.10/highcharts.js",
227 | "highcharts-3d % 5.0.10 % https://code.highcharts.com/5.0.10/highcharts-3d.js",
228 | "highcharts-more % 5.0.10 % https://code.highcharts.com/5.0.10/highcharts-more.js",
229 | "highcharts-exporting % 5.0.10 % https://code.highcharts.com/5.0.10/modules/exporting.js",
230 | "highcharts-drilldown % 5.0.10 % https://code.highcharts.com/5.0.10/modules/drilldown.js",
231 | "highcharts-heatmap % 5.0.10 % https://code.highcharts.com/5.0.10/modules/heatmap.js"
232 | ],
233 | "cssDeps": [
234 | "bootstrap % 3.3.7 % https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"
235 | ]
236 | },
237 | {
238 | "version": "0.6.0",
239 | "artifact": "udash-core-frontend",
240 | "scalaVersions": ["2.11", "2.12"],
241 | "extraDeps": [
242 | "io.udash %%% udash-auth-frontend % 0.6.0",
243 | "io.udash %%% udash-bootstrap % 0.6.0",
244 | "io.udash %%% udash-charts % 0.6.0",
245 | "io.udash %%% udash-i18n-frontend % 0.6.0",
246 | "io.udash %%% udash-rpc-frontend % 0.6.0",
247 | "io.udash %%% udash-rest-shared % 0.6.0"
248 | ]
249 | },
250 | {
251 | "version": "0.5.0",
252 | "artifact": "udash-core-frontend",
253 | "scalaVersions": ["2.11", "2.12"],
254 | "extraDeps": [
255 | "io.udash %%% udash-bootstrap % 0.5.0",
256 | "io.udash %%% udash-charts % 0.5.0",
257 | "io.udash %%% udash-i18n-frontend % 0.5.0",
258 | "io.udash %%% udash-rpc-frontend % 0.5.0",
259 | "io.udash %%% udash-rest-shared % 0.5.0"
260 | ]
261 | },
262 | {
263 | "version": "0.4.0",
264 | "artifact": "udash-core-frontend",
265 | "scalaVersions": ["2.11"],
266 | "extraDeps": [
267 | "io.udash %%% udash-bootstrap % 0.4.0",
268 | "io.udash %%% udash-i18n-frontend % 0.4.0",
269 | "io.udash %%% udash-rpc-frontend % 0.4.0",
270 | "io.udash %%% udash-rest-shared % 0.4.0"
271 | ]
272 | },
273 | {
274 | "version": "0.3.1",
275 | "artifact": "udash-core-frontend",
276 | "scalaVersions": ["2.11"],
277 | "extraDeps": [
278 | "io.udash %%% udash-bootstrap % 0.3.1",
279 | "io.udash %%% udash-i18n-frontend % 0.3.1",
280 | "io.udash %%% udash-rpc-frontend % 0.3.1",
281 | "io.udash %%% udash-rest-shared % 0.3.1"
282 | ]
283 | }
284 | ],
285 | "compileTimeOnly": false
286 | },
287 | {
288 | "name": "Laminar",
289 | "organization": "com.raquo",
290 | "artifact": "laminar",
291 | "doc": "https://github.com/raquo/Laminar",
292 | "versions": [
293 | {
294 | "version": "0.9.0",
295 | "scalaVersions": ["2.12", "2.13"],
296 | "scalaJSVersions": ["1"]
297 | },
298 | {
299 | "version": "0.7.2",
300 | "scalaVersions": ["2.12"]
301 | },
302 | {
303 | "version": "0.7",
304 | "scalaVersions": ["2.12"]
305 | },
306 | {
307 | "version": "0.6",
308 | "scalaVersions": ["2.12"]
309 | },
310 | {
311 | "version": "0.4",
312 | "scalaVersions": ["2.11", "2.12"]
313 | }
314 | ],
315 | "compileTimeOnly": false
316 | }
317 | ]
318 | },
319 | {
320 | "group": "Functional & type-level",
321 | "libraries": [
322 | {
323 | "name": "Quicklens",
324 | "organization": "com.softwaremill.quicklens",
325 | "artifact": "quicklens",
326 | "doc": "adamw/quicklens",
327 | "versions": [
328 | {
329 | "version": "1.4.11",
330 | "scalaVersions": ["2.11", "2.12"]
331 | }
332 | ],
333 | "compileTimeOnly": false
334 | },
335 | {
336 | "name": "Matryoshka",
337 | "organization": "com.slamdata",
338 | "artifact": "matryoshka-core",
339 | "doc": "slamdata/matryoshka",
340 | "versions": [
341 | {
342 | "version": "0.18.3",
343 | "scalaVersions": ["2.11", "2.12"]
344 | }
345 | ],
346 | "compileTimeOnly": false
347 | },
348 | {
349 | "name": "Squants",
350 | "organization": "org.typelevel",
351 | "artifact": "squants",
352 | "doc": "http://www.squants.com/",
353 | "versions": [
354 | {
355 | "version": "1.3.0",
356 | "scalaVersions": ["2.11", "2.12"]
357 | }
358 | ],
359 | "compileTimeOnly": false
360 | },
361 | {
362 | "name": "Refined",
363 | "organization": "eu.timepit",
364 | "artifact": "refined",
365 | "doc": "fthomas/refined",
366 | "versions": [
367 | {
368 | "version": "0.9.10",
369 | "scalaVersions": ["2.12"]
370 | },
371 | {
372 | "version": "0.9.0",
373 | "scalaVersions": ["2.11", "2.12"]
374 | },
375 | {
376 | "version": "0.8.4",
377 | "scalaVersions": ["2.11", "2.12"]
378 | }
379 | ],
380 | "compileTimeOnly": false
381 | },
382 | {
383 | "name": "Simulacrum",
384 | "organization": "com.github.mpilquist",
385 | "artifact": "simulacrum",
386 | "doc": "mpilquist/simulacrum",
387 | "versions": [
388 | {
389 | "version": "0.11.0",
390 | "scalaVersions": ["2.11", "2.12"]
391 | }
392 | ],
393 | "compileTimeOnly": false
394 | },
395 | {
396 | "name": "Spire",
397 | "organization": "org.typelevel",
398 | "artifact": "spire",
399 | "doc": "non/spire",
400 | "versions": [
401 | {
402 | "version": "0.14.1",
403 | "scalaVersions": ["2.11", "2.12"]
404 | }
405 | ],
406 | "compileTimeOnly": false
407 | },
408 | {
409 | "name": "Cats",
410 | "organization": "org.typelevel",
411 | "artifact": "cats-core",
412 | "doc": "https://typelevel.org/cats/",
413 | "versions": [
414 | {
415 | "version": "2.1.0",
416 | "scalaVersions": ["2.12"]
417 | },
418 | {
419 | "version": "1.3.1",
420 | "scalaVersions": ["2.11", "2.12"]
421 | },
422 | {
423 | "version": "1.3.0",
424 | "scalaVersions": ["2.11", "2.12"]
425 | },
426 | {
427 | "version": "1.2.0",
428 | "scalaVersions": ["2.11", "2.12"]
429 | },
430 | {
431 | "version": "1.1.0",
432 | "scalaVersions": ["2.11", "2.12"]
433 | },
434 | {
435 | "version": "1.0.1",
436 | "scalaVersions": ["2.11", "2.12"]
437 | },
438 | {
439 | "version": "0.7.2",
440 | "artifact": "cats",
441 | "scalaVersions": ["2.11"]
442 | },
443 | {
444 | "version": "0.6.1",
445 | "artifact": "cats",
446 | "scalaVersions": ["2.11"]
447 | }
448 | ],
449 | "compileTimeOnly": false
450 | },
451 | {
452 | "name": "Cats Effect",
453 | "organization": "org.typelevel",
454 | "artifact": "cats-effect",
455 | "doc": "typelevel/cats-effect",
456 | "versions": [
457 | {
458 | "version": "2.0.0",
459 | "scalaVersions": ["2.12"]
460 | },
461 | {
462 | "version": "1.0.0",
463 | "scalaVersions": ["2.11", "2.12"]
464 | },
465 | {
466 | "version": "1.0.0-RC",
467 | "scalaVersions": ["2.11", "2.12"]
468 | },
469 | {
470 | "version": "0.5",
471 | "scalaVersions": ["2.11", "2.12"]
472 | },
473 | {
474 | "version": "0.4",
475 | "scalaVersions": ["2.11", "2.12"]
476 | }
477 | ],
478 | "compileTimeOnly": false
479 | },
480 | {
481 | "name": "Cats MTL",
482 | "organization": "org.typelevel",
483 | "artifact": "cats-mtl-core",
484 | "doc": "typelevel/cats-mtl",
485 | "versions": [
486 | {
487 | "version": "0.7.0",
488 | "scalaVersions": ["2.12"]
489 | },
490 | {
491 | "version": "0.4.0",
492 | "scalaVersions": ["2.11", "2.12"]
493 | }
494 | ],
495 | "compileTimeOnly": false
496 | },
497 | {
498 | "name": "Scalaz",
499 | "organization": "org.scalaz",
500 | "artifact": "scalaz-core",
501 | "doc": "scalaz/scalaz",
502 | "versions": [
503 | {
504 | "version": "7.2.29",
505 | "scalaVersions": ["2.12"]
506 | },
507 | {
508 | "version": "7.2.16",
509 | "scalaVersions": ["2.11", "2.12"]
510 | },
511 | {
512 | "version": "7.2.12",
513 | "scalaVersions": ["2.11", "2.12"]
514 | },
515 | {
516 | "version": "7.2.1",
517 | "scalaVersions": ["2.11"]
518 | }
519 | ],
520 | "compileTimeOnly": false
521 | },
522 | {
523 | "name": "Each",
524 | "organization": "com.thoughtworks.each",
525 | "artifact": "each",
526 | "doc": "ThoughtWorksInc/each",
527 | "versions": [
528 | {
529 | "version": "3.3.1",
530 | "scalaVersions": ["2.11", "2.12"]
531 | },
532 | {
533 | "version": "3.0.1",
534 | "scalaVersions": ["2.11"]
535 | }
536 | ],
537 | "compileTimeOnly": false
538 | },
539 | {
540 | "name": "Shapeless",
541 | "organization": "com.chuusai",
542 | "artifact": "shapeless",
543 | "doc": "milessabin/shapeless",
544 | "versions": [
545 | {
546 | "version": "2.3.3",
547 | "scalaVersions": ["2.11", "2.12"]
548 | },
549 | {
550 | "version": "2.3.2",
551 | "scalaVersions": ["2.11", "2.12"]
552 | },
553 | {
554 | "version": "2.2.5",
555 | "scalaVersions": ["2.11"]
556 | }
557 | ],
558 | "compileTimeOnly": false
559 | },
560 | {
561 | "name": "FS2",
562 | "organization": "co.fs2",
563 | "artifact": "fs2-core",
564 | "doc": "functional-streams-for-scala/fs2",
565 | "versions": [
566 | {
567 | "version": "2.2.1",
568 | "scalaVersions": ["2.12"]
569 | },
570 | {
571 | "version": "2.1.0",
572 | "scalaVersions": ["2.12"]
573 | },
574 | {
575 | "version": "0.10.0-M7",
576 | "scalaVersions": ["2.11", "2.12"]
577 | },
578 | {
579 | "version": "0.9.7",
580 | "scalaVersions": ["2.11", "2.12"]
581 | },
582 | {
583 | "version": "0.9.5",
584 | "scalaVersions": ["2.11", "2.12"]
585 | },
586 | {
587 | "version": "0.9.0-RC1",
588 | "scalaVersions": ["2.11"]
589 | }
590 | ],
591 | "compileTimeOnly": false
592 | },
593 | {
594 | "name": "Monix",
595 | "organization": "io.monix",
596 | "artifact": "monix",
597 | "doc": "https://monix.io/",
598 | "versions": [
599 | {
600 | "version": "3.1.0",
601 | "scalaVersions": ["2.12"]
602 | },
603 | {
604 | "version": "3.0.0-M1",
605 | "scalaVersions": ["2.11", "2.12"]
606 | },
607 | {
608 | "version": "2.3.0",
609 | "scalaVersions": ["2.11", "2.12"]
610 | },
611 | {
612 | "version": "2.0.0",
613 | "scalaVersions": ["2.11"]
614 | }
615 | ],
616 | "compileTimeOnly": false
617 | },
618 | {
619 | "name": "Monocle",
620 | "organization": "com.github.julien-truffaut",
621 | "artifact": "monocle-core",
622 | "doc": "https://julien-truffaut.github.io/Monocle/",
623 | "versions": [
624 | {
625 | "version": "2.0.0",
626 | "scalaVersions": ["2.12"],
627 | "extraDeps": [
628 | "com.github.julien-truffaut %%% monocle-macro % 2.0.0",
629 | "com.github.julien-truffaut %%% monocle-law % 2.0.0"
630 | ]
631 | },
632 | {
633 | "version": "1.5.0-cats-M1",
634 | "scalaVersions": ["2.11", "2.12"],
635 | "extraDeps": [
636 | "com.github.julien-truffaut %%% monocle-macro % 1.5.0-cats-M1",
637 | "com.github.julien-truffaut %%% monocle-law % 1.5.0-cats-M1"
638 | ]
639 | },
640 | {
641 | "version": "1.4.0",
642 | "scalaVersions": ["2.11", "2.12"],
643 | "extraDeps": [
644 | "com.github.julien-truffaut %%% monocle-macro % 1.4.0",
645 | "com.github.julien-truffaut %%% monocle-law % 1.4.0"
646 | ]
647 | }
648 | ],
649 | "compileTimeOnly": false
650 | },
651 | {
652 | "name": "Hamsters",
653 | "organization": "io.github.scala-hamsters",
654 | "artifact": "hamsters",
655 | "doc": "scala-hamsters/hamsters",
656 | "versions": [
657 | {
658 | "version": "2.6.0",
659 | "scalaVersions": ["2.11", "2.12"]
660 | },
661 | {
662 | "version": "2.5.0",
663 | "scalaVersions": ["2.11", "2.12"]
664 | }
665 | ],
666 | "compileTimeOnly": false
667 | },
668 | {
669 | "name": "ZIO",
670 | "organization": "dev.zio",
671 | "artifact": "zio",
672 | "doc": "https://zio.dev",
673 | "versions": [
674 | {
675 | "version": "1.0.0-RC17",
676 | "scalaVersions": ["2.12"],
677 | "extraDeps": [
678 | "dev.zio %%% zio-streams % 1.0.0-RC17"
679 | ]
680 | }
681 | ],
682 | "compileTimeOnly": false
683 | }
684 | ]
685 | },
686 | {
687 | "group": "FRP",
688 | "libraries": [
689 | {
690 | "name": "Scala.Rx",
691 | "organization": "com.lihaoyi",
692 | "artifact": "scalarx",
693 | "doc": "lihaoyi/scala.rx",
694 | "versions": [
695 | {
696 | "version": "0.3.2",
697 | "scalaVersions": ["2.11", "2.12"]
698 | },
699 | {
700 | "version": "0.3.1",
701 | "scalaVersions": ["2.11"]
702 | }
703 | ],
704 | "compileTimeOnly": false
705 | },
706 | {
707 | "name": "MetaRx",
708 | "organization": "pl.metastack",
709 | "artifact": "metarx",
710 | "doc": "MetaStack-pl/MetaRx",
711 | "versions": [
712 | {
713 | "version": "0.1.7",
714 | "scalaVersions": ["2.11"]
715 | }
716 | ],
717 | "compileTimeOnly": false
718 | },
719 | {
720 | "name": "Reactify",
721 | "organization": "com.outr",
722 | "artifact": "reactify",
723 | "doc": "outr/reactify",
724 | "versions": [
725 | {
726 | "version": "3.0.2",
727 | "scalaVersions": ["2.11", "2.12"]
728 | }
729 | ],
730 | "compileTimeOnly": false
731 | },
732 | {
733 | "name": "OutWatch",
734 | "organization": "io.github.outwatch",
735 | "artifact": "outwatch",
736 | "doc": "https://outwatch.github.io/?lang=scala",
737 | "versions": [
738 | {
739 | "version": "0.10.2",
740 | "scalaVersions": ["2.11", "2.12"]
741 | },
742 | {
743 | "version": "0.9.4",
744 | "scalaVersions": ["2.11", "2.12"]
745 | },
746 | {
747 | "version": "0.9.0",
748 | "scalaVersions": ["2.11", "2.12"]
749 | }
750 | ],
751 | "compileTimeOnly": false
752 | },
753 | {
754 | "name": "Owlet",
755 | "organization": "us.oyanglul",
756 | "artifact": "owlet",
757 | "doc": "https://oyanglul.us/owlet",
758 | "versions": [
759 | {
760 | "version": "0.3.1",
761 | "scalaVersions": ["2.12"]
762 | }
763 | ],
764 | "compileTimeOnly": false
765 | },
766 | {
767 | "name": "Binding.scala",
768 | "organization": "com.thoughtworks.binding",
769 | "artifact": "binding",
770 | "doc": "ThoughtWorksInc/Binding.scala",
771 | "versions": [
772 | {
773 | "version": "11.8.1",
774 | "scalaVersions": ["2.11", "2.12"],
775 | "extraDeps": [
776 | "com.thoughtworks.binding %%% route % 11.8.1",
777 | "com.thoughtworks.binding %%% dom % 11.8.1",
778 | "com.thoughtworks.binding %%% futurebinding % 11.8.1",
779 | "com.thoughtworks.binding %%% jspromisebinding % 11.8.1"
780 | ]
781 | },
782 | {
783 | "version": "11.6.0",
784 | "scalaVersions": ["2.11", "2.12"],
785 | "extraDeps": [
786 | "com.thoughtworks.binding %%% route % 11.6.0",
787 | "com.thoughtworks.binding %%% dom % 11.6.0",
788 | "com.thoughtworks.binding %%% futurebinding % 11.6.0",
789 | "com.thoughtworks.binding %%% jspromisebinding % 11.6.0"
790 | ]
791 | },
792 | {
793 | "version": "11.0.0",
794 | "scalaVersions": ["2.11", "2.12"],
795 | "extraDeps": [
796 | "com.thoughtworks.binding %%% route % 11.0.0",
797 | "com.thoughtworks.binding %%% dom % 11.0.0",
798 | "com.thoughtworks.binding %%% futurebinding % 11.0.0",
799 | "com.thoughtworks.binding %%% jspromisebinding % 11.0.0"
800 | ]
801 | },
802 | {
803 | "version": "10.0.3",
804 | "scalaVersions": ["2.11", "2.12"],
805 | "extraDeps": [
806 | "com.thoughtworks.binding %%% route % 10.0.3",
807 | "com.thoughtworks.binding %%% dom % 10.0.3",
808 | "com.thoughtworks.binding %%% futurebinding % 10.0.3",
809 | "com.thoughtworks.binding %%% jspromisebinding % 10.0.3"
810 | ]
811 | },
812 | {
813 | "version": "10.0.2",
814 | "scalaVersions": ["2.11", "2.12"],
815 | "extraDeps": [
816 | "com.thoughtworks.binding %%% route % 10.0.2",
817 | "com.thoughtworks.binding %%% dom % 10.0.2",
818 | "com.thoughtworks.binding %%% futurebinding % 10.0.2",
819 | "com.thoughtworks.binding %%% jspromisebinding % 10.0.2"
820 | ]
821 | },
822 | {
823 | "version": "10.0.1",
824 | "scalaVersions": ["2.11", "2.12"],
825 | "extraDeps": [
826 | "com.thoughtworks.binding %%% route % 10.0.1",
827 | "com.thoughtworks.binding %%% dom % 10.0.1",
828 | "com.thoughtworks.binding %%% futurebinding % 10.0.1",
829 | "com.thoughtworks.binding %%% jspromisebinding % 10.0.1"
830 | ]
831 | },
832 | {
833 | "version": "10.0.0",
834 | "scalaVersions": ["2.11", "2.12"],
835 | "extraDeps": [
836 | "com.thoughtworks.binding %%% route % 10.0.0",
837 | "com.thoughtworks.binding %%% dom % 10.0.0",
838 | "com.thoughtworks.binding %%% futurebinding % 10.0.0",
839 | "com.thoughtworks.binding %%% jspromisebinding % 10.0.0"
840 | ]
841 | },
842 | {
843 | "version": "9.0.4",
844 | "scalaVersions": ["2.11", "2.12"],
845 | "extraDeps": [
846 | "com.thoughtworks.binding %%% dom % 9.0.4",
847 | "com.thoughtworks.binding %%% futurebinding % 9.0.4",
848 | "com.thoughtworks.binding %%% jspromisebinding % 9.0.4"
849 | ]
850 | },
851 | {
852 | "version": "9.0.3",
853 | "scalaVersions": ["2.11"],
854 | "extraDeps": [
855 | "com.thoughtworks.binding %%% dom % 9.0.3",
856 | "com.thoughtworks.binding %%% futurebinding % 9.0.3",
857 | "com.thoughtworks.binding %%% jspromisebinding % 9.0.3"
858 | ]
859 | },
860 | {
861 | "version": "9.0.2",
862 | "scalaVersions": ["2.11"],
863 | "extraDeps": [
864 | "com.thoughtworks.binding %%% dom % 9.0.2",
865 | "com.thoughtworks.binding %%% futurebinding % 9.0.2",
866 | "com.thoughtworks.binding %%% jspromisebinding % 9.0.2"
867 | ]
868 | },
869 | {
870 | "version": "9.0.0",
871 | "scalaVersions": ["2.11"],
872 | "extraDeps": [
873 | "com.thoughtworks.binding %%% dom % 9.0.0",
874 | "com.thoughtworks.binding %%% futurebinding % 9.0.0",
875 | "com.thoughtworks.binding %%% jspromisebinding % 9.0.0"
876 | ]
877 | }
878 | ],
879 | "compileTimeOnly": false
880 | },
881 | {
882 | "name": "bindable.scala",
883 | "organization": "com.thoughtworks.binding",
884 | "artifact": "bindable",
885 | "doc": "ThoughtWorksInc/bindable.scala",
886 | "versions": [
887 | {
888 | "version": "1.0.1",
889 | "scalaVersions": ["2.11", "2.12"]
890 | }
891 | ],
892 | "compileTimeOnly": false
893 | }
894 | ]
895 | },
896 | {
897 | "group": "Serialization",
898 | "libraries": [
899 | {
900 | "name": "BooPickle",
901 | "organization": "io.suzaku",
902 | "artifact": "boopickle",
903 | "doc": "https://boopickle.suzaku.io",
904 | "versions": [
905 | {
906 | "version": "1.3.0",
907 | "scalaVersions": ["2.11", "2.12"]
908 | },
909 | {
910 | "version": "1.2.6",
911 | "scalaVersions": ["2.11", "2.12"]
912 | },
913 | {
914 | "version": "1.2.5",
915 | "scalaVersions": ["2.11", "2.12"],
916 | "organization": "me.chrons"
917 | },
918 | {
919 | "version": "1.2.4",
920 | "scalaVersions": ["2.11"],
921 | "organization": "me.chrons"
922 | }
923 | ],
924 | "compileTimeOnly": false
925 | },
926 | {
927 | "name": "uPickle",
928 | "organization": "com.lihaoyi",
929 | "artifact": "upickle",
930 | "doc": "lihaoyi/upickle",
931 | "versions": [
932 | {
933 | "version": "0.9.5",
934 | "scalaVersions": ["2.12"]
935 | },
936 | {
937 | "version": "0.7.1",
938 | "scalaVersions": ["2.11", "2.12"]
939 | },
940 | {
941 | "version": "0.6.6",
942 | "scalaVersions": ["2.11", "2.12"]
943 | },
944 | {
945 | "version": "0.5.1",
946 | "scalaVersions": ["2.11", "2.12"]
947 | },
948 | {
949 | "version": "0.4.4",
950 | "scalaVersions": ["2.11", "2.12"]
951 | },
952 | {
953 | "version": "0.4.3",
954 | "scalaVersions": ["2.11"]
955 | },
956 | {
957 | "version": "0.4.1",
958 | "scalaVersions": ["2.11"]
959 | }
960 | ],
961 | "compileTimeOnly": false
962 | },
963 | {
964 | "name": "Circe",
965 | "organization": "io.circe",
966 | "artifact": "circe-core",
967 | "doc": "https://circe.github.io/circe",
968 | "versions": [
969 | {
970 | "version": "0.13.0",
971 | "scalaVersions": ["2.12"],
972 | "extraDeps": ["io.circe %%% circe-generic % 0.13.0", "io.circe %%% circe-parser % 0.13.0"]
973 | },
974 | {
975 | "version": "0.12.3",
976 | "scalaVersions": ["2.12"],
977 | "extraDeps": ["io.circe %%% circe-generic % 0.12.3", "io.circe %%% circe-parser % 0.12.3"]
978 | },
979 | {
980 | "version": "0.9.1",
981 | "scalaVersions": ["2.11", "2.12"],
982 | "extraDeps": ["io.circe %%% circe-generic % 0.9.1", "io.circe %%% circe-generic-extras % 0.9.1", "io.circe %%% circe-parser % 0.9.1"]
983 | },
984 | {
985 | "version": "0.9.0-M1",
986 | "scalaVersions": ["2.11", "2.12"],
987 | "extraDeps": ["io.circe %%% circe-generic % 0.9.0-M1", "io.circe %%% circe-generic-extras % 0.9.0-M1", "io.circe %%% circe-parser % 0.9.0-M1"]
988 | },
989 | {
990 | "version": "0.8.0",
991 | "scalaVersions": ["2.11", "2.12"],
992 | "extraDeps": ["io.circe %%% circe-generic % 0.8.0", "io.circe %%% circe-generic-extras % 0.8.0", "io.circe %%% circe-parser % 0.8.0"]
993 | },
994 | {
995 | "version": "0.5.1",
996 | "scalaVersions": ["2.11"],
997 | "extraDeps": ["io.circe %%% circe-generic % 0.5.1", "io.circe %%% circe-parser % 0.5.1"]
998 | },
999 | {
1000 | "version": "0.4.1",
1001 | "scalaVersions": ["2.11"],
1002 | "extraDeps": ["io.circe %%% circe-generic % 0.4.1", "io.circe %%% circe-parser % 0.4.1"]
1003 | }
1004 | ],
1005 | "compileTimeOnly": false
1006 | },
1007 | {
1008 | "name": "Play JSON codecs",
1009 | "organization": "org.julienrf",
1010 | "artifact": "play-json-derived-codecs",
1011 | "doc": "https://github.com/julienrf/play-json-derived-codecs",
1012 | "versions": [
1013 | {
1014 | "version": "4.0.0",
1015 | "scalaVersions": ["2.11", "2.12"],
1016 | "extraDeps": ["org.julienrf %%% play-json-derived-codecs % 4.0.0"]
1017 | }
1018 | ],
1019 | "compileTimeOnly": false
1020 | },
1021 | {
1022 | "name": "jsoniter-scala",
1023 | "organization": "com.github.plokhotnyuk.jsoniter-scala",
1024 | "artifact": "jsoniter-scala-macros",
1025 | "doc": "https://github.com/plokhotnyuk/jsoniter-scala",
1026 | "versions": [
1027 | {
1028 | "version": "2.2.3",
1029 | "scalaVersions": ["2.11", "2.12"],
1030 | "scalaJSVersions": ["1"]
1031 | }
1032 | ],
1033 | "compileTimeOnly": false
1034 | }
1035 | ]
1036 | },
1037 | {
1038 | "group": "Miscellaneous",
1039 | "libraries": [
1040 | {
1041 | "name": "Collection Strawman",
1042 | "organization": "ch.epfl.scala",
1043 | "artifact": "collection-strawman",
1044 | "doc": "scala/collection-strawman",
1045 | "versions": [
1046 | {
1047 | "version": "0.5.0",
1048 | "scalaVersions": ["2.12"]
1049 | }
1050 | ],
1051 | "compileTimeOnly": false
1052 | },
1053 | {
1054 | "name": "FastParse",
1055 | "organization": "com.lihaoyi",
1056 | "artifact": "fastparse",
1057 | "doc": "http://www.lihaoyi.com/fastparse/",
1058 | "versions": [
1059 | {
1060 | "version": "2.2.4",
1061 | "scalaVersions": ["2.12"],
1062 | "scalaJSVersions": ["0.6", "1"]
1063 | },
1064 | {
1065 | "version": "2.2.2",
1066 | "scalaVersions": ["2.12"]
1067 | },
1068 | {
1069 | "version": "1.0.0",
1070 | "scalaVersions": ["2.11", "2.12"]
1071 | }
1072 | ],
1073 | "compileTimeOnly": false
1074 | },
1075 | {
1076 | "name": "Accord",
1077 | "organization": "com.wix",
1078 | "artifact": "accord-core",
1079 | "doc": "http://wix.github.io/accord/",
1080 | "versions": [
1081 | {
1082 | "version": "0.7.1",
1083 | "scalaVersions": ["2.11", "2.12"]
1084 | },
1085 | {
1086 | "version": "0.6.1",
1087 | "scalaVersions": ["2.11", "2.12"]
1088 | },
1089 | {
1090 | "version": "0.6",
1091 | "scalaVersions": ["2.11"]
1092 | }
1093 | ],
1094 | "compileTimeOnly": false
1095 | },
1096 | {
1097 | "name": "Akka.Js",
1098 | "organization": "org.akka-js",
1099 | "artifact": "akkajsactor",
1100 | "doc": "akka-js/akka.js",
1101 | "versions": [
1102 | {
1103 | "version": "2.2.6.1",
1104 | "scalaVersions": ["2.12"]
1105 | },
1106 | {
1107 | "version": "1.2.5.14",
1108 | "scalaVersions": ["2.11", "2.12"]
1109 | },
1110 | {
1111 | "version": "1.2.5.11",
1112 | "scalaVersions": ["2.11", "2.12"]
1113 | },
1114 | {
1115 | "version": "1.2.5.9",
1116 | "scalaVersions": ["2.11", "2.12"]
1117 | },
1118 | {
1119 | "version": "1.2.5.6",
1120 | "scalaVersions": ["2.11", "2.12"]
1121 | },
1122 | {
1123 | "version": "1.2.5.2",
1124 | "scalaVersions": ["2.11", "2.12"]
1125 | },
1126 | {
1127 | "version": "1.2.5.1",
1128 | "scalaVersions": ["2.11", "2.12"]
1129 | },
1130 | {
1131 | "version": "0.2.4.14",
1132 | "organization": "eu.unicredit",
1133 | "scalaVersions": ["2.11", "2.12"]
1134 | },
1135 | {
1136 | "version": "0.2.4.12",
1137 | "organization": "eu.unicredit",
1138 | "scalaVersions": ["2.11", "2.12"]
1139 | },
1140 | {
1141 | "version": "0.2.4.11",
1142 | "organization": "eu.unicredit",
1143 | "scalaVersions": ["2.11"]
1144 | },
1145 | {
1146 | "version": "0.2.4.10",
1147 | "organization": "eu.unicredit",
1148 | "scalaVersions": ["2.11"]
1149 | },
1150 | {
1151 | "version": "0.2.4.9",
1152 | "organization": "eu.unicredit",
1153 | "scalaVersions": ["2.11"]
1154 | },
1155 | {
1156 | "version": "0.2.0",
1157 | "organization": "eu.unicredit",
1158 | "scalaVersions": ["2.11"]
1159 | }
1160 | ],
1161 | "compileTimeOnly": false
1162 | },
1163 | {
1164 | "name": "AkkaStream.Js",
1165 | "organization": "org.akka-js",
1166 | "artifact": "akkajsactorstream",
1167 | "doc": "akka-js/akka.js",
1168 | "versions": [
1169 | {
1170 | "version": "2.2.6.1",
1171 | "scalaVersions": ["2.12"]
1172 | },
1173 | {
1174 | "version": "1.2.5.14",
1175 | "scalaVersions": ["2.11", "2.12"]
1176 | },
1177 | {
1178 | "version": "1.2.5.11",
1179 | "scalaVersions": ["2.11", "2.12"]
1180 | },
1181 | {
1182 | "version": "1.2.5.9",
1183 | "scalaVersions": ["2.11", "2.12"]
1184 | },
1185 | {
1186 | "version": "1.2.5.6",
1187 | "scalaVersions": ["2.11", "2.12"]
1188 | },
1189 | {
1190 | "version": "1.2.5.2",
1191 | "scalaVersions": ["2.11", "2.12"]
1192 | },
1193 | {
1194 | "version": "1.2.5.1",
1195 | "scalaVersions": ["2.11", "2.12"]
1196 | },
1197 | {
1198 | "version": "0.2.4.14",
1199 | "organization": "eu.unicredit",
1200 | "scalaVersions": ["2.11", "2.12"]
1201 | },
1202 | {
1203 | "version": "0.2.4.12",
1204 | "organization": "eu.unicredit",
1205 | "scalaVersions": ["2.11", "2.12"]
1206 | },
1207 | {
1208 | "version": "0.2.4.11",
1209 | "organization": "eu.unicredit",
1210 | "scalaVersions": ["2.11"]
1211 | },
1212 | {
1213 | "version": "0.2.4.10",
1214 | "organization": "eu.unicredit",
1215 | "scalaVersions": ["2.11"]
1216 | },
1217 | {
1218 | "version": "0.2.4.9",
1219 | "organization": "eu.unicredit",
1220 | "scalaVersions": ["2.11"]
1221 | },
1222 | {
1223 | "version": "0.2.0",
1224 | "organization": "eu.unicredit",
1225 | "scalaVersions": ["2.11"]
1226 | }
1227 | ],
1228 | "compileTimeOnly": false
1229 | },
1230 | {
1231 | "name": "AkkaTyped.Js",
1232 | "organization": "org.akka-js",
1233 | "artifact": "akkajsactortyped",
1234 | "doc": "akka-js/akka.js",
1235 | "versions": [
1236 | {
1237 | "version": "2.2.6.1",
1238 | "scalaVersions": ["2.12"]
1239 | },
1240 | {
1241 | "version": "1.2.5.14",
1242 | "scalaVersions": ["2.11", "2.12"]
1243 | },
1244 | {
1245 | "version": "1.2.5.11",
1246 | "scalaVersions": ["2.11", "2.12"]
1247 | },
1248 | {
1249 | "version": "1.2.5.9",
1250 | "scalaVersions": ["2.11", "2.12"]
1251 | }
1252 | ],
1253 | "compileTimeOnly": false
1254 | },
1255 | {
1256 | "name": "AkkaStreamTyped.Js",
1257 | "organization": "org.akka-js",
1258 | "artifact": "akkajsactorstreamtyped",
1259 | "doc": "akka-js/akka.js",
1260 | "versions": [
1261 | {
1262 | "version": "2.2.6.1",
1263 | "scalaVersions": ["2.12"]
1264 | },
1265 | {
1266 | "version": "1.2.5.14",
1267 | "scalaVersions": ["2.11", "2.12"]
1268 | }
1269 | ],
1270 | "compileTimeOnly": false
1271 | },
1272 | {
1273 | "name": "Java8 Time",
1274 | "organization": "org.scala-js",
1275 | "artifact": "scalajs-java-time",
1276 | "doc": "scala-js/scala-js-java-time",
1277 | "versions": [
1278 | {
1279 | "version": "0.2.6",
1280 | "scalaVersions": ["2.11", "2.12"],
1281 | "scalaJSVersions": ["0.6", "1"]
1282 | },
1283 | {
1284 | "version": "0.2.3",
1285 | "scalaVersions": ["2.11", "2.12"]
1286 | },
1287 | {
1288 | "version": "0.2.2",
1289 | "scalaVersions": ["2.11", "2.12"]
1290 | },
1291 | {
1292 | "version": "0.2.1",
1293 | "scalaVersions": ["2.11", "2.12"]
1294 | },
1295 | {
1296 | "version": "0.1.0",
1297 | "scalaVersions": ["2.11"]
1298 | }
1299 | ],
1300 | "compileTimeOnly": false
1301 | },
1302 | {
1303 | "name": "Quill",
1304 | "organization": "io.getquill",
1305 | "artifact": "quill-sql",
1306 | "doc": "http://getquill.io/",
1307 | "versions": [
1308 | {
1309 | "version": "3.5.0",
1310 | "scalaVersions": ["2.12"]
1311 | },
1312 | {
1313 | "version": "2.3.1",
1314 | "scalaVersions": ["2.11", "2.12"]
1315 | },
1316 | {
1317 | "version": "2.0.0",
1318 | "scalaVersions": ["2.11", "2.12"]
1319 | },
1320 | {
1321 | "version": "1.4.0",
1322 | "scalaVersions": ["2.11", "2.12"]
1323 | },
1324 | {
1325 | "version": "1.3.0",
1326 | "scalaVersions": ["2.11", "2.12"]
1327 | },
1328 | {
1329 | "version": "1.2.1",
1330 | "scalaVersions": ["2.11", "2.12"]
1331 | },
1332 | {
1333 | "version": "1.1.0",
1334 | "scalaVersions": ["2.11"]
1335 | },
1336 | {
1337 | "version": "1.0.1",
1338 | "scalaVersions": ["2.11"]
1339 | },
1340 | {
1341 | "version": "1.0.0",
1342 | "scalaVersions": ["2.11"]
1343 | },
1344 | {
1345 | "version": "0.10.0",
1346 | "scalaVersions": ["2.11"]
1347 | }
1348 | ],
1349 | "compileTimeOnly": false
1350 | },
1351 | {
1352 | "name": "Scalameta",
1353 | "organization": "org.scalameta",
1354 | "artifact": "scalameta",
1355 | "doc": "http://scalameta.org",
1356 | "versions": [
1357 | {
1358 | "version": "2.1.7",
1359 | "scalaVersions": ["2.12"]
1360 | },
1361 | {
1362 | "version": "4.0.0",
1363 | "scalaVersions": ["2.12"]
1364 | }
1365 | ],
1366 | "compileTimeOnly": false
1367 | },
1368 | {
1369 | "name": "Scalafmt",
1370 | "organization": "com.geirsson",
1371 | "artifact": "scalafmt-core",
1372 | "doc": "http://scalameta.org/scalafmt/",
1373 | "versions": [
1374 | {
1375 | "version": "1.4.0",
1376 | "scalaVersions": ["2.12"]
1377 | },
1378 | {
1379 | "version": "1.5.1",
1380 | "scalaVersions": ["2.12"]
1381 | }
1382 | ],
1383 | "compileTimeOnly": false
1384 | },
1385 | {
1386 | "name": "Rapture",
1387 | "organization": "com.propensive",
1388 | "artifact": "rapture",
1389 | "doc": "http://rapture.io/",
1390 | "versions": [
1391 | {
1392 | "version": "2.0.0-M7",
1393 | "scalaVersions": ["2.11"]
1394 | }
1395 | ],
1396 | "compileTimeOnly": false
1397 | },
1398 | {
1399 | "name": "Contextual",
1400 | "organization": "com.propensive",
1401 | "artifact": "contextual",
1402 | "doc": "http://co.ntextu.al/",
1403 | "versions": [
1404 | {
1405 | "version": "1.0.1",
1406 | "scalaVersions": ["2.11", "2.12"]
1407 | }
1408 | ],
1409 | "compileTimeOnly": false
1410 | },
1411 | {
1412 | "name": "sttp",
1413 | "organization": "com.softwaremill.sttp.client",
1414 | "artifact": "core",
1415 | "doc": "https://sttp.softwaremill.com/",
1416 | "versions": [
1417 | {
1418 | "version": "2.0.4",
1419 | "scalaVersions": ["2.12"],
1420 | "extraDeps": [
1421 | "com.softwaremill.sttp.client %%% circe % 2.0.4",
1422 | "com.softwaremill.sttp.client %%% json-common % 2.0.4",
1423 | "io.circe %%% circe-core % 0.13.0",
1424 | "io.circe %%% circe-generic % 0.13.0",
1425 | "io.circe %%% circe-parser % 0.13.0"
1426 | ]
1427 | },
1428 | {
1429 | "version": "1.5.2",
1430 | "organization": "com.softwaremill.sttp",
1431 | "scalaVersions": ["2.11", "2.12"]
1432 | }
1433 | ],
1434 | "compileTimeOnly": false
1435 | },
1436 | {
1437 | "name": "RosHTTP",
1438 | "organization": "fr.hmil",
1439 | "artifact": "roshttp",
1440 | "doc": "https://github.com/hmil/RosHTTP/blob/master/README.md",
1441 | "versions": [
1442 | {
1443 | "version": "2.2.3",
1444 | "scalaVersions": ["2.11", "2.12"]
1445 | }
1446 | ],
1447 | "compileTimeOnly": false
1448 | },
1449 | {
1450 | "name": "RTree2D",
1451 | "organization": "com.github.plokhotnyuk.rtree2d",
1452 | "artifact": "rtree2d-core",
1453 | "doc": "https://github.com/plokhotnyuk/rtree2d",
1454 | "versions": [
1455 | {
1456 | "version": "0.10.0",
1457 | "scalaVersions": ["2.11", "2.12"],
1458 | "scalaJSVersions": ["1"]
1459 | }
1460 | ],
1461 | "compileTimeOnly": false
1462 | }
1463 | ]
1464 | }
1465 | ]
1466 |
--------------------------------------------------------------------------------
/logging/elasticsearch/Dockerfile:
--------------------------------------------------------------------------------
1 | # https://github.com/elastic/elasticsearch-docker
2 | FROM docker.elastic.co/elasticsearch/elasticsearch:5.4.0
3 |
4 | # Add your elasticsearch plugins setup here
5 | # Example: RUN elasticsearch-plugin install analysis-icu
6 |
--------------------------------------------------------------------------------
/logging/elasticsearch/config/elasticsearch.yml:
--------------------------------------------------------------------------------
1 | ---
2 | ## Default Elasticsearch configuration from elasticsearch-docker.
3 | ## from https://github.com/elastic/elasticsearch-docker/blob/master/build/elasticsearch/elasticsearch.yml
4 | #
5 | cluster.name: "docker-cluster"
6 | network.host: 0.0.0.0
7 |
8 | # minimum_master_nodes need to be explicitly set when bound on a public IP
9 | # set to 1 to allow single node clusters
10 | # Details: https://github.com/elastic/elasticsearch/pull/17288
11 | discovery.zen.minimum_master_nodes: 1
12 |
13 | ## Use single node discovery in order to disable production mode and avoid bootstrap checks
14 | ## see https://www.elastic.co/guide/en/elasticsearch/reference/current/bootstrap-checks.html
15 | #
16 | discovery.type: single-node
17 |
18 | ## Disable X-Pack
19 | ## see https://www.elastic.co/guide/en/x-pack/current/xpack-settings.html
20 | ## https://www.elastic.co/guide/en/x-pack/current/installing-xpack.html#xpack-enabling
21 | #
22 | xpack.security.enabled: false
23 | xpack.monitoring.enabled: false
24 | xpack.ml.enabled: false
25 | xpack.graph.enabled: false
26 | xpack.watcher.enabled: false
27 |
--------------------------------------------------------------------------------
/logging/kibana/Dockerfile:
--------------------------------------------------------------------------------
1 | # https://github.com/elastic/kibana-docker
2 | FROM docker.elastic.co/kibana/kibana:5.4.0
3 |
4 | # Add your kibana plugins setup here
5 | # Example: RUN kibana-plugin install
6 |
--------------------------------------------------------------------------------
/logging/kibana/config/kibana.yml:
--------------------------------------------------------------------------------
1 | ---
2 | ## Default Kibana configuration from kibana-docker.
3 | ## from https://github.com/elastic/kibana-docker/blob/master/build/kibana/config/kibana.yml
4 | #
5 | server.name: kibana
6 | server.host: "0"
7 | elasticsearch.url: http://elasticsearch:9200
8 |
9 | ## Disable X-Pack
10 | ## see https://www.elastic.co/guide/en/x-pack/current/xpack-settings.html
11 | ## https://www.elastic.co/guide/en/x-pack/current/installing-xpack.html#xpack-enabling
12 | #
13 | xpack.security.enabled: false
14 | xpack.monitoring.enabled: false
15 | xpack.ml.enabled: false
16 | xpack.graph.enabled: false
17 | xpack.reporting.enabled: false
18 |
--------------------------------------------------------------------------------
/logging/logstash/Dockerfile:
--------------------------------------------------------------------------------
1 | # https://github.com/elastic/logstash-docker
2 | FROM docker.elastic.co/logstash/logstash:5.4.0
3 |
4 | # Add your logstash plugins setup here
5 | # Example: RUN logstash-plugin install logstash-filter-json
6 |
--------------------------------------------------------------------------------
/logging/logstash/config/logstash.yml:
--------------------------------------------------------------------------------
1 | ---
2 | ## Default Logstash configuration from logstash-docker.
3 | ## from https://github.com/elastic/logstash-docker/blob/master/build/logstash/config/logstash.yml
4 | #
5 | http.host: "0.0.0.0"
6 | path.config: /usr/share/logstash/pipeline
7 |
8 | ## Disable X-Pack
9 | ## see https://www.elastic.co/guide/en/x-pack/current/xpack-settings.html
10 | ## https://www.elastic.co/guide/en/x-pack/current/installing-xpack.html#xpack-enabling
11 | #
12 | xpack.monitoring.enabled: false
--------------------------------------------------------------------------------
/logging/logstash/pipeline/logstash.conf:
--------------------------------------------------------------------------------
1 | input {
2 | ## Use Gelf UDP input from Docker containers
3 | gelf {
4 | port => 5000
5 | codec => "json"
6 | }
7 | }
8 |
9 | ## Add your filters / logstash plugins configuration here
10 | filter{
11 | json {
12 | source => "message"
13 | }
14 | mutate {
15 | ## Some log messages use numeric level, so we need to force them all to string
16 | convert => { "level" => "string" }
17 | }
18 | }
19 |
20 |
21 | output {
22 | elasticsearch {
23 | hosts => "elasticsearch:9200"
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/metrics/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM kamon/grafana_graphite
2 |
3 | # Create symbolic links to /data dir for all data directories
4 | RUN ln -sf /data/metrics/whisper /opt/graphite/storage/whisper &&\
5 | ln -sf /data/metrics/grafana /opt/grafana/data &&\
6 | ln -sf /data/metrics/graphite /opt/graphite/storage/log
7 |
8 | # Make sure the data directories exist before starting metrics tools
9 | CMD mkdir -p /data/metrics/whisper /data/metrics/grafana /data/metrics/graphite/webapp && /usr/bin/supervisord
10 |
--------------------------------------------------------------------------------
/samples/scalajs-react/1.1/todo.scala:
--------------------------------------------------------------------------------
1 | import fiddle.Fiddle, Fiddle.println
2 | import scalajs.js
3 |
4 | @js.annotation.JSExportTopLevel("ScalaFiddle")
5 | object ScalaFiddle {
6 | // $FiddleStart
7 | import japgolly.scalajs.react._, vdom.html_<^._
8 |
9 | val TodoList = ScalaFnComponent[List[String]]{ props =>
10 | def createItem(itemText: String) = <.li(itemText)
11 | <.ul(props map createItem: _*)
12 | }
13 |
14 | case class State(items: List[String], text: String)
15 |
16 | class Backend($: BackendScope[Unit, State]) {
17 | def onChange(e: ReactEventFromInput) = {
18 | val newValue = e.target.value
19 | $.modState(_.copy(text = newValue))
20 | }
21 |
22 | def handleSubmit(e: ReactEventFromInput) =
23 | e.preventDefaultCB >>
24 | $.modState(s => State(s.items :+ s.text, ""))
25 |
26 | def render(state: State) =
27 | <.div(
28 | <.h3("TODO"),
29 | TodoList(state.items),
30 | <.form(^.onSubmit ==> handleSubmit,
31 | <.input(^.onChange ==> onChange, ^.value := state.text),
32 | <.button("Add #", state.items.length + 1)
33 | )
34 | )
35 | }
36 |
37 | val TodoApp = ScalaComponent.builder[Unit]("TodoApp")
38 | .initialState(State(Nil, ""))
39 | .renderBackend[Backend]
40 | .build
41 |
42 | TodoApp().renderIntoDOM(Fiddle.panel)
43 | // $FiddleEnd
44 | }
--------------------------------------------------------------------------------
/samples/scalajs-react/1.2/todo.scala:
--------------------------------------------------------------------------------
1 | import fiddle.Fiddle, Fiddle.println
2 | import scalajs.js
3 |
4 | @js.annotation.JSExportTopLevel("ScalaFiddle")
5 | object ScalaFiddle {
6 | // $FiddleStart
7 | import japgolly.scalajs.react._, vdom.html_<^._
8 |
9 | val TodoList = ScalaFnComponent[List[String]]{ props =>
10 | def createItem(itemText: String) = <.li(itemText)
11 | <.ul(props map createItem: _*)
12 | }
13 |
14 | case class State(items: List[String], text: String)
15 |
16 | class Backend($: BackendScope[Unit, State]) {
17 | def onChange(e: ReactEventFromInput) = {
18 | val newValue = e.target.value
19 | $.modState(_.copy(text = newValue))
20 | }
21 |
22 | def handleSubmit(e: ReactEventFromInput) =
23 | e.preventDefaultCB >>
24 | $.modState(s => State(s.items :+ s.text, ""))
25 |
26 | def render(state: State) =
27 | <.div(
28 | <.h3("TODO"),
29 | TodoList(state.items),
30 | <.form(^.onSubmit ==> handleSubmit,
31 | <.input(^.onChange ==> onChange, ^.value := state.text),
32 | <.button("Add #", state.items.length + 1)
33 | )
34 | )
35 | }
36 |
37 | val TodoApp = ScalaComponent.builder[Unit]("TodoApp")
38 | .initialState(State(Nil, ""))
39 | .renderBackend[Backend]
40 | .build
41 |
42 | TodoApp().renderIntoDOM(Fiddle.panel)
43 | // $FiddleEnd
44 | }
--------------------------------------------------------------------------------
/samples/slinky/0.4.3/todo.scala:
--------------------------------------------------------------------------------
1 | import fiddle.Fiddle, Fiddle.println
2 | import scalajs.js
3 |
4 | @js.annotation.JSExportTopLevel("ScalaFiddle")
5 | object ScalaFiddle {
6 | // $FiddleStart
7 | import slinky.core._
8 |
9 | import slinky.web.html._
10 | import slinky.web.ReactDOM
11 |
12 | import scala.scalajs.js
13 | import scala.scalajs.js.annotation.ScalaJSDefined
14 |
15 | import scala.scalajs.js.Date
16 | import org.scalajs.dom.raw.{Event, HTMLInputElement}
17 |
18 | case class TodoItem(text: String, id: Long)
19 |
20 | object TodoList extends StatelessComponentWrapper {
21 | case class Props(items: Seq[TodoItem])
22 |
23 | @ScalaJSDefined
24 | class Def(jsProps: js.Object) extends Definition(jsProps) {
25 | override def render() = {
26 | ul(props.items.map { item =>
27 | li(key := item.id.toString)(item.text)
28 | })
29 | }
30 | }
31 | }
32 |
33 | object TodoApp extends ComponentWrapper {
34 | type Props = Unit
35 | case class State(items: Seq[TodoItem], text: String)
36 |
37 | @ScalaJSDefined
38 | class Def(jsProps: js.Object) extends Definition(jsProps) {
39 | override def initialState = State(Seq.empty, "")
40 |
41 | def handleChange(e: Event): Unit = {
42 | val eventValue = e.target.asInstanceOf[HTMLInputElement].value
43 | setState(_.copy(text = eventValue))
44 | }
45 |
46 | def handleSubmit(e: Event): Unit = {
47 | e.preventDefault()
48 |
49 | if (state.text.nonEmpty) {
50 | val newItem = TodoItem(
51 | text = state.text,
52 | id = Date.now().toLong
53 | )
54 |
55 | setState(prevState => {
56 | State(
57 | items = prevState.items :+ newItem,
58 | text = ""
59 | )
60 | })
61 | }
62 | }
63 |
64 | override def render() = {
65 | div(
66 | h3("TODO"),
67 | TodoList(TodoList.Props(items = state.items)),
68 | form(onSubmit := handleSubmit _)(
69 | input(onChange := handleChange _, value := state.text),
70 | button(s"Add #${state.items.size + 1}")
71 | )
72 | )
73 | }
74 | }
75 | }
76 |
77 | ReactDOM.render(TodoApp(), Fiddle.panel)
78 | // $FiddleEnd
79 | }
80 |
--------------------------------------------------------------------------------