Merge branch 'release/0.13'
This commit is contained in:
commit
21530f9497
32 changed files with 2499 additions and 2282 deletions
|
|
@ -36,6 +36,10 @@ php:
|
|||
- 7.1
|
||||
- 7.2
|
||||
|
||||
matrix:
|
||||
allow_failures:
|
||||
- php: 7.2
|
||||
|
||||
before_install:
|
||||
- printf "\n" | pecl install imagick
|
||||
- cp .env.travis .env
|
||||
|
|
@ -49,6 +53,10 @@ install:
|
|||
- if [[ $setup = 'stable' ]]; then travis_retry composer update --no-interaction --prefer-dist --prefer-stable; fi
|
||||
- if [[ $setup = 'lowest' ]]; then travis_retry composer update --no-interaction --prefer-dist --prefer-lowest --prefer-stable; fi
|
||||
- travis/install-nginx.sh
|
||||
- . $HOME/.nvm/nvm.sh
|
||||
- nvm install stable
|
||||
- nvm use stable
|
||||
- npm i puppeteer
|
||||
|
||||
before_script:
|
||||
- php artisan key:generate
|
||||
|
|
|
|||
|
|
@ -13,6 +13,15 @@ class Bookmark extends Model
|
|||
*/
|
||||
protected $fillable = ['url', 'name', 'content'];
|
||||
|
||||
/**
|
||||
* The attributes that should be cast to native types.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $casts = [
|
||||
'syndicates' => 'array',
|
||||
];
|
||||
|
||||
/**
|
||||
* The tags that belong to the bookmark.
|
||||
*/
|
||||
|
|
|
|||
10
app/Exceptions/InternetArchiveErrorSavingException.php
Normal file
10
app/Exceptions/InternetArchiveErrorSavingException.php
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
<?php
|
||||
|
||||
namespace App\Exceptions;
|
||||
|
||||
use Exception;
|
||||
|
||||
class InternetArchiveErrorSavingException extends Exception
|
||||
{
|
||||
//
|
||||
}
|
||||
|
|
@ -3,14 +3,12 @@
|
|||
namespace App\Jobs;
|
||||
|
||||
use App\Bookmark;
|
||||
use Ramsey\Uuid\Uuid;
|
||||
use GuzzleHttp\Client;
|
||||
use Illuminate\Bus\Queueable;
|
||||
use Spatie\Browsershot\Browsershot;
|
||||
use Illuminate\Queue\SerializesModels;
|
||||
use Illuminate\Queue\InteractsWithQueue;
|
||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||
use Illuminate\Foundation\Bus\Dispatchable;
|
||||
use App\Exceptions\InternetArchiveErrorSavingException;
|
||||
|
||||
class ProcessBookmark implements ShouldQueue
|
||||
{
|
||||
|
|
@ -33,24 +31,18 @@ class ProcessBookmark implements ShouldQueue
|
|||
*
|
||||
* @return void
|
||||
*/
|
||||
public function handle(Browsershot $browsershot, Client $client)
|
||||
public function handle()
|
||||
{
|
||||
//save a local screenshot
|
||||
$uuid = Uuid::uuid4();
|
||||
$browsershot->url($this->bookmark->url)
|
||||
->windowSize(960, 640)
|
||||
->save(public_path() . '/assets/img/bookmarks/' . $uuid . '.png');
|
||||
$uuid = (new BookmarkService())->saveScreenshot($this->bookmark->url);
|
||||
$this->bookmark->screenshot = $uuid;
|
||||
|
||||
//get an internet archive link
|
||||
$response = $client->request('GET', 'https://web.archive.org/save/' . $this->bookmark->url);
|
||||
if ($response->hasHeader('Content-Location')) {
|
||||
if (starts_with($response->getHeader('Content-Location')[0], '/web')) {
|
||||
$this->bookmark->archive = $response->getHeader('Content-Location')[0];
|
||||
}
|
||||
try {
|
||||
$archiveLink = (new BookmarkService())->getArchiveLink($this->bookmark->url);
|
||||
} catch (InternetArchiveErrorSavingException $e) {
|
||||
$archiveLink = null;
|
||||
}
|
||||
$this->bookmark->archive = $archiveLink;
|
||||
|
||||
//save
|
||||
$this->bookmark->save();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -47,7 +47,9 @@ class SyndicateBookmarkToFacebook implements ShouldQueue
|
|||
//parse for syndication URL
|
||||
if ($response->getStatusCode() == 201) {
|
||||
$json = json_decode((string) $response->getBody());
|
||||
$this->bookmark->update(['syndicates->facebook' => $json->url]);
|
||||
$syndicates = $this->bookmark->syndicates;
|
||||
$syndicates['facebook'] = $json->url;
|
||||
$this->bookmark->syndicates = $syndicates;
|
||||
$this->bookmark->save();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -47,7 +47,9 @@ class SyndicateBookmarkToTwitter implements ShouldQueue
|
|||
//parse for syndication URL
|
||||
if ($response->getStatusCode() == 201) {
|
||||
$json = json_decode((string) $response->getBody());
|
||||
$this->bookmark->update(['syndicates->twitter' => $json->url]);
|
||||
$syndicates = $this->bookmark->syndicates;
|
||||
$syndicates['twitter'] = $json->url;
|
||||
$this->bookmark->syndicates = $syndicates;
|
||||
$this->bookmark->save();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,10 +6,14 @@ namespace App\Services;
|
|||
|
||||
use App\Tag;
|
||||
use App\Bookmark;
|
||||
use Ramsey\Uuid\Uuid;
|
||||
use GuzzleHttp\Client;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Jobs\ProcessBookmark;
|
||||
use Spatie\Browsershot\Browsershot;
|
||||
use App\Jobs\SyndicateBookmarkToTwitter;
|
||||
use App\Jobs\SyndicateBookmarkToFacebook;
|
||||
use App\Exceptions\InternetArchiveErrorSavingException;
|
||||
|
||||
class BookmarkService
|
||||
{
|
||||
|
|
@ -82,4 +86,38 @@ class BookmarkService
|
|||
|
||||
return $bookmark;
|
||||
}
|
||||
|
||||
public function saveScreenshot(string $url): string
|
||||
{
|
||||
$browsershot = new Browsershot();
|
||||
|
||||
$uuid = Uuid::uuid4();
|
||||
|
||||
$browsershot->url($url)
|
||||
->setIncludePath('$PATH:/usr/local/bin')
|
||||
->noSandbox()
|
||||
->windowSize(960, 640)
|
||||
->save(public_path() . '/assets/img/bookmarks/' . $uuid . '.png');
|
||||
|
||||
return $uuid->toString();
|
||||
}
|
||||
|
||||
public function getArchiveLink(string $url): string
|
||||
{
|
||||
$client = new Client();
|
||||
|
||||
$response = $client->request('GET', 'https://web.archive.org/save/' . $url);
|
||||
if ($response->hasHeader('Content-Location')) {
|
||||
if (starts_with($response->getHeader('Content-Location')[0], '/web')) {
|
||||
return $response->getHeader('Content-Location')[0];
|
||||
}
|
||||
}
|
||||
|
||||
if (starts_with(array_get($response->getHeader('Content-Location'), 0), '/web')) {
|
||||
return $response->getHeader('Content-Location')[0];
|
||||
}
|
||||
|
||||
//throw an exception to be caught
|
||||
throw new InternetArchiveErrorSavingException;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,9 @@
|
|||
# Changelog
|
||||
|
||||
## Version 0.13 (2017-11-17)
|
||||
- Update Browsershot to v3, uses puppeteer to control Chrome
|
||||
- Improve bookmarks syndication
|
||||
|
||||
## Version 0.12.6.1 (2017-11-13)
|
||||
- `.1` fixes a typo
|
||||
- Fix issue with generating image links from images uploaded to `/api/media`
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
"predis/predis": "~1.0",
|
||||
"ramsey/uuid": "^3.5",
|
||||
"sensiolabs/security-checker": "^4.0",
|
||||
"spatie/browsershot": "^2.4",
|
||||
"spatie/browsershot": "~3.0",
|
||||
"thujohn/twitter": "~2.0"
|
||||
},
|
||||
"require-dev": {
|
||||
|
|
@ -40,6 +40,7 @@
|
|||
"jakub-onderka/php-parallel-lint": "^0.9.2",
|
||||
"laravel/dusk": "^2.0",
|
||||
"mockery/mockery": "0.9.*",
|
||||
"nunomaduro/collision": "^1.1",
|
||||
"phpunit/phpunit": "~6.0",
|
||||
"sebastian/phpcpd": "^3.0"
|
||||
},
|
||||
|
|
|
|||
5257
composer.lock
generated
5257
composer.lock
generated
File diff suppressed because it is too large
Load diff
365
package-lock.json
generated
365
package-lock.json
generated
|
|
@ -165,6 +165,12 @@
|
|||
"resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz",
|
||||
"integrity": "sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk="
|
||||
},
|
||||
"any-observable": {
|
||||
"version": "0.2.0",
|
||||
"resolved": "https://registry.npmjs.org/any-observable/-/any-observable-0.2.0.tgz",
|
||||
"integrity": "sha1-xnhwBYADV5AJCD9UrAq6+1wz0kI=",
|
||||
"dev": true
|
||||
},
|
||||
"anymatch": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.0.tgz",
|
||||
|
|
@ -1552,6 +1558,12 @@
|
|||
"readdirp": "2.1.0"
|
||||
}
|
||||
},
|
||||
"ci-info": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.1.1.tgz",
|
||||
"integrity": "sha512-vHDDF/bP9RYpTWtUhpJRhCFdvvp3iDWvEbuDbWgvjUrNGV1MXJrE0MPcwGtEled04m61iwdBLUIHZtDgzWS4ZQ==",
|
||||
"dev": true
|
||||
},
|
||||
"cipher-base": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
|
||||
|
|
@ -1832,25 +1844,46 @@
|
|||
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
|
||||
},
|
||||
"cosmiconfig": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-1.1.0.tgz",
|
||||
"integrity": "sha1-DeoPmATv37kp+7GxiOJVU+oFPTc=",
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-3.1.0.tgz",
|
||||
"integrity": "sha512-zedsBhLSbPBms+kE7AH4vHg6JsKDz6epSv2/+5XHs8ILHlgDciSJfSWf8sX9aQ52Jb7KI7VswUTsLpR/G0cr2Q==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"graceful-fs": "4.1.11",
|
||||
"js-yaml": "3.8.4",
|
||||
"minimist": "1.2.0",
|
||||
"object-assign": "4.1.1",
|
||||
"os-homedir": "1.0.2",
|
||||
"parse-json": "2.2.0",
|
||||
"pinkie-promise": "2.0.1",
|
||||
"require-from-string": "1.2.1"
|
||||
"is-directory": "0.3.1",
|
||||
"js-yaml": "3.10.0",
|
||||
"parse-json": "3.0.0",
|
||||
"require-from-string": "2.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"minimist": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
|
||||
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
|
||||
"esprima": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz",
|
||||
"integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==",
|
||||
"dev": true
|
||||
},
|
||||
"js-yaml": {
|
||||
"version": "3.10.0",
|
||||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz",
|
||||
"integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"argparse": "1.0.9",
|
||||
"esprima": "4.0.0"
|
||||
}
|
||||
},
|
||||
"parse-json": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-3.0.0.tgz",
|
||||
"integrity": "sha1-+m9HsY4jgm6tMvJj50TQ4ehH+xM=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"error-ex": "1.3.1"
|
||||
}
|
||||
},
|
||||
"require-from-string": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.1.tgz",
|
||||
"integrity": "sha1-xUUjPp19pmFunVmt+zn8n1iGdv8=",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
|
|
@ -1999,6 +2032,12 @@
|
|||
"resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
|
||||
"integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA="
|
||||
},
|
||||
"dedent": {
|
||||
"version": "0.7.0",
|
||||
"resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz",
|
||||
"integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=",
|
||||
"dev": true
|
||||
},
|
||||
"deep-equal": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
|
||||
|
|
@ -2129,9 +2168,9 @@
|
|||
}
|
||||
},
|
||||
"earcut": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/earcut/-/earcut-2.1.1.tgz",
|
||||
"integrity": "sha1-FXY05fPrtCIk5HUBboalts5Va0U="
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/earcut/-/earcut-2.1.2.tgz",
|
||||
"integrity": "sha512-ji2b8qOVwK4WChYTbpKo983518wEqY2wrpkd85Us/LLw+3O7G0jGvGbHgQERuovrv3Cop9cEpiNkhqVQSkgTtA=="
|
||||
},
|
||||
"ecc-jsbn": {
|
||||
"version": "0.1.1",
|
||||
|
|
@ -2333,9 +2372,9 @@
|
|||
}
|
||||
},
|
||||
"eslint": {
|
||||
"version": "4.10.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-4.10.0.tgz",
|
||||
"integrity": "sha512-MMVl8P/dYUFZEvolL8PYt7qc5LNdS2lwheq9BYa5Y07FblhcZqFyaUqlS8TW5QITGex21tV4Lk0a3fK8lsJIkA==",
|
||||
"version": "4.11.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-4.11.0.tgz",
|
||||
"integrity": "sha512-UWbhQpaKlm8h5x/VLwm0S1kheMrDj8jPwhnBMjr/Dlo3qqT7MvcN/UfKAR3E1N4lr4YNtOvS4m3hwsrVc/ky7g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ajv": "5.3.0",
|
||||
|
|
@ -2346,7 +2385,7 @@
|
|||
"debug": "3.1.0",
|
||||
"doctrine": "2.0.0",
|
||||
"eslint-scope": "3.7.1",
|
||||
"espree": "3.5.1",
|
||||
"espree": "3.5.2",
|
||||
"esquery": "1.0.0",
|
||||
"estraverse": "4.2.0",
|
||||
"esutils": "2.0.2",
|
||||
|
|
@ -2359,7 +2398,7 @@
|
|||
"inquirer": "3.3.0",
|
||||
"is-resolvable": "1.0.0",
|
||||
"js-yaml": "3.10.0",
|
||||
"json-stable-stringify": "1.0.1",
|
||||
"json-stable-stringify-without-jsonify": "1.0.1",
|
||||
"levn": "0.3.0",
|
||||
"lodash": "4.17.4",
|
||||
"minimatch": "3.0.2",
|
||||
|
|
@ -2720,13 +2759,21 @@
|
|||
}
|
||||
},
|
||||
"espree": {
|
||||
"version": "3.5.1",
|
||||
"resolved": "https://registry.npmjs.org/espree/-/espree-3.5.1.tgz",
|
||||
"integrity": "sha1-DJiLirRttTEAoZVK5LqZXd0n2H4=",
|
||||
"version": "3.5.2",
|
||||
"resolved": "https://registry.npmjs.org/espree/-/espree-3.5.2.tgz",
|
||||
"integrity": "sha512-sadKeYwaR/aJ3stC2CdvgXu1T16TdYN+qwCpcWbMnGJ8s0zNWemzrvb2GbD4OhmJ/fwpJjudThAlLobGbWZbCQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"acorn": "5.1.1",
|
||||
"acorn": "5.2.1",
|
||||
"acorn-jsx": "3.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"acorn": {
|
||||
"version": "5.2.1",
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-5.2.1.tgz",
|
||||
"integrity": "sha512-jG0u7c4Ly+3QkkW18V+NRDN+4bWHdln30NL1ZL2AvFZZmQe/BfopYCtghCKKVBUSetZ4QKcyA0pY6/4Gw8Pv8w==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"esprima": {
|
||||
|
|
@ -2857,6 +2904,14 @@
|
|||
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
|
||||
"integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ="
|
||||
},
|
||||
"extend-shallow": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
|
||||
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
|
||||
"requires": {
|
||||
"is-extendable": "0.1.1"
|
||||
}
|
||||
},
|
||||
"external-editor": {
|
||||
"version": "2.0.5",
|
||||
"resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.0.5.tgz",
|
||||
|
|
@ -2971,6 +3026,12 @@
|
|||
"pkg-dir": "2.0.0"
|
||||
}
|
||||
},
|
||||
"find-parent-dir": {
|
||||
"version": "0.3.0",
|
||||
"resolved": "https://registry.npmjs.org/find-parent-dir/-/find-parent-dir-0.3.0.tgz",
|
||||
"integrity": "sha1-M8RLQpqysvBkYpnF+fcY83b/jVQ=",
|
||||
"dev": true
|
||||
},
|
||||
"find-up": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
|
||||
|
|
@ -2999,9 +3060,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"flow-remove-types": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/flow-remove-types/-/flow-remove-types-1.2.1.tgz",
|
||||
"integrity": "sha1-WOJhv4uEK9I0yGyvuYKhITr/Dts=",
|
||||
"version": "1.2.3",
|
||||
"resolved": "https://registry.npmjs.org/flow-remove-types/-/flow-remove-types-1.2.3.tgz",
|
||||
"integrity": "sha512-ypq/U3V+t9atYiOuSJd40tekCra03EHKoRsiK/wXGrsZimuum0kdwVY7Yv0HTaoXgHW1WiayomYd+Q3kkvPl9Q==",
|
||||
"requires": {
|
||||
"babylon": "6.17.4",
|
||||
"vlq": "0.2.3"
|
||||
|
|
@ -4143,16 +4204,43 @@
|
|||
"url-parse-lax": "1.0.0"
|
||||
}
|
||||
},
|
||||
"gr-event-dispatcher": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/gr-event-dispatcher/-/gr-event-dispatcher-1.1.1.tgz",
|
||||
"integrity": "sha1-BvAVBnIgkTOqijH29ukQU/J9EnY="
|
||||
},
|
||||
"graceful-fs": {
|
||||
"version": "4.1.11",
|
||||
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
|
||||
"integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg="
|
||||
},
|
||||
"gray-matter": {
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-3.1.1.tgz",
|
||||
"integrity": "sha512-nZ1qjLmayEv0/wt3sHig7I0s3/sJO0dkAaKYQ5YAOApUtYEOonXSFdWvL1khvnZMTvov4UufkqlFsilPnejEXA==",
|
||||
"requires": {
|
||||
"extend-shallow": "2.0.1",
|
||||
"js-yaml": "3.10.0",
|
||||
"kind-of": "5.1.0",
|
||||
"strip-bom-string": "1.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"esprima": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz",
|
||||
"integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw=="
|
||||
},
|
||||
"js-yaml": {
|
||||
"version": "3.10.0",
|
||||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz",
|
||||
"integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==",
|
||||
"requires": {
|
||||
"argparse": "1.0.9",
|
||||
"esprima": "4.0.0"
|
||||
}
|
||||
},
|
||||
"kind-of": {
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
|
||||
"integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"grid-index": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/grid-index/-/grid-index-1.0.0.tgz",
|
||||
|
|
@ -4301,6 +4389,31 @@
|
|||
"integrity": "sha1-P5E2XKvmC3ftDruiS0VOPgnZWoI=",
|
||||
"dev": true
|
||||
},
|
||||
"husky": {
|
||||
"version": "0.14.3",
|
||||
"resolved": "https://registry.npmjs.org/husky/-/husky-0.14.3.tgz",
|
||||
"integrity": "sha512-e21wivqHpstpoiWA/Yi8eFti8E+sQDSS53cpJsPptPs295QTOQR0ZwnHo2TXy1XOpZFD9rPOd3NpmqTK6uMLJA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"is-ci": "1.0.10",
|
||||
"normalize-path": "1.0.0",
|
||||
"strip-indent": "2.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"normalize-path": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-1.0.0.tgz",
|
||||
"integrity": "sha1-MtDkcvkf80VwHBWoMRAY07CpA3k=",
|
||||
"dev": true
|
||||
},
|
||||
"strip-indent": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz",
|
||||
"integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"iconv-lite": {
|
||||
"version": "0.4.19",
|
||||
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
|
||||
|
|
@ -4436,6 +4549,15 @@
|
|||
"builtin-modules": "1.1.1"
|
||||
}
|
||||
},
|
||||
"is-ci": {
|
||||
"version": "1.0.10",
|
||||
"resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.0.10.tgz",
|
||||
"integrity": "sha1-9zkzayYyNlBhqdSCcM1WrjNpMY4=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ci-info": "1.1.1"
|
||||
}
|
||||
},
|
||||
"is-directory": {
|
||||
"version": "0.3.1",
|
||||
"resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz",
|
||||
|
|
@ -4460,8 +4582,7 @@
|
|||
"is-extendable": {
|
||||
"version": "0.1.1",
|
||||
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
|
||||
"integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
|
||||
"dev": true
|
||||
"integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik="
|
||||
},
|
||||
"is-extglob": {
|
||||
"version": "1.0.0",
|
||||
|
|
@ -4513,6 +4634,15 @@
|
|||
"resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
|
||||
"integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8="
|
||||
},
|
||||
"is-observable": {
|
||||
"version": "0.2.0",
|
||||
"resolved": "https://registry.npmjs.org/is-observable/-/is-observable-0.2.0.tgz",
|
||||
"integrity": "sha1-s2ExHYPG5dcmyr9eJQsCNxBvWuI=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"symbol-observable": "0.2.4"
|
||||
}
|
||||
},
|
||||
"is-path-cwd": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
|
||||
|
|
@ -4637,7 +4767,7 @@
|
|||
"integrity": "sha512-k4HLI1rZQjlU+EC682RlQ6oZvLrE5SCh3brseQc24vbZTxzT/k/3urar5QMCVgjadmSO7lECeGdc6YxnM3yEGg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"chalk": "2.2.0",
|
||||
"chalk": "2.3.0",
|
||||
"jest-get-type": "21.2.0",
|
||||
"leven": "2.1.0",
|
||||
"pretty-format": "21.2.1"
|
||||
|
|
@ -4653,9 +4783,9 @@
|
|||
}
|
||||
},
|
||||
"chalk": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.2.0.tgz",
|
||||
"integrity": "sha512-0BMM/2hG3ZaoPfR6F+h/oWpZtsh3b/s62TjSM6MGCJWEbJDN1acqCXvyhhZsDSVFklpebUoQ5O1kKC7lOzrn9g==",
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz",
|
||||
"integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ansi-styles": "3.2.0",
|
||||
|
|
@ -4738,6 +4868,12 @@
|
|||
"jsonify": "0.0.0"
|
||||
}
|
||||
},
|
||||
"json-stable-stringify-without-jsonify": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
|
||||
"integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
|
||||
"dev": true
|
||||
},
|
||||
"json-stringify-safe": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
|
||||
|
|
@ -4846,24 +4982,28 @@
|
|||
}
|
||||
},
|
||||
"lint-staged": {
|
||||
"version": "4.3.0",
|
||||
"resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-4.3.0.tgz",
|
||||
"integrity": "sha512-C/Zxslg0VRbsxwmCu977iIs+QyrmW2cyRCPUV5NDFYOH/jtRFHH8ch7ua2fH0voI/nVC3Tpg7DykfgMZySliKw==",
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-5.0.0.tgz",
|
||||
"integrity": "sha512-nKwjLlYOd6Eqog3cg3aDulrRfLkR3GPasqTI7+3ZKucLATqay86wOaEM0gtYVmTS0/ihHSARnOWduAqNJZAbeQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"app-root-path": "2.0.1",
|
||||
"chalk": "2.2.0",
|
||||
"chalk": "2.3.0",
|
||||
"commander": "2.11.0",
|
||||
"cosmiconfig": "1.1.0",
|
||||
"cosmiconfig": "3.1.0",
|
||||
"dedent": "0.7.0",
|
||||
"execa": "0.8.0",
|
||||
"find-parent-dir": "0.3.0",
|
||||
"is-glob": "4.0.0",
|
||||
"jest-validate": "21.2.1",
|
||||
"listr": "0.12.0",
|
||||
"listr": "0.13.0",
|
||||
"lodash": "4.17.4",
|
||||
"log-symbols": "2.1.0",
|
||||
"minimatch": "3.0.2",
|
||||
"npm-which": "3.0.1",
|
||||
"p-map": "1.2.0",
|
||||
"path-is-inside": "1.0.2",
|
||||
"pify": "3.0.0",
|
||||
"staged-git-files": "0.0.4",
|
||||
"stringify-object": "3.2.1"
|
||||
},
|
||||
|
|
@ -4878,9 +5018,9 @@
|
|||
}
|
||||
},
|
||||
"chalk": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.2.0.tgz",
|
||||
"integrity": "sha512-0BMM/2hG3ZaoPfR6F+h/oWpZtsh3b/s62TjSM6MGCJWEbJDN1acqCXvyhhZsDSVFklpebUoQ5O1kKC7lOzrn9g==",
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz",
|
||||
"integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ansi-styles": "3.2.0",
|
||||
|
|
@ -4903,6 +5043,12 @@
|
|||
"is-extglob": "2.1.1"
|
||||
}
|
||||
},
|
||||
"pify": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
|
||||
"integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
|
||||
"dev": true
|
||||
},
|
||||
"supports-color": {
|
||||
"version": "4.5.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
|
||||
|
|
@ -4915,26 +5061,27 @@
|
|||
}
|
||||
},
|
||||
"listr": {
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/listr/-/listr-0.12.0.tgz",
|
||||
"integrity": "sha1-a84sD1YD+klYDqF81qAMwOX6RRo=",
|
||||
"version": "0.13.0",
|
||||
"resolved": "https://registry.npmjs.org/listr/-/listr-0.13.0.tgz",
|
||||
"integrity": "sha1-ILsLowuuZg7oTMBQPfS+PVYjiH0=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"chalk": "1.1.3",
|
||||
"cli-truncate": "0.2.1",
|
||||
"figures": "1.7.0",
|
||||
"indent-string": "2.1.0",
|
||||
"is-observable": "0.2.0",
|
||||
"is-promise": "2.1.0",
|
||||
"is-stream": "1.1.0",
|
||||
"listr-silent-renderer": "1.1.1",
|
||||
"listr-update-renderer": "0.2.0",
|
||||
"listr-verbose-renderer": "0.4.0",
|
||||
"listr-update-renderer": "0.4.0",
|
||||
"listr-verbose-renderer": "0.4.1",
|
||||
"log-symbols": "1.0.2",
|
||||
"log-update": "1.0.2",
|
||||
"ora": "0.2.3",
|
||||
"p-map": "1.2.0",
|
||||
"rxjs": "5.5.0",
|
||||
"stream-to-observable": "0.1.0",
|
||||
"rxjs": "5.5.2",
|
||||
"stream-to-observable": "0.2.0",
|
||||
"strip-ansi": "3.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
|
|
@ -4956,9 +5103,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"listr-update-renderer": {
|
||||
"version": "0.2.0",
|
||||
"resolved": "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.2.0.tgz",
|
||||
"integrity": "sha1-yoDhd5tOcCZoB+ju0a1qvjmFUPk=",
|
||||
"version": "0.4.0",
|
||||
"resolved": "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.4.0.tgz",
|
||||
"integrity": "sha1-NE2YDaLKLosUW6MFkI8yrj9MyKc=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"chalk": "1.1.3",
|
||||
|
|
@ -4989,9 +5136,9 @@
|
|||
}
|
||||
},
|
||||
"listr-verbose-renderer": {
|
||||
"version": "0.4.0",
|
||||
"resolved": "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.4.0.tgz",
|
||||
"integrity": "sha1-RNwBuww0oDxXIVTU0Izemx3FYg8=",
|
||||
"version": "0.4.1",
|
||||
"resolved": "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.4.1.tgz",
|
||||
"integrity": "sha1-ggb0z21S3cWCfl/RSYng6WWTOjU=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"chalk": "1.1.3",
|
||||
|
|
@ -5249,9 +5396,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"mapbox-gl": {
|
||||
"version": "0.41.0",
|
||||
"resolved": "https://registry.npmjs.org/mapbox-gl/-/mapbox-gl-0.41.0.tgz",
|
||||
"integrity": "sha512-4U4/nhhJhqEqwHK3GSHiBL8STNRQiPkjqZKBivDS18Tuo4A1SPR/PVoSTMZeAqAJWToM9ENWDHSKyj8VKqILxw==",
|
||||
"version": "0.42.0",
|
||||
"resolved": "https://registry.npmjs.org/mapbox-gl/-/mapbox-gl-0.42.0.tgz",
|
||||
"integrity": "sha512-/2nij4njYsy6+VGzzntwRmndCsIKVY0I/ayHrpEHZbGKoh2ONXa1ZYbGSyud57alamrfuHMocTE2woRmKgBOyQ==",
|
||||
"requires": {
|
||||
"@mapbox/gl-matrix": "0.0.1",
|
||||
"@mapbox/point-geometry": "0.1.0",
|
||||
|
|
@ -5263,9 +5410,10 @@
|
|||
"brfs": "1.4.3",
|
||||
"bubleify": "0.7.0",
|
||||
"csscolorparser": "1.0.3",
|
||||
"earcut": "2.1.1",
|
||||
"earcut": "2.1.2",
|
||||
"geojson-rewind": "0.2.0",
|
||||
"geojson-vt": "2.4.0",
|
||||
"gray-matter": "3.1.1",
|
||||
"grid-index": "1.0.0",
|
||||
"jsonlint-lines-primitives": "1.6.0",
|
||||
"lodash.isequal": "3.0.4",
|
||||
|
|
@ -5280,10 +5428,10 @@
|
|||
"supercluster": "2.3.0",
|
||||
"through2": "2.0.3",
|
||||
"tinyqueue": "1.2.3",
|
||||
"unassertify": "2.0.4",
|
||||
"unassertify": "2.1.0",
|
||||
"unflowify": "1.0.1",
|
||||
"vt-pbf": "3.0.1",
|
||||
"webworkify": "1.4.0"
|
||||
"vt-pbf": "3.1.0",
|
||||
"webworkify": "1.5.0"
|
||||
}
|
||||
},
|
||||
"mapbox-gl-supported": {
|
||||
|
|
@ -7215,12 +7363,20 @@
|
|||
}
|
||||
},
|
||||
"rxjs": {
|
||||
"version": "5.5.0",
|
||||
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.0.tgz",
|
||||
"integrity": "sha512-vmvP5y/oJIJmXKHY36PIjVeI/46Sny6BMBa7/ou2zsNz1PiqU/Gtcz1GujnHz5Qlxncv+J9VlWmttnshqFj3Kg==",
|
||||
"version": "5.5.2",
|
||||
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.2.tgz",
|
||||
"integrity": "sha512-oRYoIKWBU3Ic37fLA5VJu31VqQO4bWubRntcHSJ+cwaDQBwdnZ9x4zmhJfm/nFQ2E82/I4loSioHnACamrKGgA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"symbol-observable": "1.0.4"
|
||||
},
|
||||
"dependencies": {
|
||||
"symbol-observable": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.4.tgz",
|
||||
"integrity": "sha1-Kb9hXUqnEhvdiYsi1LP5vE4qoD0=",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"safe-buffer": {
|
||||
|
|
@ -7751,10 +7907,13 @@
|
|||
"integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI="
|
||||
},
|
||||
"stream-to-observable": {
|
||||
"version": "0.1.0",
|
||||
"resolved": "https://registry.npmjs.org/stream-to-observable/-/stream-to-observable-0.1.0.tgz",
|
||||
"integrity": "sha1-Rb8dny19wJvtgfHDB8Qw5ouEz/4=",
|
||||
"dev": true
|
||||
"version": "0.2.0",
|
||||
"resolved": "https://registry.npmjs.org/stream-to-observable/-/stream-to-observable-0.2.0.tgz",
|
||||
"integrity": "sha1-WdbqOT2HwsDdrBCqDVYbxrpvDhA=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"any-observable": "0.2.0"
|
||||
}
|
||||
},
|
||||
"string-length": {
|
||||
"version": "1.0.1",
|
||||
|
|
@ -7821,6 +7980,11 @@
|
|||
"is-utf8": "0.2.1"
|
||||
}
|
||||
},
|
||||
"strip-bom-string": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz",
|
||||
"integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI="
|
||||
},
|
||||
"strip-eof": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
|
||||
|
|
@ -8091,9 +8255,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"symbol-observable": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.4.tgz",
|
||||
"integrity": "sha1-Kb9hXUqnEhvdiYsi1LP5vE4qoD0=",
|
||||
"version": "0.2.4",
|
||||
"resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-0.2.4.tgz",
|
||||
"integrity": "sha1-lag9smGG1q9+ehjb2XYKL4bQj0A=",
|
||||
"dev": true
|
||||
},
|
||||
"table": {
|
||||
|
|
@ -8327,9 +8491,9 @@
|
|||
"integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
|
||||
},
|
||||
"uglify-js": {
|
||||
"version": "3.1.8",
|
||||
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.1.8.tgz",
|
||||
"integrity": "sha512-1lnTkrJWw6LJ7n43ZyYVXx0eN2PQh0c3Inb0nY/vj5fNfwykXQFif2kvNgm/Bf0ClLA8R6SKaMHFzo9io4Q+vg==",
|
||||
"version": "3.1.9",
|
||||
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.1.9.tgz",
|
||||
"integrity": "sha512-ari2E89bD7f+fMU173NgF12JBcOhgoxeyuCs97h5K58IBENrnG9eVj2lFadrOPdqf0KifsxVmUQfzA2cHNxCZQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"commander": "2.11.0",
|
||||
|
|
@ -8421,11 +8585,11 @@
|
|||
}
|
||||
},
|
||||
"unassertify": {
|
||||
"version": "2.0.4",
|
||||
"resolved": "https://registry.npmjs.org/unassertify/-/unassertify-2.0.4.tgz",
|
||||
"integrity": "sha1-s8orpfKbSDbjWm3Xflsg9tu/jlI=",
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/unassertify/-/unassertify-2.1.0.tgz",
|
||||
"integrity": "sha512-CB3C3vbOwrZydRuGdU8H421r4/qhM8RLuEOo3G+wEFf7kDP4TR+7oDuj1yOik5pUzXMaJmzxICM7akupP1AlJw==",
|
||||
"requires": {
|
||||
"acorn": "4.0.13",
|
||||
"acorn": "5.1.1",
|
||||
"convert-source-map": "1.5.0",
|
||||
"escodegen": "1.9.0",
|
||||
"multi-stage-sourcemap": "0.2.1",
|
||||
|
|
@ -8433,11 +8597,6 @@
|
|||
"unassert": "1.5.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"acorn": {
|
||||
"version": "4.0.13",
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz",
|
||||
"integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c="
|
||||
},
|
||||
"escodegen": {
|
||||
"version": "1.9.0",
|
||||
"resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.0.tgz",
|
||||
|
|
@ -8473,7 +8632,7 @@
|
|||
"resolved": "https://registry.npmjs.org/unflowify/-/unflowify-1.0.1.tgz",
|
||||
"integrity": "sha1-ouoNJcCv/MRpVeZHNXX3xaH0ppY=",
|
||||
"requires": {
|
||||
"flow-remove-types": "1.2.1",
|
||||
"flow-remove-types": "1.2.3",
|
||||
"through": "2.3.8"
|
||||
}
|
||||
},
|
||||
|
|
@ -8660,9 +8819,9 @@
|
|||
}
|
||||
},
|
||||
"vt-pbf": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/vt-pbf/-/vt-pbf-3.0.1.tgz",
|
||||
"integrity": "sha512-urEI/S1MF+qT1LNe539pCb0iCQ7CXppaNrYCp0KnnN0G558R3F33GPmQpDguf7FDDByRuc8z+Mr/J2DKcl/1WA==",
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/vt-pbf/-/vt-pbf-3.1.0.tgz",
|
||||
"integrity": "sha512-UUCGPkpT1P/bm3R3/HX0SCnRSto44xXx0WuLFVG6C7KspdfQfU+84etoO6cITAGCdq8V5DjuWfDhvk/pyTyt3Q==",
|
||||
"requires": {
|
||||
"@mapbox/point-geometry": "0.1.0",
|
||||
"@mapbox/vector-tile": "1.3.0",
|
||||
|
|
@ -8691,14 +8850,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"webStorage": {
|
||||
"version": "1.2.4",
|
||||
"resolved": "https://registry.npmjs.org/webStorage/-/webStorage-1.2.4.tgz",
|
||||
"integrity": "sha1-/jNN8N5uLe58i9A2uxVaw115FTY=",
|
||||
"requires": {
|
||||
"gr-event-dispatcher": "1.1.1"
|
||||
}
|
||||
},
|
||||
"webpack": {
|
||||
"version": "3.8.1",
|
||||
"resolved": "https://registry.npmjs.org/webpack/-/webpack-3.8.1.tgz",
|
||||
|
|
@ -8956,9 +9107,9 @@
|
|||
}
|
||||
},
|
||||
"webworkify": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/webworkify/-/webworkify-1.4.0.tgz",
|
||||
"integrity": "sha1-cSRdHjTKz1TkJr2VX4zG7hLQJMI="
|
||||
"version": "1.5.0",
|
||||
"resolved": "https://registry.npmjs.org/webworkify/-/webworkify-1.5.0.tgz",
|
||||
"integrity": "sha512-AMcUeyXAhbACL8S2hqqdqOLqvJ8ylmIbNwUIqQujRSouf4+eUFaXbG6F1Rbu+srlJMmxQWsiU7mOJi0nMBfM1g=="
|
||||
},
|
||||
"wgs84": {
|
||||
"version": "0.0.0",
|
||||
|
|
|
|||
30
package.json
30
package.json
|
|
@ -6,10 +6,9 @@
|
|||
"license": "CC0-1.0",
|
||||
"dependencies": {
|
||||
"alertify.js": "^1.0.12",
|
||||
"mapbox-gl": "^0.41.0",
|
||||
"mapbox-gl": "^0.42.0",
|
||||
"marked": "^0.3.6",
|
||||
"normalize.css": "^7.0.0",
|
||||
"webStorage": "^1.2.4"
|
||||
"normalize.css": "^7.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"ajv": "^5.3.0",
|
||||
|
|
@ -22,42 +21,45 @@
|
|||
"babel-preset-latest": "^6.16.0",
|
||||
"babel-runtime": "^6.26.0",
|
||||
"dotenv-webpack": "^1.5.4",
|
||||
"eslint": "^4.10.0",
|
||||
"eslint": "^4.11.0",
|
||||
"eslint-config-standard": "^10.2.1",
|
||||
"eslint-plugin-import": "^2.8.0",
|
||||
"eslint-plugin-node": "^5.2.1",
|
||||
"eslint-plugin-promise": "^3.6.0",
|
||||
"eslint-plugin-standard": "^3.0.1",
|
||||
"lint-staged": "^4.3.0",
|
||||
"husky": "^0.14.3",
|
||||
"lint-staged": "^5.0.0",
|
||||
"postcss-cli": "^4.1.1",
|
||||
"pre-commit": "^1.1.3",
|
||||
"source-list-map": "^2.0.0",
|
||||
"stylelint": "^8.2.0",
|
||||
"stylelint-config-standard": "^17.0.0",
|
||||
"uglify-js": "^3.1.8",
|
||||
"uglify-js": "^3.1.9",
|
||||
"webpack": "^3.8.1",
|
||||
"webpack-sources": "^1.0.2"
|
||||
},
|
||||
"scripts": {
|
||||
"compress": "scripts/compress",
|
||||
"copy-dist": "cp ./node_modules/mapbox-gl/dist/mapbox-gl.css ./public/assets/frontend/ && cp ./node_modules/alertify.js/dist/css/alertify.css ./public/assets/frontend/ && cp ./node_modules/normalize.css/normalize.css ./public/assets/frontend/",
|
||||
"lint-staged": "lint-staged",
|
||||
"lint:es6": "eslint resources/assets/es6/*.js",
|
||||
"lint:sass": "stylelint --syntax=scss resources/assets/sass/**/*.scss",
|
||||
"make": "npm run make:css && npm run make:js",
|
||||
"make:css": "npm run lint:sass && npm run sass && npm run postcss",
|
||||
"make:js": "npm run lint:es6 && npm run webpack && npm run uglifyjs",
|
||||
"postcss": "postcss public/assets/css/app.css --use autoprefixer --autoprefixer.browsers \"> 5%\" --replace --map",
|
||||
"precommit": "lint-staged",
|
||||
"sass": "sassc --style compressed --sourcemap resources/assets/sass/app.scss public/assets/css/app.css",
|
||||
"stylelint-staged": "stylelint --syntax=scss",
|
||||
"uglifyjs": "scripts/uglifyjs",
|
||||
"webpack": "webpack --progress --colors"
|
||||
},
|
||||
"lint-staged": {
|
||||
"resources/assets/es6/*.js": "eslint",
|
||||
"resources/assets/sass/**/*.scss": "stylelint-staged"
|
||||
},
|
||||
"pre-commit": [
|
||||
"lint-staged"
|
||||
]
|
||||
"resources/assets/es6/*.js": [
|
||||
"eslint --fix",
|
||||
"git add"
|
||||
],
|
||||
"resources/assets/sass/**/*.scss": [
|
||||
"stylelint --syntax=scss --fix",
|
||||
"git add"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
|||
4
public/assets/frontend/mapbox-gl.css
vendored
4
public/assets/frontend/mapbox-gl.css
vendored
|
|
@ -4,6 +4,10 @@
|
|||
position: relative;
|
||||
-webkit-tap-highlight-color: rgba(0,0,0,0);
|
||||
}
|
||||
.mapboxgl-map:-webkit-full-screen {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.mapboxgl-missing-css {
|
||||
display: none;
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
|
|
@ -1 +1 @@
|
|||
{"version":3,"sources":["webpack:///webpack/bootstrap 9314bc4cbb6b06151377","webpack:///colours.js"],"names":["__webpack_require__","moduleId","installedModules","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","css","document","querySelector","getAttribute","split","pop","getElementById","value","form","childNodes","addEventListener","e","preventDefault","newCss","link","parts","push","setAttribute","join","formData","FormData","fetch","method","credentials","body","catch","error","console","warn"],"mappings":"mBAIA,SAAAA,oBAAAC,UAGA,GAAAC,iBAAAD,UACA,OAAAC,iBAAAD,UAAAE,QAGA,IAAAC,OAAAF,iBAAAD,WACAI,EAAAJ,SACAK,GAAA,EACAH,YAUA,OANAI,QAAAN,UAAAO,KAAAJ,OAAAD,QAAAC,OAAAA,OAAAD,QAAAH,qBAGAI,OAAAE,GAAA,EAGAF,OAAAD,QAvBA,IAAAD,oBA4BAF,oBAAAS,EAAAF,QAGAP,oBAAAU,EAAAR,iBAGAF,oBAAAW,EAAA,SAAAR,QAAAS,KAAAC,QACAb,oBAAAc,EAAAX,QAAAS,OACAG,OAAAC,eAAAb,QAAAS,MACAK,cAAA,EACAC,YAAA,EACAC,IAAAN,UAMAb,oBAAAoB,EAAA,SAAAhB,QACA,IAAAS,OAAAT,QAAAA,OAAAiB,WACA,WAA2B,OAAAjB,OAAA,SAC3B,WAAiC,OAAAA,QAEjC,OADAJ,oBAAAW,EAAAE,OAAA,IAAAA,QACAA,QAIAb,oBAAAc,EAAA,SAAAQ,OAAAC,UAAsD,OAAAR,OAAAS,UAAAC,eAAAjB,KAAAc,OAAAC,WAGtDvB,oBAAA0B,EAAA,GAGA1B,oBAAAA,oBAAA2B,EAAA,iEC3DA,IAEIC,IAFOC,SAASC,cAAc,iBAEnBC,aAAa,QAAQC,MAAM,KAAKC,MAG/CJ,SAASK,eAAe,sBAAsBC,MAAQP,IAGtD,IAAIQ,KAAOP,SAASK,eAAe,oBACzBE,KAAKC,WAAW,GACtBC,iBAAiB,QAAS,SAAUC,GACpCA,EAAEC,iBACF,IAAIC,OAASZ,SAASK,eAAe,sBAAsBC,MACvDO,KAAOb,SAASC,cAAc,iBAE9Ba,MADMD,KAAKX,aAAa,QACZC,MAAM,KACtBW,MAAMV,MACNU,MAAMC,KAAKH,QACXC,KAAKG,aAAa,OAAQF,MAAMG,KAAK,MACrC,IAAIC,SAAW,IAAIC,SAASZ,MAC5Ba,MAAM,yBACFC,OAAQ,OACRC,YAAa,cACbC,KAAML,WACPM,MAAM,SAAUC,OACfC,QAAQC,KAAKF","file":"public/assets/js/colours.js.map","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 4);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 9314bc4cbb6b06151377","//colours.js\n\nlet link = document.querySelector('#colourScheme');\n\nlet css = link.getAttribute('href').split('/').pop();\n\n// update selected item in colour scheme list\ndocument.getElementById('colourSchemeSelect').value = css;\n\n// fix form\nlet form = document.getElementById('colourSchemeForm');\nlet btn = form.childNodes[5];\nbtn.addEventListener('click', function (e) {\n e.preventDefault();\n let newCss = document.getElementById('colourSchemeSelect').value;\n let link = document.querySelector('#colourScheme');\n let css = link.getAttribute('href');\n let parts = css.split('/');\n parts.pop();\n parts.push(newCss);\n link.setAttribute('href', parts.join('/'));\n let formData = new FormData(form);\n fetch('/update-colour-scheme', {\n method: 'POST',\n credentials: 'same-origin',\n body: formData\n }).catch(function (error) {\n console.warn(error);\n });\n});\n\n\n\n// WEBPACK FOOTER //\n// ./colours.js"]}
|
||||
{"version":3,"sources":["webpack:///webpack/bootstrap b6efe62e7997f66fb20e","webpack:///colours.js"],"names":["__webpack_require__","moduleId","installedModules","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","css","document","querySelector","getAttribute","split","pop","getElementById","value","form","childNodes","addEventListener","e","preventDefault","newCss","link","parts","push","setAttribute","join","formData","FormData","fetch","method","credentials","body","catch","error","console","warn"],"mappings":"mBAIA,SAAAA,oBAAAC,UAGA,GAAAC,iBAAAD,UACA,OAAAC,iBAAAD,UAAAE,QAGA,IAAAC,OAAAF,iBAAAD,WACAI,EAAAJ,SACAK,GAAA,EACAH,YAUA,OANAI,QAAAN,UAAAO,KAAAJ,OAAAD,QAAAC,OAAAA,OAAAD,QAAAH,qBAGAI,OAAAE,GAAA,EAGAF,OAAAD,QAvBA,IAAAD,oBA4BAF,oBAAAS,EAAAF,QAGAP,oBAAAU,EAAAR,iBAGAF,oBAAAW,EAAA,SAAAR,QAAAS,KAAAC,QACAb,oBAAAc,EAAAX,QAAAS,OACAG,OAAAC,eAAAb,QAAAS,MACAK,cAAA,EACAC,YAAA,EACAC,IAAAN,UAMAb,oBAAAoB,EAAA,SAAAhB,QACA,IAAAS,OAAAT,QAAAA,OAAAiB,WACA,WAA2B,OAAAjB,OAAA,SAC3B,WAAiC,OAAAA,QAEjC,OADAJ,oBAAAW,EAAAE,OAAA,IAAAA,QACAA,QAIAb,oBAAAc,EAAA,SAAAQ,OAAAC,UAAsD,OAAAR,OAAAS,UAAAC,eAAAjB,KAAAc,OAAAC,WAGtDvB,oBAAA0B,EAAA,GAGA1B,oBAAAA,oBAAA2B,EAAA,iEC3DA,IAEIC,IAFOC,SAASC,cAAc,iBAEnBC,aAAa,QAAQC,MAAM,KAAKC,MAG/CJ,SAASK,eAAe,sBAAsBC,MAAQP,IAGtD,IAAIQ,KAAOP,SAASK,eAAe,oBACzBE,KAAKC,WAAW,GACtBC,iBAAiB,QAAS,SAAUC,GACpCA,EAAEC,iBACF,IAAIC,OAASZ,SAASK,eAAe,sBAAsBC,MACvDO,KAAOb,SAASC,cAAc,iBAE9Ba,MADMD,KAAKX,aAAa,QACZC,MAAM,KACtBW,MAAMV,MACNU,MAAMC,KAAKH,QACXC,KAAKG,aAAa,OAAQF,MAAMG,KAAK,MACrC,IAAIC,SAAW,IAAIC,SAASZ,MAC5Ba,MAAM,yBACFC,OAAQ,OACRC,YAAa,cACbC,KAAML,WACPM,MAAM,SAAUC,OACfC,QAAQC,KAAKF","file":"public/assets/js/colours.js.map","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 4);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap b6efe62e7997f66fb20e","//colours.js\n\nlet link = document.querySelector('#colourScheme');\n\nlet css = link.getAttribute('href').split('/').pop();\n\n// update selected item in colour scheme list\ndocument.getElementById('colourSchemeSelect').value = css;\n\n// fix form\nlet form = document.getElementById('colourSchemeForm');\nlet btn = form.childNodes[5];\nbtn.addEventListener('click', function (e) {\n e.preventDefault();\n let newCss = document.getElementById('colourSchemeSelect').value;\n let link = document.querySelector('#colourScheme');\n let css = link.getAttribute('href');\n let parts = css.split('/');\n parts.pop();\n parts.push(newCss);\n link.setAttribute('href', parts.join('/'));\n let formData = new FormData(form);\n fetch('/update-colour-scheme', {\n method: 'POST',\n credentials: 'same-origin',\n body: formData\n }).catch(function (error) {\n console.warn(error);\n });\n});\n\n\n\n// WEBPACK FOOTER //\n// ./colours.js"]}
|
||||
File diff suppressed because one or more lines are too long
2
public/assets/js/maps.js
vendored
2
public/assets/js/maps.js
vendored
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue