Merge branch 'release/0.13'
This commit is contained in:
commit
21530f9497
32 changed files with 3018 additions and 2801 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.
File diff suppressed because one or more lines are too long
2
public/assets/js/newnote.js
vendored
2
public/assets/js/newnote.js
vendored
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
|
@ -1 +1 @@
|
|||
{"version":3,"sources":["webpack:///webpack/bootstrap 9314bc4cbb6b06151377","webpack:///piwik.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","_paq","push"],"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,iEC1DA,IAGIC,KAAOA,SAEXA,KAAKC,MAAM,gBAJe,uCAK1BD,KAAKC,MAAM,YANE,MAObD,KAAKC,MAAM,kBACXD,KAAKC,MAAM","file":"public/assets/js/piwik.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 = 7);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 9314bc4cbb6b06151377","/* global process */\n\n// Piwik in its own js file to allow usage with a CSP policy\nvar idSite = process.env.PIWIK_ID;\nvar piwikTrackingApiUrl = process.env.PIWIK_URL;\n\nvar _paq = _paq || [];\n// tracker methods like \"setCustomDimension\" should be called before \"trackPageView\"\n_paq.push(['setTrackerUrl', piwikTrackingApiUrl]);\n_paq.push(['setSiteId', idSite]);\n_paq.push(['trackPageView']);\n_paq.push(['enableLinkTracking']);\n\n\n\n// WEBPACK FOOTER //\n// ./piwik.js"]}
|
||||
{"version":3,"sources":["webpack:///webpack/bootstrap b6efe62e7997f66fb20e","webpack:///piwik.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","_paq","push"],"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,iEC1DA,IAGIC,KAAOA,SAEXA,KAAKC,MAAM,gBAJe,uCAK1BD,KAAKC,MAAM,YANE,MAObD,KAAKC,MAAM,kBACXD,KAAKC,MAAM","file":"public/assets/js/piwik.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 = 7);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap b6efe62e7997f66fb20e","/* global process */\n\n// Piwik in its own js file to allow usage with a CSP policy\nvar idSite = process.env.PIWIK_ID;\nvar piwikTrackingApiUrl = process.env.PIWIK_URL;\n\nvar _paq = _paq || [];\n// tracker methods like \"setCustomDimension\" should be called before \"trackPageView\"\n_paq.push(['setTrackerUrl', piwikTrackingApiUrl]);\n_paq.push(['setSiteId', idSite]);\n_paq.push(['trackPageView']);\n_paq.push(['enableLinkTracking']);\n\n\n\n// WEBPACK FOOTER //\n// ./piwik.js"]}
|
2
public/assets/js/places.js
vendored
2
public/assets/js/places.js
vendored
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
32
resources/assets/es6/persist-form.js
vendored
32
resources/assets/es6/persist-form.js
vendored
|
@ -1,32 +0,0 @@
|
|||
//persist-form.js
|
||||
|
||||
import webStorage from 'webStorage';
|
||||
import alertify from 'alertify.js';
|
||||
|
||||
const loadData = () => {
|
||||
let replyTo = document.querySelector('#in-reply-to');
|
||||
replyTo.value = webStorage.getItem('replyTo');
|
||||
let content = document.querySelector('#content');
|
||||
content.value = webStorage.getItem('content');
|
||||
};
|
||||
|
||||
const saveData = () => {
|
||||
let replyTo = document.querySelector('#in-reply-to');
|
||||
let content = document.querySelector('#content');
|
||||
webStorage.setItem('replyTo', replyTo.value);
|
||||
webStorage.setItem('content', content.value);
|
||||
alertify.success('Auto-saved data');
|
||||
};
|
||||
|
||||
const clearData = () => {
|
||||
webStorage.removeItem('replyTo');
|
||||
webStorage.removeItem('content');
|
||||
};
|
||||
|
||||
export default function persistFormData()
|
||||
{
|
||||
let form = document.querySelector('form[name="micropub"]');
|
||||
form.addEventListener('change', saveData);
|
||||
form.addEventListener('submit', clearData);
|
||||
loadData();
|
||||
}
|
|
@ -28,4 +28,13 @@ class BookmarksTest extends TestCase
|
|||
Queue::assertPushed(ProcessBookmark::class);
|
||||
$this->assertDatabaseHas('bookmarks', ['url' => 'https://example.org/blog-post']);
|
||||
}
|
||||
|
||||
public function test_screenshot_of_google()
|
||||
{
|
||||
$url = 'https://www.google.co.uk';
|
||||
|
||||
$uuid = (new \App\Services\BookmarkService())->saveScreenshot($url);
|
||||
|
||||
$this->assertTrue(file_exists(public_path() . '/assets/img/bookmarks/' . $uuid . '.png'));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue