From ab7da91f750014861d836e1bf55b21e18d6cb751 Mon Sep 17 00:00:00 2001 From: Hiroyuki Adachi Date: Wed, 3 Jun 2020 19:49:40 +0900 Subject: [PATCH 1/5] removed the dependency of javax.inject and implemented by using lombok. --- model/pom.xml | 7 ----- mvc/pom.xml | 7 ----- .../blog/controller/EntryController.java | 20 +++++++------ .../blog/controller/FeedController.java | 16 ++++++----- .../blog/controller/PermalinkController.java | 17 +++++------ .../blog/controller/SettingController.java | 8 ++++-- service/pom.xml | 7 ----- .../blog/functor/AllEntryFactory.java | 16 ++++++----- .../blog/functor/CodeToEntryTransformer.java | 16 ++++++----- .../blog/functor/DeleteEntryClosure.java | 9 +++--- .../blog/functor/IdToEntryTransformer.java | 18 ++++++------ .../blog/functor/SaveEntryClosure.java | 8 ++++-- .../examproject/blog/util/CategoryUtils.java | 13 +++++---- .../org/examproject/blog/util/EntryUtils.java | 28 ++++++++++--------- .../org/examproject/blog/util/TagUtils.java | 16 ++++++----- .../org/examproject/blog/util/UserUtils.java | 13 +++++---- 16 files changed, 109 insertions(+), 110 deletions(-) diff --git a/model/pom.xml b/model/pom.xml index 5075af7..d72a36a 100644 --- a/model/pom.xml +++ b/model/pom.xml @@ -28,13 +28,6 @@ - - - javax.inject - javax.inject - 1 - - commons-collections diff --git a/mvc/pom.xml b/mvc/pom.xml index e861be9..f7b2f70 100644 --- a/mvc/pom.xml +++ b/mvc/pom.xml @@ -34,13 +34,6 @@ - - - javax.inject - javax.inject - 1 - - net.sf.dozer diff --git a/mvc/src/main/java/org/examproject/blog/controller/EntryController.java b/mvc/src/main/java/org/examproject/blog/controller/EntryController.java index 633d2d3..7003069 100644 --- a/mvc/src/main/java/org/examproject/blog/controller/EntryController.java +++ b/mvc/src/main/java/org/examproject/blog/controller/EntryController.java @@ -16,9 +16,10 @@ import java.util.ArrayList; import java.util.List; -import javax.inject.Inject; import javax.servlet.http.HttpServletRequest; +import lombok.NonNull; +import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import lombok.val; import org.apache.commons.lang.exception.ExceptionUtils; @@ -46,20 +47,21 @@ * @author h.adachi */ @Slf4j +@RequiredArgsConstructor @Controller public class EntryController { - @Inject - private final ApplicationContext context = null; + @NonNull + private final ApplicationContext context; - @Inject - private final HttpServletRequest request = null; + @NonNull + private final HttpServletRequest request; - @Inject - private final Mapper mapper = null; + @NonNull + private final Mapper mapper; - @Inject - private final EntryService entryService = null; + @NonNull + private final EntryService entryService; /////////////////////////////////////////////////////////////////////////// // public methods diff --git a/mvc/src/main/java/org/examproject/blog/controller/FeedController.java b/mvc/src/main/java/org/examproject/blog/controller/FeedController.java index a0e76b4..fc441fa 100644 --- a/mvc/src/main/java/org/examproject/blog/controller/FeedController.java +++ b/mvc/src/main/java/org/examproject/blog/controller/FeedController.java @@ -16,9 +16,10 @@ import java.util.ArrayList; import java.util.List; -import javax.inject.Inject; import javax.servlet.http.HttpServletRequest; +import lombok.NonNull; +import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import lombok.val; import org.springframework.context.ApplicationContext; @@ -37,17 +38,18 @@ * @author h.adachi */ @Slf4j +@RequiredArgsConstructor @Controller public class FeedController { - @Inject - private final ApplicationContext context = null; + @NonNull + private final ApplicationContext context; - @Inject - private final HttpServletRequest request = null; + @NonNull + private final HttpServletRequest request; - @Inject - private final FeedService feedService = null; + @NonNull + private final FeedService feedService; /////////////////////////////////////////////////////////////////////////// // public methods diff --git a/mvc/src/main/java/org/examproject/blog/controller/PermalinkController.java b/mvc/src/main/java/org/examproject/blog/controller/PermalinkController.java index 9738949..6596ae6 100644 --- a/mvc/src/main/java/org/examproject/blog/controller/PermalinkController.java +++ b/mvc/src/main/java/org/examproject/blog/controller/PermalinkController.java @@ -14,8 +14,8 @@ package org.examproject.blog.controller; -import javax.inject.Inject; - +import lombok.NonNull; +import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import lombok.val; import org.dozer.Mapper; @@ -36,17 +36,18 @@ * @author h.adachi */ @Slf4j +@RequiredArgsConstructor @Controller public class PermalinkController { - @Inject - private final ApplicationContext context = null; + @NonNull + private final ApplicationContext context; - @Inject - private final Mapper mapper = null; + @NonNull + private final Mapper mapper; - @Inject - private final EntryService entryService = null; + @NonNull + private final EntryService entryService; /////////////////////////////////////////////////////////////////////////// // public methods diff --git a/mvc/src/main/java/org/examproject/blog/controller/SettingController.java b/mvc/src/main/java/org/examproject/blog/controller/SettingController.java index e9be927..5f25217 100644 --- a/mvc/src/main/java/org/examproject/blog/controller/SettingController.java +++ b/mvc/src/main/java/org/examproject/blog/controller/SettingController.java @@ -14,10 +14,11 @@ package org.examproject.blog.controller; -import javax.inject.Inject; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletResponse; +import lombok.NonNull; +import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import lombok.val; import org.springframework.context.ApplicationContext; @@ -37,11 +38,12 @@ * @author h.adachi */ @Slf4j +@RequiredArgsConstructor @Controller public class SettingController { - @Inject - private final ApplicationContext context = null; + @NonNull + private final ApplicationContext context; /////////////////////////////////////////////////////////////////////////// // public methods diff --git a/service/pom.xml b/service/pom.xml index 604f3b1..b1eee3b 100644 --- a/service/pom.xml +++ b/service/pom.xml @@ -33,13 +33,6 @@ - - - javax.inject - javax.inject - 1 - - commons-collections diff --git a/service/src/main/java/org/examproject/blog/functor/AllEntryFactory.java b/service/src/main/java/org/examproject/blog/functor/AllEntryFactory.java index 301e7fb..e7bf9d7 100644 --- a/service/src/main/java/org/examproject/blog/functor/AllEntryFactory.java +++ b/service/src/main/java/org/examproject/blog/functor/AllEntryFactory.java @@ -16,8 +16,9 @@ import java.util.ArrayList; import java.util.List; -import javax.inject.Inject; +import lombok.NonNull; +import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.Factory; import org.springframework.context.ApplicationContext; @@ -32,16 +33,17 @@ * @author h.adachi */ @Slf4j +@RequiredArgsConstructor public class AllEntryFactory implements Factory { - @Inject - private final ApplicationContext context = null; + @NonNull + private final ApplicationContext context; - @Inject - private final EntryRepository entryRepository = null; + @NonNull + private final EntryRepository entryRepository; - @Inject - private final EntryUtils entryUtils = null; + @NonNull + private final EntryUtils entryUtils; /////////////////////////////////////////////////////////////////////////// // public methods diff --git a/service/src/main/java/org/examproject/blog/functor/CodeToEntryTransformer.java b/service/src/main/java/org/examproject/blog/functor/CodeToEntryTransformer.java index 36b55c0..c0cfdca 100644 --- a/service/src/main/java/org/examproject/blog/functor/CodeToEntryTransformer.java +++ b/service/src/main/java/org/examproject/blog/functor/CodeToEntryTransformer.java @@ -15,8 +15,9 @@ package org.examproject.blog.functor; import java.util.List; -import javax.inject.Inject; +import lombok.NonNull; +import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.Transformer; import org.springframework.context.ApplicationContext; @@ -31,16 +32,17 @@ * @author h.adachi */ @Slf4j +@RequiredArgsConstructor public class CodeToEntryTransformer implements Transformer { - @Inject - private final ApplicationContext context = null; + @NonNull + private final ApplicationContext context; - @Inject - private final EntryRepository entryRepository = null; + @NonNull + private final EntryRepository entryRepository; - @Inject - private final EntryUtils entryUtils = null; + @NonNull + private final EntryUtils entryUtils; /////////////////////////////////////////////////////////////////////////// // public methods diff --git a/service/src/main/java/org/examproject/blog/functor/DeleteEntryClosure.java b/service/src/main/java/org/examproject/blog/functor/DeleteEntryClosure.java index 11a6906..069cd4e 100644 --- a/service/src/main/java/org/examproject/blog/functor/DeleteEntryClosure.java +++ b/service/src/main/java/org/examproject/blog/functor/DeleteEntryClosure.java @@ -14,8 +14,8 @@ package org.examproject.blog.functor; -import javax.inject.Inject; - +import lombok.NonNull; +import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.Closure; import org.springframework.transaction.annotation.Transactional; @@ -27,10 +27,11 @@ * @author h.adachi */ @Slf4j +@RequiredArgsConstructor public class DeleteEntryClosure implements Closure { - @Inject - private final EntryUtils entryUtils = null; + @NonNull + private final EntryUtils entryUtils; /////////////////////////////////////////////////////////////////////////// // public methods diff --git a/service/src/main/java/org/examproject/blog/functor/IdToEntryTransformer.java b/service/src/main/java/org/examproject/blog/functor/IdToEntryTransformer.java index 24ff248..95b83a7 100644 --- a/service/src/main/java/org/examproject/blog/functor/IdToEntryTransformer.java +++ b/service/src/main/java/org/examproject/blog/functor/IdToEntryTransformer.java @@ -14,9 +14,8 @@ package org.examproject.blog.functor; -import java.lang.Long; -import javax.inject.Inject; - +import lombok.NonNull; +import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.Transformer; import org.springframework.context.ApplicationContext; @@ -31,16 +30,17 @@ * @author h.adachi */ @Slf4j +@RequiredArgsConstructor public class IdToEntryTransformer implements Transformer { - @Inject - private final ApplicationContext context = null; + @NonNull + private final ApplicationContext context; - @Inject - private final EntryRepository entryRepository = null; + @NonNull + private final EntryRepository entryRepository; - @Inject - private final EntryUtils entryUtils = null; + @NonNull + private final EntryUtils entryUtils; /////////////////////////////////////////////////////////////////////////// // public methods diff --git a/service/src/main/java/org/examproject/blog/functor/SaveEntryClosure.java b/service/src/main/java/org/examproject/blog/functor/SaveEntryClosure.java index 68e825b..d0fd3da 100644 --- a/service/src/main/java/org/examproject/blog/functor/SaveEntryClosure.java +++ b/service/src/main/java/org/examproject/blog/functor/SaveEntryClosure.java @@ -15,8 +15,9 @@ package org.examproject.blog.functor; import java.util.Date; -import javax.inject.Inject; +import lombok.NonNull; +import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.Closure; import org.springframework.transaction.annotation.Transactional; @@ -30,10 +31,11 @@ * @author h.adachi */ @Slf4j +@RequiredArgsConstructor public class SaveEntryClosure implements Closure { - @Inject - private final EntryUtils entryUtils = null; + @NonNull + private final EntryUtils entryUtils; /////////////////////////////////////////////////////////////////////////// // public methods diff --git a/service/src/main/java/org/examproject/blog/util/CategoryUtils.java b/service/src/main/java/org/examproject/blog/util/CategoryUtils.java index a6b323e..9f9fc7d 100644 --- a/service/src/main/java/org/examproject/blog/util/CategoryUtils.java +++ b/service/src/main/java/org/examproject/blog/util/CategoryUtils.java @@ -14,8 +14,8 @@ package org.examproject.blog.util; -import javax.inject.Inject; - +import lombok.NonNull; +import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.exception.ExceptionUtils; import org.springframework.context.ApplicationContext; @@ -29,14 +29,15 @@ * @author h.adachi */ @Slf4j +@RequiredArgsConstructor @Component public class CategoryUtils { - @Inject - private final ApplicationContext context = null; + @NonNull + private final ApplicationContext context; - @Inject - private final CategoryRepository categoryRepository = null; + @NonNull + private final CategoryRepository categoryRepository; /////////////////////////////////////////////////////////////////////////// // public methods diff --git a/service/src/main/java/org/examproject/blog/util/EntryUtils.java b/service/src/main/java/org/examproject/blog/util/EntryUtils.java index 2cddfbd..ba297f1 100644 --- a/service/src/main/java/org/examproject/blog/util/EntryUtils.java +++ b/service/src/main/java/org/examproject/blog/util/EntryUtils.java @@ -16,8 +16,9 @@ import java.util.List; import java.util.Optional; -import javax.inject.Inject; +import lombok.NonNull; +import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.exception.ExceptionUtils; import org.springframework.context.ApplicationContext; @@ -33,26 +34,27 @@ * @author h.adachi */ @Slf4j +@RequiredArgsConstructor @Component public class EntryUtils { - @Inject - private final ApplicationContext context = null; + @NonNull + private final ApplicationContext context; - @Inject - private final EntryRepository entryRepository = null; + @NonNull + private final EntryRepository entryRepository; - @Inject - private final CategoryUtils categoryUtils = null; + @NonNull + private final CategoryUtils categoryUtils; - @Inject - private final TagUtils tagUtils = null; + @NonNull + private final TagUtils tagUtils; - @Inject - private final UserUtils userUtils = null; + @NonNull + private final UserUtils userUtils; - @Inject - private final EntryTagRepository entryTagRepository = null; + @NonNull + private final EntryTagRepository entryTagRepository; /////////////////////////////////////////////////////////////////////////// // public methods diff --git a/service/src/main/java/org/examproject/blog/util/TagUtils.java b/service/src/main/java/org/examproject/blog/util/TagUtils.java index 9646cd7..13fa717 100644 --- a/service/src/main/java/org/examproject/blog/util/TagUtils.java +++ b/service/src/main/java/org/examproject/blog/util/TagUtils.java @@ -18,8 +18,9 @@ import java.util.Set; import java.util.HashSet; import java.util.List; -import javax.inject.Inject; +import lombok.NonNull; +import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.exception.ExceptionUtils; import org.springframework.context.ApplicationContext; @@ -35,17 +36,18 @@ * @author h.adachi */ @Slf4j +@RequiredArgsConstructor @Component public class TagUtils { - @Inject - private final ApplicationContext context = null; + @NonNull + private final ApplicationContext context; - @Inject - private final TagRepository tagRepository = null; + @NonNull + private final TagRepository tagRepository; - @Inject - private final EntryTagRepository entryTagRepository = null; + @NonNull + private final EntryTagRepository entryTagRepository; /////////////////////////////////////////////////////////////////////////// // public methods diff --git a/service/src/main/java/org/examproject/blog/util/UserUtils.java b/service/src/main/java/org/examproject/blog/util/UserUtils.java index 4a12f00..9119af2 100644 --- a/service/src/main/java/org/examproject/blog/util/UserUtils.java +++ b/service/src/main/java/org/examproject/blog/util/UserUtils.java @@ -14,8 +14,8 @@ package org.examproject.blog.util; -import javax.inject.Inject; - +import lombok.NonNull; +import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.exception.ExceptionUtils; import org.springframework.context.ApplicationContext; @@ -29,14 +29,15 @@ * @author h.adachi */ @Slf4j +@RequiredArgsConstructor @Component public class UserUtils { - @Inject - private final ApplicationContext context = null; + @NonNull + private final ApplicationContext context; - @Inject - private final UserRepository userRepository = null; + @NonNull + private final UserRepository userRepository; /////////////////////////////////////////////////////////////////////////// // public methods From 389ac676684cd831460a04703d0e8c48b08640dd Mon Sep 17 00:00:00 2001 From: Hiroyuki Adachi Date: Wed, 3 Jun 2020 20:06:40 +0900 Subject: [PATCH 2/5] added a default user to the controller. --- .../org/examproject/blog/controller/EntryController.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mvc/src/main/java/org/examproject/blog/controller/EntryController.java b/mvc/src/main/java/org/examproject/blog/controller/EntryController.java index 7003069..f02016d 100644 --- a/mvc/src/main/java/org/examproject/blog/controller/EntryController.java +++ b/mvc/src/main/java/org/examproject/blog/controller/EntryController.java @@ -75,11 +75,11 @@ public class EntryController { method=RequestMethod.GET ) public void doForm( - @CookieValue(value="__exmp_blog_username", defaultValue="") + @CookieValue(value="__exmp_blog_username", defaultValue="anonymous") String username, - @CookieValue(value="__exmp_blog_password", defaultValue="") + @CookieValue(value="__exmp_blog_password", defaultValue="password") String password, - @CookieValue(value="__exmp_blog_email", defaultValue="") + @CookieValue(value="__exmp_blog_email", defaultValue="example@email.com") String email, Model model ) { From 216d3e6cc600b460db063bb96a038f99c571e847 Mon Sep 17 00:00:00 2001 From: Hiroyuki Adachi Date: Fri, 5 Jun 2020 21:23:18 +0900 Subject: [PATCH 3/5] installed webpack by using npm. --- .gitignore | 1 + webapp/package-lock.json | 3764 ++++++++++++++++++++++++++++++++++++++ webapp/package.json | 17 + webapp/webpack.config.js | 9 + 4 files changed, 3791 insertions(+) create mode 100644 webapp/package-lock.json create mode 100644 webapp/package.json create mode 100644 webapp/webpack.config.js diff --git a/.gitignore b/.gitignore index 8a7e595..aded315 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ app-db logs target +node_modules .settings .project .classpath diff --git a/webapp/package-lock.json b/webapp/package-lock.json new file mode 100644 index 0000000..efd70ac --- /dev/null +++ b/webapp/package-lock.json @@ -0,0 +1,3764 @@ +{ + "name": "webapp", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", + "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", + "dev": true + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", + "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", + "dev": true, + "requires": { + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", + "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", + "dev": true + }, + "@webassemblyjs/helper-module-context": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", + "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", + "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "acorn": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", + "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", + "dev": true + }, + "ajv": { + "version": "6.12.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", + "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "dev": true + }, + "ajv-keywords": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", + "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==", + "dev": true + }, + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "optional": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } + } + }, + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "dev": true, + "optional": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "base64-js": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", + "dev": true + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "binary-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", + "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==", + "dev": true, + "optional": true + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "bn.js": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.2.tgz", + "integrity": "sha512-40rZaf3bUNKTVYu9sIeeEGOg7g14Yvnj9kH7b50EiwX0Q7A6umbvfI5tvHaOERH0XigqKkfLkFQxzb4e6CIXnA==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } + } + }, + "browserify-sign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.0.tgz", + "integrity": "sha512-hEZC1KEeYuoHRqhGhTy6gWrpJA3ZDjFWv0DE61643ZnOXAKJb3u7yWcrU0mMc9SwAqK1n7myPGndkp0dFG7NFA==", + "dev": true, + "requires": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.2", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "requires": { + "pako": "~1.0.5" + } + }, + "buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "cacache": { + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "dev": true, + "requires": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "chokidar": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz", + "integrity": "sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==", + "dev": true, + "optional": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.4.0" + }, + "dependencies": { + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "optional": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "optional": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "optional": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "optional": true, + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "chrome-trace-event": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "create-ecdh": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } + } + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "elliptic": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz", + "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==", + "dev": true, + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz", + "integrity": "sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "dependencies": { + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + } + } + }, + "errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "dev": true, + "requires": { + "prr": "~1.0.1" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "dev": true, + "requires": { + "estraverse": "^4.1.0" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "events": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.1.0.tgz", + "integrity": "sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==", + "dev": true + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "fast-deep-equal": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", + "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "figgy-pudding": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", + "dev": true + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "findup-sync": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", + "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + } + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, + "optional": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "dev": true, + "optional": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dev": true, + "requires": { + "global-prefix": "^3.0.0" + }, + "dependencies": { + "global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dev": true, + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + } + } + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + } + }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "requires": { + "parse-passwd": "^1.0.0" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "ieee754": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", + "dev": true + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, + "import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "dev": true, + "requires": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "dev": true + }, + "interpret": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", + "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", + "dev": true + }, + "invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "dev": true + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "optional": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "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==", + "dev": true + } + } + }, + "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 + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "dev": true, + "requires": { + "invert-kv": "^2.0.0" + } + }, + "loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "dev": true + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "dev": true, + "requires": { + "p-defer": "^1.0.0" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "mem": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "dev": true, + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + } + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "dev": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "neo-async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", + "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dev": true, + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "optional": true + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "dev": true, + "requires": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + } + }, + "p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", + "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", + "dev": true + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "dev": true, + "requires": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "parse-asn1": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", + "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", + "dev": true, + "requires": { + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true, + "optional": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "pbkdf2": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", + "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", + "dev": true, + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true, + "optional": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "readdirp": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", + "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", + "dev": true, + "optional": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true, + "optional": true + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + } + }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + }, + "dependencies": { + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + } + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, + "requires": { + "aproba": "^1.1.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "serialize-javascript": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz", + "integrity": "sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "ssri": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", + "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1" + } + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true + }, + "terser": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.7.0.tgz", + "integrity": "sha512-Lfb0RiZcjRDXCC3OSHJpEkxJ9Qeqs6mp2v4jf2MHfy8vGERmVDuvjXdd/EnP5Deme5F2yBRBymKmKHCBg2echw==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "terser-webpack-plugin": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.4.tgz", + "integrity": "sha512-U4mACBHIegmfoEe5fdongHESNJWqsGU+W0S/9+BmYGVQDw1+c2Ow05TpMhxjPK1sRb7cuYq1BPl1e5YHJMTCqA==", + "dev": true, + "requires": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^3.1.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "timers-browserify": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", + "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", + "dev": true, + "requires": { + "setimmediate": "^1.0.4" + } + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "tslib": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", + "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", + "dev": true + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true, + "optional": true + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } + } + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, + "requires": { + "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "v8-compile-cache": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz", + "integrity": "sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w==", + "dev": true + }, + "vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true + }, + "watchpack": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.2.tgz", + "integrity": "sha512-ymVbbQP40MFTp+cNMvpyBpBtygHnPzPkHqoIwRRj/0B8KhqQwV8LaKjtbaxF2lK4vl8zN9wCxS46IFCU5K4W0g==", + "dev": true, + "requires": { + "chokidar": "^3.4.0", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0", + "watchpack-chokidar2": "^2.0.0" + } + }, + "watchpack-chokidar2": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz", + "integrity": "sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA==", + "dev": true, + "optional": true, + "requires": { + "chokidar": "^2.1.8" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "optional": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "optional": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true, + "optional": true + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "optional": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "dev": true, + "optional": true + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "optional": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "optional": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "optional": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "optional": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + } + } + }, + "webpack": { + "version": "4.43.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.43.0.tgz", + "integrity": "sha512-GW1LjnPipFW2Y78OOab8NJlCflB7EFskMih2AHdvjbpKMeDJqEgSx24cXXXiPS65+WSwVyxtDsJH6jGX2czy+g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.1.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.6.1", + "webpack-sources": "^1.4.1" + } + }, + "webpack-cli": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.11.tgz", + "integrity": "sha512-dXlfuml7xvAFwYUPsrtQAA9e4DOe58gnzSxhgrO/ZM/gyXTBowrsYeubyN4mqGhYdpXMFNyQ6emjJS9M7OBd4g==", + "dev": true, + "requires": { + "chalk": "2.4.2", + "cross-spawn": "6.0.5", + "enhanced-resolve": "4.1.0", + "findup-sync": "3.0.0", + "global-modules": "2.0.0", + "import-local": "2.0.0", + "interpret": "1.2.0", + "loader-utils": "1.2.3", + "supports-color": "6.1.0", + "v8-compile-cache": "2.0.3", + "yargs": "13.2.4" + }, + "dependencies": { + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true + }, + "enhanced-resolve": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", + "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.4.0", + "tapable": "^1.0.0" + } + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + } + } + } + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "dev": true, + "requires": { + "errno": "~0.1.7" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "yargs": { + "version": "13.2.4", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.4.tgz", + "integrity": "sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "os-locale": "^3.1.0", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.0" + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } +} diff --git a/webapp/package.json b/webapp/package.json new file mode 100644 index 0000000..55c23ad --- /dev/null +++ b/webapp/package.json @@ -0,0 +1,17 @@ +{ + "name": "webapp", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "build": "webpack" + }, + "keywords": [], + "author": "", + "license": "ISC", + "devDependencies": { + "webpack": "^4.43.0", + "webpack-cli": "^3.3.11" + } +} diff --git a/webapp/webpack.config.js b/webapp/webpack.config.js new file mode 100644 index 0000000..4bb3f11 --- /dev/null +++ b/webapp/webpack.config.js @@ -0,0 +1,9 @@ +const path = require('path'); +module.exports = { + mode: 'development', + entry: './src/main/assets/scripts/main.js', + output: { + filename: '_exmp-blog.min.js', + path: path.join(__dirname, 'src/main/webapp/docroot/scripts') + } +}; \ No newline at end of file From 536af8ffe9751e65d317b0f4539693d35a989a5c Mon Sep 17 00:00:00 2001 From: Hiroyuki Adachi Date: Fri, 5 Jun 2020 21:32:56 +0900 Subject: [PATCH 4/5] moved source javascript files for building by webpack. --- .../scripts}/core/Application.js | 2 +- .../scripts}/core/Controller.js | 38 +++---- webapp/src/main/assets/scripts/core/__core.js | 3 + .../main/assets/scripts/functor/__functor.js | 3 + .../functor/dhtml/EntryListUpdateClosure.js | 4 +- .../functor/dhtml/ErrorMessageClosure.js | 2 +- .../functor/dhtml/ListWaitingClosure.js | 2 +- .../functor/dhtml/ProfileUpdateClosure.js | 2 +- .../functor/dhtml/SuccessMessageClosure.js | 2 +- .../functor/dhtml/WaitingMessageClosure.js | 2 +- .../assets/scripts/functor/dhtml/__dhtml.js | 3 + .../functor/event/DeleteEventClosure.js | 6 +- .../functor/event/EditEventClosure.js | 4 +- .../functor/event/EventBuildClosure.js | 6 +- .../assets/scripts/functor/event/__event.js | 3 + .../functor/htmltag/EntryListTransformer.js | 4 +- .../scripts/functor/htmltag/__htmltag.js | 3 + .../functor/request/EntryDeleteClosure.js | 14 +-- .../functor/request/EntryListClosure.js | 10 +- .../functor/request/EntryPostClosure.js | 12 +-- .../functor/request/SettingClosure.js | 8 +- .../scripts/functor/request/__reruest.js | 3 + .../scripts}/functor/value/EntryFactory.js | 2 +- .../assets/scripts/functor/value/__value.js | 3 + .../src/exmp/blog => assets/scripts}/main.js | 2 +- .../webapp/docroot/scripts/_exmp-blog.min.js | 100 ++++++++++++++++++ .../webapp/docroot/scripts/src/exmp/__exmp.js | 3 - .../docroot/scripts/src/exmp/blog/__blog.js | 3 - .../scripts/src/exmp/blog/core/__core.js | 3 - .../src/exmp/blog/functor/__functor.js | 3 - .../src/exmp/blog/functor/dhtml/__dhtml.js | 3 - .../src/exmp/blog/functor/event/__event.js | 3 - .../exmp/blog/functor/htmltag/__htmltag.js | 3 - .../exmp/blog/functor/request/__reruest.js | 3 - .../src/exmp/blog/functor/value/__value.js | 3 - 35 files changed, 182 insertions(+), 88 deletions(-) rename webapp/src/main/{webapp/docroot/scripts/src/exmp/blog => assets/scripts}/core/Application.js (94%) rename webapp/src/main/{webapp/docroot/scripts/src/exmp/blog => assets/scripts}/core/Controller.js (79%) create mode 100644 webapp/src/main/assets/scripts/core/__core.js create mode 100644 webapp/src/main/assets/scripts/functor/__functor.js rename webapp/src/main/{webapp/docroot/scripts/src/exmp/blog => assets/scripts}/functor/dhtml/EntryListUpdateClosure.js (89%) rename webapp/src/main/{webapp/docroot/scripts/src/exmp/blog => assets/scripts}/functor/dhtml/ErrorMessageClosure.js (96%) rename webapp/src/main/{webapp/docroot/scripts/src/exmp/blog => assets/scripts}/functor/dhtml/ListWaitingClosure.js (96%) rename webapp/src/main/{webapp/docroot/scripts/src/exmp/blog => assets/scripts}/functor/dhtml/ProfileUpdateClosure.js (96%) rename webapp/src/main/{webapp/docroot/scripts/src/exmp/blog => assets/scripts}/functor/dhtml/SuccessMessageClosure.js (96%) rename webapp/src/main/{webapp/docroot/scripts/src/exmp/blog => assets/scripts}/functor/dhtml/WaitingMessageClosure.js (96%) create mode 100644 webapp/src/main/assets/scripts/functor/dhtml/__dhtml.js rename webapp/src/main/{webapp/docroot/scripts/src/exmp/blog => assets/scripts}/functor/event/DeleteEventClosure.js (85%) rename webapp/src/main/{webapp/docroot/scripts/src/exmp/blog => assets/scripts}/functor/event/EditEventClosure.js (93%) rename webapp/src/main/{webapp/docroot/scripts/src/exmp/blog => assets/scripts}/functor/event/EventBuildClosure.js (87%) create mode 100644 webapp/src/main/assets/scripts/functor/event/__event.js rename webapp/src/main/{webapp/docroot/scripts/src/exmp/blog => assets/scripts}/functor/htmltag/EntryListTransformer.js (96%) create mode 100644 webapp/src/main/assets/scripts/functor/htmltag/__htmltag.js rename webapp/src/main/{webapp/docroot/scripts/src/exmp/blog => assets/scripts}/functor/request/EntryDeleteClosure.js (83%) rename webapp/src/main/{webapp/docroot/scripts/src/exmp/blog => assets/scripts}/functor/request/EntryListClosure.js (87%) rename webapp/src/main/{webapp/docroot/scripts/src/exmp/blog => assets/scripts}/functor/request/EntryPostClosure.js (86%) rename webapp/src/main/{webapp/docroot/scripts/src/exmp/blog => assets/scripts}/functor/request/SettingClosure.js (89%) create mode 100644 webapp/src/main/assets/scripts/functor/request/__reruest.js rename webapp/src/main/{webapp/docroot/scripts/src/exmp/blog => assets/scripts}/functor/value/EntryFactory.js (96%) create mode 100644 webapp/src/main/assets/scripts/functor/value/__value.js rename webapp/src/main/{webapp/docroot/scripts/src/exmp/blog => assets/scripts}/main.js (95%) create mode 100644 webapp/src/main/webapp/docroot/scripts/_exmp-blog.min.js delete mode 100644 webapp/src/main/webapp/docroot/scripts/src/exmp/__exmp.js delete mode 100644 webapp/src/main/webapp/docroot/scripts/src/exmp/blog/__blog.js delete mode 100644 webapp/src/main/webapp/docroot/scripts/src/exmp/blog/core/__core.js delete mode 100644 webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/__functor.js delete mode 100644 webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/dhtml/__dhtml.js delete mode 100644 webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/event/__event.js delete mode 100644 webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/htmltag/__htmltag.js delete mode 100644 webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/request/__reruest.js delete mode 100644 webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/value/__value.js diff --git a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/core/Application.js b/webapp/src/main/assets/scripts/core/Application.js similarity index 94% rename from webapp/src/main/webapp/docroot/scripts/src/exmp/blog/core/Application.js rename to webapp/src/main/assets/scripts/core/Application.js index 2898c67..2d178cc 100644 --- a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/core/Application.js +++ b/webapp/src/main/assets/scripts/core/Application.js @@ -18,7 +18,7 @@ * * @author h.adachi */ -exmp.blog.core.Application = function(sender) { +core.Application = function(sender) { $(document).ready(function() { sender.init(); }) diff --git a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/core/Controller.js b/webapp/src/main/assets/scripts/core/Controller.js similarity index 79% rename from webapp/src/main/webapp/docroot/scripts/src/exmp/blog/core/Controller.js rename to webapp/src/main/assets/scripts/core/Controller.js index 20e97b7..2dd6a58 100644 --- a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/core/Controller.js +++ b/webapp/src/main/assets/scripts/core/Controller.js @@ -18,7 +18,7 @@ * * @author h.adachi */ -exmp.blog.core.Controller = window; { +core.Controller = window; { /////////////////////////////////////////////////////////////////////////// // public methods @@ -27,9 +27,9 @@ exmp.blog.core.Controller = window; { * the initialization method of the Controller class. * this method should be called. */ - exmp.blog.core.Controller.init = function() { + core.Controller.init = function() { - var controller = exmp.blog.core.Controller; + var controller = core.Controller; controller._initializeComponent(); } @@ -41,10 +41,10 @@ exmp.blog.core.Controller = window; { * an event handler that called when * the button of post is clicked. */ - exmp.blog.core.Controller._postButtonOnClick = function() { + core.Controller._postButtonOnClick = function() { - var entryPostClosure = exmp.blog.functor.request.EntryPostClosure; - var entryFactory = exmp.blog.functor.value.EntryFactory; + var entryPostClosure = functor.request.EntryPostClosure; + var entryFactory = functor.value.EntryFactory; entryPostClosure.execute( entryFactory.create() @@ -55,10 +55,10 @@ exmp.blog.core.Controller = window; { * an event handler that called when * the button of setting is clicked. */ - exmp.blog.core.Controller._settingButtonOnClick = function() { + core.Controller._settingButtonOnClick = function() { - var settingClosure = exmp.blog.functor.request.SettingClosure; - var entryFactory = exmp.blog.functor.value.EntryFactory; + var settingClosure = functor.request.SettingClosure; + var entryFactory = functor.value.EntryFactory; settingClosure.execute( entryFactory.create() @@ -69,7 +69,7 @@ exmp.blog.core.Controller = window; { * an event handler that called when * the div of message close is clicked. */ - exmp.blog.core.Controller._messageDivOnClick = function() { + core.Controller._messageDivOnClick = function() { $("#message-block") .removeClass("show") .css({ @@ -84,7 +84,7 @@ exmp.blog.core.Controller = window; { * an event handler that called when * the div of title is clicked. */ - exmp.blog.core.Controller._headerTitleDivOnClick = function() { + core.Controller._headerTitleDivOnClick = function() { $("div.container") .toggleClass( "wide", 300 @@ -97,7 +97,7 @@ exmp.blog.core.Controller = window; { /** * initializes a div of the tabs area. */ - exmp.blog.core.Controller._initializeTabsDiv = function() { + core.Controller._initializeTabsDiv = function() { $("div.tab-content div.tab").hide(); $("div.tab-content div.tab:first").show(); $("div.tab-content ul li:first").addClass("active"); @@ -115,11 +115,11 @@ exmp.blog.core.Controller = window; { * initializes a div of entry list. * a HTTP request of Ajax for get the entry data. */ - exmp.blog.core.Controller._initializeEntryListDiv = function() { + core.Controller._initializeEntryListDiv = function() { - var profileUpdateClosure = exmp.blog.functor.dhtml.ProfileUpdateClosure; - var entryListClosure = exmp.blog.functor.request.EntryListClosure; - var entryFactory = exmp.blog.functor.value.EntryFactory; + var profileUpdateClosure = functor.dhtml.ProfileUpdateClosure; + var entryListClosure = functor.request.EntryListClosure; + var entryFactory = functor.value.EntryFactory; var pageUrl = location.href; profileUpdateClosure.execute({ @@ -138,7 +138,7 @@ exmp.blog.core.Controller = window; { * initializes a category select of form. * FIXME: a HTTP request of Ajax for get the data.. ? */ - exmp.blog.core.Controller._initializeCategorySelect = function() { + core.Controller._initializeCategorySelect = function() { $("#entry-category").append($('')); $("#entry-category").append($('')); $("#entry-category").append($('')); @@ -150,9 +150,9 @@ exmp.blog.core.Controller = window; { /** * initialize a component of the view class. */ - exmp.blog.core.Controller._initializeComponent = function() { + core.Controller._initializeComponent = function() { - var controller = exmp.blog.core.Controller; + var controller = core.Controller; // calls for the initialization methods. diff --git a/webapp/src/main/assets/scripts/core/__core.js b/webapp/src/main/assets/scripts/core/__core.js new file mode 100644 index 0000000..d3ce213 --- /dev/null +++ b/webapp/src/main/assets/scripts/core/__core.js @@ -0,0 +1,3 @@ +if (typeof core === "undefined") { + core = {} +} \ No newline at end of file diff --git a/webapp/src/main/assets/scripts/functor/__functor.js b/webapp/src/main/assets/scripts/functor/__functor.js new file mode 100644 index 0000000..d3d03dd --- /dev/null +++ b/webapp/src/main/assets/scripts/functor/__functor.js @@ -0,0 +1,3 @@ +if (typeof functor === "undefined") { + functor = {} +} \ No newline at end of file diff --git a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/dhtml/EntryListUpdateClosure.js b/webapp/src/main/assets/scripts/functor/dhtml/EntryListUpdateClosure.js similarity index 89% rename from webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/dhtml/EntryListUpdateClosure.js rename to webapp/src/main/assets/scripts/functor/dhtml/EntryListUpdateClosure.js index 1ba011e..eb5385b 100644 --- a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/dhtml/EntryListUpdateClosure.js +++ b/webapp/src/main/assets/scripts/functor/dhtml/EntryListUpdateClosure.js @@ -19,14 +19,14 @@ * * @author h.adachi */ -exmp.blog.functor.dhtml.EntryListUpdateClosure = { +functor.dhtml.EntryListUpdateClosure = { /////////////////////////////////////////////////////////////////////////// // public methods execute: function(obj) { - var transformer = exmp.blog.functor.htmltag.EntryListTransformer; + var transformer = functor.htmltag.EntryListTransformer; $("#entry-list-block").html( transformer.transform( diff --git a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/dhtml/ErrorMessageClosure.js b/webapp/src/main/assets/scripts/functor/dhtml/ErrorMessageClosure.js similarity index 96% rename from webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/dhtml/ErrorMessageClosure.js rename to webapp/src/main/assets/scripts/functor/dhtml/ErrorMessageClosure.js index 9a553a2..0d10ac8 100644 --- a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/dhtml/ErrorMessageClosure.js +++ b/webapp/src/main/assets/scripts/functor/dhtml/ErrorMessageClosure.js @@ -19,7 +19,7 @@ * * @author h.adachi */ -exmp.blog.functor.dhtml.ErrorMessageClosure = { +functor.dhtml.ErrorMessageClosure = { /////////////////////////////////////////////////////////////////////////// // public methods diff --git a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/dhtml/ListWaitingClosure.js b/webapp/src/main/assets/scripts/functor/dhtml/ListWaitingClosure.js similarity index 96% rename from webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/dhtml/ListWaitingClosure.js rename to webapp/src/main/assets/scripts/functor/dhtml/ListWaitingClosure.js index d6316c9..853d6a7 100644 --- a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/dhtml/ListWaitingClosure.js +++ b/webapp/src/main/assets/scripts/functor/dhtml/ListWaitingClosure.js @@ -20,7 +20,7 @@ * * @author h.adachi */ -exmp.blog.functor.dhtml.ListWaitingClosure = { +functor.dhtml.ListWaitingClosure = { /////////////////////////////////////////////////////////////////////////// // public methods diff --git a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/dhtml/ProfileUpdateClosure.js b/webapp/src/main/assets/scripts/functor/dhtml/ProfileUpdateClosure.js similarity index 96% rename from webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/dhtml/ProfileUpdateClosure.js rename to webapp/src/main/assets/scripts/functor/dhtml/ProfileUpdateClosure.js index 8dd3cc9..495daa5 100644 --- a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/dhtml/ProfileUpdateClosure.js +++ b/webapp/src/main/assets/scripts/functor/dhtml/ProfileUpdateClosure.js @@ -19,7 +19,7 @@ * * @author h.adachi */ -exmp.blog.functor.dhtml.ProfileUpdateClosure = { +functor.dhtml.ProfileUpdateClosure = { /////////////////////////////////////////////////////////////////////////// // public methods diff --git a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/dhtml/SuccessMessageClosure.js b/webapp/src/main/assets/scripts/functor/dhtml/SuccessMessageClosure.js similarity index 96% rename from webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/dhtml/SuccessMessageClosure.js rename to webapp/src/main/assets/scripts/functor/dhtml/SuccessMessageClosure.js index 814c3bf..ead13d2 100644 --- a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/dhtml/SuccessMessageClosure.js +++ b/webapp/src/main/assets/scripts/functor/dhtml/SuccessMessageClosure.js @@ -19,7 +19,7 @@ * * @author h.adachi */ -exmp.blog.functor.dhtml.SuccessMessageClosure = { +functor.dhtml.SuccessMessageClosure = { /////////////////////////////////////////////////////////////////////////// // public methods diff --git a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/dhtml/WaitingMessageClosure.js b/webapp/src/main/assets/scripts/functor/dhtml/WaitingMessageClosure.js similarity index 96% rename from webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/dhtml/WaitingMessageClosure.js rename to webapp/src/main/assets/scripts/functor/dhtml/WaitingMessageClosure.js index 15e2b05..362c5ee 100644 --- a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/dhtml/WaitingMessageClosure.js +++ b/webapp/src/main/assets/scripts/functor/dhtml/WaitingMessageClosure.js @@ -19,7 +19,7 @@ * * @author h.adachi */ -exmp.blog.functor.dhtml.WaitingMessageClosure = { +functor.dhtml.WaitingMessageClosure = { /////////////////////////////////////////////////////////////////////////// // public methods diff --git a/webapp/src/main/assets/scripts/functor/dhtml/__dhtml.js b/webapp/src/main/assets/scripts/functor/dhtml/__dhtml.js new file mode 100644 index 0000000..b3187e5 --- /dev/null +++ b/webapp/src/main/assets/scripts/functor/dhtml/__dhtml.js @@ -0,0 +1,3 @@ +if (typeof functor.dhtml === "undefined") { + functor.dhtml = {} +} \ No newline at end of file diff --git a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/event/DeleteEventClosure.js b/webapp/src/main/assets/scripts/functor/event/DeleteEventClosure.js similarity index 85% rename from webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/event/DeleteEventClosure.js rename to webapp/src/main/assets/scripts/functor/event/DeleteEventClosure.js index ddc7bac..03b7db6 100644 --- a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/event/DeleteEventClosure.js +++ b/webapp/src/main/assets/scripts/functor/event/DeleteEventClosure.js @@ -19,15 +19,15 @@ * * @author h.adachi */ -exmp.blog.functor.event.DeleteEventClosure = { +functor.event.DeleteEventClosure = { /////////////////////////////////////////////////////////////////////////// // public methods execute: function(obj) { - console.log("exmp.blog.functor.event.DeleteEventClosure#execute"); + console.log("functor.event.DeleteEventClosure#execute"); - var deleteClosure = exmp.blog.functor.request.EntryDeleteClosure; + var deleteClosure = functor.request.EntryDeleteClosure; // dynamically generate an event handler. $("#entry-delete-" + obj.code).click(function() { diff --git a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/event/EditEventClosure.js b/webapp/src/main/assets/scripts/functor/event/EditEventClosure.js similarity index 93% rename from webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/event/EditEventClosure.js rename to webapp/src/main/assets/scripts/functor/event/EditEventClosure.js index c10f185..1d58695 100644 --- a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/event/EditEventClosure.js +++ b/webapp/src/main/assets/scripts/functor/event/EditEventClosure.js @@ -19,13 +19,13 @@ * * @author h.adachi */ -exmp.blog.functor.event.EditEventClosure = { +functor.event.EditEventClosure = { /////////////////////////////////////////////////////////////////////////// // public methods execute: function(obj) { - console.log("exmp.blog.functor.event.EditEventClosure#execute"); + console.log("functor.event.EditEventClosure#execute"); // dynamically generate an event handler. $("#entry-edit-" + obj.code).click(function() { diff --git a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/event/EventBuildClosure.js b/webapp/src/main/assets/scripts/functor/event/EventBuildClosure.js similarity index 87% rename from webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/event/EventBuildClosure.js rename to webapp/src/main/assets/scripts/functor/event/EventBuildClosure.js index 76313d0..95611d6 100644 --- a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/event/EventBuildClosure.js +++ b/webapp/src/main/assets/scripts/functor/event/EventBuildClosure.js @@ -19,16 +19,16 @@ * * @author h.adachi */ -exmp.blog.functor.event.EventBuildClosure = { +functor.event.EventBuildClosure = { /////////////////////////////////////////////////////////////////////////// // public methods execute: function(obj) { - var editEventClosure = exmp.blog.functor.event.EditEventClosure; + var editEventClosure = functor.event.EditEventClosure; - var deleteEventClosure = exmp.blog.functor.event.DeleteEventClosure; + var deleteEventClosure = functor.event.DeleteEventClosure; for (var i = 0; i < obj.entryModelList.length; i++) { var code = obj.entryModelList[i].code; diff --git a/webapp/src/main/assets/scripts/functor/event/__event.js b/webapp/src/main/assets/scripts/functor/event/__event.js new file mode 100644 index 0000000..65fe704 --- /dev/null +++ b/webapp/src/main/assets/scripts/functor/event/__event.js @@ -0,0 +1,3 @@ +if (typeof functor.event === "undefined") { + functor.event = {} +} \ No newline at end of file diff --git a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/htmltag/EntryListTransformer.js b/webapp/src/main/assets/scripts/functor/htmltag/EntryListTransformer.js similarity index 96% rename from webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/htmltag/EntryListTransformer.js rename to webapp/src/main/assets/scripts/functor/htmltag/EntryListTransformer.js index 9e04263..70337f8 100644 --- a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/htmltag/EntryListTransformer.js +++ b/webapp/src/main/assets/scripts/functor/htmltag/EntryListTransformer.js @@ -20,13 +20,13 @@ * * @author h.adachi */ -exmp.blog.functor.htmltag.EntryListTransformer = { +functor.htmltag.EntryListTransformer = { /////////////////////////////////////////////////////////////////////////// // public methods transform: function(obj) { - console.log("exmp.blog.functor.htmltag.EntryListTransformer#transform"); + console.log("functor.htmltag.EntryListTransformer#transform"); // dynamically generate an html table. var table = ""; diff --git a/webapp/src/main/assets/scripts/functor/htmltag/__htmltag.js b/webapp/src/main/assets/scripts/functor/htmltag/__htmltag.js new file mode 100644 index 0000000..a4a2b87 --- /dev/null +++ b/webapp/src/main/assets/scripts/functor/htmltag/__htmltag.js @@ -0,0 +1,3 @@ +if (typeof functor.htmltag === "undefined") { + functor.htmltag = {} +} \ No newline at end of file diff --git a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/request/EntryDeleteClosure.js b/webapp/src/main/assets/scripts/functor/request/EntryDeleteClosure.js similarity index 83% rename from webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/request/EntryDeleteClosure.js rename to webapp/src/main/assets/scripts/functor/request/EntryDeleteClosure.js index e922f8a..6d630ff 100644 --- a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/request/EntryDeleteClosure.js +++ b/webapp/src/main/assets/scripts/functor/request/EntryDeleteClosure.js @@ -19,23 +19,23 @@ * * @author h.adachi */ -exmp.blog.functor.request.EntryDeleteClosure = { +functor.request.EntryDeleteClosure = { /////////////////////////////////////////////////////////////////////////// // public methods execute: function(obj) { - console.log("exmp.blog.functor.request.EntryDeleteClosure#execute"); + console.log("functor.request.EntryDeleteClosure#execute"); - var waitingMessageClosure = exmp.blog.functor.dhtml.WaitingMessageClosure; + var waitingMessageClosure = functor.dhtml.WaitingMessageClosure; - var successMessageClosure = exmp.blog.functor.dhtml.SuccessMessageClosure; + var successMessageClosure = functor.dhtml.SuccessMessageClosure; - var errorMessageClosure = exmp.blog.functor.dhtml.ErrorMessageClosure; + var errorMessageClosure = functor.dhtml.ErrorMessageClosure; - var entryListUpdateClosure = exmp.blog.functor.dhtml.EntryListUpdateClosure; + var entryListUpdateClosure = functor.dhtml.EntryListUpdateClosure; - var eventBuildClosure = exmp.blog.functor.event.EventBuildClosure; + var eventBuildClosure = functor.event.EventBuildClosure; // show the waiting message. waitingMessageClosure.execute({ diff --git a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/request/EntryListClosure.js b/webapp/src/main/assets/scripts/functor/request/EntryListClosure.js similarity index 87% rename from webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/request/EntryListClosure.js rename to webapp/src/main/assets/scripts/functor/request/EntryListClosure.js index c9a61f1..2960421 100644 --- a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/request/EntryListClosure.js +++ b/webapp/src/main/assets/scripts/functor/request/EntryListClosure.js @@ -19,20 +19,20 @@ * * @author h.adachi */ -exmp.blog.functor.request.EntryListClosure = { +functor.request.EntryListClosure = { /////////////////////////////////////////////////////////////////////////// // public methods execute: function(obj) { - var listWaitingClosure = exmp.blog.functor.dhtml.ListWaitingClosure; + var listWaitingClosure = functor.dhtml.ListWaitingClosure; - var errorMessageClosure = exmp.blog.functor.dhtml.ErrorMessageClosure; + var errorMessageClosure = functor.dhtml.ErrorMessageClosure; - var entryListUpdateClosure = exmp.blog.functor.dhtml.EntryListUpdateClosure; + var entryListUpdateClosure = functor.dhtml.EntryListUpdateClosure; - var eventBuildClosure = exmp.blog.functor.event.EventBuildClosure; + var eventBuildClosure = functor.event.EventBuildClosure; // show the waiting message. listWaitingClosure.execute( diff --git a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/request/EntryPostClosure.js b/webapp/src/main/assets/scripts/functor/request/EntryPostClosure.js similarity index 86% rename from webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/request/EntryPostClosure.js rename to webapp/src/main/assets/scripts/functor/request/EntryPostClosure.js index 47bac91..ddcf244 100644 --- a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/request/EntryPostClosure.js +++ b/webapp/src/main/assets/scripts/functor/request/EntryPostClosure.js @@ -19,22 +19,22 @@ * * @author h.adachi */ -exmp.blog.functor.request.EntryPostClosure = { +functor.request.EntryPostClosure = { /////////////////////////////////////////////////////////////////////////// // public methods execute: function(obj) { - var waitingMessageClosure = exmp.blog.functor.dhtml.WaitingMessageClosure; + var waitingMessageClosure = functor.dhtml.WaitingMessageClosure; - var successMessageClosure = exmp.blog.functor.dhtml.SuccessMessageClosure; + var successMessageClosure = functor.dhtml.SuccessMessageClosure; - var errorMessageClosure = exmp.blog.functor.dhtml.ErrorMessageClosure; + var errorMessageClosure = functor.dhtml.ErrorMessageClosure; - var entryListUpdateClosure = exmp.blog.functor.dhtml.EntryListUpdateClosure; + var entryListUpdateClosure = functor.dhtml.EntryListUpdateClosure; - var eventBuildClosure = exmp.blog.functor.event.EventBuildClosure; + var eventBuildClosure = functor.event.EventBuildClosure; // show the waiting message. waitingMessageClosure.execute({ diff --git a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/request/SettingClosure.js b/webapp/src/main/assets/scripts/functor/request/SettingClosure.js similarity index 89% rename from webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/request/SettingClosure.js rename to webapp/src/main/assets/scripts/functor/request/SettingClosure.js index b0b7cb3..6155d40 100644 --- a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/request/SettingClosure.js +++ b/webapp/src/main/assets/scripts/functor/request/SettingClosure.js @@ -19,18 +19,18 @@ * * @author h.adachi */ -exmp.blog.functor.request.SettingClosure = { +functor.request.SettingClosure = { /////////////////////////////////////////////////////////////////////////// // public methods execute: function(obj) { - var waitingMessageClosure = exmp.blog.functor.dhtml.WaitingMessageClosure; + var waitingMessageClosure = functor.dhtml.WaitingMessageClosure; - var successMessageClosure = exmp.blog.functor.dhtml.SuccessMessageClosure; + var successMessageClosure = functor.dhtml.SuccessMessageClosure; - var errorMessageClosure = exmp.blog.functor.dhtml.ErrorMessageClosure; + var errorMessageClosure = functor.dhtml.ErrorMessageClosure; // show the waiting message. waitingMessageClosure.execute({ diff --git a/webapp/src/main/assets/scripts/functor/request/__reruest.js b/webapp/src/main/assets/scripts/functor/request/__reruest.js new file mode 100644 index 0000000..a48cc4b --- /dev/null +++ b/webapp/src/main/assets/scripts/functor/request/__reruest.js @@ -0,0 +1,3 @@ +if (typeof functor.request === "undefined") { + functor.request = {} +} \ No newline at end of file diff --git a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/value/EntryFactory.js b/webapp/src/main/assets/scripts/functor/value/EntryFactory.js similarity index 96% rename from webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/value/EntryFactory.js rename to webapp/src/main/assets/scripts/functor/value/EntryFactory.js index 9a431e3..62725fd 100644 --- a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/value/EntryFactory.js +++ b/webapp/src/main/assets/scripts/functor/value/EntryFactory.js @@ -20,7 +20,7 @@ * * @author h.adachi */ -exmp.blog.functor.value.EntryFactory = { +functor.value.EntryFactory = { /////////////////////////////////////////////////////////////////////////// // public methods diff --git a/webapp/src/main/assets/scripts/functor/value/__value.js b/webapp/src/main/assets/scripts/functor/value/__value.js new file mode 100644 index 0000000..2d1f99a --- /dev/null +++ b/webapp/src/main/assets/scripts/functor/value/__value.js @@ -0,0 +1,3 @@ +if (typeof functor.value === "undefined") { + functor.value = {} +} \ No newline at end of file diff --git a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/main.js b/webapp/src/main/assets/scripts/main.js similarity index 95% rename from webapp/src/main/webapp/docroot/scripts/src/exmp/blog/main.js rename to webapp/src/main/assets/scripts/main.js index ad24fa3..8cb384c 100644 --- a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/main.js +++ b/webapp/src/main/assets/scripts/main.js @@ -18,6 +18,6 @@ * * @author h.adachi */ -new exmp.blog.core.Application( +new core.Application( this ); diff --git a/webapp/src/main/webapp/docroot/scripts/_exmp-blog.min.js b/webapp/src/main/webapp/docroot/scripts/_exmp-blog.min.js new file mode 100644 index 0000000..6b925ca --- /dev/null +++ b/webapp/src/main/webapp/docroot/scripts/_exmp-blog.min.js @@ -0,0 +1,100 @@ +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = "./src/main/assets/scripts/main.js"); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ "./src/main/assets/scripts/main.js": +/*!*****************************************!*\ + !*** ./src/main/assets/scripts/main.js ***! + \*****************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +eval("/* \n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n///////////////////////////////////////////////////////////////////////////////\n/**\n * called the main entry.\n * \n * @author h.adachi\n */\nnew core.Application(\n this\n);\n\n\n//# sourceURL=webpack:///./src/main/assets/scripts/main.js?"); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/webapp/src/main/webapp/docroot/scripts/src/exmp/__exmp.js b/webapp/src/main/webapp/docroot/scripts/src/exmp/__exmp.js deleted file mode 100644 index 2ae99b3..0000000 --- a/webapp/src/main/webapp/docroot/scripts/src/exmp/__exmp.js +++ /dev/null @@ -1,3 +0,0 @@ -if (typeof exmp === "undefined") { - var exmp = {} -} \ No newline at end of file diff --git a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/__blog.js b/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/__blog.js deleted file mode 100644 index 714ca6e..0000000 --- a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/__blog.js +++ /dev/null @@ -1,3 +0,0 @@ -if (typeof exmp.blog === "undefined") { - exmp.blog = {} -} \ No newline at end of file diff --git a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/core/__core.js b/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/core/__core.js deleted file mode 100644 index 7dc212a..0000000 --- a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/core/__core.js +++ /dev/null @@ -1,3 +0,0 @@ -if (typeof exmp.blog.core === "undefined") { - exmp.blog.core = {} -} \ No newline at end of file diff --git a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/__functor.js b/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/__functor.js deleted file mode 100644 index 465fbb0..0000000 --- a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/__functor.js +++ /dev/null @@ -1,3 +0,0 @@ -if (typeof exmp.blog.functor === "undefined") { - exmp.blog.functor = {} -} \ No newline at end of file diff --git a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/dhtml/__dhtml.js b/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/dhtml/__dhtml.js deleted file mode 100644 index 7fbebbc..0000000 --- a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/dhtml/__dhtml.js +++ /dev/null @@ -1,3 +0,0 @@ -if (typeof exmp.blog.functor.dhtml === "undefined") { - exmp.blog.functor.dhtml = {} -} \ No newline at end of file diff --git a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/event/__event.js b/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/event/__event.js deleted file mode 100644 index 3173056..0000000 --- a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/event/__event.js +++ /dev/null @@ -1,3 +0,0 @@ -if (typeof exmp.blog.functor.event === "undefined") { - exmp.blog.functor.event = {} -} \ No newline at end of file diff --git a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/htmltag/__htmltag.js b/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/htmltag/__htmltag.js deleted file mode 100644 index d81d422..0000000 --- a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/htmltag/__htmltag.js +++ /dev/null @@ -1,3 +0,0 @@ -if (typeof exmp.blog.functor.htmltag === "undefined") { - exmp.blog.functor.htmltag = {} -} \ No newline at end of file diff --git a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/request/__reruest.js b/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/request/__reruest.js deleted file mode 100644 index 426fb97..0000000 --- a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/request/__reruest.js +++ /dev/null @@ -1,3 +0,0 @@ -if (typeof exmp.blog.functor.request === "undefined") { - exmp.blog.functor.request = {} -} \ No newline at end of file diff --git a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/value/__value.js b/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/value/__value.js deleted file mode 100644 index 4b34f6a..0000000 --- a/webapp/src/main/webapp/docroot/scripts/src/exmp/blog/functor/value/__value.js +++ /dev/null @@ -1,3 +0,0 @@ -if (typeof exmp.blog.functor.value === "undefined") { - exmp.blog.functor.value = {} -} \ No newline at end of file From 1b6c8503a6a3a18811476f1ea0b69feba1bdd4d5 Mon Sep 17 00:00:00 2001 From: Hiroyuki Adachi Date: Fri, 5 Jun 2020 23:58:00 +0900 Subject: [PATCH 5/5] edited javascript files to build by using webpack. --- model/pom.xml | 2 +- mvc/pom.xml | 2 +- pom.xml | 2 +- service/pom.xml | 2 +- webapp/pom.xml | 34 +- .../main/assets/scripts/core/Application.js | 13 +- .../main/assets/scripts/core/Controller.js | 52 +-- webapp/src/main/assets/scripts/core/__core.js | 3 - .../main/assets/scripts/functor/__functor.js | 3 - .../functor/dhtml/EntryListUpdateClosure.js | 8 +- .../functor/dhtml/ErrorMessageClosure.js | 4 +- .../functor/dhtml/ListWaitingClosure.js | 4 +- .../functor/dhtml/ProfileUpdateClosure.js | 6 +- .../functor/dhtml/SuccessMessageClosure.js | 4 +- .../functor/dhtml/WaitingMessageClosure.js | 4 +- .../assets/scripts/functor/dhtml/__dhtml.js | 3 - .../functor/event/DeleteEventClosure.js | 12 +- .../scripts/functor/event/EditEventClosure.js | 10 +- .../functor/event/EventBuildClosure.js | 15 +- .../assets/scripts/functor/event/__event.js | 3 - .../functor/htmltag/EntryListTransformer.js | 32 +- .../scripts/functor/htmltag/__htmltag.js | 3 - .../functor/request/EntryDeleteClosure.js | 22 +- .../functor/request/EntryListClosure.js | 17 +- .../functor/request/EntryPostClosure.js | 20 +- .../scripts/functor/request/SettingClosure.js | 14 +- .../scripts/functor/request/__reruest.js | 3 - .../scripts/functor/value/EntryFactory.js | 6 +- .../assets/scripts/functor/value/__value.js | 3 - webapp/src/main/assets/scripts/main.js | 7 +- .../main/webapp/docroot/scripts/.gitignore | 3 +- .../webapp/docroot/scripts/_exmp-blog.min.js | 100 ------ .../webapp/docroot/scripts/exmp-blog.min.js | 305 ++++++++++++++++++ webapp/webpack.config.js | 2 +- 34 files changed, 455 insertions(+), 268 deletions(-) delete mode 100644 webapp/src/main/assets/scripts/core/__core.js delete mode 100644 webapp/src/main/assets/scripts/functor/__functor.js delete mode 100644 webapp/src/main/assets/scripts/functor/dhtml/__dhtml.js delete mode 100644 webapp/src/main/assets/scripts/functor/event/__event.js delete mode 100644 webapp/src/main/assets/scripts/functor/htmltag/__htmltag.js delete mode 100644 webapp/src/main/assets/scripts/functor/request/__reruest.js delete mode 100644 webapp/src/main/assets/scripts/functor/value/__value.js delete mode 100644 webapp/src/main/webapp/docroot/scripts/_exmp-blog.min.js create mode 100644 webapp/src/main/webapp/docroot/scripts/exmp-blog.min.js diff --git a/model/pom.xml b/model/pom.xml index a4231f8..17f80f6 100644 --- a/model/pom.xml +++ b/model/pom.xml @@ -6,7 +6,7 @@ org.examproject exmp-blog-model jar - 1.0.2 + 1.0.3 exmp-blog-model diff --git a/mvc/pom.xml b/mvc/pom.xml index feb5c02..aad3077 100644 --- a/mvc/pom.xml +++ b/mvc/pom.xml @@ -6,7 +6,7 @@ org.examproject exmp-blog-mvc jar - 1.0.2 + 1.0.3 exmp-blog-mvc diff --git a/pom.xml b/pom.xml index 0ed6f34..b5d34d9 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ org.examproject exmp-blog pom - 1.0.2 + 1.0.3 exmp-blog diff --git a/service/pom.xml b/service/pom.xml index 362b883..20ae7d4 100644 --- a/service/pom.xml +++ b/service/pom.xml @@ -6,7 +6,7 @@ org.examproject exmp-blog-service jar - 1.0.2 + 1.0.3 exmp-blog-service diff --git a/webapp/pom.xml b/webapp/pom.xml index e67b421..c684bfb 100644 --- a/webapp/pom.xml +++ b/webapp/pom.xml @@ -6,7 +6,7 @@ org.examproject exmp-blog-webapp war - 1.0.2 + 1.0.3 exmp-blog-webapp @@ -79,38 +79,6 @@ ${project.build.sourceEncoding} - - net.alchim31.maven - yuicompressor-maven-plugin - 1.1 - - - compile - compile - - compress - - - -1 - UTF-8 - true - - - src/main/webapp/docroot/scripts/exmp-blog.min.js - - src/exmp/__*.js - src/exmp/blog/**/__*.js - src/exmp/blog/**/*.js - - - - - **/*.min.js - - - - - org.eclipse.jetty jetty-maven-plugin diff --git a/webapp/src/main/assets/scripts/core/Application.js b/webapp/src/main/assets/scripts/core/Application.js index 2d178cc..b3c2254 100644 --- a/webapp/src/main/assets/scripts/core/Application.js +++ b/webapp/src/main/assets/scripts/core/Application.js @@ -12,14 +12,19 @@ * limitations under the License. */ +import { Controller } from './Controller'; + /////////////////////////////////////////////////////////////////////////////// /** * an entry class of the application. * * @author h.adachi */ -core.Application = function(sender) { - $(document).ready(function() { - sender.init(); - }) +export class Application { + run() { + const controller = new Controller(); + $(document).ready(function() { + controller.init(); + }) + } } diff --git a/webapp/src/main/assets/scripts/core/Controller.js b/webapp/src/main/assets/scripts/core/Controller.js index 2dd6a58..dcdd775 100644 --- a/webapp/src/main/assets/scripts/core/Controller.js +++ b/webapp/src/main/assets/scripts/core/Controller.js @@ -12,14 +12,20 @@ * limitations under the License. */ +import { EntryFactory } from '../functor/value/EntryFactory'; +import { EntryListClosure } from '../functor/request/EntryListClosure'; +import { EntryPostClosure } from '../functor/request/EntryPostClosure'; +import { SettingClosure } from '../functor/request/SettingClosure'; +import { ProfileUpdateClosure } from '../functor/dhtml/ProfileUpdateClosure'; + /////////////////////////////////////////////////////////////////////////////// /** * a controller class of the application. * * @author h.adachi */ -core.Controller = window; { - +export class Controller { + /////////////////////////////////////////////////////////////////////////// // public methods @@ -27,11 +33,8 @@ core.Controller = window; { * the initialization method of the Controller class. * this method should be called. */ - core.Controller.init = function() { - - var controller = core.Controller; - - controller._initializeComponent(); + init() { + this._initializeComponent(); } /////////////////////////////////////////////////////////////////////////// @@ -41,10 +44,10 @@ core.Controller = window; { * an event handler that called when * the button of post is clicked. */ - core.Controller._postButtonOnClick = function() { + _postButtonOnClick() { - var entryPostClosure = functor.request.EntryPostClosure; - var entryFactory = functor.value.EntryFactory; + const entryPostClosure = new EntryPostClosure(); + const entryFactory = new EntryFactory(); entryPostClosure.execute( entryFactory.create() @@ -55,10 +58,10 @@ core.Controller = window; { * an event handler that called when * the button of setting is clicked. */ - core.Controller._settingButtonOnClick = function() { + _settingButtonOnClick() { - var settingClosure = functor.request.SettingClosure; - var entryFactory = functor.value.EntryFactory; + const settingClosure = new SettingClosure(); + const entryFactory = new EntryFactory(); settingClosure.execute( entryFactory.create() @@ -69,7 +72,7 @@ core.Controller = window; { * an event handler that called when * the div of message close is clicked. */ - core.Controller._messageDivOnClick = function() { + _messageDivOnClick() { $("#message-block") .removeClass("show") .css({ @@ -84,7 +87,7 @@ core.Controller = window; { * an event handler that called when * the div of title is clicked. */ - core.Controller._headerTitleDivOnClick = function() { + _headerTitleDivOnClick() { $("div.container") .toggleClass( "wide", 300 @@ -97,7 +100,7 @@ core.Controller = window; { /** * initializes a div of the tabs area. */ - core.Controller._initializeTabsDiv = function() { + _initializeTabsDiv() { $("div.tab-content div.tab").hide(); $("div.tab-content div.tab:first").show(); $("div.tab-content ul li:first").addClass("active"); @@ -115,12 +118,12 @@ core.Controller = window; { * initializes a div of entry list. * a HTTP request of Ajax for get the entry data. */ - core.Controller._initializeEntryListDiv = function() { + _initializeEntryListDiv() { - var profileUpdateClosure = functor.dhtml.ProfileUpdateClosure; - var entryListClosure = functor.request.EntryListClosure; - var entryFactory = functor.value.EntryFactory; - var pageUrl = location.href; + const profileUpdateClosure = new ProfileUpdateClosure(); + const entryListClosure = new EntryListClosure(); + const entryFactory = new EntryFactory(); + const pageUrl = location.href; profileUpdateClosure.execute({ username: $("#entry_username").val(), @@ -138,7 +141,7 @@ core.Controller = window; { * initializes a category select of form. * FIXME: a HTTP request of Ajax for get the data.. ? */ - core.Controller._initializeCategorySelect = function() { + _initializeCategorySelect() { $("#entry-category").append($('')); $("#entry-category").append($('')); $("#entry-category").append($('')); @@ -150,9 +153,8 @@ core.Controller = window; { /** * initialize a component of the view class. */ - core.Controller._initializeComponent = function() { - - var controller = core.Controller; + _initializeComponent() { + var controller = this; // need // calls for the initialization methods. diff --git a/webapp/src/main/assets/scripts/core/__core.js b/webapp/src/main/assets/scripts/core/__core.js deleted file mode 100644 index d3ce213..0000000 --- a/webapp/src/main/assets/scripts/core/__core.js +++ /dev/null @@ -1,3 +0,0 @@ -if (typeof core === "undefined") { - core = {} -} \ No newline at end of file diff --git a/webapp/src/main/assets/scripts/functor/__functor.js b/webapp/src/main/assets/scripts/functor/__functor.js deleted file mode 100644 index d3d03dd..0000000 --- a/webapp/src/main/assets/scripts/functor/__functor.js +++ /dev/null @@ -1,3 +0,0 @@ -if (typeof functor === "undefined") { - functor = {} -} \ No newline at end of file diff --git a/webapp/src/main/assets/scripts/functor/dhtml/EntryListUpdateClosure.js b/webapp/src/main/assets/scripts/functor/dhtml/EntryListUpdateClosure.js index eb5385b..8d0104f 100644 --- a/webapp/src/main/assets/scripts/functor/dhtml/EntryListUpdateClosure.js +++ b/webapp/src/main/assets/scripts/functor/dhtml/EntryListUpdateClosure.js @@ -12,6 +12,8 @@ * limitations under the License. */ +import { EntryListTransformer } from '../htmltag/EntryListTransformer'; + /////////////////////////////////////////////////////////////////////////////// /** * a functor class of the application. @@ -19,14 +21,14 @@ * * @author h.adachi */ -functor.dhtml.EntryListUpdateClosure = { +export class EntryListUpdateClosure { /////////////////////////////////////////////////////////////////////////// // public methods - execute: function(obj) { + execute(obj) { - var transformer = functor.htmltag.EntryListTransformer; + const transformer = new EntryListTransformer(); $("#entry-list-block").html( transformer.transform( diff --git a/webapp/src/main/assets/scripts/functor/dhtml/ErrorMessageClosure.js b/webapp/src/main/assets/scripts/functor/dhtml/ErrorMessageClosure.js index 0d10ac8..8f71d39 100644 --- a/webapp/src/main/assets/scripts/functor/dhtml/ErrorMessageClosure.js +++ b/webapp/src/main/assets/scripts/functor/dhtml/ErrorMessageClosure.js @@ -19,12 +19,12 @@ * * @author h.adachi */ -functor.dhtml.ErrorMessageClosure = { +export class ErrorMessageClosure { /////////////////////////////////////////////////////////////////////////// // public methods - execute: function(obj) { + execute(obj) { // update the html element and the css style. $("#message-block") diff --git a/webapp/src/main/assets/scripts/functor/dhtml/ListWaitingClosure.js b/webapp/src/main/assets/scripts/functor/dhtml/ListWaitingClosure.js index 853d6a7..8918e8b 100644 --- a/webapp/src/main/assets/scripts/functor/dhtml/ListWaitingClosure.js +++ b/webapp/src/main/assets/scripts/functor/dhtml/ListWaitingClosure.js @@ -20,12 +20,12 @@ * * @author h.adachi */ -functor.dhtml.ListWaitingClosure = { +export class ListWaitingClosure { /////////////////////////////////////////////////////////////////////////// // public methods - execute: function(obj) { + execute(obj) { // update the html element. $("#entry-list-block") diff --git a/webapp/src/main/assets/scripts/functor/dhtml/ProfileUpdateClosure.js b/webapp/src/main/assets/scripts/functor/dhtml/ProfileUpdateClosure.js index 495daa5..e9a30f6 100644 --- a/webapp/src/main/assets/scripts/functor/dhtml/ProfileUpdateClosure.js +++ b/webapp/src/main/assets/scripts/functor/dhtml/ProfileUpdateClosure.js @@ -19,19 +19,19 @@ * * @author h.adachi */ -functor.dhtml.ProfileUpdateClosure = { +export class ProfileUpdateClosure { /////////////////////////////////////////////////////////////////////////// // public methods - execute: function(obj) { + execute(obj) { var username = obj.username; var email = obj.email; var hash = 0; if (!username) { username = "undefined"; } if (email) { hash = MD5_hexhash(email); } - $("#user-profile").html( + $("#user-profile").html( "
" + "" + "
" + diff --git a/webapp/src/main/assets/scripts/functor/dhtml/SuccessMessageClosure.js b/webapp/src/main/assets/scripts/functor/dhtml/SuccessMessageClosure.js index ead13d2..01bf265 100644 --- a/webapp/src/main/assets/scripts/functor/dhtml/SuccessMessageClosure.js +++ b/webapp/src/main/assets/scripts/functor/dhtml/SuccessMessageClosure.js @@ -19,12 +19,12 @@ * * @author h.adachi */ -functor.dhtml.SuccessMessageClosure = { +export class SuccessMessageClosure { /////////////////////////////////////////////////////////////////////////// // public methods - execute: function(obj) { + execute(obj) { // update the html element and the css style. $("#message-block") diff --git a/webapp/src/main/assets/scripts/functor/dhtml/WaitingMessageClosure.js b/webapp/src/main/assets/scripts/functor/dhtml/WaitingMessageClosure.js index 362c5ee..ada41a1 100644 --- a/webapp/src/main/assets/scripts/functor/dhtml/WaitingMessageClosure.js +++ b/webapp/src/main/assets/scripts/functor/dhtml/WaitingMessageClosure.js @@ -19,12 +19,12 @@ * * @author h.adachi */ -functor.dhtml.WaitingMessageClosure = { +export class WaitingMessageClosure { /////////////////////////////////////////////////////////////////////////// // public methods - execute: function(obj) { + execute(obj) { // update the html element and the css style. $("#message-block") diff --git a/webapp/src/main/assets/scripts/functor/dhtml/__dhtml.js b/webapp/src/main/assets/scripts/functor/dhtml/__dhtml.js deleted file mode 100644 index b3187e5..0000000 --- a/webapp/src/main/assets/scripts/functor/dhtml/__dhtml.js +++ /dev/null @@ -1,3 +0,0 @@ -if (typeof functor.dhtml === "undefined") { - functor.dhtml = {} -} \ No newline at end of file diff --git a/webapp/src/main/assets/scripts/functor/event/DeleteEventClosure.js b/webapp/src/main/assets/scripts/functor/event/DeleteEventClosure.js index 03b7db6..69f3396 100644 --- a/webapp/src/main/assets/scripts/functor/event/DeleteEventClosure.js +++ b/webapp/src/main/assets/scripts/functor/event/DeleteEventClosure.js @@ -12,6 +12,8 @@ * limitations under the License. */ +import { EntryDeleteClosure } from '../request/EntryDeleteClosure'; + /////////////////////////////////////////////////////////////////////////////// /** * a functor class of the application. @@ -19,16 +21,16 @@ * * @author h.adachi */ -functor.event.DeleteEventClosure = { +export class DeleteEventClosure { /////////////////////////////////////////////////////////////////////////// // public methods - execute: function(obj) { - console.log("functor.event.DeleteEventClosure#execute"); + execute(obj) { + console.log("/functor/event/DeleteEventClosure#execute"); + + const deleteClosure = new EntryDeleteClosure(); - var deleteClosure = functor.request.EntryDeleteClosure; - // dynamically generate an event handler. $("#entry-delete-" + obj.code).click(function() { deleteClosure.execute({ diff --git a/webapp/src/main/assets/scripts/functor/event/EditEventClosure.js b/webapp/src/main/assets/scripts/functor/event/EditEventClosure.js index 1d58695..6a18414 100644 --- a/webapp/src/main/assets/scripts/functor/event/EditEventClosure.js +++ b/webapp/src/main/assets/scripts/functor/event/EditEventClosure.js @@ -19,17 +19,17 @@ * * @author h.adachi */ -functor.event.EditEventClosure = { +export class EditEventClosure { /////////////////////////////////////////////////////////////////////////// // public methods - execute: function(obj) { - console.log("functor.event.EditEventClosure#execute"); - + execute(obj) { + console.log("/functor/event/EditEventClosure#execute"); + // dynamically generate an event handler. $("#entry-edit-" + obj.code).click(function() { - + // get the entry value for from that need to edit. $("#entry-title").val( $("#entry-title-" + obj.code).text() diff --git a/webapp/src/main/assets/scripts/functor/event/EventBuildClosure.js b/webapp/src/main/assets/scripts/functor/event/EventBuildClosure.js index 95611d6..02110ef 100644 --- a/webapp/src/main/assets/scripts/functor/event/EventBuildClosure.js +++ b/webapp/src/main/assets/scripts/functor/event/EventBuildClosure.js @@ -12,6 +12,9 @@ * limitations under the License. */ +import { EditEventClosure } from '../event/EditEventClosure'; +import { DeleteEventClosure } from '../event/DeleteEventClosure'; + /////////////////////////////////////////////////////////////////////////////// /** * a functor class of the application. @@ -19,19 +22,19 @@ * * @author h.adachi */ -functor.event.EventBuildClosure = { +export class EventBuildClosure { /////////////////////////////////////////////////////////////////////////// // public methods - execute: function(obj) { + execute(obj) { - var editEventClosure = functor.event.EditEventClosure; + const editEventClosure = new EditEventClosure(); - var deleteEventClosure = functor.event.DeleteEventClosure; + const deleteEventClosure = new DeleteEventClosure(); - for (var i = 0; i < obj.entryModelList.length; i++) { - var code = obj.entryModelList[i].code; + for (let i = 0; i < obj.entryModelList.length; i++) { + let code = obj.entryModelList[i].code; // set the event handler for edit. editEventClosure.execute({ diff --git a/webapp/src/main/assets/scripts/functor/event/__event.js b/webapp/src/main/assets/scripts/functor/event/__event.js deleted file mode 100644 index 65fe704..0000000 --- a/webapp/src/main/assets/scripts/functor/event/__event.js +++ /dev/null @@ -1,3 +0,0 @@ -if (typeof functor.event === "undefined") { - functor.event = {} -} \ No newline at end of file diff --git a/webapp/src/main/assets/scripts/functor/htmltag/EntryListTransformer.js b/webapp/src/main/assets/scripts/functor/htmltag/EntryListTransformer.js index 70337f8..1e8ec79 100644 --- a/webapp/src/main/assets/scripts/functor/htmltag/EntryListTransformer.js +++ b/webapp/src/main/assets/scripts/functor/htmltag/EntryListTransformer.js @@ -20,37 +20,37 @@ * * @author h.adachi */ -functor.htmltag.EntryListTransformer = { +export class EntryListTransformer { /////////////////////////////////////////////////////////////////////////// // public methods - transform: function(obj) { - console.log("functor.htmltag.EntryListTransformer#transform"); - + transform(obj) { + console.log("/functor/htmltag/EntryListTransformer#transform"); + // dynamically generate an html table. - var table = ""; - for (var i = 0; i < obj.entryModelList.length; i++) { + let table = "
"; + for (let i = 0; i < obj.entryModelList.length; i++) { // get the value - var id = obj.entryModelList[i].id; - var code = obj.entryModelList[i].code; - var title = $.erasureHTML( + let id = obj.entryModelList[i].id; + let code = obj.entryModelList[i].code; + let title = $.erasureHTML( obj.entryModelList[i].title ); - var content = $.erasureHTML( + let content = $.erasureHTML( obj.entryModelList[i].content ); - var category = $.erasureHTML( + let category = $.erasureHTML( obj.entryModelList[i].category ); - var tags = $.erasureHTML( + let tags = $.erasureHTML( obj.entryModelList[i].tags ); - var permalinkUrl = obj.entryModelList[i].permalinkUrl; - var username = obj.entryModelList[i].username; - var email = obj.entryModelList[i].email; - var hash = 0; + let permalinkUrl = obj.entryModelList[i].permalinkUrl; + let username = obj.entryModelList[i].username; + let email = obj.entryModelList[i].email; + let hash = 0; if (email) { hash = MD5_hexhash(email); } // create an html tag and set the entry code. diff --git a/webapp/src/main/assets/scripts/functor/htmltag/__htmltag.js b/webapp/src/main/assets/scripts/functor/htmltag/__htmltag.js deleted file mode 100644 index a4a2b87..0000000 --- a/webapp/src/main/assets/scripts/functor/htmltag/__htmltag.js +++ /dev/null @@ -1,3 +0,0 @@ -if (typeof functor.htmltag === "undefined") { - functor.htmltag = {} -} \ No newline at end of file diff --git a/webapp/src/main/assets/scripts/functor/request/EntryDeleteClosure.js b/webapp/src/main/assets/scripts/functor/request/EntryDeleteClosure.js index 6d630ff..b77ff70 100644 --- a/webapp/src/main/assets/scripts/functor/request/EntryDeleteClosure.js +++ b/webapp/src/main/assets/scripts/functor/request/EntryDeleteClosure.js @@ -12,6 +12,12 @@ * limitations under the License. */ +import { WaitingMessageClosure } from '../dhtml/WaitingMessageClosure'; +import { SuccessMessageClosure } from '../dhtml/SuccessMessageClosure'; +import { ErrorMessageClosure } from '../dhtml/ErrorMessageClosure'; +import { EntryListUpdateClosure } from '../dhtml/EntryListUpdateClosure'; +import { EventBuildClosure } from '../event/EventBuildClosure'; + /////////////////////////////////////////////////////////////////////////////// /** * a functor class of the application. @@ -19,23 +25,23 @@ * * @author h.adachi */ -functor.request.EntryDeleteClosure = { +export class EntryDeleteClosure { /////////////////////////////////////////////////////////////////////////// // public methods - execute: function(obj) { - console.log("functor.request.EntryDeleteClosure#execute"); + execute(obj) { + console.log("/functor/request/EntryDeleteClosure#execute"); - var waitingMessageClosure = functor.dhtml.WaitingMessageClosure; + const waitingMessageClosure = new WaitingMessageClosure(); - var successMessageClosure = functor.dhtml.SuccessMessageClosure; + const successMessageClosure = new SuccessMessageClosure(); - var errorMessageClosure = functor.dhtml.ErrorMessageClosure; + const errorMessageClosure = new ErrorMessageClosure(); - var entryListUpdateClosure = functor.dhtml.EntryListUpdateClosure; + const entryListUpdateClosure = new EntryListUpdateClosure(); - var eventBuildClosure = functor.event.EventBuildClosure; + const eventBuildClosure = new EventBuildClosure(); // show the waiting message. waitingMessageClosure.execute({ diff --git a/webapp/src/main/assets/scripts/functor/request/EntryListClosure.js b/webapp/src/main/assets/scripts/functor/request/EntryListClosure.js index 2960421..d9f4af4 100644 --- a/webapp/src/main/assets/scripts/functor/request/EntryListClosure.js +++ b/webapp/src/main/assets/scripts/functor/request/EntryListClosure.js @@ -12,6 +12,11 @@ * limitations under the License. */ +import { ListWaitingClosure } from '../dhtml/ListWaitingClosure'; +import { ErrorMessageClosure } from '../dhtml/ErrorMessageClosure'; +import { EntryListUpdateClosure } from '../dhtml/EntryListUpdateClosure'; +import { EventBuildClosure } from '../event/EventBuildClosure'; + /////////////////////////////////////////////////////////////////////////////// /** * a functor class of the application. @@ -19,20 +24,20 @@ * * @author h.adachi */ -functor.request.EntryListClosure = { +export class EntryListClosure { /////////////////////////////////////////////////////////////////////////// // public methods - execute: function(obj) { + execute(obj) { - var listWaitingClosure = functor.dhtml.ListWaitingClosure; + const listWaitingClosure = new ListWaitingClosure(); - var errorMessageClosure = functor.dhtml.ErrorMessageClosure; + const errorMessageClosure = new ErrorMessageClosure(); - var entryListUpdateClosure = functor.dhtml.EntryListUpdateClosure; + const entryListUpdateClosure = new EntryListUpdateClosure(); - var eventBuildClosure = functor.event.EventBuildClosure; + const eventBuildClosure = new EventBuildClosure(); // show the waiting message. listWaitingClosure.execute( diff --git a/webapp/src/main/assets/scripts/functor/request/EntryPostClosure.js b/webapp/src/main/assets/scripts/functor/request/EntryPostClosure.js index ddcf244..81233d1 100644 --- a/webapp/src/main/assets/scripts/functor/request/EntryPostClosure.js +++ b/webapp/src/main/assets/scripts/functor/request/EntryPostClosure.js @@ -12,6 +12,12 @@ * limitations under the License. */ +import { WaitingMessageClosure } from '../dhtml/WaitingMessageClosure'; +import { SuccessMessageClosure } from '../dhtml/SuccessMessageClosure'; +import { ErrorMessageClosure } from '../dhtml/ErrorMessageClosure'; +import { EntryListUpdateClosure } from '../dhtml/EntryListUpdateClosure'; +import { EventBuildClosure } from '../event/EventBuildClosure'; + /////////////////////////////////////////////////////////////////////////////// /** * a functor class of the application. @@ -19,22 +25,22 @@ * * @author h.adachi */ -functor.request.EntryPostClosure = { +export class EntryPostClosure { /////////////////////////////////////////////////////////////////////////// // public methods - execute: function(obj) { + execute(obj) { - var waitingMessageClosure = functor.dhtml.WaitingMessageClosure; + const waitingMessageClosure = new WaitingMessageClosure(); - var successMessageClosure = functor.dhtml.SuccessMessageClosure; + const successMessageClosure = new SuccessMessageClosure(); - var errorMessageClosure = functor.dhtml.ErrorMessageClosure; + const errorMessageClosure = new ErrorMessageClosure(); - var entryListUpdateClosure = functor.dhtml.EntryListUpdateClosure; + const entryListUpdateClosure = new EntryListUpdateClosure(); - var eventBuildClosure = functor.event.EventBuildClosure; + const eventBuildClosure = new EventBuildClosure(); // show the waiting message. waitingMessageClosure.execute({ diff --git a/webapp/src/main/assets/scripts/functor/request/SettingClosure.js b/webapp/src/main/assets/scripts/functor/request/SettingClosure.js index 6155d40..6ceab69 100644 --- a/webapp/src/main/assets/scripts/functor/request/SettingClosure.js +++ b/webapp/src/main/assets/scripts/functor/request/SettingClosure.js @@ -12,6 +12,10 @@ * limitations under the License. */ +import { WaitingMessageClosure } from '../dhtml/WaitingMessageClosure'; +import { SuccessMessageClosure } from '../dhtml/SuccessMessageClosure'; +import { ErrorMessageClosure } from '../dhtml/ErrorMessageClosure'; + /////////////////////////////////////////////////////////////////////////////// /** * a functor class of the application. @@ -19,18 +23,18 @@ * * @author h.adachi */ -functor.request.SettingClosure = { +export class SettingClosure { /////////////////////////////////////////////////////////////////////////// // public methods - execute: function(obj) { + execute(obj) { - var waitingMessageClosure = functor.dhtml.WaitingMessageClosure; + const waitingMessageClosure = new WaitingMessageClosure(); - var successMessageClosure = functor.dhtml.SuccessMessageClosure; + const successMessageClosure = new SuccessMessageClosure(); - var errorMessageClosure = functor.dhtml.ErrorMessageClosure; + const errorMessageClosure = new ErrorMessageClosure(); // show the waiting message. waitingMessageClosure.execute({ diff --git a/webapp/src/main/assets/scripts/functor/request/__reruest.js b/webapp/src/main/assets/scripts/functor/request/__reruest.js deleted file mode 100644 index a48cc4b..0000000 --- a/webapp/src/main/assets/scripts/functor/request/__reruest.js +++ /dev/null @@ -1,3 +0,0 @@ -if (typeof functor.request === "undefined") { - functor.request = {} -} \ No newline at end of file diff --git a/webapp/src/main/assets/scripts/functor/value/EntryFactory.js b/webapp/src/main/assets/scripts/functor/value/EntryFactory.js index 62725fd..6c775f4 100644 --- a/webapp/src/main/assets/scripts/functor/value/EntryFactory.js +++ b/webapp/src/main/assets/scripts/functor/value/EntryFactory.js @@ -20,14 +20,14 @@ * * @author h.adachi */ -functor.value.EntryFactory = { +export class EntryFactory { /////////////////////////////////////////////////////////////////////////// // public methods - create: function() { + create() { // convert the form data to JSON. - var param = {}; + let param = {}; $($("#entry-form").serializeArray()).each( function(i, v) { param[v.name] = v.value; diff --git a/webapp/src/main/assets/scripts/functor/value/__value.js b/webapp/src/main/assets/scripts/functor/value/__value.js deleted file mode 100644 index 2d1f99a..0000000 --- a/webapp/src/main/assets/scripts/functor/value/__value.js +++ /dev/null @@ -1,3 +0,0 @@ -if (typeof functor.value === "undefined") { - functor.value = {} -} \ No newline at end of file diff --git a/webapp/src/main/assets/scripts/main.js b/webapp/src/main/assets/scripts/main.js index 8cb384c..27abc94 100644 --- a/webapp/src/main/assets/scripts/main.js +++ b/webapp/src/main/assets/scripts/main.js @@ -12,12 +12,13 @@ * limitations under the License. */ +import { Application } from './core/Application'; + /////////////////////////////////////////////////////////////////////////////// /** * called the main entry. * * @author h.adachi */ -new core.Application( - this -); +const app = new Application(); +app.run(); \ No newline at end of file diff --git a/webapp/src/main/webapp/docroot/scripts/.gitignore b/webapp/src/main/webapp/docroot/scripts/.gitignore index 3d30671..d2cd548 100644 --- a/webapp/src/main/webapp/docroot/scripts/.gitignore +++ b/webapp/src/main/webapp/docroot/scripts/.gitignore @@ -1,2 +1 @@ -*.nblh~ -exmp-blog.min.js \ No newline at end of file +*.nblh~ \ No newline at end of file diff --git a/webapp/src/main/webapp/docroot/scripts/_exmp-blog.min.js b/webapp/src/main/webapp/docroot/scripts/_exmp-blog.min.js deleted file mode 100644 index 6b925ca..0000000 --- a/webapp/src/main/webapp/docroot/scripts/_exmp-blog.min.js +++ /dev/null @@ -1,100 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); -/******/ } -/******/ }; -/******/ -/******/ // define __esModule on exports -/******/ __webpack_require__.r = function(exports) { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ -/******/ // create a fake namespace object -/******/ // mode & 1: value is a module id, require it -/******/ // mode & 2: merge all properties of value into the ns -/******/ // mode & 4: return value when already ns object -/******/ // mode & 8|1: behave like require -/******/ __webpack_require__.t = function(value, mode) { -/******/ if(mode & 1) value = __webpack_require__(value); -/******/ if(mode & 8) return value; -/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; -/******/ var ns = Object.create(null); -/******/ __webpack_require__.r(ns); -/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); -/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); -/******/ return ns; -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = "./src/main/assets/scripts/main.js"); -/******/ }) -/************************************************************************/ -/******/ ({ - -/***/ "./src/main/assets/scripts/main.js": -/*!*****************************************!*\ - !*** ./src/main/assets/scripts/main.js ***! - \*****************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -eval("/* \n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n///////////////////////////////////////////////////////////////////////////////\n/**\n * called the main entry.\n * \n * @author h.adachi\n */\nnew core.Application(\n this\n);\n\n\n//# sourceURL=webpack:///./src/main/assets/scripts/main.js?"); - -/***/ }) - -/******/ }); \ No newline at end of file diff --git a/webapp/src/main/webapp/docroot/scripts/exmp-blog.min.js b/webapp/src/main/webapp/docroot/scripts/exmp-blog.min.js new file mode 100644 index 0000000..a3c935b --- /dev/null +++ b/webapp/src/main/webapp/docroot/scripts/exmp-blog.min.js @@ -0,0 +1,305 @@ +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = "./src/main/assets/scripts/main.js"); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ "./src/main/assets/scripts/core/Application.js": +/*!*****************************************************!*\ + !*** ./src/main/assets/scripts/core/Application.js ***! + \*****************************************************/ +/*! exports provided: Application */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Application\", function() { return Application; });\n/* harmony import */ var _Controller__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Controller */ \"./src/main/assets/scripts/core/Controller.js\");\n/* \n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n\n///////////////////////////////////////////////////////////////////////////////\n/**\n * an entry class of the application.\n * \n * @author h.adachi\n */\nclass Application {\n run() {\n const controller = new _Controller__WEBPACK_IMPORTED_MODULE_0__[\"Controller\"]();\n $(document).ready(function() {\n controller.init();\n })\n }\n}\n\n\n//# sourceURL=webpack:///./src/main/assets/scripts/core/Application.js?"); + +/***/ }), + +/***/ "./src/main/assets/scripts/core/Controller.js": +/*!****************************************************!*\ + !*** ./src/main/assets/scripts/core/Controller.js ***! + \****************************************************/ +/*! exports provided: Controller */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Controller\", function() { return Controller; });\n/* harmony import */ var _functor_value_EntryFactory__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../functor/value/EntryFactory */ \"./src/main/assets/scripts/functor/value/EntryFactory.js\");\n/* harmony import */ var _functor_request_EntryListClosure__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../functor/request/EntryListClosure */ \"./src/main/assets/scripts/functor/request/EntryListClosure.js\");\n/* harmony import */ var _functor_request_EntryPostClosure__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../functor/request/EntryPostClosure */ \"./src/main/assets/scripts/functor/request/EntryPostClosure.js\");\n/* harmony import */ var _functor_request_SettingClosure__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../functor/request/SettingClosure */ \"./src/main/assets/scripts/functor/request/SettingClosure.js\");\n/* harmony import */ var _functor_dhtml_ProfileUpdateClosure__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../functor/dhtml/ProfileUpdateClosure */ \"./src/main/assets/scripts/functor/dhtml/ProfileUpdateClosure.js\");\n/* \n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n\n\n\n\n\n///////////////////////////////////////////////////////////////////////////////\n/**\n * a controller class of the application.\n * \n * @author h.adachi\n */\nclass Controller {\n\n ///////////////////////////////////////////////////////////////////////////\n // public methods\n \n /**\n * the initialization method of the Controller class.\n * this method should be called.\n */\n init() {\n this._initializeComponent();\n }\n \n ///////////////////////////////////////////////////////////////////////////\n // event handler methods\n \n /**\n * an event handler that called when \n * the button of post is clicked.\n */\n _postButtonOnClick() {\n \n const entryPostClosure = new _functor_request_EntryPostClosure__WEBPACK_IMPORTED_MODULE_2__[\"EntryPostClosure\"]();\n const entryFactory = new _functor_value_EntryFactory__WEBPACK_IMPORTED_MODULE_0__[\"EntryFactory\"]();\n \n entryPostClosure.execute(\n entryFactory.create()\n );\n }\n \n /**\n * an event handler that called when \n * the button of setting is clicked.\n */\n _settingButtonOnClick() {\n \n const settingClosure = new _functor_request_SettingClosure__WEBPACK_IMPORTED_MODULE_3__[\"SettingClosure\"]();\n const entryFactory = new _functor_value_EntryFactory__WEBPACK_IMPORTED_MODULE_0__[\"EntryFactory\"]();\n \n settingClosure.execute(\n entryFactory.create()\n );\n }\n \n /**\n * an event handler that called when \n * the div of message close is clicked.\n */\n _messageDivOnClick() {\n $(\"#message-block\")\n .removeClass(\"show\")\n .css({\n margin: \"0\",\n padding: \"0\",\n border: \"none\"\n })\n .html(\"\");\n }\n \n /**\n * an event handler that called when\n * the div of title is clicked.\n */\n _headerTitleDivOnClick() {\n $(\"div.container\")\n .toggleClass(\n \"wide\", 300\n );\n }\n \n ///////////////////////////////////////////////////////////////////////////\n // private methods\n \n /**\n * initializes a div of the tabs area.\n */\n _initializeTabsDiv() {\n $(\"div.tab-content div.tab\").hide();\n $(\"div.tab-content div.tab:first\").show();\n $(\"div.tab-content ul li:first\").addClass(\"active\");\n $(\"div.tab-content ul li a\").click(function(){\n $(\"div.tab-content ul li\").removeClass(\"active\");\n $(this).parent().addClass(\"active\");\n var currentTab = $(this).attr(\"href\");\n $(\"div.tab-content div.tab\").hide();\n $(currentTab).show();\n return false;\n });\n }\n \n /**\n * initializes a div of entry list.\n * a HTTP request of Ajax for get the entry data.\n */\n _initializeEntryListDiv() {\n \n const profileUpdateClosure = new _functor_dhtml_ProfileUpdateClosure__WEBPACK_IMPORTED_MODULE_4__[\"ProfileUpdateClosure\"]();\n const entryListClosure = new _functor_request_EntryListClosure__WEBPACK_IMPORTED_MODULE_1__[\"EntryListClosure\"]();\n const entryFactory = new _functor_value_EntryFactory__WEBPACK_IMPORTED_MODULE_0__[\"EntryFactory\"]();\n const pageUrl = location.href;\n \n profileUpdateClosure.execute({\n username: $(\"#entry_username\").val(),\n email: $(\"#entry_email\").val()\n });\n \n if (!(pageUrl.indexOf(\"entry/form.html\") == -1)) {\n entryListClosure.execute(\n entryFactory.create()\n );\n }\n }\n \n /**\n * initializes a category select of form.\n * FIXME: a HTTP request of Ajax for get the data.. ? \n */\n _initializeCategorySelect() {\n $(\"#entry-category\").append($(''));\n $(\"#entry-category\").append($(''));\n $(\"#entry-category\").append($(''));\n $(\"#entry-category\").append($(''));\n $(\"#entry-category\").append($(''));\n $(\"#entry-category\").val(\"General\");\n }\n \n /**\n * initialize a component of the view class.\n */\n _initializeComponent() {\n var controller = this; // need\n \n // calls for the initialization methods.\n \n controller._initializeEntryListDiv();\n \n controller._initializeTabsDiv();\n \n controller._initializeCategorySelect();\n \n // set the control's event handler.\n \n $(\"#post-button\").click(function() {\n controller._postButtonOnClick();\n });\n \n $(\"#setting-button\").click(function() {\n controller._settingButtonOnClick();\n });\n \n $(\"#message-block\").click(function() {\n controller._messageDivOnClick();\n });\n \n $(\"span.header-title\").click(function() {\n controller._headerTitleDivOnClick();\n });\n }\n}\n\n\n//# sourceURL=webpack:///./src/main/assets/scripts/core/Controller.js?"); + +/***/ }), + +/***/ "./src/main/assets/scripts/functor/dhtml/EntryListUpdateClosure.js": +/*!*************************************************************************!*\ + !*** ./src/main/assets/scripts/functor/dhtml/EntryListUpdateClosure.js ***! + \*************************************************************************/ +/*! exports provided: EntryListUpdateClosure */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EntryListUpdateClosure\", function() { return EntryListUpdateClosure; });\n/* harmony import */ var _htmltag_EntryListTransformer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../htmltag/EntryListTransformer */ \"./src/main/assets/scripts/functor/htmltag/EntryListTransformer.js\");\n/* \n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n\n///////////////////////////////////////////////////////////////////////////////\n/**\n * a functor class of the application.\n * update the HTML table of the entry list.\n * \n * @author h.adachi\n */\nclass EntryListUpdateClosure {\n \n ///////////////////////////////////////////////////////////////////////////\n // public methods\n \n execute(obj) {\n \n const transformer = new _htmltag_EntryListTransformer__WEBPACK_IMPORTED_MODULE_0__[\"EntryListTransformer\"]();\n \n $(\"#entry-list-block\").html(\n transformer.transform(\n obj\n )\n );\n }\n}\n\n\n//# sourceURL=webpack:///./src/main/assets/scripts/functor/dhtml/EntryListUpdateClosure.js?"); + +/***/ }), + +/***/ "./src/main/assets/scripts/functor/dhtml/ErrorMessageClosure.js": +/*!**********************************************************************!*\ + !*** ./src/main/assets/scripts/functor/dhtml/ErrorMessageClosure.js ***! + \**********************************************************************/ +/*! exports provided: ErrorMessageClosure */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ErrorMessageClosure\", function() { return ErrorMessageClosure; });\n/* \n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n///////////////////////////////////////////////////////////////////////////////\n/**\n * a functor class of the application.\n * display a message to div when the command is error.\n * \n * @author h.adachi\n */\nclass ErrorMessageClosure {\n \n ///////////////////////////////////////////////////////////////////////////\n // public methods\n \n execute(obj) {\n \n // update the html element and the css style.\n $(\"#message-block\")\n .addClass(\n \"show\"\n )\n .css({\n margin: \"1em 0.25em 1em 0.25em\",\n padding: \"0.25em\",\n color: \"red\",\n backgroundColor: \"pink\",\n border: \"1px solid red\"\n })\n .html(\n '' +\n \"

\" + obj.message + \"

\"\n );\n }\n}\n\n\n//# sourceURL=webpack:///./src/main/assets/scripts/functor/dhtml/ErrorMessageClosure.js?"); + +/***/ }), + +/***/ "./src/main/assets/scripts/functor/dhtml/ListWaitingClosure.js": +/*!*********************************************************************!*\ + !*** ./src/main/assets/scripts/functor/dhtml/ListWaitingClosure.js ***! + \*********************************************************************/ +/*! exports provided: ListWaitingClosure */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ListWaitingClosure\", function() { return ListWaitingClosure; });\n/* \n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n///////////////////////////////////////////////////////////////////////////////\n/**\n * a functor class of the application.\n * display an icon image when an ajax http request of\n * to get the entry list is waiting.\n * \n * @author h.adachi\n */\nclass ListWaitingClosure {\n \n ///////////////////////////////////////////////////////////////////////////\n // public methods\n \n execute(obj) {\n \n // update the html element.\n $(\"#entry-list-block\")\n .html(\n \"

