Merge branch 'developing' of http://khuhub.khu.ac.kr/2017104029/2018_2_project into chart
Showing
9 changed files
with
1183 additions
and
89 deletions
... | @@ -39,10 +39,8 @@ build/Release | ... | @@ -39,10 +39,8 @@ build/Release |
39 | # Dependency directories | 39 | # Dependency directories |
40 | node_modules/ | 40 | node_modules/ |
41 | jspm_packages/ | 41 | jspm_packages/ |
42 | -kakao_option.js | 42 | +keys/api_option.js |
43 | -db_option.js | 43 | +keys/db_option.js |
44 | -session.js | ||
45 | -kakao_option.js | ||
46 | # TypeScript v1 declaration files | 44 | # TypeScript v1 declaration files |
47 | typings/ | 45 | typings/ |
48 | 46 | ... | ... |
... | @@ -6,7 +6,9 @@ var logger = require('morgan'); | ... | @@ -6,7 +6,9 @@ var logger = require('morgan'); |
6 | var indexRouter = require('./routes/index'); | 6 | var indexRouter = require('./routes/index'); |
7 | var usersRouter = require('./routes/users'); | 7 | var usersRouter = require('./routes/users'); |
8 | 8 | ||
9 | -var app = express(); | 9 | +var app = express(), |
10 | +server= require('http').createServer(app), | ||
11 | +SOCKETIO=require('./lib/socketio.js'); | ||
10 | 12 | ||
11 | // view engine setup | 13 | // view engine setup |
12 | app.set('views', path.join(__dirname, 'views')); | 14 | app.set('views', path.join(__dirname, 'views')); |
... | @@ -37,4 +39,7 @@ app.use(function(err, req, res, next) { | ... | @@ -37,4 +39,7 @@ app.use(function(err, req, res, next) { |
37 | res.render('error'); | 39 | res.render('error'); |
38 | }); | 40 | }); |
39 | 41 | ||
42 | +server.listen(80); | ||
43 | +SOCKETIO(server,app); | ||
44 | + | ||
40 | module.exports = app; | 45 | module.exports = app; | ... | ... |
lib/db.js
0 → 100644
lib/example_result.json
0 → 100644
1 | +{ | ||
2 | + "weather": { | ||
3 | + "minutely": [ | ||
4 | + { | ||
5 | + "station": { | ||
6 | + "longitude": "127.1164", | ||
7 | + "latitude": "37.2772", | ||
8 | + "name": "기흥구", | ||
9 | + "id": "371", | ||
10 | + "type": "KMA" | ||
11 | + }, | ||
12 | + "wind": { | ||
13 | + "wdir": "189.50", | ||
14 | + "wspd": "2.20" | ||
15 | + }, | ||
16 | + "precipitation": { | ||
17 | + "sinceOntime": "0.00", | ||
18 | + "type": "0" | ||
19 | + }, | ||
20 | + "sky": { | ||
21 | + "code": "SKY_A07", | ||
22 | + "name": "흐림" | ||
23 | + }, | ||
24 | + "rain": { | ||
25 | + "sinceOntime": "0.00", | ||
26 | + "sinceMidnight": "", | ||
27 | + "last10min": "0.00", | ||
28 | + "last15min": "0.00", | ||
29 | + "last30min": "0.00", | ||
30 | + "last1hour": "0.00", | ||
31 | + "last6hour": "0.50", | ||
32 | + "last12hour": "0.50", | ||
33 | + "last24hour": "0.50" | ||
34 | + }, | ||
35 | + "temperature": { | ||
36 | + "tc": "5.90", | ||
37 | + "tmax": "7.00", | ||
38 | + "tmin": "-1.00" | ||
39 | + }, | ||
40 | + "humidity": "", | ||
41 | + "pressure": { | ||
42 | + "surface": "", | ||
43 | + "seaLevel": "" | ||
44 | + }, | ||
45 | + "lightning": "0", | ||
46 | + "timeObservation": "2018-12-06 14:14:00" | ||
47 | + } | ||
48 | + ] | ||
49 | + }, | ||
50 | + "common": { | ||
51 | + "alertYn": "Y", | ||
52 | + "stormYn": "N" | ||
53 | + }, | ||
54 | + "result": { | ||
55 | + "code": 9200, | ||
56 | + "requestUrl": "/weather/current/minutely?appKey=key&lat=37.239795&lon=127.083240", | ||
57 | + "message": "성공" | ||
58 | + } | ||
59 | +}, | ||
60 | +{ | ||
61 | + "weather": { | ||
62 | + "wIndex": { | ||
63 | + "uvindex": [ | ||
64 | + { | ||
65 | + "grid": { | ||
66 | + "city": "경기도", | ||
67 | + "county": "수원시", | ||
68 | + "village": "" | ||
69 | + }, | ||
70 | + "day00": { | ||
71 | + "imageUrl": "http://files.weatherplanet.co.kr/weather/01_FCT/INDEX1/20181209/FCT_IDX_A07_1_2018120906_00D.gif", | ||
72 | + "index": "20.00", | ||
73 | + "comment": "자외선 걱정 없어요" | ||
74 | + }, | ||
75 | + "day01": { | ||
76 | + "imageUrl": "http://files.weatherplanet.co.kr/weather/01_FCT/INDEX1/20181209/FCT_IDX_A07_1_2018120906_01D.gif", | ||
77 | + "index": "20.00", | ||
78 | + "comment": "자외선 걱정 없어요" | ||
79 | + }, | ||
80 | + "day02": { | ||
81 | + "imageUrl": "http://files.weatherplanet.co.kr/weather/01_FCT/INDEX1/20181209/FCT_IDX_A07_1_2018120906_02D.gif", | ||
82 | + "index": "10.00", | ||
83 | + "comment": "자외선 없는 날입니다" | ||
84 | + } | ||
85 | + } | ||
86 | + ], | ||
87 | + "timeRelease": "2018-12-09 06:00:00" | ||
88 | + } | ||
89 | + }, | ||
90 | + "common": { | ||
91 | + "alertYn": "Y", | ||
92 | + "stormYn": "N" | ||
93 | + }, | ||
94 | + "result": { | ||
95 | + "code": 9200, | ||
96 | + "requestUrl": "/weather/index/uv?appKey=c13b1a68-ef31-4131-a1b7-4069c263f82d&version=1&lat=37.239795&lon=127.083240", | ||
97 | + "message": "성공" | ||
98 | + } | ||
99 | +}{ | ||
100 | + "weather": { | ||
101 | + "wIndex": { | ||
102 | + "thIndex": [ | ||
103 | + { | ||
104 | + "grid": { | ||
105 | + "city": "경기", | ||
106 | + "county": "용인시 기흥구", | ||
107 | + "village": "상갈동" | ||
108 | + }, | ||
109 | + "forecast": { | ||
110 | + "timeRelease": "2018-12-09 14:00:00", | ||
111 | + "index43hour": "37.85", | ||
112 | + "index4hour": "38.40", | ||
113 | + "index7hour": "34.36", | ||
114 | + "index10hour": "31.08", | ||
115 | + "index13hour": "31.08", | ||
116 | + "index16hour": "27.60", | ||
117 | + "index19hour": "35.76", | ||
118 | + "index22hour": "44.84", | ||
119 | + "index25hour": "47.47", | ||
120 | + "index28hour": "42.45", | ||
121 | + "index31hour": "39.37", | ||
122 | + "index34hour": "37.85", | ||
123 | + "index37hour": "36.54", | ||
124 | + "index40hour": "35.73", | ||
125 | + "index46hour": "42.99", | ||
126 | + "index49hour": "39.12", | ||
127 | + "index52hour": "37.79", | ||
128 | + "index55hour": "37.13", | ||
129 | + "index58hour": "36.29", | ||
130 | + "index61hour": "", | ||
131 | + "index64hour": "", | ||
132 | + "index67hour": "" | ||
133 | + }, | ||
134 | + "current": { | ||
135 | + "timeRelease": "2018-12-09 14:00:00", | ||
136 | + "index": "40.49" | ||
137 | + } | ||
138 | + } | ||
139 | + ] | ||
140 | + } | ||
141 | + }, | ||
142 | + "common": { | ||
143 | + "alertYn": "Y", | ||
144 | + "stormYn": "N" | ||
145 | + }, | ||
146 | + "result": { | ||
147 | + "code": 9200, | ||
148 | + "requestUrl": "/weather/index/th?appKey=c13b1a68-ef31-4131-a1b7-4069c263f82d&version=1&lat=37.239795&lon=127.083240", | ||
149 | + "message": "성공" | ||
150 | + } | ||
151 | +}{ | ||
152 | + "weather": { | ||
153 | + "wIndex": { | ||
154 | + "heatIndex": [ | ||
155 | + { | ||
156 | + "grid": { | ||
157 | + "city": "경기", | ||
158 | + "county": "용인시 기흥구", | ||
159 | + "village": "상갈동" | ||
160 | + }, | ||
161 | + "forecast": { | ||
162 | + "timeRelease": "2018-12-09 14:00:00", | ||
163 | + "index4hour": "37.28", | ||
164 | + "index7hour": "70.81", | ||
165 | + "index10hour": "91.57", | ||
166 | + "index13hour": "91.57", | ||
167 | + "index16hour": "110.30", | ||
168 | + "index19hour": "71.89", | ||
169 | + "index22hour": "36.40", | ||
170 | + "index25hour": "27.82", | ||
171 | + "index28hour": "50.39", | ||
172 | + "index31hour": "61.62", | ||
173 | + "index34hour": "71.05", | ||
174 | + "index37hour": "75.20", | ||
175 | + "index40hour": "79.01", | ||
176 | + "index43hour": "71.05", | ||
177 | + "index46hour": "52.61", | ||
178 | + "index49hour": "67.96", | ||
179 | + "index52hour": "69.50", | ||
180 | + "index55hour": "69.08", | ||
181 | + "index58hour": "74.43", | ||
182 | + "index61hour": "", | ||
183 | + "index64hour": "", | ||
184 | + "index67hour": "" | ||
185 | + }, | ||
186 | + "current": { | ||
187 | + "timeRelease": "2018-12-09 14:00:00", | ||
188 | + "index": "32.79" | ||
189 | + } | ||
190 | + } | ||
191 | + ] | ||
192 | + } | ||
193 | + }, | ||
194 | + "common": { | ||
195 | + "alertYn": "Y", | ||
196 | + "stormYn": "N" | ||
197 | + }, | ||
198 | + "result": { | ||
199 | + "code": 9200, | ||
200 | + "requestUrl": "/weather/index/heat?appKey=c13b1a68-ef31-4131-a1b7-4069c263f82d&version=1&lat=37.239795&lon=127.083240", | ||
201 | + "message": "성공" | ||
202 | + } | ||
203 | +} | ||
204 | +{ | ||
205 | + "weather": { | ||
206 | + "wIndex": { | ||
207 | + "wctIndex": [ | ||
208 | + { | ||
209 | + "grid": { | ||
210 | + "city": "경기", | ||
211 | + "county": "용인시 기흥구", | ||
212 | + "village": "상갈동" | ||
213 | + }, | ||
214 | + "forecast": { | ||
215 | + "timeRelease": "2018-12-09 14:00:00", | ||
216 | + "index43hour": "-2.17", | ||
217 | + "index4hour": "-8.15", | ||
218 | + "index7hour": "-6.55", | ||
219 | + "index10hour": "-7.00", | ||
220 | + "index13hour": "-7.63", | ||
221 | + "index16hour": "-9.08", | ||
222 | + "index19hour": "-4.71", | ||
223 | + "index22hour": "1.18", | ||
224 | + "index25hour": "1.53", | ||
225 | + "index28hour": "-0.47", | ||
226 | + "index31hour": "-3.76", | ||
227 | + "index34hour": "-2.37", | ||
228 | + "index37hour": "-4.67", | ||
229 | + "index40hour": "-4.38", | ||
230 | + "index46hour": "-0.67", | ||
231 | + "index49hour": "-1.18", | ||
232 | + "index52hour": "-2.14", | ||
233 | + "index55hour": "-1.65", | ||
234 | + "index58hour": "-4.23", | ||
235 | + "index61hour": "", | ||
236 | + "index64hour": "", | ||
237 | + "index67hour": "" | ||
238 | + }, | ||
239 | + "current": { | ||
240 | + "timeRelease": "2018-12-09 14:00:00", | ||
241 | + "index": "-6.22" | ||
242 | + } | ||
243 | + } | ||
244 | + ] | ||
245 | + } | ||
246 | + }, | ||
247 | + "common": { | ||
248 | + "alertYn": "Y", | ||
249 | + "stormYn": "N" | ||
250 | + }, | ||
251 | + "result": { | ||
252 | + "code": 9200, | ||
253 | + "requestUrl": "/weather/index/wct?appKey=c13b1a68-ef31-4131-a1b7-4069c263f82d&version=1&lat=37.239795&lon=127.083240", | ||
254 | + "message": "성공" | ||
255 | + } | ||
256 | +} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
lib/socketio.js
0 → 100644
1 | +const db = require('./db.js'); | ||
2 | +const secret_key = require('../keys/api_option').key; | ||
3 | +const requesting = require('request'); | ||
4 | +const lat = "37.239795"; | ||
5 | +const lon = "127.083240"; | ||
6 | +module.exports = (server, app) => { | ||
7 | + | ||
8 | + const io = require('socket.io', )(server, { | ||
9 | + transports: ['websocket'] | ||
10 | + }); | ||
11 | + | ||
12 | + let info = {} | ||
13 | + const CALL = (when, what) => { | ||
14 | + requesting.get({ | ||
15 | + // api를 요청할 주소 -- 시크릿키,위도,경도 입력 | ||
16 | + url: `https://api2.sktelecom.com/weather/${when}/${what}?appKey=${secret_key}&lat=${lat}&lon=${lon}`, | ||
17 | + json: true | ||
18 | + }, | ||
19 | + //api에게 응답 받았을때 실행되는 callback function | ||
20 | + function (err, api_res, api_body) { | ||
21 | + if (err) throw err; | ||
22 | + // api의 대답이 있을경우 실행 | ||
23 | + if (api_res) { | ||
24 | + return api_body; | ||
25 | + // api_body.weather.minutely[0] | ||
26 | + } | ||
27 | + }); | ||
28 | + } | ||
29 | + io.on('connection', (socket) => { //웹 페이지 연결시 루프 동작 | ||
30 | + let API_CALL; | ||
31 | + let Current_Weather; | ||
32 | + let Sensible_T; | ||
33 | + let Heat_index; | ||
34 | + let Discomport_index; | ||
35 | + let Ultra_Violet_index; | ||
36 | + | ||
37 | + socket.on("connection", () => { | ||
38 | + API_CALL = setInterval(() => { | ||
39 | + | ||
40 | + Current_Weather = CALL("current","minutely"); //현재날씨 (분별) | ||
41 | + Sensible_T = CALL("index","wct"); //체감온도 | ||
42 | + Heat_index = CALL("index","heat"); //열지수 | ||
43 | + Discomport_index = CALL("index","th"); //불쾌지수 | ||
44 | + Ultra_Violet_index = CALL("index","uv"); //자외선지수 | ||
45 | + | ||
46 | + socket.emit("weatherInfo_minutely_send_to_cliend",info); | ||
47 | + }, 60 * 1000); //1분마다 호출 | ||
48 | + }); | ||
49 | + | ||
50 | + socket.on('disconnecting', (reason) => { | ||
51 | + clearInterval(API_CALL); //연결 종료시 해제 | ||
52 | + }) | ||
53 | + }) | ||
54 | + | ||
55 | + | ||
56 | + | ||
57 | +} | ||
58 | + |
... | @@ -9,7 +9,7 @@ | ... | @@ -9,7 +9,7 @@ |
9 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", | 9 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", |
10 | "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", | 10 | "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", |
11 | "requires": { | 11 | "requires": { |
12 | - "mime-types": "2.1.21", | 12 | + "mime-types": "~2.1.18", |
13 | "negotiator": "0.6.1" | 13 | "negotiator": "0.6.1" |
14 | } | 14 | } |
15 | }, | 15 | }, |
... | @@ -18,6 +18,17 @@ | ... | @@ -18,6 +18,17 @@ |
18 | "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", | 18 | "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", |
19 | "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=" | 19 | "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=" |
20 | }, | 20 | }, |
21 | + "ajv": { | ||
22 | + "version": "6.6.1", | ||
23 | + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.1.tgz", | ||
24 | + "integrity": "sha512-ZoJjft5B+EJBjUyu9C9Hc0OZyPZSSlOF+plzouTrg6UlA8f+e/n8NIgBFG/9tppJtpPWfthHakK7juJdNDODww==", | ||
25 | + "requires": { | ||
26 | + "fast-deep-equal": "^2.0.1", | ||
27 | + "fast-json-stable-stringify": "^2.0.0", | ||
28 | + "json-schema-traverse": "^0.4.1", | ||
29 | + "uri-js": "^4.2.2" | ||
30 | + } | ||
31 | + }, | ||
21 | "array-flatten": { | 32 | "array-flatten": { |
22 | "version": "1.1.1", | 33 | "version": "1.1.1", |
23 | "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", | 34 | "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", |
... | @@ -28,11 +39,39 @@ | ... | @@ -28,11 +39,39 @@ |
28 | "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", | 39 | "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", |
29 | "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==" | 40 | "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==" |
30 | }, | 41 | }, |
42 | + "asn1": { | ||
43 | + "version": "0.2.4", | ||
44 | + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", | ||
45 | + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", | ||
46 | + "requires": { | ||
47 | + "safer-buffer": "~2.1.0" | ||
48 | + } | ||
49 | + }, | ||
50 | + "assert-plus": { | ||
51 | + "version": "1.0.0", | ||
52 | + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", | ||
53 | + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" | ||
54 | + }, | ||
31 | "async-limiter": { | 55 | "async-limiter": { |
32 | "version": "1.0.0", | 56 | "version": "1.0.0", |
33 | "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", | 57 | "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", |
34 | "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==" | 58 | "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==" |
35 | }, | 59 | }, |
60 | + "asynckit": { | ||
61 | + "version": "0.4.0", | ||
62 | + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", | ||
63 | + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" | ||
64 | + }, | ||
65 | + "aws-sign2": { | ||
66 | + "version": "0.7.0", | ||
67 | + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", | ||
68 | + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" | ||
69 | + }, | ||
70 | + "aws4": { | ||
71 | + "version": "1.8.0", | ||
72 | + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", | ||
73 | + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" | ||
74 | + }, | ||
36 | "backo2": { | 75 | "backo2": { |
37 | "version": "1.0.2", | 76 | "version": "1.0.2", |
38 | "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", | 77 | "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", |
... | @@ -56,6 +95,14 @@ | ... | @@ -56,6 +95,14 @@ |
56 | "safe-buffer": "5.1.2" | 95 | "safe-buffer": "5.1.2" |
57 | } | 96 | } |
58 | }, | 97 | }, |
98 | + "bcrypt-pbkdf": { | ||
99 | + "version": "1.0.2", | ||
100 | + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", | ||
101 | + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", | ||
102 | + "requires": { | ||
103 | + "tweetnacl": "^0.14.3" | ||
104 | + } | ||
105 | + }, | ||
59 | "better-assert": { | 106 | "better-assert": { |
60 | "version": "1.0.2", | 107 | "version": "1.0.2", |
61 | "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", | 108 | "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", |
... | @@ -64,6 +111,11 @@ | ... | @@ -64,6 +111,11 @@ |
64 | "callsite": "1.0.0" | 111 | "callsite": "1.0.0" |
65 | } | 112 | } |
66 | }, | 113 | }, |
114 | + "bignumber.js": { | ||
115 | + "version": "4.1.0", | ||
116 | + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-4.1.0.tgz", | ||
117 | + "integrity": "sha512-eJzYkFYy9L4JzXsbymsFn3p54D+llV27oTQ+ziJG7WFRheJcNZilgVXMG0LoZtlQSKBsJdWtLFqOD0u+U0jZKA==" | ||
118 | + }, | ||
67 | "blob": { | 119 | "blob": { |
68 | "version": "0.0.5", | 120 | "version": "0.0.5", |
69 | "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", | 121 | "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", |
... | @@ -75,15 +127,15 @@ | ... | @@ -75,15 +127,15 @@ |
75 | "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", | 127 | "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", |
76 | "requires": { | 128 | "requires": { |
77 | "bytes": "3.0.0", | 129 | "bytes": "3.0.0", |
78 | - "content-type": "1.0.4", | 130 | + "content-type": "~1.0.4", |
79 | "debug": "2.6.9", | 131 | "debug": "2.6.9", |
80 | - "depd": "1.1.2", | 132 | + "depd": "~1.1.2", |
81 | - "http-errors": "1.6.3", | 133 | + "http-errors": "~1.6.3", |
82 | "iconv-lite": "0.4.23", | 134 | "iconv-lite": "0.4.23", |
83 | - "on-finished": "2.3.0", | 135 | + "on-finished": "~2.3.0", |
84 | "qs": "6.5.2", | 136 | "qs": "6.5.2", |
85 | "raw-body": "2.3.3", | 137 | "raw-body": "2.3.3", |
86 | - "type-is": "1.6.16" | 138 | + "type-is": "~1.6.16" |
87 | } | 139 | } |
88 | }, | 140 | }, |
89 | "bytes": { | 141 | "bytes": { |
... | @@ -101,6 +153,19 @@ | ... | @@ -101,6 +153,19 @@ |
101 | "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.0.tgz", | 153 | "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.0.tgz", |
102 | "integrity": "sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs=" | 154 | "integrity": "sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs=" |
103 | }, | 155 | }, |
156 | + "caseless": { | ||
157 | + "version": "0.12.0", | ||
158 | + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", | ||
159 | + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" | ||
160 | + }, | ||
161 | + "combined-stream": { | ||
162 | + "version": "1.0.7", | ||
163 | + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", | ||
164 | + "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", | ||
165 | + "requires": { | ||
166 | + "delayed-stream": "~1.0.0" | ||
167 | + } | ||
168 | + }, | ||
104 | "component-bind": { | 169 | "component-bind": { |
105 | "version": "1.0.0", | 170 | "version": "1.0.0", |
106 | "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", | 171 | "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", |
... | @@ -121,7 +186,7 @@ | ... | @@ -121,7 +186,7 @@ |
121 | "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.15.tgz", | 186 | "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.15.tgz", |
122 | "integrity": "sha512-4aE67DL33dSW9gw4CI2H/yTxqHLNcxp0yS6jB+4h+wr3e43+1z7vm0HU9qXOH8j+qjKuL8+UtkOxYQSMq60Ylw==", | 187 | "integrity": "sha512-4aE67DL33dSW9gw4CI2H/yTxqHLNcxp0yS6jB+4h+wr3e43+1z7vm0HU9qXOH8j+qjKuL8+UtkOxYQSMq60Ylw==", |
123 | "requires": { | 188 | "requires": { |
124 | - "mime-db": "1.37.0" | 189 | + "mime-db": ">= 1.36.0 < 2" |
125 | } | 190 | } |
126 | }, | 191 | }, |
127 | "compression": { | 192 | "compression": { |
... | @@ -129,13 +194,13 @@ | ... | @@ -129,13 +194,13 @@ |
129 | "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.3.tgz", | 194 | "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.3.tgz", |
130 | "integrity": "sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==", | 195 | "integrity": "sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==", |
131 | "requires": { | 196 | "requires": { |
132 | - "accepts": "1.3.5", | 197 | + "accepts": "~1.3.5", |
133 | "bytes": "3.0.0", | 198 | "bytes": "3.0.0", |
134 | - "compressible": "2.0.15", | 199 | + "compressible": "~2.0.14", |
135 | "debug": "2.6.9", | 200 | "debug": "2.6.9", |
136 | - "on-headers": "1.0.1", | 201 | + "on-headers": "~1.0.1", |
137 | "safe-buffer": "5.1.2", | 202 | "safe-buffer": "5.1.2", |
138 | - "vary": "1.1.2" | 203 | + "vary": "~1.1.2" |
139 | } | 204 | } |
140 | }, | 205 | }, |
141 | "content-disposition": { | 206 | "content-disposition": { |
... | @@ -172,11 +237,29 @@ | ... | @@ -172,11 +237,29 @@ |
172 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", | 237 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", |
173 | "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" | 238 | "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" |
174 | }, | 239 | }, |
240 | + "core-util-is": { | ||
241 | + "version": "1.0.2", | ||
242 | + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", | ||
243 | + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" | ||
244 | + }, | ||
245 | + "dashdash": { | ||
246 | + "version": "1.14.1", | ||
247 | + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", | ||
248 | + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", | ||
249 | + "requires": { | ||
250 | + "assert-plus": "^1.0.0" | ||
251 | + } | ||
252 | + }, | ||
175 | "dasherize": { | 253 | "dasherize": { |
176 | "version": "2.0.0", | 254 | "version": "2.0.0", |
177 | "resolved": "https://registry.npmjs.org/dasherize/-/dasherize-2.0.0.tgz", | 255 | "resolved": "https://registry.npmjs.org/dasherize/-/dasherize-2.0.0.tgz", |
178 | "integrity": "sha1-bYCcnNDPe7iVLYD8hPoT1H3bEwg=" | 256 | "integrity": "sha1-bYCcnNDPe7iVLYD8hPoT1H3bEwg=" |
179 | }, | 257 | }, |
258 | + "date-utils": { | ||
259 | + "version": "1.2.21", | ||
260 | + "resolved": "https://registry.npmjs.org/date-utils/-/date-utils-1.2.21.tgz", | ||
261 | + "integrity": "sha1-YfsWzcEnSzyayq/+n8ad+HIKK2Q=" | ||
262 | + }, | ||
180 | "debug": { | 263 | "debug": { |
181 | "version": "2.6.9", | 264 | "version": "2.6.9", |
182 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", | 265 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", |
... | @@ -185,6 +268,11 @@ | ... | @@ -185,6 +268,11 @@ |
185 | "ms": "2.0.0" | 268 | "ms": "2.0.0" |
186 | } | 269 | } |
187 | }, | 270 | }, |
271 | + "delayed-stream": { | ||
272 | + "version": "1.0.0", | ||
273 | + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", | ||
274 | + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" | ||
275 | + }, | ||
188 | "depd": { | 276 | "depd": { |
189 | "version": "1.1.2", | 277 | "version": "1.1.2", |
190 | "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", | 278 | "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", |
... | @@ -205,6 +293,15 @@ | ... | @@ -205,6 +293,15 @@ |
205 | "resolved": "https://registry.npmjs.org/dont-sniff-mimetype/-/dont-sniff-mimetype-1.0.0.tgz", | 293 | "resolved": "https://registry.npmjs.org/dont-sniff-mimetype/-/dont-sniff-mimetype-1.0.0.tgz", |
206 | "integrity": "sha1-WTKJDcn04vGeXrAqIAJuXl78j1g=" | 294 | "integrity": "sha1-WTKJDcn04vGeXrAqIAJuXl78j1g=" |
207 | }, | 295 | }, |
296 | + "ecc-jsbn": { | ||
297 | + "version": "0.1.2", | ||
298 | + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", | ||
299 | + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", | ||
300 | + "requires": { | ||
301 | + "jsbn": "~0.1.0", | ||
302 | + "safer-buffer": "^2.1.0" | ||
303 | + } | ||
304 | + }, | ||
208 | "ee-first": { | 305 | "ee-first": { |
209 | "version": "1.1.1", | 306 | "version": "1.1.1", |
210 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", | 307 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", |
... | @@ -225,12 +322,12 @@ | ... | @@ -225,12 +322,12 @@ |
225 | "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.3.1.tgz", | 322 | "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.3.1.tgz", |
226 | "integrity": "sha512-p0njqQo5QWVxJauKcnp5IO+LBeE5JD1tAf+UxPU8ASEUHSpsSSfYR+kVb8XGGH8AEDUa1Dk5jCvPQShNBL5BdQ==", | 323 | "integrity": "sha512-p0njqQo5QWVxJauKcnp5IO+LBeE5JD1tAf+UxPU8ASEUHSpsSSfYR+kVb8XGGH8AEDUa1Dk5jCvPQShNBL5BdQ==", |
227 | "requires": { | 324 | "requires": { |
228 | - "accepts": "1.3.5", | 325 | + "accepts": "~1.3.4", |
229 | "base64id": "1.0.0", | 326 | "base64id": "1.0.0", |
230 | "cookie": "0.3.1", | 327 | "cookie": "0.3.1", |
231 | - "debug": "3.1.0", | 328 | + "debug": "~3.1.0", |
232 | - "engine.io-parser": "2.1.3", | 329 | + "engine.io-parser": "~2.1.0", |
233 | - "ws": "6.1.2" | 330 | + "ws": "~6.1.0" |
234 | }, | 331 | }, |
235 | "dependencies": { | 332 | "dependencies": { |
236 | "debug": { | 333 | "debug": { |
... | @@ -250,14 +347,14 @@ | ... | @@ -250,14 +347,14 @@ |
250 | "requires": { | 347 | "requires": { |
251 | "component-emitter": "1.2.1", | 348 | "component-emitter": "1.2.1", |
252 | "component-inherit": "0.0.3", | 349 | "component-inherit": "0.0.3", |
253 | - "debug": "3.1.0", | 350 | + "debug": "~3.1.0", |
254 | - "engine.io-parser": "2.1.3", | 351 | + "engine.io-parser": "~2.1.1", |
255 | "has-cors": "1.1.0", | 352 | "has-cors": "1.1.0", |
256 | "indexof": "0.0.1", | 353 | "indexof": "0.0.1", |
257 | "parseqs": "0.0.5", | 354 | "parseqs": "0.0.5", |
258 | "parseuri": "0.0.5", | 355 | "parseuri": "0.0.5", |
259 | - "ws": "6.1.2", | 356 | + "ws": "~6.1.0", |
260 | - "xmlhttprequest-ssl": "1.5.5", | 357 | + "xmlhttprequest-ssl": "~1.5.4", |
261 | "yeast": "0.1.2" | 358 | "yeast": "0.1.2" |
262 | }, | 359 | }, |
263 | "dependencies": { | 360 | "dependencies": { |
... | @@ -277,10 +374,10 @@ | ... | @@ -277,10 +374,10 @@ |
277 | "integrity": "sha512-6HXPre2O4Houl7c4g7Ic/XzPnHBvaEmN90vtRO9uLmwtRqQmTOw0QMevL1TOfL2Cpu1VzsaTmMotQgMdkzGkVA==", | 374 | "integrity": "sha512-6HXPre2O4Houl7c4g7Ic/XzPnHBvaEmN90vtRO9uLmwtRqQmTOw0QMevL1TOfL2Cpu1VzsaTmMotQgMdkzGkVA==", |
278 | "requires": { | 375 | "requires": { |
279 | "after": "0.8.2", | 376 | "after": "0.8.2", |
280 | - "arraybuffer.slice": "0.0.7", | 377 | + "arraybuffer.slice": "~0.0.7", |
281 | "base64-arraybuffer": "0.1.5", | 378 | "base64-arraybuffer": "0.1.5", |
282 | "blob": "0.0.5", | 379 | "blob": "0.0.5", |
283 | - "has-binary2": "1.0.3" | 380 | + "has-binary2": "~1.0.2" |
284 | } | 381 | } |
285 | }, | 382 | }, |
286 | "escape-html": { | 383 | "escape-html": { |
... | @@ -303,36 +400,36 @@ | ... | @@ -303,36 +400,36 @@ |
303 | "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz", | 400 | "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz", |
304 | "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==", | 401 | "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==", |
305 | "requires": { | 402 | "requires": { |
306 | - "accepts": "1.3.5", | 403 | + "accepts": "~1.3.5", |
307 | "array-flatten": "1.1.1", | 404 | "array-flatten": "1.1.1", |
308 | "body-parser": "1.18.3", | 405 | "body-parser": "1.18.3", |
309 | "content-disposition": "0.5.2", | 406 | "content-disposition": "0.5.2", |
310 | - "content-type": "1.0.4", | 407 | + "content-type": "~1.0.4", |
311 | "cookie": "0.3.1", | 408 | "cookie": "0.3.1", |
312 | "cookie-signature": "1.0.6", | 409 | "cookie-signature": "1.0.6", |
313 | "debug": "2.6.9", | 410 | "debug": "2.6.9", |
314 | - "depd": "1.1.2", | 411 | + "depd": "~1.1.2", |
315 | - "encodeurl": "1.0.2", | 412 | + "encodeurl": "~1.0.2", |
316 | - "escape-html": "1.0.3", | 413 | + "escape-html": "~1.0.3", |
317 | - "etag": "1.8.1", | 414 | + "etag": "~1.8.1", |
318 | "finalhandler": "1.1.1", | 415 | "finalhandler": "1.1.1", |
319 | "fresh": "0.5.2", | 416 | "fresh": "0.5.2", |
320 | "merge-descriptors": "1.0.1", | 417 | "merge-descriptors": "1.0.1", |
321 | - "methods": "1.1.2", | 418 | + "methods": "~1.1.2", |
322 | - "on-finished": "2.3.0", | 419 | + "on-finished": "~2.3.0", |
323 | - "parseurl": "1.3.2", | 420 | + "parseurl": "~1.3.2", |
324 | "path-to-regexp": "0.1.7", | 421 | "path-to-regexp": "0.1.7", |
325 | - "proxy-addr": "2.0.4", | 422 | + "proxy-addr": "~2.0.4", |
326 | "qs": "6.5.2", | 423 | "qs": "6.5.2", |
327 | - "range-parser": "1.2.0", | 424 | + "range-parser": "~1.2.0", |
328 | "safe-buffer": "5.1.2", | 425 | "safe-buffer": "5.1.2", |
329 | "send": "0.16.2", | 426 | "send": "0.16.2", |
330 | "serve-static": "1.13.2", | 427 | "serve-static": "1.13.2", |
331 | "setprototypeof": "1.1.0", | 428 | "setprototypeof": "1.1.0", |
332 | - "statuses": "1.4.0", | 429 | + "statuses": "~1.4.0", |
333 | - "type-is": "1.6.16", | 430 | + "type-is": "~1.6.16", |
334 | "utils-merge": "1.0.1", | 431 | "utils-merge": "1.0.1", |
335 | - "vary": "1.1.2" | 432 | + "vary": "~1.1.2" |
336 | }, | 433 | }, |
337 | "dependencies": { | 434 | "dependencies": { |
338 | "statuses": { | 435 | "statuses": { |
... | @@ -342,6 +439,26 @@ | ... | @@ -342,6 +439,26 @@ |
342 | } | 439 | } |
343 | } | 440 | } |
344 | }, | 441 | }, |
442 | + "extend": { | ||
443 | + "version": "3.0.2", | ||
444 | + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", | ||
445 | + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" | ||
446 | + }, | ||
447 | + "extsprintf": { | ||
448 | + "version": "1.3.0", | ||
449 | + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", | ||
450 | + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" | ||
451 | + }, | ||
452 | + "fast-deep-equal": { | ||
453 | + "version": "2.0.1", | ||
454 | + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", | ||
455 | + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" | ||
456 | + }, | ||
457 | + "fast-json-stable-stringify": { | ||
458 | + "version": "2.0.0", | ||
459 | + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", | ||
460 | + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" | ||
461 | + }, | ||
345 | "feature-policy": { | 462 | "feature-policy": { |
346 | "version": "0.2.0", | 463 | "version": "0.2.0", |
347 | "resolved": "https://registry.npmjs.org/feature-policy/-/feature-policy-0.2.0.tgz", | 464 | "resolved": "https://registry.npmjs.org/feature-policy/-/feature-policy-0.2.0.tgz", |
... | @@ -353,12 +470,12 @@ | ... | @@ -353,12 +470,12 @@ |
353 | "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", | 470 | "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", |
354 | "requires": { | 471 | "requires": { |
355 | "debug": "2.6.9", | 472 | "debug": "2.6.9", |
356 | - "encodeurl": "1.0.2", | 473 | + "encodeurl": "~1.0.2", |
357 | - "escape-html": "1.0.3", | 474 | + "escape-html": "~1.0.3", |
358 | - "on-finished": "2.3.0", | 475 | + "on-finished": "~2.3.0", |
359 | - "parseurl": "1.3.2", | 476 | + "parseurl": "~1.3.2", |
360 | - "statuses": "1.4.0", | 477 | + "statuses": "~1.4.0", |
361 | - "unpipe": "1.0.0" | 478 | + "unpipe": "~1.0.0" |
362 | }, | 479 | }, |
363 | "dependencies": { | 480 | "dependencies": { |
364 | "statuses": { | 481 | "statuses": { |
... | @@ -368,6 +485,21 @@ | ... | @@ -368,6 +485,21 @@ |
368 | } | 485 | } |
369 | } | 486 | } |
370 | }, | 487 | }, |
488 | + "forever-agent": { | ||
489 | + "version": "0.6.1", | ||
490 | + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", | ||
491 | + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" | ||
492 | + }, | ||
493 | + "form-data": { | ||
494 | + "version": "2.3.3", | ||
495 | + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", | ||
496 | + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", | ||
497 | + "requires": { | ||
498 | + "asynckit": "^0.4.0", | ||
499 | + "combined-stream": "^1.0.6", | ||
500 | + "mime-types": "^2.1.12" | ||
501 | + } | ||
502 | + }, | ||
371 | "forwarded": { | 503 | "forwarded": { |
372 | "version": "0.1.2", | 504 | "version": "0.1.2", |
373 | "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", | 505 | "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", |
... | @@ -383,6 +515,28 @@ | ... | @@ -383,6 +515,28 @@ |
383 | "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", | 515 | "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", |
384 | "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" | 516 | "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" |
385 | }, | 517 | }, |
518 | + "getpass": { | ||
519 | + "version": "0.1.7", | ||
520 | + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", | ||
521 | + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", | ||
522 | + "requires": { | ||
523 | + "assert-plus": "^1.0.0" | ||
524 | + } | ||
525 | + }, | ||
526 | + "har-schema": { | ||
527 | + "version": "2.0.0", | ||
528 | + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", | ||
529 | + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" | ||
530 | + }, | ||
531 | + "har-validator": { | ||
532 | + "version": "5.1.3", | ||
533 | + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", | ||
534 | + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", | ||
535 | + "requires": { | ||
536 | + "ajv": "^6.5.5", | ||
537 | + "har-schema": "^2.0.0" | ||
538 | + } | ||
539 | + }, | ||
386 | "has-binary2": { | 540 | "has-binary2": { |
387 | "version": "1.0.3", | 541 | "version": "1.0.3", |
388 | "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", | 542 | "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", |
... | @@ -453,10 +607,20 @@ | ... | @@ -453,10 +607,20 @@ |
453 | "resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", | 607 | "resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", |
454 | "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", | 608 | "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", |
455 | "requires": { | 609 | "requires": { |
456 | - "depd": "1.1.2", | 610 | + "depd": "~1.1.2", |
457 | "inherits": "2.0.3", | 611 | "inherits": "2.0.3", |
458 | "setprototypeof": "1.1.0", | 612 | "setprototypeof": "1.1.0", |
459 | - "statuses": "1.5.0" | 613 | + "statuses": ">= 1.4.0 < 2" |
614 | + } | ||
615 | + }, | ||
616 | + "http-signature": { | ||
617 | + "version": "1.2.0", | ||
618 | + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", | ||
619 | + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", | ||
620 | + "requires": { | ||
621 | + "assert-plus": "^1.0.0", | ||
622 | + "jsprim": "^1.2.2", | ||
623 | + "sshpk": "^1.7.0" | ||
460 | } | 624 | } |
461 | }, | 625 | }, |
462 | "iconv-lite": { | 626 | "iconv-lite": { |
... | @@ -464,7 +628,7 @@ | ... | @@ -464,7 +628,7 @@ |
464 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", | 628 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", |
465 | "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", | 629 | "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", |
466 | "requires": { | 630 | "requires": { |
467 | - "safer-buffer": "2.1.2" | 631 | + "safer-buffer": ">= 2.1.2 < 3" |
468 | } | 632 | } |
469 | }, | 633 | }, |
470 | "ienoopen": { | 634 | "ienoopen": { |
... | @@ -487,11 +651,52 @@ | ... | @@ -487,11 +651,52 @@ |
487 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz", | 651 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz", |
488 | "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4=" | 652 | "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4=" |
489 | }, | 653 | }, |
654 | + "is-typedarray": { | ||
655 | + "version": "1.0.0", | ||
656 | + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", | ||
657 | + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" | ||
658 | + }, | ||
490 | "isarray": { | 659 | "isarray": { |
491 | "version": "2.0.1", | 660 | "version": "2.0.1", |
492 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", | 661 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", |
493 | "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" | 662 | "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" |
494 | }, | 663 | }, |
664 | + "isstream": { | ||
665 | + "version": "0.1.2", | ||
666 | + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", | ||
667 | + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" | ||
668 | + }, | ||
669 | + "jsbn": { | ||
670 | + "version": "0.1.1", | ||
671 | + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", | ||
672 | + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" | ||
673 | + }, | ||
674 | + "json-schema": { | ||
675 | + "version": "0.2.3", | ||
676 | + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", | ||
677 | + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" | ||
678 | + }, | ||
679 | + "json-schema-traverse": { | ||
680 | + "version": "0.4.1", | ||
681 | + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", | ||
682 | + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" | ||
683 | + }, | ||
684 | + "json-stringify-safe": { | ||
685 | + "version": "5.0.1", | ||
686 | + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", | ||
687 | + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" | ||
688 | + }, | ||
689 | + "jsprim": { | ||
690 | + "version": "1.4.1", | ||
691 | + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", | ||
692 | + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", | ||
693 | + "requires": { | ||
694 | + "assert-plus": "1.0.0", | ||
695 | + "extsprintf": "1.3.0", | ||
696 | + "json-schema": "0.2.3", | ||
697 | + "verror": "1.10.0" | ||
698 | + } | ||
699 | + }, | ||
495 | "media-typer": { | 700 | "media-typer": { |
496 | "version": "0.3.0", | 701 | "version": "0.3.0", |
497 | "resolved": "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", | 702 | "resolved": "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", |
... | @@ -522,7 +727,7 @@ | ... | @@ -522,7 +727,7 @@ |
522 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", | 727 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", |
523 | "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", | 728 | "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", |
524 | "requires": { | 729 | "requires": { |
525 | - "mime-db": "1.37.0" | 730 | + "mime-db": "~1.37.0" |
526 | } | 731 | } |
527 | }, | 732 | }, |
528 | "morgan": { | 733 | "morgan": { |
... | @@ -530,11 +735,11 @@ | ... | @@ -530,11 +735,11 @@ |
530 | "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz", | 735 | "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz", |
531 | "integrity": "sha512-HQStPIV4y3afTiCYVxirakhlCfGkI161c76kKFca7Fk1JusM//Qeo1ej2XaMniiNeaZklMVrh3vTtIzpzwbpmA==", | 736 | "integrity": "sha512-HQStPIV4y3afTiCYVxirakhlCfGkI161c76kKFca7Fk1JusM//Qeo1ej2XaMniiNeaZklMVrh3vTtIzpzwbpmA==", |
532 | "requires": { | 737 | "requires": { |
533 | - "basic-auth": "2.0.1", | 738 | + "basic-auth": "~2.0.0", |
534 | "debug": "2.6.9", | 739 | "debug": "2.6.9", |
535 | - "depd": "1.1.2", | 740 | + "depd": "~1.1.2", |
536 | - "on-finished": "2.3.0", | 741 | + "on-finished": "~2.3.0", |
537 | - "on-headers": "1.0.1" | 742 | + "on-headers": "~1.0.1" |
538 | } | 743 | } |
539 | }, | 744 | }, |
540 | "ms": { | 745 | "ms": { |
... | @@ -542,6 +747,17 @@ | ... | @@ -542,6 +747,17 @@ |
542 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", | 747 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", |
543 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" | 748 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" |
544 | }, | 749 | }, |
750 | + "mysql": { | ||
751 | + "version": "2.16.0", | ||
752 | + "resolved": "https://registry.npmjs.org/mysql/-/mysql-2.16.0.tgz", | ||
753 | + "integrity": "sha512-dPbN2LHonQp7D5ja5DJXNbCLe/HRdu+f3v61aguzNRQIrmZLOeRoymBYyeThrR6ug+FqzDL95Gc9maqZUJS+Gw==", | ||
754 | + "requires": { | ||
755 | + "bignumber.js": "4.1.0", | ||
756 | + "readable-stream": "2.3.6", | ||
757 | + "safe-buffer": "5.1.2", | ||
758 | + "sqlstring": "2.3.1" | ||
759 | + } | ||
760 | + }, | ||
545 | "negotiator": { | 761 | "negotiator": { |
546 | "version": "0.6.1", | 762 | "version": "0.6.1", |
547 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", | 763 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", |
... | @@ -552,6 +768,11 @@ | ... | @@ -552,6 +768,11 @@ |
552 | "resolved": "https://registry.npmjs.org/nocache/-/nocache-2.0.0.tgz", | 768 | "resolved": "https://registry.npmjs.org/nocache/-/nocache-2.0.0.tgz", |
553 | "integrity": "sha1-ICtIAhoMTL3i34DeFaF0Q8i0OYA=" | 769 | "integrity": "sha1-ICtIAhoMTL3i34DeFaF0Q8i0OYA=" |
554 | }, | 770 | }, |
771 | + "oauth-sign": { | ||
772 | + "version": "0.9.0", | ||
773 | + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", | ||
774 | + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" | ||
775 | + }, | ||
555 | "object-component": { | 776 | "object-component": { |
556 | "version": "0.0.3", | 777 | "version": "0.0.3", |
557 | "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", | 778 | "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", |
... | @@ -575,7 +796,7 @@ | ... | @@ -575,7 +796,7 @@ |
575 | "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", | 796 | "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", |
576 | "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", | 797 | "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", |
577 | "requires": { | 798 | "requires": { |
578 | - "better-assert": "1.0.2" | 799 | + "better-assert": "~1.0.0" |
579 | } | 800 | } |
580 | }, | 801 | }, |
581 | "parseuri": { | 802 | "parseuri": { |
... | @@ -583,7 +804,7 @@ | ... | @@ -583,7 +804,7 @@ |
583 | "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", | 804 | "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", |
584 | "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", | 805 | "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", |
585 | "requires": { | 806 | "requires": { |
586 | - "better-assert": "1.0.2" | 807 | + "better-assert": "~1.0.0" |
587 | } | 808 | } |
588 | }, | 809 | }, |
589 | "parseurl": { | 810 | "parseurl": { |
... | @@ -596,20 +817,40 @@ | ... | @@ -596,20 +817,40 @@ |
596 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", | 817 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", |
597 | "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" | 818 | "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" |
598 | }, | 819 | }, |
820 | + "performance-now": { | ||
821 | + "version": "2.1.0", | ||
822 | + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", | ||
823 | + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" | ||
824 | + }, | ||
599 | "platform": { | 825 | "platform": { |
600 | "version": "1.3.5", | 826 | "version": "1.3.5", |
601 | "resolved": "https://registry.npmjs.org/platform/-/platform-1.3.5.tgz", | 827 | "resolved": "https://registry.npmjs.org/platform/-/platform-1.3.5.tgz", |
602 | "integrity": "sha512-TuvHS8AOIZNAlE77WUDiR4rySV/VMptyMfcfeoMgs4P8apaZM3JrnbzBiixKUv+XR6i+BXrQh8WAnjaSPFO65Q==" | 828 | "integrity": "sha512-TuvHS8AOIZNAlE77WUDiR4rySV/VMptyMfcfeoMgs4P8apaZM3JrnbzBiixKUv+XR6i+BXrQh8WAnjaSPFO65Q==" |
603 | }, | 829 | }, |
830 | + "process-nextick-args": { | ||
831 | + "version": "2.0.0", | ||
832 | + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", | ||
833 | + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" | ||
834 | + }, | ||
604 | "proxy-addr": { | 835 | "proxy-addr": { |
605 | "version": "2.0.4", | 836 | "version": "2.0.4", |
606 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz", | 837 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz", |
607 | "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==", | 838 | "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==", |
608 | "requires": { | 839 | "requires": { |
609 | - "forwarded": "0.1.2", | 840 | + "forwarded": "~0.1.2", |
610 | "ipaddr.js": "1.8.0" | 841 | "ipaddr.js": "1.8.0" |
611 | } | 842 | } |
612 | }, | 843 | }, |
844 | + "psl": { | ||
845 | + "version": "1.1.29", | ||
846 | + "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz", | ||
847 | + "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==" | ||
848 | + }, | ||
849 | + "punycode": { | ||
850 | + "version": "2.1.1", | ||
851 | + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", | ||
852 | + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" | ||
853 | + }, | ||
613 | "qs": { | 854 | "qs": { |
614 | "version": "6.5.2", | 855 | "version": "6.5.2", |
615 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", | 856 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", |
... | @@ -631,11 +872,59 @@ | ... | @@ -631,11 +872,59 @@ |
631 | "unpipe": "1.0.0" | 872 | "unpipe": "1.0.0" |
632 | } | 873 | } |
633 | }, | 874 | }, |
875 | + "readable-stream": { | ||
876 | + "version": "2.3.6", | ||
877 | + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", | ||
878 | + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", | ||
879 | + "requires": { | ||
880 | + "core-util-is": "~1.0.0", | ||
881 | + "inherits": "~2.0.3", | ||
882 | + "isarray": "~1.0.0", | ||
883 | + "process-nextick-args": "~2.0.0", | ||
884 | + "safe-buffer": "~5.1.1", | ||
885 | + "string_decoder": "~1.1.1", | ||
886 | + "util-deprecate": "~1.0.1" | ||
887 | + }, | ||
888 | + "dependencies": { | ||
889 | + "isarray": { | ||
890 | + "version": "1.0.0", | ||
891 | + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", | ||
892 | + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" | ||
893 | + } | ||
894 | + } | ||
895 | + }, | ||
634 | "referrer-policy": { | 896 | "referrer-policy": { |
635 | "version": "1.1.0", | 897 | "version": "1.1.0", |
636 | "resolved": "https://registry.npmjs.org/referrer-policy/-/referrer-policy-1.1.0.tgz", | 898 | "resolved": "https://registry.npmjs.org/referrer-policy/-/referrer-policy-1.1.0.tgz", |
637 | "integrity": "sha1-NXdOtzW/UPtsB46DM0tHI1AgfXk=" | 899 | "integrity": "sha1-NXdOtzW/UPtsB46DM0tHI1AgfXk=" |
638 | }, | 900 | }, |
901 | + "request": { | ||
902 | + "version": "2.88.0", | ||
903 | + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", | ||
904 | + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", | ||
905 | + "requires": { | ||
906 | + "aws-sign2": "~0.7.0", | ||
907 | + "aws4": "^1.8.0", | ||
908 | + "caseless": "~0.12.0", | ||
909 | + "combined-stream": "~1.0.6", | ||
910 | + "extend": "~3.0.2", | ||
911 | + "forever-agent": "~0.6.1", | ||
912 | + "form-data": "~2.3.2", | ||
913 | + "har-validator": "~5.1.0", | ||
914 | + "http-signature": "~1.2.0", | ||
915 | + "is-typedarray": "~1.0.0", | ||
916 | + "isstream": "~0.1.2", | ||
917 | + "json-stringify-safe": "~5.0.1", | ||
918 | + "mime-types": "~2.1.19", | ||
919 | + "oauth-sign": "~0.9.0", | ||
920 | + "performance-now": "^2.1.0", | ||
921 | + "qs": "~6.5.2", | ||
922 | + "safe-buffer": "^5.1.2", | ||
923 | + "tough-cookie": "~2.4.3", | ||
924 | + "tunnel-agent": "^0.6.0", | ||
925 | + "uuid": "^3.3.2" | ||
926 | + } | ||
927 | + }, | ||
639 | "safe-buffer": { | 928 | "safe-buffer": { |
640 | "version": "5.1.2", | 929 | "version": "5.1.2", |
641 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", | 930 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", |
... | @@ -652,18 +941,18 @@ | ... | @@ -652,18 +941,18 @@ |
652 | "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", | 941 | "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", |
653 | "requires": { | 942 | "requires": { |
654 | "debug": "2.6.9", | 943 | "debug": "2.6.9", |
655 | - "depd": "1.1.2", | 944 | + "depd": "~1.1.2", |
656 | - "destroy": "1.0.4", | 945 | + "destroy": "~1.0.4", |
657 | - "encodeurl": "1.0.2", | 946 | + "encodeurl": "~1.0.2", |
658 | - "escape-html": "1.0.3", | 947 | + "escape-html": "~1.0.3", |
659 | - "etag": "1.8.1", | 948 | + "etag": "~1.8.1", |
660 | "fresh": "0.5.2", | 949 | "fresh": "0.5.2", |
661 | - "http-errors": "1.6.3", | 950 | + "http-errors": "~1.6.2", |
662 | "mime": "1.4.1", | 951 | "mime": "1.4.1", |
663 | "ms": "2.0.0", | 952 | "ms": "2.0.0", |
664 | - "on-finished": "2.3.0", | 953 | + "on-finished": "~2.3.0", |
665 | - "range-parser": "1.2.0", | 954 | + "range-parser": "~1.2.0", |
666 | - "statuses": "1.4.0" | 955 | + "statuses": "~1.4.0" |
667 | }, | 956 | }, |
668 | "dependencies": { | 957 | "dependencies": { |
669 | "statuses": { | 958 | "statuses": { |
... | @@ -678,9 +967,9 @@ | ... | @@ -678,9 +967,9 @@ |
678 | "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", | 967 | "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", |
679 | "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", | 968 | "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", |
680 | "requires": { | 969 | "requires": { |
681 | - "encodeurl": "1.0.2", | 970 | + "encodeurl": "~1.0.2", |
682 | - "escape-html": "1.0.3", | 971 | + "escape-html": "~1.0.3", |
683 | - "parseurl": "1.3.2", | 972 | + "parseurl": "~1.3.2", |
684 | "send": "0.16.2" | 973 | "send": "0.16.2" |
685 | } | 974 | } |
686 | }, | 975 | }, |
... | @@ -694,12 +983,12 @@ | ... | @@ -694,12 +983,12 @@ |
694 | "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.2.0.tgz", | 983 | "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.2.0.tgz", |
695 | "integrity": "sha512-wxXrIuZ8AILcn+f1B4ez4hJTPG24iNgxBBDaJfT6MsyOhVYiTXWexGoPkd87ktJG8kQEcL/NBvRi64+9k4Kc0w==", | 984 | "integrity": "sha512-wxXrIuZ8AILcn+f1B4ez4hJTPG24iNgxBBDaJfT6MsyOhVYiTXWexGoPkd87ktJG8kQEcL/NBvRi64+9k4Kc0w==", |
696 | "requires": { | 985 | "requires": { |
697 | - "debug": "4.1.0", | 986 | + "debug": "~4.1.0", |
698 | - "engine.io": "3.3.1", | 987 | + "engine.io": "~3.3.1", |
699 | - "has-binary2": "1.0.3", | 988 | + "has-binary2": "~1.0.2", |
700 | - "socket.io-adapter": "1.1.1", | 989 | + "socket.io-adapter": "~1.1.0", |
701 | "socket.io-client": "2.2.0", | 990 | "socket.io-client": "2.2.0", |
702 | - "socket.io-parser": "3.3.0" | 991 | + "socket.io-parser": "~3.3.0" |
703 | }, | 992 | }, |
704 | "dependencies": { | 993 | "dependencies": { |
705 | "debug": { | 994 | "debug": { |
... | @@ -707,7 +996,7 @@ | ... | @@ -707,7 +996,7 @@ |
707 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz", | 996 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz", |
708 | "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==", | 997 | "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==", |
709 | "requires": { | 998 | "requires": { |
710 | - "ms": "2.1.1" | 999 | + "ms": "^2.1.1" |
711 | } | 1000 | } |
712 | }, | 1001 | }, |
713 | "ms": { | 1002 | "ms": { |
... | @@ -731,15 +1020,15 @@ | ... | @@ -731,15 +1020,15 @@ |
731 | "base64-arraybuffer": "0.1.5", | 1020 | "base64-arraybuffer": "0.1.5", |
732 | "component-bind": "1.0.0", | 1021 | "component-bind": "1.0.0", |
733 | "component-emitter": "1.2.1", | 1022 | "component-emitter": "1.2.1", |
734 | - "debug": "3.1.0", | 1023 | + "debug": "~3.1.0", |
735 | - "engine.io-client": "3.3.1", | 1024 | + "engine.io-client": "~3.3.1", |
736 | - "has-binary2": "1.0.3", | 1025 | + "has-binary2": "~1.0.2", |
737 | "has-cors": "1.1.0", | 1026 | "has-cors": "1.1.0", |
738 | "indexof": "0.0.1", | 1027 | "indexof": "0.0.1", |
739 | "object-component": "0.0.3", | 1028 | "object-component": "0.0.3", |
740 | "parseqs": "0.0.5", | 1029 | "parseqs": "0.0.5", |
741 | "parseuri": "0.0.5", | 1030 | "parseuri": "0.0.5", |
742 | - "socket.io-parser": "3.3.0", | 1031 | + "socket.io-parser": "~3.3.0", |
743 | "to-array": "0.1.4" | 1032 | "to-array": "0.1.4" |
744 | }, | 1033 | }, |
745 | "dependencies": { | 1034 | "dependencies": { |
... | @@ -759,7 +1048,7 @@ | ... | @@ -759,7 +1048,7 @@ |
759 | "integrity": "sha512-hczmV6bDgdaEbVqhAeVMM/jfUfzuEZHsQg6eOmLgJht6G3mPKMxYm75w2+qhAQZ+4X+1+ATZ+QFKeOZD5riHng==", | 1048 | "integrity": "sha512-hczmV6bDgdaEbVqhAeVMM/jfUfzuEZHsQg6eOmLgJht6G3mPKMxYm75w2+qhAQZ+4X+1+ATZ+QFKeOZD5riHng==", |
760 | "requires": { | 1049 | "requires": { |
761 | "component-emitter": "1.2.1", | 1050 | "component-emitter": "1.2.1", |
762 | - "debug": "3.1.0", | 1051 | + "debug": "~3.1.0", |
763 | "isarray": "2.0.1" | 1052 | "isarray": "2.0.1" |
764 | }, | 1053 | }, |
765 | "dependencies": { | 1054 | "dependencies": { |
... | @@ -773,23 +1062,81 @@ | ... | @@ -773,23 +1062,81 @@ |
773 | } | 1062 | } |
774 | } | 1063 | } |
775 | }, | 1064 | }, |
1065 | + "sqlstring": { | ||
1066 | + "version": "2.3.1", | ||
1067 | + "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.1.tgz", | ||
1068 | + "integrity": "sha1-R1OT/56RR5rqYtyvDKPRSYOn+0A=" | ||
1069 | + }, | ||
1070 | + "sshpk": { | ||
1071 | + "version": "1.15.2", | ||
1072 | + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.15.2.tgz", | ||
1073 | + "integrity": "sha512-Ra/OXQtuh0/enyl4ETZAfTaeksa6BXks5ZcjpSUNrjBr0DvrJKX+1fsKDPpT9TBXgHAFsa4510aNVgI8g/+SzA==", | ||
1074 | + "requires": { | ||
1075 | + "asn1": "~0.2.3", | ||
1076 | + "assert-plus": "^1.0.0", | ||
1077 | + "bcrypt-pbkdf": "^1.0.0", | ||
1078 | + "dashdash": "^1.12.0", | ||
1079 | + "ecc-jsbn": "~0.1.1", | ||
1080 | + "getpass": "^0.1.1", | ||
1081 | + "jsbn": "~0.1.0", | ||
1082 | + "safer-buffer": "^2.0.2", | ||
1083 | + "tweetnacl": "~0.14.0" | ||
1084 | + } | ||
1085 | + }, | ||
776 | "statuses": { | 1086 | "statuses": { |
777 | "version": "1.5.0", | 1087 | "version": "1.5.0", |
778 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", | 1088 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", |
779 | "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" | 1089 | "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" |
780 | }, | 1090 | }, |
1091 | + "string_decoder": { | ||
1092 | + "version": "1.1.1", | ||
1093 | + "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", | ||
1094 | + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", | ||
1095 | + "requires": { | ||
1096 | + "safe-buffer": "~5.1.0" | ||
1097 | + } | ||
1098 | + }, | ||
781 | "to-array": { | 1099 | "to-array": { |
782 | "version": "0.1.4", | 1100 | "version": "0.1.4", |
783 | "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", | 1101 | "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", |
784 | "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=" | 1102 | "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=" |
785 | }, | 1103 | }, |
1104 | + "tough-cookie": { | ||
1105 | + "version": "2.4.3", | ||
1106 | + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", | ||
1107 | + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", | ||
1108 | + "requires": { | ||
1109 | + "psl": "^1.1.24", | ||
1110 | + "punycode": "^1.4.1" | ||
1111 | + }, | ||
1112 | + "dependencies": { | ||
1113 | + "punycode": { | ||
1114 | + "version": "1.4.1", | ||
1115 | + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", | ||
1116 | + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" | ||
1117 | + } | ||
1118 | + } | ||
1119 | + }, | ||
1120 | + "tunnel-agent": { | ||
1121 | + "version": "0.6.0", | ||
1122 | + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", | ||
1123 | + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", | ||
1124 | + "requires": { | ||
1125 | + "safe-buffer": "^5.0.1" | ||
1126 | + } | ||
1127 | + }, | ||
1128 | + "tweetnacl": { | ||
1129 | + "version": "0.14.5", | ||
1130 | + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", | ||
1131 | + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" | ||
1132 | + }, | ||
786 | "type-is": { | 1133 | "type-is": { |
787 | "version": "1.6.16", | 1134 | "version": "1.6.16", |
788 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", | 1135 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", |
789 | "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", | 1136 | "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", |
790 | "requires": { | 1137 | "requires": { |
791 | "media-typer": "0.3.0", | 1138 | "media-typer": "0.3.0", |
792 | - "mime-types": "2.1.21" | 1139 | + "mime-types": "~2.1.18" |
793 | } | 1140 | } |
794 | }, | 1141 | }, |
795 | "unpipe": { | 1142 | "unpipe": { |
... | @@ -797,22 +1144,50 @@ | ... | @@ -797,22 +1144,50 @@ |
797 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", | 1144 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", |
798 | "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" | 1145 | "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" |
799 | }, | 1146 | }, |
1147 | + "uri-js": { | ||
1148 | + "version": "4.2.2", | ||
1149 | + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", | ||
1150 | + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", | ||
1151 | + "requires": { | ||
1152 | + "punycode": "^2.1.0" | ||
1153 | + } | ||
1154 | + }, | ||
1155 | + "util-deprecate": { | ||
1156 | + "version": "1.0.2", | ||
1157 | + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", | ||
1158 | + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" | ||
1159 | + }, | ||
800 | "utils-merge": { | 1160 | "utils-merge": { |
801 | "version": "1.0.1", | 1161 | "version": "1.0.1", |
802 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", | 1162 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", |
803 | "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" | 1163 | "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" |
804 | }, | 1164 | }, |
1165 | + "uuid": { | ||
1166 | + "version": "3.3.2", | ||
1167 | + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", | ||
1168 | + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" | ||
1169 | + }, | ||
805 | "vary": { | 1170 | "vary": { |
806 | "version": "1.1.2", | 1171 | "version": "1.1.2", |
807 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", | 1172 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", |
808 | "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" | 1173 | "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" |
809 | }, | 1174 | }, |
1175 | + "verror": { | ||
1176 | + "version": "1.10.0", | ||
1177 | + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", | ||
1178 | + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", | ||
1179 | + "requires": { | ||
1180 | + "assert-plus": "^1.0.0", | ||
1181 | + "core-util-is": "1.0.2", | ||
1182 | + "extsprintf": "^1.2.0" | ||
1183 | + } | ||
1184 | + }, | ||
810 | "ws": { | 1185 | "ws": { |
811 | "version": "6.1.2", | 1186 | "version": "6.1.2", |
812 | "resolved": "https://registry.npmjs.org/ws/-/ws-6.1.2.tgz", | 1187 | "resolved": "https://registry.npmjs.org/ws/-/ws-6.1.2.tgz", |
813 | "integrity": "sha512-rfUqzvz0WxmSXtJpPMX2EeASXabOrSMk1ruMOV3JBTBjo4ac2lDjGGsbQSyxj8Odhw5fBib8ZKEjDNvgouNKYw==", | 1188 | "integrity": "sha512-rfUqzvz0WxmSXtJpPMX2EeASXabOrSMk1ruMOV3JBTBjo4ac2lDjGGsbQSyxj8Odhw5fBib8ZKEjDNvgouNKYw==", |
814 | "requires": { | 1189 | "requires": { |
815 | - "async-limiter": "1.0.0" | 1190 | + "async-limiter": "~1.0.0" |
816 | } | 1191 | } |
817 | }, | 1192 | }, |
818 | "x-xss-protection": { | 1193 | "x-xss-protection": { |
... | @@ -831,4 +1206,4 @@ | ... | @@ -831,4 +1206,4 @@ |
831 | "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=" | 1206 | "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=" |
832 | } | 1207 | } |
833 | } | 1208 | } |
834 | -} | 1209 | +} |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
... | @@ -9,12 +9,15 @@ | ... | @@ -9,12 +9,15 @@ |
9 | "body-parser": "^1.18.3", | 9 | "body-parser": "^1.18.3", |
10 | "compression": "^1.7.3", | 10 | "compression": "^1.7.3", |
11 | "cookie-parser": "~1.4.3", | 11 | "cookie-parser": "~1.4.3", |
12 | + "date-utils": "^1.2.21", | ||
12 | "debug": "~2.6.9", | 13 | "debug": "~2.6.9", |
13 | "ejs": "~2.5.7", | 14 | "ejs": "~2.5.7", |
14 | "express": "~4.16.0", | 15 | "express": "~4.16.0", |
16 | + "helmet": "^3.13.0", | ||
15 | "http-errors": "~1.6.2", | 17 | "http-errors": "~1.6.2", |
16 | "morgan": "~1.9.0", | 18 | "morgan": "~1.9.0", |
17 | - "helmet": "^3.13.0", | 19 | + "mysql": "^2.16.0", |
20 | + "request": "^2.88.0", | ||
18 | "socket.io": "^2.1.1" | 21 | "socket.io": "^2.1.1" |
19 | } | 22 | } |
20 | } | 23 | } | ... | ... |
1 | var express = require('express'); | 1 | var express = require('express'); |
2 | var router = express.Router(); | 2 | var router = express.Router(); |
3 | +var db = require('../lib/db'); | ||
3 | 4 | ||
4 | /* GET home page. */ | 5 | /* GET home page. */ |
5 | router.get('/', function(req, res, next) { | 6 | router.get('/', function(req, res, next) { |
6 | - res.render('index', { title: 'Express' }); | 7 | + // 자외선지수, 불쾌지수, 열지수, 체감 온도, 바람속도, 현재기온, 하늘 상태, 강우량, 태풍, 낙뢰, 특보, 현재 시간 |
8 | + var uvr, discomfort, heat, sensibleTem, windSpeed, presentTem, skyState, rainfall, typhoon, lightning, alert, time; | ||
9 | + | ||
10 | + // 쿼리문 | ||
11 | + var sql = 'SELECT * FROM kkonzi_test.weatherInfo WHERE kkonzi_test.time > DATE_FORMAT(DATE_ADD(now(), INTERVAL -1 MINUTE), "%Y-%m-%d %H:%i:%s")''; | ||
12 | + db.query(sql, function(err, rows, fields){ | ||
13 | + if (err) { | ||
14 | + console.log(err); | ||
15 | + } else { | ||
16 | + if (rows.length == 0){ | ||
17 | + | ||
18 | + } | ||
19 | + else { | ||
20 | + | ||
21 | + } | ||
22 | + var tmp = rows.length - 1; | ||
23 | + time = rows[temp].time; | ||
24 | + uvr = rows[temp].UV; | ||
25 | + discomfort = rows[temp].discomfort; | ||
26 | + heat = rows[temp].heat; | ||
27 | + sensibleTem = rows[temp].SensibleT; | ||
28 | + windSpeed = rows[temp].wspd; | ||
29 | + presentTem = rows[temp].CurrentT; | ||
30 | + skyState = rows[temp].sky; | ||
31 | + rainfall = rows[temp].rain; | ||
32 | + typhoon = rows[temp].typhoon; | ||
33 | + lightning = rows[temp].lightning; | ||
34 | + alert = rows[temp].alert; | ||
35 | + } | ||
36 | + }) | ||
37 | + | ||
38 | + res.render('index', {title: 'Express'}); | ||
7 | }); | 39 | }); |
8 | 40 | ||
9 | module.exports = router; | 41 | module.exports = router; | ... | ... |
1 | <!DOCTYPE html> | 1 | <!DOCTYPE html> |
2 | <html> | 2 | <html> |
3 | <head> | 3 | <head> |
4 | - <title><%= title %></title> | 4 | + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
5 | - <link rel='stylesheet' href='/stylesheets/style.css' /> | 5 | + <meta name="viewport" content="width=device-width, initial-scale=1" /> |
6 | + <title>Highcharts Example</title> | ||
7 | + | ||
8 | + <style type="text/css"></style> | ||
6 | </head> | 9 | </head> |
7 | <body> | 10 | <body> |
8 | - <h1><%= title %></h1> | 11 | + <script src="../code/highcharts.js"></script> |
9 | - <p>Welcome to <%= title %></p> | 12 | + <script src="../code/modules/exporting.js"></script> |
13 | + <script src="../code/modules/export-data.js"></script> | ||
14 | + | ||
15 | + <div | ||
16 | + id="container1" | ||
17 | + style="width:1260px; height: 400px; margin: 0 auto" | ||
18 | + ></div> | ||
19 | + | ||
20 | +<div style="width:1275px; margin:0 auto;"> | ||
21 | + <div style="display: inline-block;"> | ||
22 | + <div | ||
23 | + id="container2" | ||
24 | + style="width:400px; height: 300px; padding:0; margin-left:0px;margin-right: 30px;" | ||
25 | + ></div> | ||
26 | + </div> | ||
27 | + <div style="display: inline-block;"> | ||
28 | + <div | ||
29 | + id="container3" | ||
30 | + style="width:400px; height: 300px; padding:0; margin-left:0px;margin-right: 30px;" | ||
31 | + ></div> | ||
32 | + </div> | ||
33 | + | ||
34 | + <div style="display: inline-block;"> | ||
35 | + <div | ||
36 | + id="container4" | ||
37 | + style="width:400px; height: 300px; padding:0; margin-left:0px;" | ||
38 | + ></div> | ||
39 | + </div> | ||
40 | + | ||
41 | +</div> | ||
42 | + | ||
43 | + <script type="text/javascript"> | ||
44 | + Highcharts.chart("container1", { | ||
45 | + chart: { | ||
46 | + type: "areaspline", | ||
47 | + animation: Highcharts.svg, // don't animate in old IE | ||
48 | + marginRight: 10, | ||
49 | + events: { | ||
50 | + load: function() { | ||
51 | + // set up the updating of the chart each second | ||
52 | + var series = this.series[0]; | ||
53 | + setInterval(function() { | ||
54 | + var x = new Date().getTime(), // 현재 시간 | ||
55 | + y = 0.7 //여기에 새로 넣을 값 | ||
56 | + series.addPoint([x, y], true, true); | ||
57 | + }, 1000); //1000=1초 -> 1분=60000 | ||
58 | + } | ||
59 | + } | ||
60 | + }, | ||
61 | + | ||
62 | + time: { | ||
63 | + useUTC: false | ||
64 | + }, | ||
65 | + | ||
66 | + title: { | ||
67 | + text: "실시간 사망률" | ||
68 | + }, | ||
69 | + xAxis: { | ||
70 | + type: "datetime", | ||
71 | + tickPixelInterval: 150 | ||
72 | + }, | ||
73 | + yAxis: { | ||
74 | + title: { | ||
75 | + text: "Value" | ||
76 | + }, | ||
77 | + plotLines: [ | ||
78 | + { | ||
79 | + value: 0, | ||
80 | + width: 1, | ||
81 | + color: "#808080" | ||
82 | + } | ||
83 | + ] | ||
84 | + }, | ||
85 | + tooltip: { | ||
86 | + headerFormat: "<b>{series.name}</b><br/>", | ||
87 | + pointFormat: "{point.x:%Y-%m-%d %H:%M:%S}<br/>{point.y:.2f}" | ||
88 | + }, | ||
89 | + legend: { | ||
90 | + //enabled: false | ||
91 | + layout: "vertical", | ||
92 | + align: "left", | ||
93 | + verticalAlign: "top", | ||
94 | + x: 120, | ||
95 | + y: 70, | ||
96 | + floating: true, | ||
97 | + borderWidth: 1, | ||
98 | + backgroundColor: | ||
99 | + (Highcharts.theme && Highcharts.theme.legendBackgroundColor) || | ||
100 | + "#FFFFFF" | ||
101 | + }, | ||
102 | + exporting: { | ||
103 | + enabled: false | ||
104 | + }, | ||
105 | + series: [ | ||
106 | + { | ||
107 | + name: "사망률(%)", | ||
108 | + data: (function() { | ||
109 | + // generate an array of random data | ||
110 | + var data = [], | ||
111 | + time = new Date().getTime(), | ||
112 | + i; | ||
113 | + | ||
114 | + for (i = -19; i <= 0; i += 1) { | ||
115 | + data.push({ | ||
116 | + x: time + i * 1000, | ||
117 | + y: 0 | ||
118 | + }); | ||
119 | + } | ||
120 | + return data; | ||
121 | + })() | ||
122 | + } | ||
123 | + ] | ||
124 | + }); | ||
125 | + | ||
126 | + Highcharts.chart("container2", { | ||
127 | + chart: { | ||
128 | + type: "spline", | ||
129 | + animation: Highcharts.svg, // don't animate in old IE | ||
130 | + marginRight: 10, | ||
131 | + events: { | ||
132 | + load: function() { | ||
133 | + // set up the updating of the chart each second | ||
134 | + var series = this.series[0]; | ||
135 | + setInterval(function() { | ||
136 | + var x = new Date().getTime(), // 현재 시간 | ||
137 | + y = Math.random(); // | ||
138 | + series.addPoint([x, y], true, true); | ||
139 | + }, 3000); //1000=1초 | ||
140 | + } | ||
141 | + } | ||
142 | + }, | ||
143 | + | ||
144 | + time: { | ||
145 | + useUTC: false | ||
146 | + }, | ||
147 | + | ||
148 | + title: { | ||
149 | + text: "실시간 사망률" | ||
150 | + }, | ||
151 | + xAxis: { | ||
152 | + type: "datetime", | ||
153 | + tickPixelInterval: 150 | ||
154 | + }, | ||
155 | + yAxis: { | ||
156 | + title: { | ||
157 | + text: "Value" | ||
158 | + }, | ||
159 | + plotLines: [ | ||
160 | + { | ||
161 | + value: 0, | ||
162 | + width: 1, | ||
163 | + color: "#808080" | ||
164 | + } | ||
165 | + ] | ||
166 | + }, | ||
167 | + tooltip: { | ||
168 | + headerFormat: "<b>{series.name}</b><br/>", | ||
169 | + pointFormat: "{point.x:%Y-%m-%d %H:%M:%S}<br/>{point.y:.2f}" | ||
170 | + }, | ||
171 | + legend: { | ||
172 | + //enabled: false | ||
173 | + layout: "vertical", | ||
174 | + align: "left", | ||
175 | + verticalAlign: "top", | ||
176 | + x: 120, | ||
177 | + y: 70, | ||
178 | + floating: true, | ||
179 | + borderWidth: 1, | ||
180 | + backgroundColor: | ||
181 | + (Highcharts.theme && Highcharts.theme.legendBackgroundColor) || | ||
182 | + "#FFFFFF" | ||
183 | + }, | ||
184 | + exporting: { | ||
185 | + enabled: false | ||
186 | + }, | ||
187 | + series: [ | ||
188 | + { | ||
189 | + name: "사망률(%)", | ||
190 | + data: (function() { | ||
191 | + // generate an array of random data | ||
192 | + var data = [], | ||
193 | + time = new Date().getTime(), | ||
194 | + i; | ||
195 | + | ||
196 | + for (i = -19; i <= 0; i += 1) { | ||
197 | + data.push({ | ||
198 | + x: time + i * 3000, | ||
199 | + y: 0 | ||
200 | + }); | ||
201 | + } | ||
202 | + return data; | ||
203 | + })() | ||
204 | + } | ||
205 | + ] | ||
206 | + }); | ||
207 | + | ||
208 | + Highcharts.chart("container3", { | ||
209 | + chart: { | ||
210 | + type: "spline", | ||
211 | + animation: Highcharts.svg, // don't animate in old IE | ||
212 | + marginRight: 10, | ||
213 | + events: { | ||
214 | + load: function() { | ||
215 | + // set up the updating of the chart each second | ||
216 | + var series = this.series[0]; | ||
217 | + setInterval(function() { | ||
218 | + var x = new Date().getTime(), // 현재 시간 | ||
219 | + y = Math.random(); // | ||
220 | + series.addPoint([x, y], true, true); | ||
221 | + }, 3000); //1000=1초 | ||
222 | + } | ||
223 | + } | ||
224 | + }, | ||
225 | + | ||
226 | + time: { | ||
227 | + useUTC: false | ||
228 | + }, | ||
229 | + | ||
230 | + title: { | ||
231 | + text: "실시간 사망률" | ||
232 | + }, | ||
233 | + xAxis: { | ||
234 | + type: "datetime", | ||
235 | + tickPixelInterval: 150 | ||
236 | + }, | ||
237 | + yAxis: { | ||
238 | + title: { | ||
239 | + text: "Value" | ||
240 | + }, | ||
241 | + plotLines: [ | ||
242 | + { | ||
243 | + value: 0, | ||
244 | + width: 1, | ||
245 | + color: "#808080" | ||
246 | + } | ||
247 | + ] | ||
248 | + }, | ||
249 | + tooltip: { | ||
250 | + headerFormat: "<b>{series.name}</b><br/>", | ||
251 | + pointFormat: "{point.x:%Y-%m-%d %H:%M:%S}<br/>{point.y:.2f}" | ||
252 | + }, | ||
253 | + legend: { | ||
254 | + //enabled: false | ||
255 | + layout: "vertical", | ||
256 | + align: "left", | ||
257 | + verticalAlign: "top", | ||
258 | + x: 120, | ||
259 | + y: 70, | ||
260 | + floating: true, | ||
261 | + borderWidth: 1, | ||
262 | + backgroundColor: | ||
263 | + (Highcharts.theme && Highcharts.theme.legendBackgroundColor) || | ||
264 | + "#FFFFFF" | ||
265 | + }, | ||
266 | + exporting: { | ||
267 | + enabled: false | ||
268 | + }, | ||
269 | + series: [ | ||
270 | + { | ||
271 | + name: "사망률(%)", | ||
272 | + data: (function() { | ||
273 | + // generate an array of random data | ||
274 | + var data = [], | ||
275 | + time = new Date().getTime(), | ||
276 | + i; | ||
277 | + | ||
278 | + for (i = -19; i <= 0; i += 1) { | ||
279 | + data.push({ | ||
280 | + x: time + i * 3000, | ||
281 | + y: 0 | ||
282 | + }); | ||
283 | + } | ||
284 | + return data; | ||
285 | + })() | ||
286 | + } | ||
287 | + ] | ||
288 | + }); | ||
289 | + | ||
290 | + Highcharts.chart("container4", { | ||
291 | + chart: { | ||
292 | + type: "spline", | ||
293 | + animation: Highcharts.svg, // don't animate in old IE | ||
294 | + marginRight: 10, | ||
295 | + events: { | ||
296 | + load: function() { | ||
297 | + // set up the updating of the chart each second | ||
298 | + var series = this.series[0]; | ||
299 | + setInterval(function() { | ||
300 | + var x = new Date().getTime(), // 현재 시간 | ||
301 | + y = Math.random(); // | ||
302 | + series.addPoint([x, y], true, true); | ||
303 | + }, 3000); //1000=1초 | ||
304 | + } | ||
305 | + } | ||
306 | + }, | ||
307 | + | ||
308 | + time: { | ||
309 | + useUTC: false | ||
310 | + }, | ||
311 | + | ||
312 | + title: { | ||
313 | + text: "실시간 사망률" | ||
314 | + }, | ||
315 | + xAxis: { | ||
316 | + type: "datetime", | ||
317 | + tickPixelInterval: 150 | ||
318 | + }, | ||
319 | + yAxis: { | ||
320 | + title: { | ||
321 | + text: "Value" | ||
322 | + }, | ||
323 | + plotLines: [ | ||
324 | + { | ||
325 | + value: 0, | ||
326 | + width: 1, | ||
327 | + color: "#808080" | ||
328 | + } | ||
329 | + ] | ||
330 | + }, | ||
331 | + tooltip: { | ||
332 | + headerFormat: "<b>{series.name}</b><br/>", | ||
333 | + pointFormat: "{point.x:%Y-%m-%d %H:%M:%S}<br/>{point.y:.2f}" | ||
334 | + }, | ||
335 | + legend: { | ||
336 | + //enabled: false | ||
337 | + layout: "vertical", | ||
338 | + align: "left", | ||
339 | + verticalAlign: "top", | ||
340 | + x: 120, | ||
341 | + y: 70, | ||
342 | + floating: true, | ||
343 | + borderWidth: 1, | ||
344 | + backgroundColor: | ||
345 | + (Highcharts.theme && Highcharts.theme.legendBackgroundColor) || | ||
346 | + "#FFFFFF" | ||
347 | + }, | ||
348 | + exporting: { | ||
349 | + enabled: false | ||
350 | + }, | ||
351 | + series: [ | ||
352 | + { | ||
353 | + name: "사망률(%)", | ||
354 | + data: (function() { | ||
355 | + // generate an array of random data | ||
356 | + var data = [], | ||
357 | + time = new Date().getTime(), | ||
358 | + i; | ||
359 | + | ||
360 | + for (i = -19; i <= 0; i += 1) { | ||
361 | + data.push({ | ||
362 | + x: time + i * 3000, | ||
363 | + y: 0 | ||
364 | + }); | ||
365 | + } | ||
366 | + return data; | ||
367 | + })() | ||
368 | + } | ||
369 | + ] | ||
370 | + }); | ||
371 | + | ||
372 | + </script> | ||
10 | </body> | 373 | </body> |
11 | </html> | 374 | </html> | ... | ... |
-
Please register or login to post a comment