├── .npmignore
├── .gitignore
├── tsconfig.json
├── rollup.config.js
├── example.html
├── types.d.ts
├── package.json
├── LICENSE
├── README.md
├── source
├── AnchorScroller.ts
└── Scroller.ts
└── yarn.lock
/.npmignore:
--------------------------------------------------------------------------------
1 | node_modules
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | distribution
2 | node_modules
3 | .rpt2_cache
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "module": "es2015",
4 | "target": "es2015",
5 | "strict": true,
6 | "sourceMap": true,
7 | "removeComments": true,
8 | "outDir": "distribution"
9 | },
10 | "files": [
11 | "source/AnchorScroller.ts"
12 | ]
13 | }
--------------------------------------------------------------------------------
/rollup.config.js:
--------------------------------------------------------------------------------
1 | import typescript from "rollup-plugin-typescript2";
2 | import latestTypescript from "typescript";
3 | import minify from "rollup-plugin-babel-minify";
4 |
5 | export default {
6 | input: "source/AnchorScroller.ts",
7 | output: [
8 | { format: "es", file: "distribution/AnchorScroller.es.js" },
9 | { format: "cjs", file: "distribution/AnchorScroller.cjs.js" },
10 | { format: "umd", file: "distribution/AnchorScroller.js", name: "AnchorScroller", },
11 | ],
12 | name: "AnchorScroller",
13 | sourcemap: true,
14 | exports: "default",
15 | plugins: [
16 | typescript({
17 | typescript: latestTypescript,
18 | importHelers: false,
19 | }),
20 | minify(),
21 | ],
22 | };
23 |
--------------------------------------------------------------------------------
/example.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | anchor-scroller example
5 |
6 |
7 |
8 | Take me down!
9 |
10 |
11 |
12 |
13 | Hello world!
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
26 |
27 |
--------------------------------------------------------------------------------
/types.d.ts:
--------------------------------------------------------------------------------
1 | interface ScrollerMethods {
2 | scrollTo(position: number): void;
3 | }
4 |
5 | declare function Scroller(
6 | animation: Animation,
7 | timeOptions: TimeOptions,
8 | ): ScrollerMethods;
9 |
10 | export interface Animation {
11 | (time: number, start: number, change: number, duration: number): number;
12 | }
13 |
14 | export interface TimeOptions {
15 | increment?: number;
16 | duration?: number;
17 | }
18 |
19 | export interface Options {
20 | checkParent: boolean;
21 | class: string;
22 | animation: Animation;
23 | time: TimeOptions;
24 | }
25 |
26 | export interface AnchorScrollerMethods {
27 | /**
28 | * Scrolls to the given position
29 | */
30 | scroll(to: number): void;
31 | destroy(): void;
32 | }
33 |
34 | declare function AnchorScroller(
35 | options: Partial,
36 | ): AnchorScrollerMethods;
37 |
38 | export default AnchorScroller;
39 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "anchor-scroller",
3 | "version": "2.0.1",
4 | "description": "Smoothly scroll to #anchors",
5 | "main": "./distribution/AnchorScroller.cjs.js",
6 | "module": "./distribution/AnchorScroller.es.js",
7 | "types": "./types.d.ts",
8 | "repository": "https://github.com/semlette/anchor-scroller.git",
9 | "scripts": {
10 | "prepublish": "echo \"REMEMBER TO CLEAR DISTRIBUTION FOLDER\" && npm run build",
11 | "build": "rollup -c rollup.config.js",
12 | "prettify": "prettier --trailing-comma all --write \"{./*.{js,ts},source/*.ts}\""
13 | },
14 | "author": "Andi Semler ",
15 | "license": "MIT",
16 | "dependencies": {},
17 | "devDependencies": {
18 | "prettier": "^1.6.1",
19 | "rollup": "^1.16.7",
20 | "rollup-plugin-babel-minify": "^9.0.0",
21 | "rollup-plugin-typescript2": "^0.22.0",
22 | "typescript": "^3.5.3"
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2016 Andi Semler
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # anchor-scroller
2 | ⚓️ Smoothly scroll to #anchors
3 |
4 | ## Features
5 | * ... Scrolls to anchors
6 | * Stops scrolling if the user scrolls
7 | * Doesn't try to scroll past the end
8 | * It's only 1.5kb in size (900 bytes gzipped 😆)
9 | * Uses `requestAnimationFrame` for smooth animation
10 |
11 | ## Quickstart
12 |
13 | ### Node with a module bundler
14 | ```shell
15 | npm install anchor-scroller --save
16 | ```
17 | ```javascript
18 | const AnchorScroller = require("anchor-scroller");
19 | AnchorScroller();
20 | ```
21 |
22 | ### Browser
23 | ```html
24 |
25 |
26 | ```
27 |
28 | [Check out the wiki for more info.](https://github.com/semlette/anchor-scroller/wiki)
29 |
30 | ## Configuration
31 |
32 | You can pass the instance an options object to tweak it's behavior. The simplest options are `class` and `checkParent`.
33 | ```javascript
34 | AnchorScroller({
35 | "class": "scroll", // will make it only react on elements with a "scroll" class.
36 | checkParent: true // will make it check the parent element, if the clicked element didn't match the criteria.
37 | });
38 | ```
39 |
40 | [The more in-depth usage guide](https://github.com/semlette/anchor-scroller/wiki/Using-Anchor-Scroller) also has documentation on all [options](https://github.com/semlette/anchor-scroller/wiki/Using-Anchor-Scroller#options) and [methods](https://github.com/semlette/anchor-scroller/wiki/Using-Anchor-Scroller#methods).
41 |
--------------------------------------------------------------------------------
/source/AnchorScroller.ts:
--------------------------------------------------------------------------------
1 | import Scroller, { ScrollerMethods } from "./Scroller";
2 |
3 | export interface Animation {
4 | (time: number, start: number, change: number, duration: number): number;
5 | }
6 |
7 | export interface TimeOptions {
8 | /**
9 | * Time increments
10 | */
11 | increment: number;
12 |
13 | /**
14 | * Duration of the scrolling
15 | */
16 | duration: number;
17 | }
18 |
19 | interface Options {
20 | checkParent: boolean;
21 | class: string | undefined;
22 | animation: Animation;
23 | time: TimeOptions;
24 | }
25 |
26 | interface AnchorScrollerMethods {
27 | scroll(to: number): void;
28 | destroy(): void;
29 | }
30 |
31 | function AnchorScroller(userOptions?: Partial): AnchorScrollerMethods {
32 | const defaultAnimation: Animation = (time, start, change, duration) => {
33 | return (time /= duration / 2) < 1
34 | ? change / 2 * time * time * time + start
35 | : change / 2 * ((time -= 2) * time * time + 2) + start;
36 | };
37 | let options = {
38 | checkParent: false,
39 | class: undefined,
40 | animation: defaultAnimation,
41 | time: {
42 | increment: 25,
43 | duration: 1500,
44 | },
45 | ...userOptions,
46 | };
47 |
48 | const scroller = Scroller(options.animation, options.time);
49 | document.addEventListener("click", check);
50 |
51 | function check(event: HTMLElementEventMap["click"]) {
52 | // If clicked- or parent element is an anchor,
53 | // get the `href` and scroll to it
54 | if ((event).target.nodeName === "A") {
55 | checkElement((event).target, event);
56 | } else if (
57 | options.checkParent &&
58 | (event).target.parentNode &&
59 | (event).target.parentNode.nodeName === "A"
60 | ) {
61 | checkElement((event).target.parentNode, event);
62 | }
63 | }
64 |
65 | function checkElement(
66 | element: HTMLAnchorElement,
67 | event: HTMLElementEventMap["click"],
68 | ) {
69 | // If `options.class` is set, only continue
70 | // if the element contains the class
71 | if (options.class && !element.classList.contains(options.class)) return;
72 | // Stop if hash property is empty
73 | const hash: string = element.hash;
74 | if (!hash) return;
75 | // Also stop if it cannot find an element
76 | // with `id` equal to `hash`
77 | const anchor: HTMLElement | null = document.getElementById(hash.slice(1));
78 | if (!anchor) return;
79 | // Only run if the current scroll position
80 | // is not equal to the anchors' position
81 | event.preventDefault();
82 | if (window.scrollY !== anchor.offsetTop) {
83 | scrollTo(anchor.offsetTop);
84 | }
85 | }
86 |
87 | function scrollTo(to: number) {
88 | scroller.scrollTo(to);
89 | }
90 |
91 | function destroy() {
92 | document.removeEventListener("click", check);
93 | }
94 |
95 | return {
96 | scroll: scrollTo,
97 | destroy,
98 | };
99 | }
100 |
101 | export default AnchorScroller;
102 |
--------------------------------------------------------------------------------
/source/Scroller.ts:
--------------------------------------------------------------------------------
1 | import { Animation, TimeOptions } from "./AnchorScroller";
2 |
3 | interface ScrollerMethods {
4 | scrollTo(to: number): void;
5 | }
6 |
7 | function Scroller(
8 | animation: Animation,
9 | timeOptions: TimeOptions,
10 | ): ScrollerMethods {
11 | let position: number = 0;
12 | let positionRelativeToBottom: number = 0;
13 | let start: number = 0;
14 | let change: number = 0;
15 | let time: number = 0;
16 | let animationFrame: any;
17 |
18 | /**
19 | * Returns a fresh length of the document
20 | */
21 | function getDocumentLength(): number {
22 | const body = document.body;
23 | const root = document.documentElement;
24 | return Math.max(
25 | body.scrollHeight,
26 | body.offsetHeight,
27 | root.clientHeight,
28 | root.scrollHeight,
29 | root.offsetHeight,
30 | );
31 | }
32 |
33 | /**
34 | * Calculates the difference between the
35 | */
36 | function calculateChange(): number {
37 | return positionRelativeToBottom < window.innerHeight
38 | ? getDocumentLength() - window.innerHeight - start
39 | : position - start;
40 | }
41 |
42 | /**
43 | * Checks if the user has scrolled during the animation
44 | */
45 | function userHasCanceledScroll(): boolean {
46 | const animated = animation(time, start, change, timeOptions.duration);
47 | const floor = Math.floor(animated);
48 | const ceil = Math.ceil(animated);
49 | /**
50 | * window.scroll doesn't use decimals,
51 | * so we have round them both up and down
52 | */
53 |
54 | /**
55 | * If the scroll position is not equal to
56 | * the predicted position, rounded up or down,
57 | * the user has scrolled.
58 | */
59 | if (window.scrollY !== floor && window.scrollY !== ceil) {
60 | return true;
61 | } else if (window.scrollY !== floor && window.scrollY === ceil) {
62 | /**
63 | * Rounding down usually gives the most
64 | * accurate position, but if that doesn't
65 | * match, but the rounded-up number does,
66 | * the user hasn't scrolled.
67 | */
68 | return false;
69 | } else {
70 | /**
71 | * The rounded down number is equal to the predicted number.
72 | */
73 | return false;
74 | }
75 | }
76 |
77 | /**
78 | * Calculates if it should scroll to the
79 | * bottom of the page or to the anchor.
80 | */
81 | function scroll(): void {
82 | if (userHasCanceledScroll()) {
83 | cancelAnimationFrame(animationFrame);
84 | return;
85 | }
86 |
87 | time += timeOptions.increment;
88 |
89 | window.scroll(
90 | window.scrollX,
91 | animation(time, start, change, timeOptions.duration),
92 | );
93 |
94 | if (time < timeOptions.duration) {
95 | animationFrame = requestAnimationFrame(scroll);
96 | }
97 | }
98 |
99 | function scrollTo(position: number): void {
100 | // Reset everything
101 | time = 0;
102 | position = position;
103 | positionRelativeToBottom = getDocumentLength() - position;
104 | start = window.scrollY;
105 | change = calculateChange();
106 | animationFrame = requestAnimationFrame(scroll);
107 | }
108 |
109 | return { scrollTo };
110 | }
111 |
112 | export default Scroller;
113 | export { ScrollerMethods };
114 |
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@babel/code-frame@^7.0.0":
6 | version "7.0.0"
7 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8"
8 | integrity sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==
9 | dependencies:
10 | "@babel/highlight" "^7.0.0"
11 |
12 | "@babel/core@^7.4.5":
13 | version "7.5.4"
14 | resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.5.4.tgz#4c32df7ad5a58e9ea27ad025c11276324e0b4ddd"
15 | integrity sha512-+DaeBEpYq6b2+ZmHx3tHspC+ZRflrvLqwfv8E3hNr5LVQoyBnL8RPKSBCg+rK2W2My9PWlujBiqd0ZPsR9Q6zQ==
16 | dependencies:
17 | "@babel/code-frame" "^7.0.0"
18 | "@babel/generator" "^7.5.0"
19 | "@babel/helpers" "^7.5.4"
20 | "@babel/parser" "^7.5.0"
21 | "@babel/template" "^7.4.4"
22 | "@babel/traverse" "^7.5.0"
23 | "@babel/types" "^7.5.0"
24 | convert-source-map "^1.1.0"
25 | debug "^4.1.0"
26 | json5 "^2.1.0"
27 | lodash "^4.17.11"
28 | resolve "^1.3.2"
29 | semver "^5.4.1"
30 | source-map "^0.5.0"
31 |
32 | "@babel/generator@^7.5.0":
33 | version "7.5.0"
34 | resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.5.0.tgz#f20e4b7a91750ee8b63656073d843d2a736dca4a"
35 | integrity sha512-1TTVrt7J9rcG5PMjvO7VEG3FrEoEJNHxumRq66GemPmzboLWtIjjcJgk8rokuAS7IiRSpgVSu5Vb9lc99iJkOA==
36 | dependencies:
37 | "@babel/types" "^7.5.0"
38 | jsesc "^2.5.1"
39 | lodash "^4.17.11"
40 | source-map "^0.5.0"
41 | trim-right "^1.0.1"
42 |
43 | "@babel/helper-function-name@^7.1.0":
44 | version "7.1.0"
45 | resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53"
46 | integrity sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==
47 | dependencies:
48 | "@babel/helper-get-function-arity" "^7.0.0"
49 | "@babel/template" "^7.1.0"
50 | "@babel/types" "^7.0.0"
51 |
52 | "@babel/helper-get-function-arity@^7.0.0":
53 | version "7.0.0"
54 | resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3"
55 | integrity sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==
56 | dependencies:
57 | "@babel/types" "^7.0.0"
58 |
59 | "@babel/helper-plugin-utils@^7.0.0":
60 | version "7.0.0"
61 | resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250"
62 | integrity sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==
63 |
64 | "@babel/helper-split-export-declaration@^7.4.4":
65 | version "7.4.4"
66 | resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz#ff94894a340be78f53f06af038b205c49d993677"
67 | integrity sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==
68 | dependencies:
69 | "@babel/types" "^7.4.4"
70 |
71 | "@babel/helpers@^7.5.4":
72 | version "7.5.4"
73 | resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.5.4.tgz#2f00608aa10d460bde0ccf665d6dcf8477357cf0"
74 | integrity sha512-6LJ6xwUEJP51w0sIgKyfvFMJvIb9mWAfohJp0+m6eHJigkFdcH8duZ1sfhn0ltJRzwUIT/yqqhdSfRpCpL7oow==
75 | dependencies:
76 | "@babel/template" "^7.4.4"
77 | "@babel/traverse" "^7.5.0"
78 | "@babel/types" "^7.5.0"
79 |
80 | "@babel/highlight@^7.0.0":
81 | version "7.5.0"
82 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540"
83 | integrity sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==
84 | dependencies:
85 | chalk "^2.0.0"
86 | esutils "^2.0.2"
87 | js-tokens "^4.0.0"
88 |
89 | "@babel/parser@^7.4.4", "@babel/parser@^7.5.0":
90 | version "7.5.0"
91 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.5.0.tgz#3e0713dff89ad6ae37faec3b29dcfc5c979770b7"
92 | integrity sha512-I5nW8AhGpOXGCCNYGc+p7ExQIBxRFnS2fd/d862bNOKvmoEPjYPcfIjsfdy0ujagYOIYPczKgD9l3FsgTkAzKA==
93 |
94 | "@babel/plugin-syntax-dynamic-import@^7.2.0":
95 | version "7.2.0"
96 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz#69c159ffaf4998122161ad8ebc5e6d1f55df8612"
97 | integrity sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w==
98 | dependencies:
99 | "@babel/helper-plugin-utils" "^7.0.0"
100 |
101 | "@babel/template@^7.1.0", "@babel/template@^7.4.4":
102 | version "7.4.4"
103 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.4.4.tgz#f4b88d1225689a08f5bc3a17483545be9e4ed237"
104 | integrity sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw==
105 | dependencies:
106 | "@babel/code-frame" "^7.0.0"
107 | "@babel/parser" "^7.4.4"
108 | "@babel/types" "^7.4.4"
109 |
110 | "@babel/traverse@^7.5.0":
111 | version "7.5.0"
112 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.5.0.tgz#4216d6586854ef5c3c4592dab56ec7eb78485485"
113 | integrity sha512-SnA9aLbyOCcnnbQEGwdfBggnc142h/rbqqsXcaATj2hZcegCl903pUD/lfpsNBlBSuWow/YDfRyJuWi2EPR5cg==
114 | dependencies:
115 | "@babel/code-frame" "^7.0.0"
116 | "@babel/generator" "^7.5.0"
117 | "@babel/helper-function-name" "^7.1.0"
118 | "@babel/helper-split-export-declaration" "^7.4.4"
119 | "@babel/parser" "^7.5.0"
120 | "@babel/types" "^7.5.0"
121 | debug "^4.1.0"
122 | globals "^11.1.0"
123 | lodash "^4.17.11"
124 |
125 | "@babel/types@^7.0.0", "@babel/types@^7.4.4", "@babel/types@^7.5.0":
126 | version "7.5.0"
127 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.5.0.tgz#e47d43840c2e7f9105bc4d3a2c371b4d0c7832ab"
128 | integrity sha512-UFpDVqRABKsW01bvw7/wSUe56uy6RXM5+VJibVVAybDGxEW25jdwiFJEf7ASvSaC7sN7rbE/l3cLp2izav+CtQ==
129 | dependencies:
130 | esutils "^2.0.2"
131 | lodash "^4.17.11"
132 | to-fast-properties "^2.0.0"
133 |
134 | "@comandeer/babel-plugin-banner@^5.0.0":
135 | version "5.0.0"
136 | resolved "https://registry.yarnpkg.com/@comandeer/babel-plugin-banner/-/babel-plugin-banner-5.0.0.tgz#30969cb08e810b67810d41761d0cfac292231ea9"
137 | integrity sha512-sR9Go0U6puXoXyW9UgIiIQhRcJ8jVOvGl4BptUiXAtheMs72WcakZ1udh6J0ZOivr3o8jAM+MTCHLP8FZMbVpQ==
138 |
139 | "@types/estree@0.0.39":
140 | version "0.0.39"
141 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f"
142 | integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==
143 |
144 | "@types/node@^12.0.10":
145 | version "12.6.2"
146 | resolved "https://registry.yarnpkg.com/@types/node/-/node-12.6.2.tgz#a5ccec6abb6060d5f20d256fb03ed743e9774999"
147 | integrity sha512-gojym4tX0FWeV2gsW4Xmzo5wxGjXGm550oVUII7f7G5o4BV6c7DBdiG1RRQd+y1bvqRyYtPfMK85UM95vsapqQ==
148 |
149 | acorn@^6.1.1:
150 | version "6.4.1"
151 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474"
152 | integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==
153 |
154 | ansi-styles@^3.2.1:
155 | version "3.2.1"
156 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
157 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
158 | dependencies:
159 | color-convert "^1.9.0"
160 |
161 | babel-helper-evaluate-path@^0.5.0:
162 | version "0.5.0"
163 | resolved "https://registry.yarnpkg.com/babel-helper-evaluate-path/-/babel-helper-evaluate-path-0.5.0.tgz#a62fa9c4e64ff7ea5cea9353174ef023a900a67c"
164 | integrity sha512-mUh0UhS607bGh5wUMAQfOpt2JX2ThXMtppHRdRU1kL7ZLRWIXxoV2UIV1r2cAeeNeU1M5SB5/RSUgUxrK8yOkA==
165 |
166 | babel-helper-flip-expressions@^0.4.3:
167 | version "0.4.3"
168 | resolved "https://registry.yarnpkg.com/babel-helper-flip-expressions/-/babel-helper-flip-expressions-0.4.3.tgz#3696736a128ac18bc25254b5f40a22ceb3c1d3fd"
169 | integrity sha1-NpZzahKKwYvCUlS19AoizrPB0/0=
170 |
171 | babel-helper-is-nodes-equiv@^0.0.1:
172 | version "0.0.1"
173 | resolved "https://registry.yarnpkg.com/babel-helper-is-nodes-equiv/-/babel-helper-is-nodes-equiv-0.0.1.tgz#34e9b300b1479ddd98ec77ea0bbe9342dfe39684"
174 | integrity sha1-NOmzALFHnd2Y7HfqC76TQt/jloQ=
175 |
176 | babel-helper-is-void-0@^0.4.3:
177 | version "0.4.3"
178 | resolved "https://registry.yarnpkg.com/babel-helper-is-void-0/-/babel-helper-is-void-0-0.4.3.tgz#7d9c01b4561e7b95dbda0f6eee48f5b60e67313e"
179 | integrity sha1-fZwBtFYee5Xb2g9u7kj1tg5nMT4=
180 |
181 | babel-helper-mark-eval-scopes@^0.4.3:
182 | version "0.4.3"
183 | resolved "https://registry.yarnpkg.com/babel-helper-mark-eval-scopes/-/babel-helper-mark-eval-scopes-0.4.3.tgz#d244a3bef9844872603ffb46e22ce8acdf551562"
184 | integrity sha1-0kSjvvmESHJgP/tG4izorN9VFWI=
185 |
186 | babel-helper-remove-or-void@^0.4.3:
187 | version "0.4.3"
188 | resolved "https://registry.yarnpkg.com/babel-helper-remove-or-void/-/babel-helper-remove-or-void-0.4.3.tgz#a4f03b40077a0ffe88e45d07010dee241ff5ae60"
189 | integrity sha1-pPA7QAd6D/6I5F0HAQ3uJB/1rmA=
190 |
191 | babel-helper-to-multiple-sequence-expressions@^0.5.0:
192 | version "0.5.0"
193 | resolved "https://registry.yarnpkg.com/babel-helper-to-multiple-sequence-expressions/-/babel-helper-to-multiple-sequence-expressions-0.5.0.tgz#a3f924e3561882d42fcf48907aa98f7979a4588d"
194 | integrity sha512-m2CvfDW4+1qfDdsrtf4dwOslQC3yhbgyBFptncp4wvtdrDHqueW7slsYv4gArie056phvQFhT2nRcGS4bnm6mA==
195 |
196 | babel-plugin-minify-builtins@^0.5.0:
197 | version "0.5.0"
198 | resolved "https://registry.yarnpkg.com/babel-plugin-minify-builtins/-/babel-plugin-minify-builtins-0.5.0.tgz#31eb82ed1a0d0efdc31312f93b6e4741ce82c36b"
199 | integrity sha512-wpqbN7Ov5hsNwGdzuzvFcjgRlzbIeVv1gMIlICbPj0xkexnfoIDe7q+AZHMkQmAE/F9R5jkrB6TLfTegImlXag==
200 |
201 | babel-plugin-minify-constant-folding@^0.5.0:
202 | version "0.5.0"
203 | resolved "https://registry.yarnpkg.com/babel-plugin-minify-constant-folding/-/babel-plugin-minify-constant-folding-0.5.0.tgz#f84bc8dbf6a561e5e350ff95ae216b0ad5515b6e"
204 | integrity sha512-Vj97CTn/lE9hR1D+jKUeHfNy+m1baNiJ1wJvoGyOBUx7F7kJqDZxr9nCHjO/Ad+irbR3HzR6jABpSSA29QsrXQ==
205 | dependencies:
206 | babel-helper-evaluate-path "^0.5.0"
207 |
208 | babel-plugin-minify-dead-code-elimination@^0.5.0:
209 | version "0.5.0"
210 | resolved "https://registry.yarnpkg.com/babel-plugin-minify-dead-code-elimination/-/babel-plugin-minify-dead-code-elimination-0.5.0.tgz#d23ef5445238ad06e8addf5c1cf6aec835bcda87"
211 | integrity sha512-XQteBGXlgEoAKc/BhO6oafUdT4LBa7ARi55mxoyhLHNuA+RlzRmeMAfc31pb/UqU01wBzRc36YqHQzopnkd/6Q==
212 | dependencies:
213 | babel-helper-evaluate-path "^0.5.0"
214 | babel-helper-mark-eval-scopes "^0.4.3"
215 | babel-helper-remove-or-void "^0.4.3"
216 | lodash.some "^4.6.0"
217 |
218 | babel-plugin-minify-flip-comparisons@^0.4.3:
219 | version "0.4.3"
220 | resolved "https://registry.yarnpkg.com/babel-plugin-minify-flip-comparisons/-/babel-plugin-minify-flip-comparisons-0.4.3.tgz#00ca870cb8f13b45c038b3c1ebc0f227293c965a"
221 | integrity sha1-AMqHDLjxO0XAOLPB68DyJyk8llo=
222 | dependencies:
223 | babel-helper-is-void-0 "^0.4.3"
224 |
225 | babel-plugin-minify-guarded-expressions@^0.4.3:
226 | version "0.4.3"
227 | resolved "https://registry.yarnpkg.com/babel-plugin-minify-guarded-expressions/-/babel-plugin-minify-guarded-expressions-0.4.3.tgz#cc709b4453fd21b1f302877444c89f88427ce397"
228 | integrity sha1-zHCbRFP9IbHzAod0RMifiEJ845c=
229 | dependencies:
230 | babel-helper-flip-expressions "^0.4.3"
231 |
232 | babel-plugin-minify-infinity@^0.4.3:
233 | version "0.4.3"
234 | resolved "https://registry.yarnpkg.com/babel-plugin-minify-infinity/-/babel-plugin-minify-infinity-0.4.3.tgz#dfb876a1b08a06576384ef3f92e653ba607b39ca"
235 | integrity sha1-37h2obCKBldjhO8/kuZTumB7Oco=
236 |
237 | babel-plugin-minify-mangle-names@^0.5.0:
238 | version "0.5.0"
239 | resolved "https://registry.yarnpkg.com/babel-plugin-minify-mangle-names/-/babel-plugin-minify-mangle-names-0.5.0.tgz#bcddb507c91d2c99e138bd6b17a19c3c271e3fd3"
240 | integrity sha512-3jdNv6hCAw6fsX1p2wBGPfWuK69sfOjfd3zjUXkbq8McbohWy23tpXfy5RnToYWggvqzuMOwlId1PhyHOfgnGw==
241 | dependencies:
242 | babel-helper-mark-eval-scopes "^0.4.3"
243 |
244 | babel-plugin-minify-numeric-literals@^0.4.3:
245 | version "0.4.3"
246 | resolved "https://registry.yarnpkg.com/babel-plugin-minify-numeric-literals/-/babel-plugin-minify-numeric-literals-0.4.3.tgz#8e4fd561c79f7801286ff60e8c5fd9deee93c0bc"
247 | integrity sha1-jk/VYcefeAEob/YOjF/Z3u6TwLw=
248 |
249 | babel-plugin-minify-replace@^0.5.0:
250 | version "0.5.0"
251 | resolved "https://registry.yarnpkg.com/babel-plugin-minify-replace/-/babel-plugin-minify-replace-0.5.0.tgz#d3e2c9946c9096c070efc96761ce288ec5c3f71c"
252 | integrity sha512-aXZiaqWDNUbyNNNpWs/8NyST+oU7QTpK7J9zFEFSA0eOmtUNMU3fczlTTTlnCxHmq/jYNFEmkkSG3DDBtW3Y4Q==
253 |
254 | babel-plugin-minify-simplify@^0.5.0:
255 | version "0.5.0"
256 | resolved "https://registry.yarnpkg.com/babel-plugin-minify-simplify/-/babel-plugin-minify-simplify-0.5.0.tgz#1f090018afb90d8b54d3d027fd8a4927f243da6f"
257 | integrity sha512-TM01J/YcKZ8XIQd1Z3nF2AdWHoDsarjtZ5fWPDksYZNsoOjQ2UO2EWm824Ym6sp127m44gPlLFiO5KFxU8pA5Q==
258 | dependencies:
259 | babel-helper-flip-expressions "^0.4.3"
260 | babel-helper-is-nodes-equiv "^0.0.1"
261 | babel-helper-to-multiple-sequence-expressions "^0.5.0"
262 |
263 | babel-plugin-minify-type-constructors@^0.4.3:
264 | version "0.4.3"
265 | resolved "https://registry.yarnpkg.com/babel-plugin-minify-type-constructors/-/babel-plugin-minify-type-constructors-0.4.3.tgz#1bc6f15b87f7ab1085d42b330b717657a2156500"
266 | integrity sha1-G8bxW4f3qxCF1CszC3F2V6IVZQA=
267 | dependencies:
268 | babel-helper-is-void-0 "^0.4.3"
269 |
270 | babel-plugin-transform-inline-consecutive-adds@^0.4.3:
271 | version "0.4.3"
272 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-inline-consecutive-adds/-/babel-plugin-transform-inline-consecutive-adds-0.4.3.tgz#323d47a3ea63a83a7ac3c811ae8e6941faf2b0d1"
273 | integrity sha1-Mj1Ho+pjqDp6w8gRro5pQfrysNE=
274 |
275 | babel-plugin-transform-member-expression-literals@^6.9.4:
276 | version "6.9.4"
277 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-member-expression-literals/-/babel-plugin-transform-member-expression-literals-6.9.4.tgz#37039c9a0c3313a39495faac2ff3a6b5b9d038bf"
278 | integrity sha1-NwOcmgwzE6OUlfqsL/OmtbnQOL8=
279 |
280 | babel-plugin-transform-merge-sibling-variables@^6.9.4:
281 | version "6.9.4"
282 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.9.4.tgz#85b422fc3377b449c9d1cde44087203532401dae"
283 | integrity sha1-hbQi/DN3tEnJ0c3kQIcgNTJAHa4=
284 |
285 | babel-plugin-transform-minify-booleans@^6.9.4:
286 | version "6.9.4"
287 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.9.4.tgz#acbb3e56a3555dd23928e4b582d285162dd2b198"
288 | integrity sha1-rLs+VqNVXdI5KOS1gtKFFi3SsZg=
289 |
290 | babel-plugin-transform-property-literals@^6.9.4:
291 | version "6.9.4"
292 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.9.4.tgz#98c1d21e255736573f93ece54459f6ce24985d39"
293 | integrity sha1-mMHSHiVXNlc/k+zlRFn2ziSYXTk=
294 | dependencies:
295 | esutils "^2.0.2"
296 |
297 | babel-plugin-transform-regexp-constructors@^0.4.3:
298 | version "0.4.3"
299 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-regexp-constructors/-/babel-plugin-transform-regexp-constructors-0.4.3.tgz#58b7775b63afcf33328fae9a5f88fbd4fb0b4965"
300 | integrity sha1-WLd3W2OvzzMyj66aX4j71PsLSWU=
301 |
302 | babel-plugin-transform-remove-console@^6.9.4:
303 | version "6.9.4"
304 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.9.4.tgz#b980360c067384e24b357a588d807d3c83527780"
305 | integrity sha1-uYA2DAZzhOJLNXpYjYB9PINSd4A=
306 |
307 | babel-plugin-transform-remove-debugger@^6.9.4:
308 | version "6.9.4"
309 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.9.4.tgz#42b727631c97978e1eb2d199a7aec84a18339ef2"
310 | integrity sha1-QrcnYxyXl44estGZp67IShgznvI=
311 |
312 | babel-plugin-transform-remove-undefined@^0.5.0:
313 | version "0.5.0"
314 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-remove-undefined/-/babel-plugin-transform-remove-undefined-0.5.0.tgz#80208b31225766c630c97fa2d288952056ea22dd"
315 | integrity sha512-+M7fJYFaEE/M9CXa0/IRkDbiV3wRELzA1kKQFCJ4ifhrzLKn/9VCCgj9OFmYWwBd8IB48YdgPkHYtbYq+4vtHQ==
316 | dependencies:
317 | babel-helper-evaluate-path "^0.5.0"
318 |
319 | babel-plugin-transform-simplify-comparison-operators@^6.9.4:
320 | version "6.9.4"
321 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.9.4.tgz#f62afe096cab0e1f68a2d753fdf283888471ceb9"
322 | integrity sha1-9ir+CWyrDh9ootdT/fKDiIRxzrk=
323 |
324 | babel-plugin-transform-undefined-to-void@^6.9.4:
325 | version "6.9.4"
326 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.9.4.tgz#be241ca81404030678b748717322b89d0c8fe280"
327 | integrity sha1-viQcqBQEAwZ4t0hxcyK4nQyP4oA=
328 |
329 | babel-preset-minify@^0.5.0:
330 | version "0.5.0"
331 | resolved "https://registry.yarnpkg.com/babel-preset-minify/-/babel-preset-minify-0.5.0.tgz#e25bb8d3590087af02b650967159a77c19bfb96b"
332 | integrity sha512-xj1s9Mon+RFubH569vrGCayA9Fm2GMsCgDRm1Jb8SgctOB7KFcrVc2o8K3YHUyMz+SWP8aea75BoS8YfsXXuiA==
333 | dependencies:
334 | babel-plugin-minify-builtins "^0.5.0"
335 | babel-plugin-minify-constant-folding "^0.5.0"
336 | babel-plugin-minify-dead-code-elimination "^0.5.0"
337 | babel-plugin-minify-flip-comparisons "^0.4.3"
338 | babel-plugin-minify-guarded-expressions "^0.4.3"
339 | babel-plugin-minify-infinity "^0.4.3"
340 | babel-plugin-minify-mangle-names "^0.5.0"
341 | babel-plugin-minify-numeric-literals "^0.4.3"
342 | babel-plugin-minify-replace "^0.5.0"
343 | babel-plugin-minify-simplify "^0.5.0"
344 | babel-plugin-minify-type-constructors "^0.4.3"
345 | babel-plugin-transform-inline-consecutive-adds "^0.4.3"
346 | babel-plugin-transform-member-expression-literals "^6.9.4"
347 | babel-plugin-transform-merge-sibling-variables "^6.9.4"
348 | babel-plugin-transform-minify-booleans "^6.9.4"
349 | babel-plugin-transform-property-literals "^6.9.4"
350 | babel-plugin-transform-regexp-constructors "^0.4.3"
351 | babel-plugin-transform-remove-console "^6.9.4"
352 | babel-plugin-transform-remove-debugger "^6.9.4"
353 | babel-plugin-transform-remove-undefined "^0.5.0"
354 | babel-plugin-transform-simplify-comparison-operators "^6.9.4"
355 | babel-plugin-transform-undefined-to-void "^6.9.4"
356 | lodash.isplainobject "^4.0.6"
357 |
358 | chalk@^2.0.0:
359 | version "2.4.2"
360 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
361 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
362 | dependencies:
363 | ansi-styles "^3.2.1"
364 | escape-string-regexp "^1.0.5"
365 | supports-color "^5.3.0"
366 |
367 | color-convert@^1.9.0:
368 | version "1.9.3"
369 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
370 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
371 | dependencies:
372 | color-name "1.1.3"
373 |
374 | color-name@1.1.3:
375 | version "1.1.3"
376 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
377 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
378 |
379 | convert-source-map@^1.1.0:
380 | version "1.6.0"
381 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20"
382 | integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==
383 | dependencies:
384 | safe-buffer "~5.1.1"
385 |
386 | debug@^4.1.0:
387 | version "4.1.1"
388 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
389 | integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==
390 | dependencies:
391 | ms "^2.1.1"
392 |
393 | escape-string-regexp@^1.0.5:
394 | version "1.0.5"
395 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
396 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
397 |
398 | estree-walker@^0.6.1:
399 | version "0.6.1"
400 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362"
401 | integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==
402 |
403 | esutils@^2.0.2:
404 | version "2.0.2"
405 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
406 | integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=
407 |
408 | fs-extra@8.1.0:
409 | version "8.1.0"
410 | resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0"
411 | integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==
412 | dependencies:
413 | graceful-fs "^4.2.0"
414 | jsonfile "^4.0.0"
415 | universalify "^0.1.0"
416 |
417 | globals@^11.1.0:
418 | version "11.12.0"
419 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
420 | integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
421 |
422 | graceful-fs@^4.1.6, graceful-fs@^4.2.0:
423 | version "4.2.0"
424 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.0.tgz#8d8fdc73977cb04104721cb53666c1ca64cd328b"
425 | integrity sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg==
426 |
427 | has-flag@^3.0.0:
428 | version "3.0.0"
429 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
430 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
431 |
432 | js-tokens@^4.0.0:
433 | version "4.0.0"
434 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
435 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
436 |
437 | jsesc@^2.5.1:
438 | version "2.5.2"
439 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
440 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
441 |
442 | json5@^2.1.0:
443 | version "2.1.0"
444 | resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.0.tgz#e7a0c62c48285c628d20a10b85c89bb807c32850"
445 | integrity sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==
446 | dependencies:
447 | minimist "^1.2.0"
448 |
449 | jsonfile@^4.0.0:
450 | version "4.0.0"
451 | resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
452 | integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=
453 | optionalDependencies:
454 | graceful-fs "^4.1.6"
455 |
456 | lodash.isplainobject@^4.0.6:
457 | version "4.0.6"
458 | resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb"
459 | integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=
460 |
461 | lodash.some@^4.6.0:
462 | version "4.6.0"
463 | resolved "https://registry.yarnpkg.com/lodash.some/-/lodash.some-4.6.0.tgz#1bb9f314ef6b8baded13b549169b2a945eb68e4d"
464 | integrity sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=
465 |
466 | lodash@^4.17.11:
467 | version "4.17.14"
468 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.14.tgz#9ce487ae66c96254fe20b599f21b6816028078ba"
469 | integrity sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw==
470 |
471 | minimist@^1.2.0:
472 | version "1.2.5"
473 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
474 | integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
475 |
476 | ms@^2.1.1:
477 | version "2.1.2"
478 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
479 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
480 |
481 | path-parse@^1.0.6:
482 | version "1.0.6"
483 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
484 | integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==
485 |
486 | prettier@^1.6.1:
487 | version "1.18.2"
488 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.18.2.tgz#6823e7c5900017b4bd3acf46fe9ac4b4d7bda9ea"
489 | integrity sha512-OeHeMc0JhFE9idD4ZdtNibzY0+TPHSpSSb9h8FqtP+YnoZZ1sl8Vc9b1sasjfymH3SonAF4QcA2+mzHPhMvIiw==
490 |
491 | resolve@1.11.1, resolve@^1.3.2:
492 | version "1.11.1"
493 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.11.1.tgz#ea10d8110376982fef578df8fc30b9ac30a07a3e"
494 | integrity sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==
495 | dependencies:
496 | path-parse "^1.0.6"
497 |
498 | rollup-plugin-babel-minify@^9.0.0:
499 | version "9.0.0"
500 | resolved "https://registry.yarnpkg.com/rollup-plugin-babel-minify/-/rollup-plugin-babel-minify-9.0.0.tgz#50acb32ecf45d234043753f29df16149e678fb53"
501 | integrity sha512-5aJVWpuoZUbQrIaRF7Jvjo7bBnYqaChOhrhsGtz72wJ3lyo7ygIL85hsuPkvrk/3Fj5AUlNZV3IaSZ98fHyoTw==
502 | dependencies:
503 | "@babel/core" "^7.4.5"
504 | "@babel/plugin-syntax-dynamic-import" "^7.2.0"
505 | "@comandeer/babel-plugin-banner" "^5.0.0"
506 | babel-preset-minify "^0.5.0"
507 | sourcemap-codec "^1.4.4"
508 |
509 | rollup-plugin-typescript2@^0.22.0:
510 | version "0.22.0"
511 | resolved "https://registry.yarnpkg.com/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.22.0.tgz#07bbcc3b24fe01125310ab5a6b9c993e8a6fed5e"
512 | integrity sha512-jkccBtzTFLdZK7SoVlSDmaRiDgoq+P8n41pVSFYrrGq/OMR2fVW+O4Tnx7h39Ige0sGHKs2HuqJ8K6Ap0n785Q==
513 | dependencies:
514 | fs-extra "8.1.0"
515 | resolve "1.11.1"
516 | rollup-pluginutils "2.8.1"
517 | tslib "1.10.0"
518 |
519 | rollup-pluginutils@2.8.1:
520 | version "2.8.1"
521 | resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.1.tgz#8fa6dd0697344938ef26c2c09d2488ce9e33ce97"
522 | integrity sha512-J5oAoysWar6GuZo0s+3bZ6sVZAC0pfqKz68De7ZgDi5z63jOVZn1uJL/+z1jeKHNbGII8kAyHF5q8LnxSX5lQg==
523 | dependencies:
524 | estree-walker "^0.6.1"
525 |
526 | rollup@^1.16.7:
527 | version "1.16.7"
528 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-1.16.7.tgz#4b539ca22465df39f6c963d2001d95f6527e97e1"
529 | integrity sha512-P3GVcbVSLLjHWFLKGerYRe3Q/yggRXmTZFx/4WZf4wzGwO6hAg5jyMAFMQKc0dts8rFID4BQngfoz6yQbI7iMQ==
530 | dependencies:
531 | "@types/estree" "0.0.39"
532 | "@types/node" "^12.0.10"
533 | acorn "^6.1.1"
534 |
535 | safe-buffer@~5.1.1:
536 | version "5.1.2"
537 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
538 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
539 |
540 | semver@^5.4.1:
541 | version "5.7.0"
542 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b"
543 | integrity sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==
544 |
545 | source-map@^0.5.0:
546 | version "0.5.7"
547 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
548 | integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
549 |
550 | sourcemap-codec@^1.4.4:
551 | version "1.4.6"
552 | resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.6.tgz#e30a74f0402bad09807640d39e971090a08ce1e9"
553 | integrity sha512-1ZooVLYFxC448piVLBbtOxFcXwnymH9oUF8nRd3CuYDVvkRBxRl6pB4Mtas5a4drtL+E8LDgFkQNcgIw6tc8Hg==
554 |
555 | supports-color@^5.3.0:
556 | version "5.5.0"
557 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
558 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
559 | dependencies:
560 | has-flag "^3.0.0"
561 |
562 | to-fast-properties@^2.0.0:
563 | version "2.0.0"
564 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
565 | integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=
566 |
567 | trim-right@^1.0.1:
568 | version "1.0.1"
569 | resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
570 | integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=
571 |
572 | tslib@1.10.0:
573 | version "1.10.0"
574 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a"
575 | integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==
576 |
577 | typescript@^3.5.3:
578 | version "3.5.3"
579 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.5.3.tgz#c830f657f93f1ea846819e929092f5fe5983e977"
580 | integrity sha512-ACzBtm/PhXBDId6a6sDJfroT2pOWt/oOnk4/dElG5G33ZL776N3Y6/6bKZJBFpd+b05F3Ct9qDjMeJmRWtE2/g==
581 |
582 | universalify@^0.1.0:
583 | version "0.1.2"
584 | resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
585 | integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
586 |
--------------------------------------------------------------------------------