\" + \n '\"now' +\n \"

\"\n );\n }\n}\n\n\n//# sourceURL=webpack:///./src/main/assets/scripts/functor/dhtml/ListWaitingClosure.js?"); + +/***/ }), + +/***/ "./src/main/assets/scripts/functor/dhtml/ProfileUpdateClosure.js": +/*!***********************************************************************!*\ + !*** ./src/main/assets/scripts/functor/dhtml/ProfileUpdateClosure.js ***! + \***********************************************************************/ +/*! exports provided: ProfileUpdateClosure */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ProfileUpdateClosure\", function() { return ProfileUpdateClosure; });\n/* \n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n///////////////////////////////////////////////////////////////////////////////\n/**\n * a functor class of the application.\n * update the html of the profile.\n * \n * @author h.adachi\n */\nclass ProfileUpdateClosure {\n \n ///////////////////////////////////////////////////////////////////////////\n // public methods\n \n execute(obj) {\n var username = obj.username;\n var email = obj.email;\n var hash = 0;\n if (!username) { username = \"undefined\"; }\n if (email) { hash = MD5_hexhash(email); }\n \n $(\"#user-profile\").html(\n \"
\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"
\" +\n \"\" +\n \"\" +\n \"
\" + username + \"
\" +\n \"
\"\n );\n }\n}\n\n//# sourceURL=webpack:///./src/main/assets/scripts/functor/dhtml/ProfileUpdateClosure.js?"); + +/***/ }), + +/***/ "./src/main/assets/scripts/functor/dhtml/SuccessMessageClosure.js": +/*!************************************************************************!*\ + !*** ./src/main/assets/scripts/functor/dhtml/SuccessMessageClosure.js ***! + \************************************************************************/ +/*! exports provided: SuccessMessageClosure */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SuccessMessageClosure\", function() { return SuccessMessageClosure; });\n/* \n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n///////////////////////////////////////////////////////////////////////////////\n/**\n * a functor class of the application.\n * display a message to div when the command is success.\n * \n * @author h.adachi\n */\nclass SuccessMessageClosure {\n \n ///////////////////////////////////////////////////////////////////////////\n // public methods\n \n execute(obj) {\n \n // update the html element and the css style.\n $(\"#message-block\")\n .addClass(\n \"show\"\n ) \n .css({\n margin: \"1em 0.25em 1em 0.25em\",\n padding: \"0.25em\",\n color: \"green\",\n backgroundColor: \"palegreen\",\n border: \"1px solid green\"\n })\n .html(\n '' +\n \"

