├── .editorconfig
├── .gitignore
├── bin
└── minify.js
├── index.html
├── package-lock.json
├── package.json
├── readme.md
├── rollup.config.js
└── src
├── app.js
├── fancy-button.js
└── feature.js
/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | indent_style = space
5 | indent_size = 2
6 | end_of_line = lf
7 | charset = utf-8
8 | trim_trailing_whitespace = true
9 | insert_final_newline = true
10 |
11 | [*.md]
12 | trim_trailing_whitespace = false
13 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
3 |
--------------------------------------------------------------------------------
/bin/minify.js:
--------------------------------------------------------------------------------
1 | const fs = require('fs');
2 | const globby = require('globby');
3 | const uglify = require('uglify-es');
4 |
5 | const jsFiles = globby.sync([
6 | 'src/**/*.js',
7 | 'dist/bundle.js'
8 | ]);
9 |
10 | for (const jsFile of jsFiles) {
11 | const before = fs.readFileSync(jsFile).toString();
12 | const after = uglify.minify(before).code;
13 | fs.writeFileSync(jsFile.replace('src', 'dist'), after);
14 | }
15 |
16 | console.log(`${jsFiles.join(', ')} are minified`);
17 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Boilerplate
6 |
7 |
8 | Fancy Button
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "boilerplate-next",
3 | "requires": true,
4 | "lockfileVersion": 1,
5 | "dependencies": {
6 | "accepts": {
7 | "version": "1.3.4",
8 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.4.tgz",
9 | "integrity": "sha1-hiRnWMfdbSGmR0/whKR0DsBesh8=",
10 | "dev": true,
11 | "requires": {
12 | "mime-types": "2.1.17",
13 | "negotiator": "0.6.1"
14 | }
15 | },
16 | "address": {
17 | "version": "1.0.3",
18 | "resolved": "https://registry.npmjs.org/address/-/address-1.0.3.tgz",
19 | "integrity": "sha512-z55ocwKBRLryBs394Sm3ushTtBeg6VAeuku7utSoSnsJKvKcnXFIyC6vh27n3rXyxSgkJBBCAvyOn7gSUcTYjg==",
20 | "dev": true
21 | },
22 | "align-text": {
23 | "version": "0.1.4",
24 | "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
25 | "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
26 | "dev": true,
27 | "requires": {
28 | "kind-of": "3.2.2",
29 | "longest": "1.0.1",
30 | "repeat-string": "1.6.1"
31 | }
32 | },
33 | "amdefine": {
34 | "version": "1.0.1",
35 | "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
36 | "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
37 | "dev": true
38 | },
39 | "ansi-align": {
40 | "version": "2.0.0",
41 | "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz",
42 | "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=",
43 | "dev": true,
44 | "requires": {
45 | "string-width": "2.1.1"
46 | }
47 | },
48 | "ansi-regex": {
49 | "version": "3.0.0",
50 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
51 | "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
52 | "dev": true
53 | },
54 | "ansi-styles": {
55 | "version": "3.2.0",
56 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
57 | "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
58 | "dev": true,
59 | "requires": {
60 | "color-convert": "1.9.1"
61 | }
62 | },
63 | "args": {
64 | "version": "3.0.7",
65 | "resolved": "https://registry.npmjs.org/args/-/args-3.0.7.tgz",
66 | "integrity": "sha512-OQDwfEHYshaeRbbXa7WKIpLmxXrLvHTQ8pcyyH/CoR8Y8v/SjaFYI3d7nQA6xZTM4p6xC7KPVGRDmp8gXLsUcQ==",
67 | "dev": true,
68 | "requires": {
69 | "camelcase": "4.1.0",
70 | "chalk": "2.1.0",
71 | "mri": "1.1.0",
72 | "pkginfo": "0.4.1",
73 | "string-similarity": "1.2.0"
74 | },
75 | "dependencies": {
76 | "chalk": {
77 | "version": "2.1.0",
78 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz",
79 | "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==",
80 | "dev": true,
81 | "requires": {
82 | "ansi-styles": "3.2.0",
83 | "escape-string-regexp": "1.0.5",
84 | "supports-color": "4.5.0"
85 | }
86 | }
87 | }
88 | },
89 | "array-filter": {
90 | "version": "0.0.1",
91 | "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz",
92 | "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw=",
93 | "dev": true
94 | },
95 | "array-map": {
96 | "version": "0.0.0",
97 | "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz",
98 | "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=",
99 | "dev": true
100 | },
101 | "array-reduce": {
102 | "version": "0.0.0",
103 | "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz",
104 | "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=",
105 | "dev": true
106 | },
107 | "array-union": {
108 | "version": "1.0.2",
109 | "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
110 | "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
111 | "dev": true,
112 | "requires": {
113 | "array-uniq": "1.0.3"
114 | }
115 | },
116 | "array-uniq": {
117 | "version": "1.0.3",
118 | "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
119 | "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
120 | "dev": true
121 | },
122 | "arrify": {
123 | "version": "1.0.1",
124 | "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
125 | "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
126 | "dev": true
127 | },
128 | "async": {
129 | "version": "1.5.2",
130 | "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
131 | "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
132 | "dev": true
133 | },
134 | "balanced-match": {
135 | "version": "1.0.0",
136 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
137 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
138 | "dev": true
139 | },
140 | "basic-auth": {
141 | "version": "2.0.0",
142 | "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.0.tgz",
143 | "integrity": "sha1-AV2z81PgLlY3d1X5YnQuiYHnu7o=",
144 | "dev": true,
145 | "requires": {
146 | "safe-buffer": "5.1.1"
147 | }
148 | },
149 | "bluebird": {
150 | "version": "3.5.1",
151 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz",
152 | "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==",
153 | "dev": true
154 | },
155 | "boxen": {
156 | "version": "1.2.2",
157 | "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.2.2.tgz",
158 | "integrity": "sha1-Px1AMsMP/qnUsCwyLq8up0HcvOU=",
159 | "dev": true,
160 | "requires": {
161 | "ansi-align": "2.0.0",
162 | "camelcase": "4.1.0",
163 | "chalk": "2.3.0",
164 | "cli-boxes": "1.0.0",
165 | "string-width": "2.1.1",
166 | "term-size": "1.2.0",
167 | "widest-line": "1.0.0"
168 | }
169 | },
170 | "brace-expansion": {
171 | "version": "1.1.8",
172 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz",
173 | "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=",
174 | "dev": true,
175 | "requires": {
176 | "balanced-match": "1.0.0",
177 | "concat-map": "0.0.1"
178 | }
179 | },
180 | "builtin-modules": {
181 | "version": "1.1.1",
182 | "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
183 | "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
184 | "dev": true
185 | },
186 | "bytes": {
187 | "version": "3.0.0",
188 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
189 | "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=",
190 | "dev": true
191 | },
192 | "camelcase": {
193 | "version": "4.1.0",
194 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
195 | "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
196 | "dev": true
197 | },
198 | "capture-stack-trace": {
199 | "version": "1.0.0",
200 | "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz",
201 | "integrity": "sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0=",
202 | "dev": true
203 | },
204 | "center-align": {
205 | "version": "0.1.3",
206 | "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
207 | "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",
208 | "dev": true,
209 | "optional": true,
210 | "requires": {
211 | "align-text": "0.1.4",
212 | "lazy-cache": "1.0.4"
213 | }
214 | },
215 | "chalk": {
216 | "version": "2.3.0",
217 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz",
218 | "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==",
219 | "dev": true,
220 | "requires": {
221 | "ansi-styles": "3.2.0",
222 | "escape-string-regexp": "1.0.5",
223 | "supports-color": "4.5.0"
224 | }
225 | },
226 | "cli-boxes": {
227 | "version": "1.0.0",
228 | "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz",
229 | "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=",
230 | "dev": true
231 | },
232 | "clipboardy": {
233 | "version": "1.1.4",
234 | "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-1.1.4.tgz",
235 | "integrity": "sha1-UbF1dPxoJYji3Slc+m5qoQnqte4=",
236 | "dev": true,
237 | "requires": {
238 | "execa": "0.6.3"
239 | },
240 | "dependencies": {
241 | "execa": {
242 | "version": "0.6.3",
243 | "resolved": "https://registry.npmjs.org/execa/-/execa-0.6.3.tgz",
244 | "integrity": "sha1-V7aaWU8IF1nGnlNw8NF7nLEWWP4=",
245 | "dev": true,
246 | "requires": {
247 | "cross-spawn": "5.1.0",
248 | "get-stream": "3.0.0",
249 | "is-stream": "1.1.0",
250 | "npm-run-path": "2.0.2",
251 | "p-finally": "1.0.0",
252 | "signal-exit": "3.0.2",
253 | "strip-eof": "1.0.0"
254 | }
255 | }
256 | }
257 | },
258 | "cliui": {
259 | "version": "2.1.0",
260 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
261 | "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
262 | "dev": true,
263 | "optional": true,
264 | "requires": {
265 | "center-align": "0.1.3",
266 | "right-align": "0.1.3",
267 | "wordwrap": "0.0.2"
268 | },
269 | "dependencies": {
270 | "wordwrap": {
271 | "version": "0.0.2",
272 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
273 | "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
274 | "dev": true,
275 | "optional": true
276 | }
277 | }
278 | },
279 | "code-point-at": {
280 | "version": "1.1.0",
281 | "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
282 | "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
283 | "dev": true
284 | },
285 | "color-convert": {
286 | "version": "1.9.1",
287 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz",
288 | "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==",
289 | "dev": true,
290 | "requires": {
291 | "color-name": "1.1.3"
292 | }
293 | },
294 | "color-name": {
295 | "version": "1.1.3",
296 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
297 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
298 | "dev": true
299 | },
300 | "commander": {
301 | "version": "2.12.2",
302 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.12.2.tgz",
303 | "integrity": "sha512-BFnaq5ZOGcDN7FlrtBT4xxkgIToalIIxwjxLWVJ8bGTpe1LroqMiqQXdA7ygc7CRvaYS+9zfPGFnJqFSayx+AA==",
304 | "dev": true
305 | },
306 | "compressible": {
307 | "version": "2.0.12",
308 | "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.12.tgz",
309 | "integrity": "sha1-xZpcmdt2dn6YdlAOJx72OzSTvWY=",
310 | "dev": true,
311 | "requires": {
312 | "mime-db": "1.30.0"
313 | }
314 | },
315 | "compression": {
316 | "version": "1.7.1",
317 | "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.1.tgz",
318 | "integrity": "sha1-7/JgPvwuIs+G810uuTWJ+YdTc9s=",
319 | "dev": true,
320 | "requires": {
321 | "accepts": "1.3.4",
322 | "bytes": "3.0.0",
323 | "compressible": "2.0.12",
324 | "debug": "2.6.9",
325 | "on-headers": "1.0.1",
326 | "safe-buffer": "5.1.1",
327 | "vary": "1.1.2"
328 | }
329 | },
330 | "concat-map": {
331 | "version": "0.0.1",
332 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
333 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
334 | "dev": true
335 | },
336 | "configstore": {
337 | "version": "3.1.1",
338 | "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.1.tgz",
339 | "integrity": "sha512-5oNkD/L++l0O6xGXxb1EWS7SivtjfGQlRyxJsYgE0Z495/L81e2h4/d3r969hoPXuFItzNOKMtsXgYG4c7dYvw==",
340 | "dev": true,
341 | "requires": {
342 | "dot-prop": "4.2.0",
343 | "graceful-fs": "4.1.11",
344 | "make-dir": "1.1.0",
345 | "unique-string": "1.0.0",
346 | "write-file-atomic": "2.3.0",
347 | "xdg-basedir": "3.0.0"
348 | }
349 | },
350 | "create-error-class": {
351 | "version": "3.0.2",
352 | "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz",
353 | "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=",
354 | "dev": true,
355 | "requires": {
356 | "capture-stack-trace": "1.0.0"
357 | }
358 | },
359 | "cross-spawn": {
360 | "version": "5.1.0",
361 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
362 | "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
363 | "dev": true,
364 | "requires": {
365 | "lru-cache": "4.1.1",
366 | "shebang-command": "1.2.0",
367 | "which": "1.3.0"
368 | }
369 | },
370 | "crypto-random-string": {
371 | "version": "1.0.0",
372 | "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz",
373 | "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=",
374 | "dev": true
375 | },
376 | "dargs": {
377 | "version": "5.1.0",
378 | "resolved": "https://registry.npmjs.org/dargs/-/dargs-5.1.0.tgz",
379 | "integrity": "sha1-7H6lDHhWTNNsnV7Bj2Yyn63ieCk=",
380 | "dev": true
381 | },
382 | "debug": {
383 | "version": "2.6.9",
384 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
385 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
386 | "dev": true,
387 | "requires": {
388 | "ms": "2.0.0"
389 | }
390 | },
391 | "decamelize": {
392 | "version": "1.2.0",
393 | "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
394 | "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
395 | "dev": true,
396 | "optional": true
397 | },
398 | "deep-extend": {
399 | "version": "0.4.2",
400 | "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz",
401 | "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=",
402 | "dev": true
403 | },
404 | "define-properties": {
405 | "version": "1.1.2",
406 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz",
407 | "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=",
408 | "dev": true,
409 | "requires": {
410 | "foreach": "2.0.5",
411 | "object-keys": "1.0.11"
412 | }
413 | },
414 | "depd": {
415 | "version": "1.1.1",
416 | "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz",
417 | "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=",
418 | "dev": true
419 | },
420 | "destroy": {
421 | "version": "1.0.4",
422 | "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
423 | "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
424 | "dev": true
425 | },
426 | "detect-port": {
427 | "version": "1.2.1",
428 | "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.2.1.tgz",
429 | "integrity": "sha512-2KWLTLsfpi/oYPGNBEniPcFzr1GW/s+Xq/4hJmTQRdE8ULuRwGnRPuVhS/cf+Z4ZEXNo7EO2f6oydHJQd94KMg==",
430 | "dev": true,
431 | "requires": {
432 | "address": "1.0.3",
433 | "debug": "2.6.9"
434 | }
435 | },
436 | "dir-glob": {
437 | "version": "2.0.0",
438 | "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz",
439 | "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==",
440 | "dev": true,
441 | "requires": {
442 | "arrify": "1.0.1",
443 | "path-type": "3.0.0"
444 | }
445 | },
446 | "dot-prop": {
447 | "version": "4.2.0",
448 | "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz",
449 | "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==",
450 | "dev": true,
451 | "requires": {
452 | "is-obj": "1.0.1"
453 | }
454 | },
455 | "duplexer": {
456 | "version": "0.1.1",
457 | "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
458 | "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=",
459 | "dev": true
460 | },
461 | "duplexer3": {
462 | "version": "0.1.4",
463 | "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz",
464 | "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=",
465 | "dev": true
466 | },
467 | "ee-first": {
468 | "version": "1.1.1",
469 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
470 | "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
471 | "dev": true
472 | },
473 | "encodeurl": {
474 | "version": "1.0.1",
475 | "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz",
476 | "integrity": "sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA=",
477 | "dev": true
478 | },
479 | "error-ex": {
480 | "version": "1.3.1",
481 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz",
482 | "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=",
483 | "dev": true,
484 | "requires": {
485 | "is-arrayish": "0.2.1"
486 | }
487 | },
488 | "es-abstract": {
489 | "version": "1.10.0",
490 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.10.0.tgz",
491 | "integrity": "sha512-/uh/DhdqIOSkAWifU+8nG78vlQxdLckUdI/sPgy0VhuXi2qJ7T8czBmqIYtLQVpCIFYafChnsRsB5pyb1JdmCQ==",
492 | "dev": true,
493 | "requires": {
494 | "es-to-primitive": "1.1.1",
495 | "function-bind": "1.1.1",
496 | "has": "1.0.1",
497 | "is-callable": "1.1.3",
498 | "is-regex": "1.0.4"
499 | }
500 | },
501 | "es-to-primitive": {
502 | "version": "1.1.1",
503 | "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz",
504 | "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=",
505 | "dev": true,
506 | "requires": {
507 | "is-callable": "1.1.3",
508 | "is-date-object": "1.0.1",
509 | "is-symbol": "1.0.1"
510 | }
511 | },
512 | "escape-html": {
513 | "version": "1.0.3",
514 | "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
515 | "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
516 | "dev": true
517 | },
518 | "escape-string-regexp": {
519 | "version": "1.0.5",
520 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
521 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
522 | "dev": true
523 | },
524 | "etag": {
525 | "version": "1.8.1",
526 | "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
527 | "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
528 | "dev": true
529 | },
530 | "event-stream": {
531 | "version": "3.3.4",
532 | "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz",
533 | "integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=",
534 | "dev": true,
535 | "requires": {
536 | "duplexer": "0.1.1",
537 | "from": "0.1.7",
538 | "map-stream": "0.1.0",
539 | "pause-stream": "0.0.11",
540 | "split": "0.3.3",
541 | "stream-combiner": "0.0.4",
542 | "through": "2.3.8"
543 | }
544 | },
545 | "exec-sh": {
546 | "version": "0.2.1",
547 | "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.1.tgz",
548 | "integrity": "sha512-aLt95pexaugVtQerpmE51+4QfWrNc304uez7jvj6fWnN8GeEHpttB8F36n8N7uVhUMbH/1enbxQ9HImZ4w/9qg==",
549 | "dev": true,
550 | "requires": {
551 | "merge": "1.2.0"
552 | }
553 | },
554 | "execa": {
555 | "version": "0.7.0",
556 | "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
557 | "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
558 | "dev": true,
559 | "requires": {
560 | "cross-spawn": "5.1.0",
561 | "get-stream": "3.0.0",
562 | "is-stream": "1.1.0",
563 | "npm-run-path": "2.0.2",
564 | "p-finally": "1.0.0",
565 | "signal-exit": "3.0.2",
566 | "strip-eof": "1.0.0"
567 | }
568 | },
569 | "filesize": {
570 | "version": "3.5.11",
571 | "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.5.11.tgz",
572 | "integrity": "sha512-ZH7loueKBoDb7yG9esn1U+fgq7BzlzW6NRi5/rMdxIZ05dj7GFD/Xc5rq2CDt5Yq86CyfSYVyx4242QQNZbx1g==",
573 | "dev": true
574 | },
575 | "foreach": {
576 | "version": "2.0.5",
577 | "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
578 | "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=",
579 | "dev": true
580 | },
581 | "fresh": {
582 | "version": "0.5.2",
583 | "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
584 | "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
585 | "dev": true
586 | },
587 | "from": {
588 | "version": "0.1.7",
589 | "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz",
590 | "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=",
591 | "dev": true
592 | },
593 | "fs-extra": {
594 | "version": "4.0.2",
595 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.2.tgz",
596 | "integrity": "sha1-+RcExT0bRh+JNFKwwwfZmXZHq2s=",
597 | "dev": true,
598 | "requires": {
599 | "graceful-fs": "4.1.11",
600 | "jsonfile": "4.0.0",
601 | "universalify": "0.1.1"
602 | }
603 | },
604 | "fs.realpath": {
605 | "version": "1.0.0",
606 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
607 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
608 | "dev": true
609 | },
610 | "function-bind": {
611 | "version": "1.1.1",
612 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
613 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
614 | "dev": true
615 | },
616 | "get-stream": {
617 | "version": "3.0.0",
618 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
619 | "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
620 | "dev": true
621 | },
622 | "glob": {
623 | "version": "7.1.2",
624 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
625 | "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
626 | "dev": true,
627 | "requires": {
628 | "fs.realpath": "1.0.0",
629 | "inflight": "1.0.6",
630 | "inherits": "2.0.3",
631 | "minimatch": "3.0.4",
632 | "once": "1.4.0",
633 | "path-is-absolute": "1.0.1"
634 | }
635 | },
636 | "global-dirs": {
637 | "version": "0.1.1",
638 | "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz",
639 | "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=",
640 | "dev": true,
641 | "requires": {
642 | "ini": "1.3.5"
643 | }
644 | },
645 | "globby": {
646 | "version": "7.1.1",
647 | "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz",
648 | "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=",
649 | "dev": true,
650 | "requires": {
651 | "array-union": "1.0.2",
652 | "dir-glob": "2.0.0",
653 | "glob": "7.1.2",
654 | "ignore": "3.3.7",
655 | "pify": "3.0.0",
656 | "slash": "1.0.0"
657 | }
658 | },
659 | "got": {
660 | "version": "6.7.1",
661 | "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz",
662 | "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=",
663 | "dev": true,
664 | "requires": {
665 | "create-error-class": "3.0.2",
666 | "duplexer3": "0.1.4",
667 | "get-stream": "3.0.0",
668 | "is-redirect": "1.0.0",
669 | "is-retry-allowed": "1.1.0",
670 | "is-stream": "1.1.0",
671 | "lowercase-keys": "1.0.0",
672 | "safe-buffer": "5.1.1",
673 | "timed-out": "4.0.1",
674 | "unzip-response": "2.0.1",
675 | "url-parse-lax": "1.0.0"
676 | }
677 | },
678 | "graceful-fs": {
679 | "version": "4.1.11",
680 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
681 | "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
682 | "dev": true
683 | },
684 | "handlebars": {
685 | "version": "4.0.11",
686 | "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz",
687 | "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=",
688 | "dev": true,
689 | "requires": {
690 | "async": "1.5.2",
691 | "optimist": "0.6.1",
692 | "source-map": "0.4.4",
693 | "uglify-js": "2.8.29"
694 | },
695 | "dependencies": {
696 | "uglify-js": {
697 | "version": "2.8.29",
698 | "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
699 | "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
700 | "dev": true,
701 | "optional": true,
702 | "requires": {
703 | "source-map": "0.5.7",
704 | "uglify-to-browserify": "1.0.2",
705 | "yargs": "3.10.0"
706 | },
707 | "dependencies": {
708 | "source-map": {
709 | "version": "0.5.7",
710 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
711 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
712 | "dev": true,
713 | "optional": true
714 | }
715 | }
716 | }
717 | }
718 | },
719 | "has": {
720 | "version": "1.0.1",
721 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz",
722 | "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=",
723 | "dev": true,
724 | "requires": {
725 | "function-bind": "1.1.1"
726 | }
727 | },
728 | "has-flag": {
729 | "version": "2.0.0",
730 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
731 | "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
732 | "dev": true
733 | },
734 | "hosted-git-info": {
735 | "version": "2.5.0",
736 | "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz",
737 | "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==",
738 | "dev": true
739 | },
740 | "http-errors": {
741 | "version": "1.6.2",
742 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz",
743 | "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=",
744 | "dev": true,
745 | "requires": {
746 | "depd": "1.1.1",
747 | "inherits": "2.0.3",
748 | "setprototypeof": "1.0.3",
749 | "statuses": "1.4.0"
750 | }
751 | },
752 | "iconv-lite": {
753 | "version": "0.4.19",
754 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
755 | "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==",
756 | "dev": true
757 | },
758 | "ignore": {
759 | "version": "3.3.7",
760 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz",
761 | "integrity": "sha512-YGG3ejvBNHRqu0559EOxxNFihD0AjpvHlC/pdGKd3X3ofe+CoJkYazwNJYTNebqpPKN+VVQbh4ZFn1DivMNuHA==",
762 | "dev": true
763 | },
764 | "import-lazy": {
765 | "version": "2.1.0",
766 | "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz",
767 | "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=",
768 | "dev": true
769 | },
770 | "imurmurhash": {
771 | "version": "0.1.4",
772 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
773 | "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
774 | "dev": true
775 | },
776 | "inflight": {
777 | "version": "1.0.6",
778 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
779 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
780 | "dev": true,
781 | "requires": {
782 | "once": "1.4.0",
783 | "wrappy": "1.0.2"
784 | }
785 | },
786 | "inherits": {
787 | "version": "2.0.3",
788 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
789 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
790 | "dev": true
791 | },
792 | "ini": {
793 | "version": "1.3.5",
794 | "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
795 | "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
796 | "dev": true
797 | },
798 | "ip": {
799 | "version": "1.1.5",
800 | "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
801 | "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
802 | "dev": true
803 | },
804 | "is-arrayish": {
805 | "version": "0.2.1",
806 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
807 | "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
808 | "dev": true
809 | },
810 | "is-buffer": {
811 | "version": "1.1.6",
812 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
813 | "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
814 | "dev": true
815 | },
816 | "is-builtin-module": {
817 | "version": "1.0.0",
818 | "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
819 | "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
820 | "dev": true,
821 | "requires": {
822 | "builtin-modules": "1.1.1"
823 | }
824 | },
825 | "is-callable": {
826 | "version": "1.1.3",
827 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz",
828 | "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=",
829 | "dev": true
830 | },
831 | "is-date-object": {
832 | "version": "1.0.1",
833 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
834 | "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
835 | "dev": true
836 | },
837 | "is-fullwidth-code-point": {
838 | "version": "2.0.0",
839 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
840 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
841 | "dev": true
842 | },
843 | "is-installed-globally": {
844 | "version": "0.1.0",
845 | "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz",
846 | "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=",
847 | "dev": true,
848 | "requires": {
849 | "global-dirs": "0.1.1",
850 | "is-path-inside": "1.0.0"
851 | }
852 | },
853 | "is-npm": {
854 | "version": "1.0.0",
855 | "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz",
856 | "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=",
857 | "dev": true
858 | },
859 | "is-obj": {
860 | "version": "1.0.1",
861 | "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
862 | "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
863 | "dev": true
864 | },
865 | "is-path-inside": {
866 | "version": "1.0.0",
867 | "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz",
868 | "integrity": "sha1-/AbloWg/vaE95mev9xe7wQpI838=",
869 | "dev": true,
870 | "requires": {
871 | "path-is-inside": "1.0.2"
872 | }
873 | },
874 | "is-redirect": {
875 | "version": "1.0.0",
876 | "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz",
877 | "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=",
878 | "dev": true
879 | },
880 | "is-regex": {
881 | "version": "1.0.4",
882 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
883 | "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
884 | "dev": true,
885 | "requires": {
886 | "has": "1.0.1"
887 | }
888 | },
889 | "is-retry-allowed": {
890 | "version": "1.1.0",
891 | "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz",
892 | "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=",
893 | "dev": true
894 | },
895 | "is-stream": {
896 | "version": "1.1.0",
897 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
898 | "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
899 | "dev": true
900 | },
901 | "is-symbol": {
902 | "version": "1.0.1",
903 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz",
904 | "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=",
905 | "dev": true
906 | },
907 | "is-wsl": {
908 | "version": "1.1.0",
909 | "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
910 | "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=",
911 | "dev": true
912 | },
913 | "isexe": {
914 | "version": "2.0.0",
915 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
916 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
917 | "dev": true
918 | },
919 | "json-parse-better-errors": {
920 | "version": "1.0.1",
921 | "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.1.tgz",
922 | "integrity": "sha512-xyQpxeWWMKyJps9CuGJYeng6ssI5bpqS9ltQpdVQ90t4ql6NdnxFKh95JcRt2cun/DjMVNrdjniLPuMA69xmCw==",
923 | "dev": true
924 | },
925 | "jsonfile": {
926 | "version": "4.0.0",
927 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
928 | "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
929 | "dev": true,
930 | "requires": {
931 | "graceful-fs": "4.1.11"
932 | }
933 | },
934 | "jsonify": {
935 | "version": "0.0.0",
936 | "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
937 | "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
938 | "dev": true
939 | },
940 | "kind-of": {
941 | "version": "3.2.2",
942 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
943 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
944 | "dev": true,
945 | "requires": {
946 | "is-buffer": "1.1.6"
947 | }
948 | },
949 | "latest-version": {
950 | "version": "3.1.0",
951 | "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz",
952 | "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=",
953 | "dev": true,
954 | "requires": {
955 | "package-json": "4.0.1"
956 | }
957 | },
958 | "lazy-cache": {
959 | "version": "1.0.4",
960 | "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
961 | "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=",
962 | "dev": true,
963 | "optional": true
964 | },
965 | "load-json-file": {
966 | "version": "4.0.0",
967 | "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
968 | "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
969 | "dev": true,
970 | "requires": {
971 | "graceful-fs": "4.1.11",
972 | "parse-json": "4.0.0",
973 | "pify": "3.0.0",
974 | "strip-bom": "3.0.0"
975 | }
976 | },
977 | "lodash": {
978 | "version": "4.17.4",
979 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
980 | "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=",
981 | "dev": true
982 | },
983 | "longest": {
984 | "version": "1.0.1",
985 | "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
986 | "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=",
987 | "dev": true
988 | },
989 | "lowercase-keys": {
990 | "version": "1.0.0",
991 | "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz",
992 | "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=",
993 | "dev": true
994 | },
995 | "lru-cache": {
996 | "version": "4.1.1",
997 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz",
998 | "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==",
999 | "dev": true,
1000 | "requires": {
1001 | "pseudomap": "1.0.2",
1002 | "yallist": "2.1.2"
1003 | }
1004 | },
1005 | "make-dir": {
1006 | "version": "1.1.0",
1007 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.1.0.tgz",
1008 | "integrity": "sha512-0Pkui4wLJ7rxvmfUvs87skoEaxmu0hCUApF8nonzpl7q//FWp9zu8W61Scz4sd/kUiqDxvUhtoam2efDyiBzcA==",
1009 | "dev": true,
1010 | "requires": {
1011 | "pify": "3.0.0"
1012 | }
1013 | },
1014 | "map-stream": {
1015 | "version": "0.1.0",
1016 | "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz",
1017 | "integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=",
1018 | "dev": true
1019 | },
1020 | "media-typer": {
1021 | "version": "0.3.0",
1022 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
1023 | "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
1024 | "dev": true
1025 | },
1026 | "memorystream": {
1027 | "version": "0.3.1",
1028 | "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz",
1029 | "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=",
1030 | "dev": true
1031 | },
1032 | "merge": {
1033 | "version": "1.2.0",
1034 | "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.0.tgz",
1035 | "integrity": "sha1-dTHjnUlJwoGma4xabgJl6LBYlNo=",
1036 | "dev": true
1037 | },
1038 | "micro": {
1039 | "version": "9.0.0",
1040 | "resolved": "https://registry.npmjs.org/micro/-/micro-9.0.0.tgz",
1041 | "integrity": "sha512-yXRiZMviDUGtwIgHi+ON+WCZgzncsrcXN/7lWSewvlBWy8oFQ47JPeMqBWI8uluz6TSon9Hq8ME3QuQHxoujXg==",
1042 | "dev": true,
1043 | "requires": {
1044 | "is-stream": "1.1.0",
1045 | "media-typer": "0.3.0",
1046 | "mri": "1.1.0",
1047 | "raw-body": "2.3.2"
1048 | }
1049 | },
1050 | "micro-compress": {
1051 | "version": "1.0.0",
1052 | "resolved": "https://registry.npmjs.org/micro-compress/-/micro-compress-1.0.0.tgz",
1053 | "integrity": "sha1-U/WoC0rQMgyhZaVZtuPfFF1PcE8=",
1054 | "dev": true,
1055 | "requires": {
1056 | "compression": "1.7.1"
1057 | }
1058 | },
1059 | "mime": {
1060 | "version": "1.4.1",
1061 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz",
1062 | "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==",
1063 | "dev": true
1064 | },
1065 | "mime-db": {
1066 | "version": "1.30.0",
1067 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz",
1068 | "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=",
1069 | "dev": true
1070 | },
1071 | "mime-types": {
1072 | "version": "2.1.17",
1073 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz",
1074 | "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=",
1075 | "dev": true,
1076 | "requires": {
1077 | "mime-db": "1.30.0"
1078 | }
1079 | },
1080 | "minimatch": {
1081 | "version": "3.0.4",
1082 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
1083 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
1084 | "dev": true,
1085 | "requires": {
1086 | "brace-expansion": "1.1.8"
1087 | }
1088 | },
1089 | "minimist": {
1090 | "version": "1.2.0",
1091 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
1092 | "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
1093 | "dev": true
1094 | },
1095 | "mri": {
1096 | "version": "1.1.0",
1097 | "resolved": "https://registry.npmjs.org/mri/-/mri-1.1.0.tgz",
1098 | "integrity": "sha1-XAo/KcjM/7ux7JQdzsCdcfoy82o=",
1099 | "dev": true
1100 | },
1101 | "ms": {
1102 | "version": "2.0.0",
1103 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
1104 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
1105 | "dev": true
1106 | },
1107 | "negotiator": {
1108 | "version": "0.6.1",
1109 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
1110 | "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=",
1111 | "dev": true
1112 | },
1113 | "node-version": {
1114 | "version": "1.1.0",
1115 | "resolved": "https://registry.npmjs.org/node-version/-/node-version-1.1.0.tgz",
1116 | "integrity": "sha512-t1V2RFiaTavaW3jtQO0A2nok6k7/Gghuvx2rjvICuT0B0dYaObBQ4U0xHL+ZTPFZodt1LMYG2Vi2nypfz4/AJg==",
1117 | "dev": true
1118 | },
1119 | "normalize-package-data": {
1120 | "version": "2.4.0",
1121 | "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
1122 | "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
1123 | "dev": true,
1124 | "requires": {
1125 | "hosted-git-info": "2.5.0",
1126 | "is-builtin-module": "1.0.0",
1127 | "semver": "5.4.1",
1128 | "validate-npm-package-license": "3.0.1"
1129 | }
1130 | },
1131 | "npm-run-all": {
1132 | "version": "4.1.2",
1133 | "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.2.tgz",
1134 | "integrity": "sha512-Z2aRlajMK4SQ8u19ZA75NZZu7wupfCNQWdYosIi8S6FgBdGf/8Y6Hgyjdc8zU2cYmIRVCx1nM80tJPkdEd+UYg==",
1135 | "dev": true,
1136 | "requires": {
1137 | "ansi-styles": "3.2.0",
1138 | "chalk": "2.3.0",
1139 | "cross-spawn": "5.1.0",
1140 | "memorystream": "0.3.1",
1141 | "minimatch": "3.0.4",
1142 | "ps-tree": "1.1.0",
1143 | "read-pkg": "3.0.0",
1144 | "shell-quote": "1.6.1",
1145 | "string.prototype.padend": "3.0.0"
1146 | }
1147 | },
1148 | "npm-run-path": {
1149 | "version": "2.0.2",
1150 | "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
1151 | "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
1152 | "dev": true,
1153 | "requires": {
1154 | "path-key": "2.0.1"
1155 | }
1156 | },
1157 | "number-is-nan": {
1158 | "version": "1.0.1",
1159 | "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
1160 | "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
1161 | "dev": true
1162 | },
1163 | "object-keys": {
1164 | "version": "1.0.11",
1165 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz",
1166 | "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=",
1167 | "dev": true
1168 | },
1169 | "on-finished": {
1170 | "version": "2.3.0",
1171 | "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
1172 | "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
1173 | "dev": true,
1174 | "requires": {
1175 | "ee-first": "1.1.1"
1176 | }
1177 | },
1178 | "on-headers": {
1179 | "version": "1.0.1",
1180 | "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz",
1181 | "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=",
1182 | "dev": true
1183 | },
1184 | "once": {
1185 | "version": "1.4.0",
1186 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
1187 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
1188 | "dev": true,
1189 | "requires": {
1190 | "wrappy": "1.0.2"
1191 | }
1192 | },
1193 | "openssl-self-signed-certificate": {
1194 | "version": "1.1.6",
1195 | "resolved": "https://registry.npmjs.org/openssl-self-signed-certificate/-/openssl-self-signed-certificate-1.1.6.tgz",
1196 | "integrity": "sha1-nTpHdrGlfphHNQOSEUrS+RWoPdQ=",
1197 | "dev": true
1198 | },
1199 | "opn": {
1200 | "version": "5.1.0",
1201 | "resolved": "https://registry.npmjs.org/opn/-/opn-5.1.0.tgz",
1202 | "integrity": "sha512-iPNl7SyM8L30Rm1sjGdLLheyHVw5YXVfi3SKWJzBI7efxRwHojfRFjwE/OLM6qp9xJYMgab8WicTU1cPoY+Hpg==",
1203 | "dev": true,
1204 | "requires": {
1205 | "is-wsl": "1.1.0"
1206 | }
1207 | },
1208 | "optimist": {
1209 | "version": "0.6.1",
1210 | "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
1211 | "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
1212 | "dev": true,
1213 | "requires": {
1214 | "minimist": "0.0.10",
1215 | "wordwrap": "0.0.3"
1216 | },
1217 | "dependencies": {
1218 | "minimist": {
1219 | "version": "0.0.10",
1220 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
1221 | "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=",
1222 | "dev": true
1223 | }
1224 | }
1225 | },
1226 | "p-finally": {
1227 | "version": "1.0.0",
1228 | "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
1229 | "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
1230 | "dev": true
1231 | },
1232 | "package-json": {
1233 | "version": "4.0.1",
1234 | "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz",
1235 | "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=",
1236 | "dev": true,
1237 | "requires": {
1238 | "got": "6.7.1",
1239 | "registry-auth-token": "3.3.1",
1240 | "registry-url": "3.1.0",
1241 | "semver": "5.4.1"
1242 | }
1243 | },
1244 | "parse-json": {
1245 | "version": "4.0.0",
1246 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
1247 | "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
1248 | "dev": true,
1249 | "requires": {
1250 | "error-ex": "1.3.1",
1251 | "json-parse-better-errors": "1.0.1"
1252 | }
1253 | },
1254 | "path-is-absolute": {
1255 | "version": "1.0.1",
1256 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
1257 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
1258 | "dev": true
1259 | },
1260 | "path-is-inside": {
1261 | "version": "1.0.2",
1262 | "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
1263 | "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
1264 | "dev": true
1265 | },
1266 | "path-key": {
1267 | "version": "2.0.1",
1268 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
1269 | "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
1270 | "dev": true
1271 | },
1272 | "path-type": {
1273 | "version": "3.0.0",
1274 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
1275 | "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
1276 | "dev": true,
1277 | "requires": {
1278 | "pify": "3.0.0"
1279 | }
1280 | },
1281 | "pause-stream": {
1282 | "version": "0.0.11",
1283 | "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz",
1284 | "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=",
1285 | "dev": true,
1286 | "requires": {
1287 | "through": "2.3.8"
1288 | }
1289 | },
1290 | "pify": {
1291 | "version": "3.0.0",
1292 | "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
1293 | "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
1294 | "dev": true
1295 | },
1296 | "pkginfo": {
1297 | "version": "0.4.1",
1298 | "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.1.tgz",
1299 | "integrity": "sha1-tUGO8EOd5UJfxJlQQtztFPsqhP8=",
1300 | "dev": true
1301 | },
1302 | "prepend-http": {
1303 | "version": "1.0.4",
1304 | "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
1305 | "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=",
1306 | "dev": true
1307 | },
1308 | "ps-tree": {
1309 | "version": "1.1.0",
1310 | "resolved": "https://registry.npmjs.org/ps-tree/-/ps-tree-1.1.0.tgz",
1311 | "integrity": "sha1-tCGyQUDWID8e08dplrRCewjowBQ=",
1312 | "dev": true,
1313 | "requires": {
1314 | "event-stream": "3.3.4"
1315 | }
1316 | },
1317 | "pseudomap": {
1318 | "version": "1.0.2",
1319 | "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
1320 | "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
1321 | "dev": true
1322 | },
1323 | "range-parser": {
1324 | "version": "1.2.0",
1325 | "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
1326 | "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=",
1327 | "dev": true
1328 | },
1329 | "raw-body": {
1330 | "version": "2.3.2",
1331 | "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz",
1332 | "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=",
1333 | "dev": true,
1334 | "requires": {
1335 | "bytes": "3.0.0",
1336 | "http-errors": "1.6.2",
1337 | "iconv-lite": "0.4.19",
1338 | "unpipe": "1.0.0"
1339 | }
1340 | },
1341 | "rc": {
1342 | "version": "1.2.2",
1343 | "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.2.tgz",
1344 | "integrity": "sha1-2M6ctX6NZNnHut2YdsfDTL48cHc=",
1345 | "dev": true,
1346 | "requires": {
1347 | "deep-extend": "0.4.2",
1348 | "ini": "1.3.5",
1349 | "minimist": "1.2.0",
1350 | "strip-json-comments": "2.0.1"
1351 | }
1352 | },
1353 | "read-pkg": {
1354 | "version": "3.0.0",
1355 | "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
1356 | "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
1357 | "dev": true,
1358 | "requires": {
1359 | "load-json-file": "4.0.0",
1360 | "normalize-package-data": "2.4.0",
1361 | "path-type": "3.0.0"
1362 | }
1363 | },
1364 | "registry-auth-token": {
1365 | "version": "3.3.1",
1366 | "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.1.tgz",
1367 | "integrity": "sha1-+w0yie4Nmtosu1KvXf5mywcNMAY=",
1368 | "dev": true,
1369 | "requires": {
1370 | "rc": "1.2.2",
1371 | "safe-buffer": "5.1.1"
1372 | }
1373 | },
1374 | "registry-url": {
1375 | "version": "3.1.0",
1376 | "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz",
1377 | "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=",
1378 | "dev": true,
1379 | "requires": {
1380 | "rc": "1.2.2"
1381 | }
1382 | },
1383 | "repeat-string": {
1384 | "version": "1.6.1",
1385 | "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
1386 | "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
1387 | "dev": true
1388 | },
1389 | "right-align": {
1390 | "version": "0.1.3",
1391 | "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
1392 | "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
1393 | "dev": true,
1394 | "optional": true,
1395 | "requires": {
1396 | "align-text": "0.1.4"
1397 | }
1398 | },
1399 | "rollup": {
1400 | "version": "0.52.0",
1401 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-0.52.0.tgz",
1402 | "integrity": "sha512-IQ+t5uoeMSHpDyeJj4uFVWj+ocS8sUbFPNKCssyCac3GVgLs62nFH6UdU0nGLRIxjasPaN7wGHEioVXbxXRaYQ==",
1403 | "dev": true
1404 | },
1405 | "safe-buffer": {
1406 | "version": "5.1.1",
1407 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
1408 | "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==",
1409 | "dev": true
1410 | },
1411 | "semver": {
1412 | "version": "5.4.1",
1413 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz",
1414 | "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==",
1415 | "dev": true
1416 | },
1417 | "semver-diff": {
1418 | "version": "2.1.0",
1419 | "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz",
1420 | "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=",
1421 | "dev": true,
1422 | "requires": {
1423 | "semver": "5.4.1"
1424 | }
1425 | },
1426 | "send": {
1427 | "version": "0.16.1",
1428 | "resolved": "https://registry.npmjs.org/send/-/send-0.16.1.tgz",
1429 | "integrity": "sha512-ElCLJdJIKPk6ux/Hocwhk7NFHpI3pVm/IZOYWqUmoxcgeyM+MpxHHKhb8QmlJDX1pU6WrgaHBkVNm73Sv7uc2A==",
1430 | "dev": true,
1431 | "requires": {
1432 | "debug": "2.6.9",
1433 | "depd": "1.1.1",
1434 | "destroy": "1.0.4",
1435 | "encodeurl": "1.0.1",
1436 | "escape-html": "1.0.3",
1437 | "etag": "1.8.1",
1438 | "fresh": "0.5.2",
1439 | "http-errors": "1.6.2",
1440 | "mime": "1.4.1",
1441 | "ms": "2.0.0",
1442 | "on-finished": "2.3.0",
1443 | "range-parser": "1.2.0",
1444 | "statuses": "1.3.1"
1445 | },
1446 | "dependencies": {
1447 | "statuses": {
1448 | "version": "1.3.1",
1449 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz",
1450 | "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=",
1451 | "dev": true
1452 | }
1453 | }
1454 | },
1455 | "serve": {
1456 | "version": "6.4.1",
1457 | "resolved": "https://registry.npmjs.org/serve/-/serve-6.4.1.tgz",
1458 | "integrity": "sha512-oKc03byDwYQPrOZpfvDTTkjuMtRhRyWRu961LSt/0Uvj0Bv5UPY3LaESfxl8vfaZWBTibzOZIdkyvIAQLXJZ0A==",
1459 | "dev": true,
1460 | "requires": {
1461 | "args": "3.0.7",
1462 | "basic-auth": "2.0.0",
1463 | "bluebird": "3.5.1",
1464 | "boxen": "1.2.2",
1465 | "chalk": "2.3.0",
1466 | "clipboardy": "1.1.4",
1467 | "dargs": "5.1.0",
1468 | "detect-port": "1.2.1",
1469 | "filesize": "3.5.11",
1470 | "fs-extra": "4.0.2",
1471 | "handlebars": "4.0.11",
1472 | "ip": "1.1.5",
1473 | "micro": "9.0.0",
1474 | "micro-compress": "1.0.0",
1475 | "mime-types": "2.1.17",
1476 | "node-version": "1.1.0",
1477 | "openssl-self-signed-certificate": "1.1.6",
1478 | "opn": "5.1.0",
1479 | "path-type": "3.0.0",
1480 | "send": "0.16.1",
1481 | "update-notifier": "2.3.0"
1482 | }
1483 | },
1484 | "setprototypeof": {
1485 | "version": "1.0.3",
1486 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz",
1487 | "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=",
1488 | "dev": true
1489 | },
1490 | "shebang-command": {
1491 | "version": "1.2.0",
1492 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
1493 | "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
1494 | "dev": true,
1495 | "requires": {
1496 | "shebang-regex": "1.0.0"
1497 | }
1498 | },
1499 | "shebang-regex": {
1500 | "version": "1.0.0",
1501 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
1502 | "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
1503 | "dev": true
1504 | },
1505 | "shell-quote": {
1506 | "version": "1.6.1",
1507 | "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz",
1508 | "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=",
1509 | "dev": true,
1510 | "requires": {
1511 | "array-filter": "0.0.1",
1512 | "array-map": "0.0.0",
1513 | "array-reduce": "0.0.0",
1514 | "jsonify": "0.0.0"
1515 | }
1516 | },
1517 | "signal-exit": {
1518 | "version": "3.0.2",
1519 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
1520 | "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
1521 | "dev": true
1522 | },
1523 | "slash": {
1524 | "version": "1.0.0",
1525 | "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
1526 | "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
1527 | "dev": true
1528 | },
1529 | "source-map": {
1530 | "version": "0.4.4",
1531 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
1532 | "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
1533 | "dev": true,
1534 | "requires": {
1535 | "amdefine": "1.0.1"
1536 | }
1537 | },
1538 | "spdx-correct": {
1539 | "version": "1.0.2",
1540 | "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz",
1541 | "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=",
1542 | "dev": true,
1543 | "requires": {
1544 | "spdx-license-ids": "1.2.2"
1545 | }
1546 | },
1547 | "spdx-expression-parse": {
1548 | "version": "1.0.4",
1549 | "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz",
1550 | "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=",
1551 | "dev": true
1552 | },
1553 | "spdx-license-ids": {
1554 | "version": "1.2.2",
1555 | "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz",
1556 | "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=",
1557 | "dev": true
1558 | },
1559 | "split": {
1560 | "version": "0.3.3",
1561 | "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz",
1562 | "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=",
1563 | "dev": true,
1564 | "requires": {
1565 | "through": "2.3.8"
1566 | }
1567 | },
1568 | "statuses": {
1569 | "version": "1.4.0",
1570 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz",
1571 | "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==",
1572 | "dev": true
1573 | },
1574 | "stream-combiner": {
1575 | "version": "0.0.4",
1576 | "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz",
1577 | "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=",
1578 | "dev": true,
1579 | "requires": {
1580 | "duplexer": "0.1.1"
1581 | }
1582 | },
1583 | "string-similarity": {
1584 | "version": "1.2.0",
1585 | "resolved": "https://registry.npmjs.org/string-similarity/-/string-similarity-1.2.0.tgz",
1586 | "integrity": "sha1-11FTyzg4RjGLejmo2SkrtNtOnDA=",
1587 | "dev": true,
1588 | "requires": {
1589 | "lodash": "4.17.4"
1590 | }
1591 | },
1592 | "string-width": {
1593 | "version": "2.1.1",
1594 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
1595 | "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
1596 | "dev": true,
1597 | "requires": {
1598 | "is-fullwidth-code-point": "2.0.0",
1599 | "strip-ansi": "4.0.0"
1600 | }
1601 | },
1602 | "string.prototype.padend": {
1603 | "version": "3.0.0",
1604 | "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.0.0.tgz",
1605 | "integrity": "sha1-86rvfBcZ8XDF6rHDK/eA2W4h8vA=",
1606 | "dev": true,
1607 | "requires": {
1608 | "define-properties": "1.1.2",
1609 | "es-abstract": "1.10.0",
1610 | "function-bind": "1.1.1"
1611 | }
1612 | },
1613 | "strip-ansi": {
1614 | "version": "4.0.0",
1615 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
1616 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
1617 | "dev": true,
1618 | "requires": {
1619 | "ansi-regex": "3.0.0"
1620 | }
1621 | },
1622 | "strip-bom": {
1623 | "version": "3.0.0",
1624 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
1625 | "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
1626 | "dev": true
1627 | },
1628 | "strip-eof": {
1629 | "version": "1.0.0",
1630 | "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
1631 | "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
1632 | "dev": true
1633 | },
1634 | "strip-json-comments": {
1635 | "version": "2.0.1",
1636 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
1637 | "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
1638 | "dev": true
1639 | },
1640 | "supports-color": {
1641 | "version": "4.5.0",
1642 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
1643 | "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
1644 | "dev": true,
1645 | "requires": {
1646 | "has-flag": "2.0.0"
1647 | }
1648 | },
1649 | "term-size": {
1650 | "version": "1.2.0",
1651 | "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz",
1652 | "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=",
1653 | "dev": true,
1654 | "requires": {
1655 | "execa": "0.7.0"
1656 | }
1657 | },
1658 | "through": {
1659 | "version": "2.3.8",
1660 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
1661 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
1662 | "dev": true
1663 | },
1664 | "timed-out": {
1665 | "version": "4.0.1",
1666 | "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz",
1667 | "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=",
1668 | "dev": true
1669 | },
1670 | "uglify-es": {
1671 | "version": "3.2.0",
1672 | "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.2.0.tgz",
1673 | "integrity": "sha512-eD4rjK4o6rzrvE1SMZJLQFEVMnWRUyIu6phJ0BXk5TIthMmP5B4QP0HI8o3bkQB5wf1N4WHA0leZAQyQBAd+Jg==",
1674 | "dev": true,
1675 | "requires": {
1676 | "commander": "2.12.2",
1677 | "source-map": "0.6.1"
1678 | },
1679 | "dependencies": {
1680 | "source-map": {
1681 | "version": "0.6.1",
1682 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
1683 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
1684 | "dev": true
1685 | }
1686 | }
1687 | },
1688 | "uglify-to-browserify": {
1689 | "version": "1.0.2",
1690 | "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
1691 | "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",
1692 | "dev": true,
1693 | "optional": true
1694 | },
1695 | "unique-string": {
1696 | "version": "1.0.0",
1697 | "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz",
1698 | "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=",
1699 | "dev": true,
1700 | "requires": {
1701 | "crypto-random-string": "1.0.0"
1702 | }
1703 | },
1704 | "universalify": {
1705 | "version": "0.1.1",
1706 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.1.tgz",
1707 | "integrity": "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc=",
1708 | "dev": true
1709 | },
1710 | "unpipe": {
1711 | "version": "1.0.0",
1712 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
1713 | "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
1714 | "dev": true
1715 | },
1716 | "unzip-response": {
1717 | "version": "2.0.1",
1718 | "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz",
1719 | "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=",
1720 | "dev": true
1721 | },
1722 | "update-notifier": {
1723 | "version": "2.3.0",
1724 | "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.3.0.tgz",
1725 | "integrity": "sha1-TognpruRUUCrCTVZ1wFOPruDdFE=",
1726 | "dev": true,
1727 | "requires": {
1728 | "boxen": "1.2.2",
1729 | "chalk": "2.3.0",
1730 | "configstore": "3.1.1",
1731 | "import-lazy": "2.1.0",
1732 | "is-installed-globally": "0.1.0",
1733 | "is-npm": "1.0.0",
1734 | "latest-version": "3.1.0",
1735 | "semver-diff": "2.1.0",
1736 | "xdg-basedir": "3.0.0"
1737 | }
1738 | },
1739 | "url-parse-lax": {
1740 | "version": "1.0.0",
1741 | "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz",
1742 | "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=",
1743 | "dev": true,
1744 | "requires": {
1745 | "prepend-http": "1.0.4"
1746 | }
1747 | },
1748 | "validate-npm-package-license": {
1749 | "version": "3.0.1",
1750 | "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz",
1751 | "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=",
1752 | "dev": true,
1753 | "requires": {
1754 | "spdx-correct": "1.0.2",
1755 | "spdx-expression-parse": "1.0.4"
1756 | }
1757 | },
1758 | "vary": {
1759 | "version": "1.1.2",
1760 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
1761 | "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
1762 | "dev": true
1763 | },
1764 | "watch": {
1765 | "version": "1.0.2",
1766 | "resolved": "https://registry.npmjs.org/watch/-/watch-1.0.2.tgz",
1767 | "integrity": "sha1-NApxe952Vyb6CqB9ch4BR6VR3ww=",
1768 | "dev": true,
1769 | "requires": {
1770 | "exec-sh": "0.2.1",
1771 | "minimist": "1.2.0"
1772 | }
1773 | },
1774 | "which": {
1775 | "version": "1.3.0",
1776 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz",
1777 | "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==",
1778 | "dev": true,
1779 | "requires": {
1780 | "isexe": "2.0.0"
1781 | }
1782 | },
1783 | "widest-line": {
1784 | "version": "1.0.0",
1785 | "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-1.0.0.tgz",
1786 | "integrity": "sha1-DAnIXCqUaD0Nfq+O4JfVZL8OEFw=",
1787 | "dev": true,
1788 | "requires": {
1789 | "string-width": "1.0.2"
1790 | },
1791 | "dependencies": {
1792 | "ansi-regex": {
1793 | "version": "2.1.1",
1794 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
1795 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
1796 | "dev": true
1797 | },
1798 | "is-fullwidth-code-point": {
1799 | "version": "1.0.0",
1800 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
1801 | "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
1802 | "dev": true,
1803 | "requires": {
1804 | "number-is-nan": "1.0.1"
1805 | }
1806 | },
1807 | "string-width": {
1808 | "version": "1.0.2",
1809 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
1810 | "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
1811 | "dev": true,
1812 | "requires": {
1813 | "code-point-at": "1.1.0",
1814 | "is-fullwidth-code-point": "1.0.0",
1815 | "strip-ansi": "3.0.1"
1816 | }
1817 | },
1818 | "strip-ansi": {
1819 | "version": "3.0.1",
1820 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
1821 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
1822 | "dev": true,
1823 | "requires": {
1824 | "ansi-regex": "2.1.1"
1825 | }
1826 | }
1827 | }
1828 | },
1829 | "window-size": {
1830 | "version": "0.1.0",
1831 | "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
1832 | "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
1833 | "dev": true,
1834 | "optional": true
1835 | },
1836 | "wordwrap": {
1837 | "version": "0.0.3",
1838 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
1839 | "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=",
1840 | "dev": true
1841 | },
1842 | "wrappy": {
1843 | "version": "1.0.2",
1844 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
1845 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
1846 | "dev": true
1847 | },
1848 | "write-file-atomic": {
1849 | "version": "2.3.0",
1850 | "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz",
1851 | "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==",
1852 | "dev": true,
1853 | "requires": {
1854 | "graceful-fs": "4.1.11",
1855 | "imurmurhash": "0.1.4",
1856 | "signal-exit": "3.0.2"
1857 | }
1858 | },
1859 | "xdg-basedir": {
1860 | "version": "3.0.0",
1861 | "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz",
1862 | "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=",
1863 | "dev": true
1864 | },
1865 | "yallist": {
1866 | "version": "2.1.2",
1867 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
1868 | "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
1869 | "dev": true
1870 | },
1871 | "yargs": {
1872 | "version": "3.10.0",
1873 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
1874 | "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
1875 | "dev": true,
1876 | "optional": true,
1877 | "requires": {
1878 | "camelcase": "1.2.1",
1879 | "cliui": "2.1.0",
1880 | "decamelize": "1.2.0",
1881 | "window-size": "0.1.0"
1882 | },
1883 | "dependencies": {
1884 | "camelcase": {
1885 | "version": "1.2.1",
1886 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
1887 | "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
1888 | "dev": true,
1889 | "optional": true
1890 | }
1891 | }
1892 | }
1893 | }
1894 | }
1895 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "boilerplate-next",
3 | "private": true,
4 | "scripts": {
5 | "build": "mkdir -p dist && run-s build:bundle build:minify",
6 | "build:bundle": "rollup --config",
7 | "build:minify": "node bin/minify.js",
8 | "watch": "npm run build && run-p watch:*",
9 | "watch:bundle": "npm run build:bundle -- --watch",
10 | "watch:minify": "watch 'npm run build:minify' src",
11 | "serve": "serve .",
12 | "dev": "run-p watch serve"
13 | },
14 | "devDependencies": {
15 | "globby": "^7.1.1",
16 | "minimist": "^1.2.0",
17 | "npm-run-all": "^4.1.2",
18 | "rollup": "^0.52.0",
19 | "serve": "^6.4.1",
20 | "uglify-es": "^3.2.0",
21 | "watch": "^1.0.2"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/readme.md:
--------------------------------------------------------------------------------
1 | # boilerplate
2 |
3 | ## License
4 |
5 | [MIT](https://1000ch.mit-license.org) © [Shogo Sensui](https://github.com/1000ch)
6 |
--------------------------------------------------------------------------------
/rollup.config.js:
--------------------------------------------------------------------------------
1 | export default {
2 | input: 'src/app.js',
3 | output: {
4 | file: 'dist/bundle.js',
5 | format: 'es'
6 | },
7 | watch: {
8 | include: 'src/*.js',
9 | exclude: 'node_modules',
10 | clearScreen: false
11 | }
12 | };
13 |
--------------------------------------------------------------------------------
/src/app.js:
--------------------------------------------------------------------------------
1 | import FancyButton from './fancy-button.js';
2 | import feature from './feature.js';
3 |
4 | if (feature.isCustomElementsSupported() && feature.isShadowDOMSupported()) {
5 | customElements.define('fancy-button', FancyButton);
6 | }
7 |
--------------------------------------------------------------------------------
/src/fancy-button.js:
--------------------------------------------------------------------------------
1 | export default class FancyButton extends HTMLElement {
2 | static get template() {
3 | return `
4 |
17 |
20 | `;
21 | }
22 |
23 | constructor() {
24 | super();
25 |
26 | this.attachShadow({
27 | mode: 'open'
28 | }).innerHTML = FancyButton.template;
29 |
30 | this.onClick = this.onClick.bind(this);
31 | this.button = this.shadowRoot.querySelector('button');
32 | }
33 |
34 | connectedCallback() {
35 | this.button.addEventListener('click', this.onClick);
36 | }
37 |
38 | disconnectedCallback() {
39 | this.button.removeEventListener('click', this.onClick);
40 | }
41 |
42 | onClick(e) {
43 | console.log('button is clicked');
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/src/feature.js:
--------------------------------------------------------------------------------
1 | export default {
2 | isCustomElementsSupported: () => {
3 | return Boolean(window.customElements !== undefined);
4 | },
5 | isShadowDOMSupported: () => {
6 | return Boolean(HTMLElement.prototype.attachShadow !== undefined);
7 | }
8 | };
9 |
--------------------------------------------------------------------------------