\" + obj.message + \"

\"\n );\n }\n}\n\n\n//# sourceURL=webpack:///./src/main/assets/scripts/functor/dhtml/SuccessMessageClosure.js?"); + +/***/ }), + +/***/ "./src/main/assets/scripts/functor/dhtml/WaitingMessageClosure.js": +/*!************************************************************************!*\ + !*** ./src/main/assets/scripts/functor/dhtml/WaitingMessageClosure.js ***! + \************************************************************************/ +/*! exports provided: WaitingMessageClosure */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WaitingMessageClosure\", function() { return WaitingMessageClosure; });\n/* \n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n///////////////////////////////////////////////////////////////////////////////\n/**\n * a functor class of the application.\n * display a message to div when an ajax http request command waiting.\n * \n * @author h.adachi\n */\nclass WaitingMessageClosure {\n \n ///////////////////////////////////////////////////////////////////////////\n // public methods\n \n execute(obj) {\n \n // update the html element and the css style.\n $(\"#message-block\")\n .addClass(\n \"show\"\n )\n .css({\n margin: \"1em 0.25em 1em 0.25em\",\n padding: \"0.25em\",\n color: \"silver\",\n backgroundColor: \"lavender\",\n border: \"1px solid silver\"\n })\n .html(\n '

' + \n \"

\" + obj.message + \"

\"\n );\n }\n}\n\n\n//# sourceURL=webpack:///./src/main/assets/scripts/functor/dhtml/WaitingMessageClosure.js?"); + +/***/ }), + +/***/ "./src/main/assets/scripts/functor/event/DeleteEventClosure.js": +/*!*********************************************************************!*\ + !*** ./src/main/assets/scripts/functor/event/DeleteEventClosure.js ***! + \*********************************************************************/ +/*! exports provided: DeleteEventClosure */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DeleteEventClosure\", function() { return DeleteEventClosure; });\n/* harmony import */ var _request_EntryDeleteClosure__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../request/EntryDeleteClosure */ \"./src/main/assets/scripts/functor/request/EntryDeleteClosure.js\");\n/* \n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n\n///////////////////////////////////////////////////////////////////////////////\n/**\n * a functor class of the application.\n * set the event handler of entry delete action.\n * \n * @author h.adachi\n */\nclass DeleteEventClosure {\n \n ///////////////////////////////////////////////////////////////////////////\n // public methods\n \n execute(obj) {\n console.log(\"/functor/event/DeleteEventClosure#execute\");\n \n const deleteClosure = new _request_EntryDeleteClosure__WEBPACK_IMPORTED_MODULE_0__[\"EntryDeleteClosure\"]();\n \n // dynamically generate an event handler.\n $(\"#entry-delete-\" + obj.code).click(function() {\n deleteClosure.execute({\n code: obj.code\n });\n });\n }\n}\n\n\n//# sourceURL=webpack:///./src/main/assets/scripts/functor/event/DeleteEventClosure.js?"); + +/***/ }), + +/***/ "./src/main/assets/scripts/functor/event/EditEventClosure.js": +/*!*******************************************************************!*\ + !*** ./src/main/assets/scripts/functor/event/EditEventClosure.js ***! + \*******************************************************************/ +/*! exports provided: EditEventClosure */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EditEventClosure\", function() { return EditEventClosure; });\n/* \n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n///////////////////////////////////////////////////////////////////////////////\n/**\n * a functor class of the application.\n * set the event handler of entry edit action.\n * \n * @author h.adachi\n */\nclass EditEventClosure {\n \n ///////////////////////////////////////////////////////////////////////////\n // public methods\n \n execute(obj) {\n console.log(\"/functor/event/EditEventClosure#execute\");\n \n // dynamically generate an event handler.\n $(\"#entry-edit-\" + obj.code).click(function() {\n \n // get the entry value for from that need to edit.\n $(\"#entry-title\").val(\n $(\"#entry-title-\" + obj.code).text()\n );\n $(\"#entry-content\").val(\n $(\"#entry-content-\" + obj.code).text()\n );\n $(\"#entry-category\").val(\n $(\"#entry-category-\" + obj.code).val()\n );\n $(\"#entry-tags\").val(\n $(\"#entry-tags-\" + obj.code).val()\n );\n $(\"#id\").val(\n $(\"#entry-id-\" + obj.code).val()\n );\n $(\"#code\").val(\n obj.code\n );\n });\n }\n}\n\n\n//# sourceURL=webpack:///./src/main/assets/scripts/functor/event/EditEventClosure.js?"); + +/***/ }), + +/***/ "./src/main/assets/scripts/functor/event/EventBuildClosure.js": +/*!********************************************************************!*\ + !*** ./src/main/assets/scripts/functor/event/EventBuildClosure.js ***! + \********************************************************************/ +/*! exports provided: EventBuildClosure */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EventBuildClosure\", function() { return EventBuildClosure; });\n/* harmony import */ var _event_EditEventClosure__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../event/EditEventClosure */ \"./src/main/assets/scripts/functor/event/EditEventClosure.js\");\n/* harmony import */ var _event_DeleteEventClosure__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../event/DeleteEventClosure */ \"./src/main/assets/scripts/functor/event/DeleteEventClosure.js\");\n/* \n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n\n\n///////////////////////////////////////////////////////////////////////////////\n/**\n * a functor class of the application.\n * build the event handler.\n * \n * @author h.adachi\n */\nclass EventBuildClosure {\n \n ///////////////////////////////////////////////////////////////////////////\n // public methods\n \n execute(obj) {\n \n const editEventClosure = new _event_EditEventClosure__WEBPACK_IMPORTED_MODULE_0__[\"EditEventClosure\"]();\n \n const deleteEventClosure = new _event_DeleteEventClosure__WEBPACK_IMPORTED_MODULE_1__[\"DeleteEventClosure\"]();\n \n for (let i = 0; i < obj.entryModelList.length; i++) {\n let code = obj.entryModelList[i].code;\n \n // set the event handler for edit.\n editEventClosure.execute({\n code: code\n });\n \n // set the event handler for delete.\n deleteEventClosure.execute({\n code: code\n });\n }\n }\n}\n\n\n//# sourceURL=webpack:///./src/main/assets/scripts/functor/event/EventBuildClosure.js?"); + +/***/ }), + +/***/ "./src/main/assets/scripts/functor/htmltag/EntryListTransformer.js": +/*!*************************************************************************!*\ + !*** ./src/main/assets/scripts/functor/htmltag/EntryListTransformer.js ***! + \*************************************************************************/ +/*! exports provided: EntryListTransformer */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EntryListTransformer\", function() { return EntryListTransformer; });\n/* \n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n///////////////////////////////////////////////////////////////////////////////\n/**\n * a functor class of the application.\n * this class is a transformer that JSON data get by\n * Ajax HTTP requests and convert to HTML tables.\n * \n * @author h.adachi\n */\nclass EntryListTransformer {\n \n ///////////////////////////////////////////////////////////////////////////\n // public methods\n \n transform(obj) {\n console.log(\"/functor/htmltag/EntryListTransformer#transform\");\n \n // dynamically generate an html table.\n let table = \"\";\n for (let i = 0; i < obj.entryModelList.length; i++) {\n \n // get the value\n let id = obj.entryModelList[i].id; \n let code = obj.entryModelList[i].code; \n let title = $.erasureHTML(\n obj.entryModelList[i].title\n );\n let content = $.erasureHTML(\n obj.entryModelList[i].content\n );\n let category = $.erasureHTML(\n obj.entryModelList[i].category\n );\n let tags = $.erasureHTML(\n obj.entryModelList[i].tags\n );\n let permalinkUrl = obj.entryModelList[i].permalinkUrl;\n let username = obj.entryModelList[i].username;\n let email = obj.entryModelList[i].email;\n let hash = 0;\n if (email) { hash = MD5_hexhash(email); }\n \n // create an html tag and set the entry code.\n // TODO: another user's e and d..\n table +=\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\";\n }\n table += \"
\" + \n \"
\" + \n \"\" +\n \"
\" +\n \"
\" +\n \"\" + \n \"\" + title + \"\" + \n \"\" + \" \" +\n \"\" + content + \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" + \n \"\" +\n \"\" +\n \"\" +\n \"\" + \n \"\" +\n \"\" +\n \"
\" + \n \"
e
\" + \n \"
\" + \n \"
d
\" + \n \"
\" +\n \"
\";\n return table;\n }\n}\n\n\n//# sourceURL=webpack:///./src/main/assets/scripts/functor/htmltag/EntryListTransformer.js?"); + +/***/ }), + +/***/ "./src/main/assets/scripts/functor/request/EntryDeleteClosure.js": +/*!***********************************************************************!*\ + !*** ./src/main/assets/scripts/functor/request/EntryDeleteClosure.js ***! + \***********************************************************************/ +/*! exports provided: EntryDeleteClosure */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EntryDeleteClosure\", function() { return EntryDeleteClosure; });\n/* harmony import */ var _dhtml_WaitingMessageClosure__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dhtml/WaitingMessageClosure */ \"./src/main/assets/scripts/functor/dhtml/WaitingMessageClosure.js\");\n/* harmony import */ var _dhtml_SuccessMessageClosure__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dhtml/SuccessMessageClosure */ \"./src/main/assets/scripts/functor/dhtml/SuccessMessageClosure.js\");\n/* harmony import */ var _dhtml_ErrorMessageClosure__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../dhtml/ErrorMessageClosure */ \"./src/main/assets/scripts/functor/dhtml/ErrorMessageClosure.js\");\n/* harmony import */ var _dhtml_EntryListUpdateClosure__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../dhtml/EntryListUpdateClosure */ \"./src/main/assets/scripts/functor/dhtml/EntryListUpdateClosure.js\");\n/* harmony import */ var _event_EventBuildClosure__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../event/EventBuildClosure */ \"./src/main/assets/scripts/functor/event/EventBuildClosure.js\");\n/* \n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n\n\n\n\n\n///////////////////////////////////////////////////////////////////////////////\n/**\n * a functor class of the application.\n * send HTTP request for the entry delete.\n * \n * @author h.adachi\n */\nclass EntryDeleteClosure {\n \n ///////////////////////////////////////////////////////////////////////////\n // public methods\n \n execute(obj) {\n console.log(\"/functor/request/EntryDeleteClosure#execute\");\n \n const waitingMessageClosure = new _dhtml_WaitingMessageClosure__WEBPACK_IMPORTED_MODULE_0__[\"WaitingMessageClosure\"]();\n \n const successMessageClosure = new _dhtml_SuccessMessageClosure__WEBPACK_IMPORTED_MODULE_1__[\"SuccessMessageClosure\"]();\n \n const errorMessageClosure = new _dhtml_ErrorMessageClosure__WEBPACK_IMPORTED_MODULE_2__[\"ErrorMessageClosure\"]();\n \n const entryListUpdateClosure = new _dhtml_EntryListUpdateClosure__WEBPACK_IMPORTED_MODULE_3__[\"EntryListUpdateClosure\"]();\n \n const eventBuildClosure = new _event_EventBuildClosure__WEBPACK_IMPORTED_MODULE_4__[\"EventBuildClosure\"]();\n \n // show the waiting message.\n waitingMessageClosure.execute({\n message: \"please wait...\"\n });\n \n // create an ajax object.\n new $.ajax({\n url: \"delete.json\",\n type: \"POST\",\n data: {\n code: obj.code\n },\n dataType: \"json\",\n \n // callback function of the success.\n success: function(data, dataType) {\n \n // if get a error from the response.\n if (data.isError) {\n // show the error message.\n errorMessageClosure.execute({\n message: \"application error occurred..\"\n });\n return;\n }\n \n // update the HTML table of the entry list.\n entryListUpdateClosure.execute(\n data\n );\n \n // build the event of the entry list.\n eventBuildClosure.execute(\n data\n );\n \n // show the success message.\n successMessageClosure.execute({\n message: \"complete.\"\n });\n },\n \n // callback function of the error.\n error: function(XMLHttpRequest, textStatus, errorThrown) {\n \n // show the error message.\n errorMessageClosure.execute({\n message: \"httprequest error occurred..\"\n });\n }\n });\n }\n}\n\n\n//# sourceURL=webpack:///./src/main/assets/scripts/functor/request/EntryDeleteClosure.js?"); + +/***/ }), + +/***/ "./src/main/assets/scripts/functor/request/EntryListClosure.js": +/*!*********************************************************************!*\ + !*** ./src/main/assets/scripts/functor/request/EntryListClosure.js ***! + \*********************************************************************/ +/*! exports provided: EntryListClosure */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EntryListClosure\", function() { return EntryListClosure; });\n/* harmony import */ var _dhtml_ListWaitingClosure__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dhtml/ListWaitingClosure */ \"./src/main/assets/scripts/functor/dhtml/ListWaitingClosure.js\");\n/* harmony import */ var _dhtml_ErrorMessageClosure__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dhtml/ErrorMessageClosure */ \"./src/main/assets/scripts/functor/dhtml/ErrorMessageClosure.js\");\n/* harmony import */ var _dhtml_EntryListUpdateClosure__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../dhtml/EntryListUpdateClosure */ \"./src/main/assets/scripts/functor/dhtml/EntryListUpdateClosure.js\");\n/* harmony import */ var _event_EventBuildClosure__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../event/EventBuildClosure */ \"./src/main/assets/scripts/functor/event/EventBuildClosure.js\");\n/* \n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n\n\n\n\n///////////////////////////////////////////////////////////////////////////////\n/**\n * a functor class of the application.\n * send HTTP request for get the entry list.\n * \n * @author h.adachi\n */\nclass EntryListClosure {\n \n ///////////////////////////////////////////////////////////////////////////\n // public methods\n \n execute(obj) {\n \n const listWaitingClosure = new _dhtml_ListWaitingClosure__WEBPACK_IMPORTED_MODULE_0__[\"ListWaitingClosure\"]();\n \n const errorMessageClosure = new _dhtml_ErrorMessageClosure__WEBPACK_IMPORTED_MODULE_1__[\"ErrorMessageClosure\"]();\n \n const entryListUpdateClosure = new _dhtml_EntryListUpdateClosure__WEBPACK_IMPORTED_MODULE_2__[\"EntryListUpdateClosure\"]();\n \n const eventBuildClosure = new _event_EventBuildClosure__WEBPACK_IMPORTED_MODULE_3__[\"EventBuildClosure\"]();\n \n // show the waiting message.\n listWaitingClosure.execute(\n null\n );\n \n // create an ajax object.\n new $.ajax({\n url: \"list.json\",\n type: \"POST\",\n data: obj,\n dataType: \"json\",\n contentType: \"application/json;charset=UTF-8\",\n \n // callback function of the success.\n success: function(data, dataType) {\n \n // if get a error from the response.\n if (data.isError) {\n // show the error message.\n errorMessageClosure.execute({\n message: \"application error occurred..\"\n });\n $(\"#entry-list-block\").html(\"\");\n return;\n }\n \n // update the HTML table of the entry list.\n entryListUpdateClosure.execute(\n data\n );\n \n // build the event of the entry list.\n eventBuildClosure.execute(\n data\n );\n \n },\n \n // callback function of the error.\n error: function(XMLHttpRequest, textStatus, errorThrown) {\n \n // show the error message.\n errorMessageClosure.execute({\n message: \"httprequest error occurred..\"\n });\n $(\"#entry-list-block\").html(\"\");\n }\n });\n }\n}\n\n\n//# sourceURL=webpack:///./src/main/assets/scripts/functor/request/EntryListClosure.js?"); + +/***/ }), + +/***/ "./src/main/assets/scripts/functor/request/EntryPostClosure.js": +/*!*********************************************************************!*\ + !*** ./src/main/assets/scripts/functor/request/EntryPostClosure.js ***! + \*********************************************************************/ +/*! exports provided: EntryPostClosure */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EntryPostClosure\", function() { return EntryPostClosure; });\n/* harmony import */ var _dhtml_WaitingMessageClosure__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dhtml/WaitingMessageClosure */ \"./src/main/assets/scripts/functor/dhtml/WaitingMessageClosure.js\");\n/* harmony import */ var _dhtml_SuccessMessageClosure__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dhtml/SuccessMessageClosure */ \"./src/main/assets/scripts/functor/dhtml/SuccessMessageClosure.js\");\n/* harmony import */ var _dhtml_ErrorMessageClosure__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../dhtml/ErrorMessageClosure */ \"./src/main/assets/scripts/functor/dhtml/ErrorMessageClosure.js\");\n/* harmony import */ var _dhtml_EntryListUpdateClosure__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../dhtml/EntryListUpdateClosure */ \"./src/main/assets/scripts/functor/dhtml/EntryListUpdateClosure.js\");\n/* harmony import */ var _event_EventBuildClosure__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../event/EventBuildClosure */ \"./src/main/assets/scripts/functor/event/EventBuildClosure.js\");\n/* \n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n\n\n\n\n\n///////////////////////////////////////////////////////////////////////////////\n/**\n * a functor class of the application.\n * send HTTP request for the entry post.\n * \n * @author h.adachi\n */\nclass EntryPostClosure {\n \n ///////////////////////////////////////////////////////////////////////////\n // public methods\n \n execute(obj) {\n \n const waitingMessageClosure = new _dhtml_WaitingMessageClosure__WEBPACK_IMPORTED_MODULE_0__[\"WaitingMessageClosure\"]();\n \n const successMessageClosure = new _dhtml_SuccessMessageClosure__WEBPACK_IMPORTED_MODULE_1__[\"SuccessMessageClosure\"]();\n \n const errorMessageClosure = new _dhtml_ErrorMessageClosure__WEBPACK_IMPORTED_MODULE_2__[\"ErrorMessageClosure\"]();\n \n const entryListUpdateClosure = new _dhtml_EntryListUpdateClosure__WEBPACK_IMPORTED_MODULE_3__[\"EntryListUpdateClosure\"]();\n \n const eventBuildClosure = new _event_EventBuildClosure__WEBPACK_IMPORTED_MODULE_4__[\"EventBuildClosure\"]();\n \n // show the waiting message.\n waitingMessageClosure.execute({\n message: \"please wait...\"\n });\n \n // create an ajax object.\n new $.ajax({\n url: \"post.json\",\n type: \"POST\",\n data: obj,\n dataType: \"json\",\n contentType: \"application/json;charset=UTF-8\",\n \n // callback function of the success.\n success: function(data, dataType) {\n \n // if get a error from the response.\n if (data.isError) {\n // show the error message.\n errorMessageClosure.execute({\n message: \"application error occurred..\"\n });\n return;\n }\n \n // update the HTML table of the entry list.\n entryListUpdateClosure.execute(\n data\n );\n \n // build the event of the entry list.\n eventBuildClosure.execute(\n data\n );\n \n // clear the input.\n $(\"#id\").val(\"\");\n $(\"#code\").val(\"\");\n $(\"#entry-title\").val(\"\");\n $(\"#entry-content\").val(\"\");\n $(\"#entry-category\").val(0);\n $(\"#entry-tags\").val(\"\");\n \n // show the success message.\n successMessageClosure.execute({\n message: \"complete.\"\n });\n },\n \n // callback function of the error.\n error: function(XMLHttpRequest, textStatus, errorThrown) {\n \n // show the error message.\n errorMessageClosure.execute({\n message: \"httprequest error occurred..\"\n });\n }\n });\n }\n}\n\n\n//# sourceURL=webpack:///./src/main/assets/scripts/functor/request/EntryPostClosure.js?"); + +/***/ }), + +/***/ "./src/main/assets/scripts/functor/request/SettingClosure.js": +/*!*******************************************************************!*\ + !*** ./src/main/assets/scripts/functor/request/SettingClosure.js ***! + \*******************************************************************/ +/*! exports provided: SettingClosure */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SettingClosure\", function() { return SettingClosure; });\n/* harmony import */ var _dhtml_WaitingMessageClosure__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dhtml/WaitingMessageClosure */ \"./src/main/assets/scripts/functor/dhtml/WaitingMessageClosure.js\");\n/* harmony import */ var _dhtml_SuccessMessageClosure__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dhtml/SuccessMessageClosure */ \"./src/main/assets/scripts/functor/dhtml/SuccessMessageClosure.js\");\n/* harmony import */ var _dhtml_ErrorMessageClosure__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../dhtml/ErrorMessageClosure */ \"./src/main/assets/scripts/functor/dhtml/ErrorMessageClosure.js\");\n/* \n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n\n\n\n///////////////////////////////////////////////////////////////////////////////\n/**\n * a functor class of the application.\n * send HTTP request for the setting.\n * \n * @author h.adachi\n */\nclass SettingClosure {\n \n ///////////////////////////////////////////////////////////////////////////\n // public methods\n \n execute(obj) {\n \n const waitingMessageClosure = new _dhtml_WaitingMessageClosure__WEBPACK_IMPORTED_MODULE_0__[\"WaitingMessageClosure\"]();\n \n const successMessageClosure = new _dhtml_SuccessMessageClosure__WEBPACK_IMPORTED_MODULE_1__[\"SuccessMessageClosure\"]();\n \n const errorMessageClosure = new _dhtml_ErrorMessageClosure__WEBPACK_IMPORTED_MODULE_2__[\"ErrorMessageClosure\"]();\n \n // show the waiting message.\n waitingMessageClosure.execute({\n message: \"please wait...\"\n });\n \n // create an ajax object.\n new $.ajax({\n url: \"setting.json\",\n type: \"POST\",\n data: obj,\n dataType: \"json\",\n contentType: \"application/json;charset=UTF-8\",\n \n // callback function of the success.\n success: function(data, dataType) {\n \n // if get a error from the response.\n if (data.isError) {\n // show the error message.\n errorMessageClosure.execute({\n message: \"application error occurred..\"\n });\n return;\n }\n },\n \n // callback function of the error.\n error: function(XMLHttpRequest, textStatus, errorThrown) {\n \n // ** success in this class method. **\n // because, this ajax requests are redirected as normal.\n if (XMLHttpRequest.status == 200) {\n // show the success message.\n successMessageClosure.execute({\n message: \"complete.\"\n });\n return;\n }\n \n // show the error message.\n errorMessageClosure.execute({\n message: \"httprequest error occurred..\"\n });\n }\n });\n }\n}\n\n\n//# sourceURL=webpack:///./src/main/assets/scripts/functor/request/SettingClosure.js?"); + +/***/ }), + +/***/ "./src/main/assets/scripts/functor/value/EntryFactory.js": +/*!***************************************************************!*\ + !*** ./src/main/assets/scripts/functor/value/EntryFactory.js ***! + \***************************************************************/ +/*! exports provided: EntryFactory */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EntryFactory\", function() { return EntryFactory; });\n/* \n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n///////////////////////////////////////////////////////////////////////////////\n/**\n * a functor class of the application.\n * get the value from the HTML form and \n * create a JSON object for HTTP POST.\n * \n * @author h.adachi\n */\nclass EntryFactory {\n \n ///////////////////////////////////////////////////////////////////////////\n // public methods\n \n create() {\n // convert the form data to JSON.\n let param = {};\n $($(\"#entry-form\").serializeArray()).each(\n function(i, v) {\n param[v.name] = v.value;\n }\n );\n return $.toJSON(param);\n }\n}\n\n\n//# sourceURL=webpack:///./src/main/assets/scripts/functor/value/EntryFactory.js?"); + +/***/ }), + +/***/ "./src/main/assets/scripts/main.js": +/*!*****************************************!*\ + !*** ./src/main/assets/scripts/main.js ***! + \*****************************************/ +/*! no exports provided */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _core_Application__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./core/Application */ \"./src/main/assets/scripts/core/Application.js\");\n/* \n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n\n///////////////////////////////////////////////////////////////////////////////\n/**\n * called the main entry.\n * \n * @author h.adachi\n */\nconst app = new _core_Application__WEBPACK_IMPORTED_MODULE_0__[\"Application\"]();\napp.run();\n\n//# sourceURL=webpack:///./src/main/assets/scripts/main.js?"); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/webapp/webpack.config.js b/webapp/webpack.config.js index 4bb3f11..3455108 100644 --- a/webapp/webpack.config.js +++ b/webapp/webpack.config.js @@ -3,7 +3,7 @@ module.exports = { mode: 'development', entry: './src/main/assets/scripts/main.js', output: { - filename: '_exmp-blog.min.js', + filename: 'exmp-blog.min.js', path: path.join(__dirname, 'src/main/webapp/docroot/scripts') } }; \ No newline at end of file