From 0a3679471af76907ce8d4b7a7e043958ecf5e36f Mon Sep 17 00:00:00 2001 From: Vikram Chand Date: Mon, 18 Mar 2024 19:06:59 +0530 Subject: [PATCH 01/12] Removed: old files --- .editorconfig | 11 - .eslintignore | 1 - .eslintrc | 6 - .idea/.gitignore | 8 + .idea/codeStyles/Project.xml | 42 + .idea/codeStyles/codeStyleConfig.xml | 5 + .idea/inspectionProfiles/Project_Default.xml | 6 + .idea/modules.xml | 8 + .idea/php.xml | 6 + .idea/vaahcli.iml | 8 + .idea/vcs.xml | 6 + .travis.yml | 11 - CHANGELOG.md | 61 - bin/run | 5 - bin/run.cmd | 3 - lib/commands/cms/auth.d.ts | 25 - lib/commands/cms/auth.js | 118 - lib/commands/cms/crud.d.ts | 28 - lib/commands/cms/crud.js | 129 - lib/commands/cms/install.d.ts | 34 - lib/commands/cms/install.js | 189 - lib/commands/cms/m-crud.d.ts | 18 - lib/commands/cms/m-crud.js | 83 - lib/commands/cms/m-make.d.ts | 32 - lib/commands/cms/m-make.js | 125 - lib/commands/cms/m.d.ts | 17 - lib/commands/cms/m.js | 86 - lib/commands/cms/settings.d.ts | 28 - lib/commands/cms/settings.js | 115 - lib/commands/cms/t-make.d.ts | 32 - lib/commands/cms/t-make.js | 116 - lib/commands/cms/t.d.ts | 17 - lib/commands/cms/t.js | 73 - lib/commands/cms/taxonomies.d.ts | 31 - lib/commands/cms/taxonomies.js | 124 - lib/commands/cms/users.d.ts | 28 - lib/commands/cms/users.js | 110 - lib/commands/flutter/install.d.ts | 36 - lib/commands/flutter/install.js | 180 - lib/commands/hello.d.ts | 14 - lib/commands/hello.js | 29 - lib/index.d.ts | 1 - lib/index.js | 4 - lib/libraries/Functions.d.ts | 5 - lib/libraries/Functions.js | 55 - lib/libraries/Generator.d.ts | 36 - lib/libraries/Generator.js | 424 - lib/libraries/Helpers.d.ts | 27 - lib/libraries/Helpers.js | 194 - lib/libraries/Questions.d.ts | 48 - lib/libraries/Questions.js | 583 - package-lock.json | 13728 ---------------- package.json | 87 - .../install/android/app/build.gradle.ejs | 71 - .../app/src/debug/AndroidManifest.xml.ejs | 8 - .../app/src/main/AndroidManifest.xml.ejs | 41 - .../template-appname/MainActivity.kt.ejs | 6 - .../app/src/profile/AndroidManifest.xml.ejs | 8 - .../flutter/install/ios/Runner/Info.plist.ejs | 73 - skeletons/flutter/install/pubspec.yaml.ejs | 73 - skeletons/laravel/controller-plain.ejs | 10 - skeletons/laravel/controller.ejs | 76 - skeletons/laravel/migration.ejs | 35 - skeletons/laravel/model.ejs | 9 - skeletons/laravel/observer.ejs | 6 - skeletons/laravel/package/composer.ejs | 18 - skeletons/laravel/package/src/.gitkeep | 0 skeletons/laravel/package/src/Config/.gitkeep | 0 .../package/src/Config/packagename.ejs | 7 - .../laravel/package/src/Console/.gitkeep | 0 .../package/src/Database/Migrations/.gitkeep | 0 .../package/src/Database/Seeders/.gitkeep | 0 .../laravel/package/src/Entities/.gitkeep | 0 skeletons/laravel/package/src/Facade.ejs | 17 - .../package/src/Http/Controllers/.gitkeep | 0 .../src/Http/Controllers/Controller.ejs | 72 - .../package/src/Http/Middleware/.gitkeep | 0 .../package/src/Http/Requests/.gitkeep | 0 .../package/src/Resources/assets/.gitkeep | 0 .../package/src/Resources/lang/.gitkeep | 0 .../package/src/Resources/views/.gitkeep | 0 skeletons/laravel/package/src/Routes/api.ejs | 18 - skeletons/laravel/package/src/Routes/web.ejs | 16 - .../laravel/package/src/ServiceProvider.ejs | 81 - skeletons/laravel/package/src/Tests/.gitkeep | 0 skeletons/laravel/package/src/package.ejs | 18 - skeletons/laravel/seed.ejs | 13 - skeletons/laravel/trait.ejs | 9 - skeletons/laravel/view.ejs | 5 - .../Frontend/AuthController.php.ejs | 130 - .../vaahcms/auth/Models/Registration.php.ejs | 118 - skeletons/vaahcms/auth/Models/User.php.ejs | 73 - .../ActivationLinkNotification.php.ejs | 69 - .../vaahcms/auth/Resources/assets/.gitkeep | 0 .../vaahcms/auth/Resources/assets/js/.gitkeep | 0 .../Resources/assets/js/VueScripts.js.ejs | 637 - .../Resources/assets/json/stop-words.json | 56 - .../frontend/auth/activate.blade.php.ejs | 56 - .../views/frontend/auth/signin.blade.php.ejs | 214 - .../views/frontend/auth/signup.blade.php.ejs | 87 - .../auth/Routes/frontend/routes-auth.php.ejs | 49 - .../crud-vue3/Database/Migrations/.gitkeep | 0 .../Migrations/migration-template.php.ejs | 51 - .../crud-vue3/Http/Controllers/.gitkeep | 0 .../Http/Controllers/Controller.php.ejs | 230 - skeletons/vaahcms/crud-vue3/Models/.gitkeep | 0 .../vaahcms/crud-vue3/Models/Model.php.ejs | 648 - .../Routes/api/api-routes-template.php.ejs | 70 - .../Routes/backend/routes-template.php.ejs | 78 - .../crud-vue3/Vue/pages/template/Form.vue.ejs | 175 - .../crud-vue3/Vue/pages/template/Item.vue.ejs | 168 - .../crud-vue3/Vue/pages/template/List.vue.ejs | 138 - .../pages/template/components/Actions.vue.ejs | 125 - .../pages/template/components/Filters.vue.ejs | 144 - .../pages/template/components/Table.vue.ejs | 136 - .../Vue/routes/vue-routes-template.js.ejs | 33 - .../Vue/stores/store-template.js.ejs | 942 -- .../vaahcms/crud/Database/Migrations/.gitkeep | 0 .../Migrations/migration-template.php.ejs | 51 - .../vaahcms/crud/Http/Controllers/.gitkeep | 0 .../crud/Http/Controllers/Controller.php.ejs | 228 - skeletons/vaahcms/crud/Models/.gitkeep | 0 skeletons/vaahcms/crud/Models/Model.php.ejs | 457 - .../Routes/api/api-routes-template.php.ejs | 36 - .../Routes/backend/routes-template.php.ejs | 40 - .../crud/Vue/pages/template/Form.vue.ejs | 141 - .../crud/Vue/pages/template/FormJs.js.ejs | 211 - .../crud/Vue/pages/template/List.vue.ejs | 387 - .../crud/Vue/pages/template/ListJs.js.ejs | 231 - .../crud/Vue/pages/template/View.vue.ejs | 104 - .../crud/Vue/pages/template/ViewJs.js.ejs | 131 - .../pages/template/partials/ListTable.vue.ejs | 98 - .../template/partials/ListTableJs.js.ejs | 89 - .../Vue/routes/vue-routes-template.js.ejs | 75 - .../Vue/stores/modules/store-template.js.ejs | 120 - .../module-crud/Entities/Model.php.ejs | 429 - .../Controllers/Backend/Controller.php.ejs | 123 - .../Routes/backend/routes-template.php.ejs | 32 - .../Vue/pages/template/Create.vue.ejs | 105 - .../Vue/pages/template/CreateJs.js.ejs | 186 - .../Vue/pages/template/Edit.vue.ejs | 112 - .../Vue/pages/template/EditJs.js.ejs | 191 - .../Vue/pages/template/List.vue.ejs | 265 - .../Vue/pages/template/ListJs.js.ejs | 324 - .../Vue/pages/template/View.vue.ejs | 144 - .../Vue/pages/template/ViewJs.js.ejs | 204 - .../template/partials/ListLargeView.vue.ejs | 61 - .../template/partials/ListLargeViewJs.js.ejs | 100 - .../template/partials/ListSmallView.vue.ejs | 54 - .../template/partials/ListSmallViewJs.js.ejs | 81 - .../Vue/routes/vue-routes-template.js.ejs | 75 - .../Vue/store/modules/store-template.js.ejs | 120 - .../module-files/controller-plain.php.ejs | 10 - .../vaahcms/module-files/controller.php.ejs | 76 - skeletons/vaahcms/module-files/event.php.ejs | 30 - .../vaahcms/module-files/listener.php.ejs | 26 - skeletons/vaahcms/module-files/mail.php.ejs | 32 - .../vaahcms/module-files/mailEmail.php.ejs | 2 - .../vaahcms/module-files/middleware.php.ejs | 19 - .../vaahcms/module-files/migration.php.ejs | 43 - skeletons/vaahcms/module-files/model.php.ejs | 100 - .../vaahcms/module-files/notification.php.ejs | 60 - .../vaahcms/module-files/observer.php.ejs | 6 - skeletons/vaahcms/module-files/seed.php.ejs | 13 - skeletons/vaahcms/module-files/test.php.ejs | 24 - skeletons/vaahcms/module-files/trait.php.ejs | 9 - skeletons/vaahcms/module-files/view.php.ejs | 26 - skeletons/vaahcms/module-vue3/.gitignore.ejs | 4 - skeletons/vaahcms/module-vue3/Config/.gitkeep | 0 .../vaahcms/module-vue3/Config/config.php.ejs | 22 - .../module-vue3/Database/Migrations/.gitkeep | 0 .../module-vue3/Database/Seeds/.gitkeep | 0 .../Seeds/DatabaseTableSeeder.php.ejs | 30 - .../Seeds/SampleDataTableSeeder.php.ejs | 30 - .../vaahcms/module-vue3/Helpers/.gitkeep | 0 .../module-vue3/Http/Controllers/.gitkeep | 0 .../Backend/BackendController.php.ejs | 117 - .../Backend/ExtendController.php.ejs | 62 - .../Backend/SetupController.php.ejs | 73 - .../Http/Controllers/Frontend/.gitkeep | 0 .../Frontend/FrontendController.php.ejs | 21 - .../module-vue3/Http/Middleware/.gitkeep | 0 .../module-vue3/Http/Requests/.gitkeep | 0 .../vaahcms/module-vue3/Libraries/.gitkeep | 0 skeletons/vaahcms/module-vue3/Models/.gitkeep | 0 .../vaahcms/module-vue3/Providers/.gitkeep | 0 .../Providers/EventServiceProvider.php.ejs | 9 - .../Providers/RouteServiceProvider.php.ejs | 82 - .../Providers/ServiceProvider.php.ejs | 216 - skeletons/vaahcms/module-vue3/README.md.ejs | 2 - .../module-vue3/Resources/assets/.gitkeep | 0 .../module-vue3/Resources/assets/css/.gitkeep | 0 .../module-vue3/Resources/assets/js/.gitkeep | 0 .../Resources/assets/sass/.gitkeep | 0 .../module-vue3/Resources/lang/.gitkeep | 0 .../module-vue3/Resources/views/.gitkeep | 0 .../Resources/views/backend/.gitkeep | 0 .../Resources/views/backend/pages/.gitkeep | 0 .../views/backend/pages/app.blade.php.ejs | 30 - .../views/backend/pages/index.blade.php.ejs | 25 - .../vaahcms/module-vue3/Routes/api.php.ejs | 23 - .../module-vue3/Routes/backend.php.ejs | 34 - .../module-vue3/Routes/frontend.php.ejs | 27 - skeletons/vaahcms/module-vue3/Vue/README.md | 19 - .../module-vue3/Vue/components/Aside.vue | 58 - .../module-vue3/Vue/components/Copyright.vue | 33 - .../module-vue3/Vue/components/Footer.vue | 11 - .../vaahcms/module-vue3/Vue/index.html.ejs | 13 - .../vaahcms/module-vue3/Vue/jsconfig.json.ejs | 8 - .../vaahcms/module-vue3/Vue/layouts/App.vue | 46 - .../module-vue3/Vue/layouts/Default.vue | 25 - skeletons/vaahcms/module-vue3/Vue/main.js | 95 - .../vaahcms/module-vue3/Vue/package.json.ejs | 27 - .../Vue/pages/dashboard/Dashboard.vue | 12 - .../vaahcms/module-vue3/Vue/routes/router.js | 33 - .../vaahcms/module-vue3/Vue/routes/routes.js | 7 - .../Vue/routes/vue-routes-dashboard.js | 16 - .../vaahcms/module-vue3/Vue/stores/root.js | 77 - .../module-vue3/Vue/vaahvue/pinia/vaah.js | 436 - .../vaahvue/vue-three/primeflex/VhField.vue | 25 - .../vue-three/primeflex/VhFieldVertical.vue | 15 - .../vaahvue/vue-three/primeflex/VhViewRow.vue | 60 - .../module-vue3/Vue/vite.config.js.ejs | 51 - .../vaahcms/module-vue3/composer.json.ejs | 28 - skeletons/vaahcms/module/.gitignore.ejs | 6 - skeletons/vaahcms/module/Config/.gitkeep | 0 .../vaahcms/module/Config/config.php.ejs | 21 - .../module/Database/Factories/.gitkeep | 0 .../module/Database/Migrations/.gitkeep | 0 .../vaahcms/module/Database/Seeds/.gitkeep | 0 .../Seeds/DatabaseTableSeeder.php.ejs | 30 - .../Seeds/SampleDataTableSeeder.php.ejs | 30 - skeletons/vaahcms/module/Helpers/.gitkeep | 0 .../vaahcms/module/Http/Controllers/.gitkeep | 0 .../Backend/BackendController.php.ejs | 82 - .../Backend/ExtendController.php.ejs | 53 - .../Backend/SetupController.php.ejs | 73 - .../module/Http/Controllers/Frontend/.gitkeep | 0 .../Frontend/FrontendController.php.ejs | 21 - .../vaahcms/module/Http/Middleware/.gitkeep | 0 .../vaahcms/module/Http/Requests/.gitkeep | 0 skeletons/vaahcms/module/Libraries/.gitkeep | 0 skeletons/vaahcms/module/Models/.gitkeep | 0 skeletons/vaahcms/module/Providers/.gitkeep | 0 .../Providers/EventServiceProvider.php.ejs | 9 - .../Providers/RouteServiceProvider.php.ejs | 82 - .../module/Providers/ServiceProvider.php.ejs | 228 - skeletons/vaahcms/module/README.md.ejs | 13 - .../vaahcms/module/Resources/assets/.gitkeep | 0 .../module/Resources/assets/css/.gitkeep | 0 .../module/Resources/assets/js/.gitkeep | 0 .../module/Resources/assets/sass/.gitkeep | 0 .../vaahcms/module/Resources/lang/.gitkeep | 0 .../vaahcms/module/Resources/views/.gitkeep | 0 .../module/Resources/views/backend/.gitkeep | 0 .../Resources/views/backend/pages/.gitkeep | 0 .../views/backend/pages/app.blade.php.ejs | 32 - .../views/backend/pages/index.blade.php.ejs | 27 - skeletons/vaahcms/module/Routes/api.php.ejs | 23 - .../vaahcms/module/Routes/backend.php.ejs | 34 - .../vaahcms/module/Routes/frontend.php.ejs | 27 - .../module/Tests/Browser/ExampleTest.php.ejs | 24 - .../module/Tests/CreatesApplication.php.ejs | 20 - .../vaahcms/module/Tests/DuskTestCase.php.ejs | 45 - skeletons/vaahcms/module/Vue/app.js.ejs | 129 - .../vaahcms/module/Vue/layouts/Default.vue | 29 - .../vaahcms/module/Vue/layouts/DefaultJs.js | 37 - .../module/Vue/layouts/partials/AsideMenu.vue | 45 - .../Vue/layouts/partials/Footer.vue.ejs | 50 - skeletons/vaahcms/module/Vue/package.json.ejs | 83 - .../module/Vue/pages/dashboard/Index.vue | 10 - .../module/Vue/pages/dashboard/IndexJs.js | 31 - .../Vue/routes/config/middlewarePipeline.js | 18 - .../module/Vue/routes/config/router.js | 66 - .../module/Vue/routes/middleware/GetAssets.js | 4 - .../module/Vue/routes/routes-dashboard.js | 48 - skeletons/vaahcms/module/Vue/routes/routes.js | 9 - .../vaahcms/module/Vue/stores/modules/root.js | 86 - skeletons/vaahcms/module/Vue/stores/store.js | 12 - .../Vue/vaahvue/helpers/GlobalComponents.js | 11 - .../module/Vue/vaahvue/helpers/VaahHelper.js | 1217 -- .../module/Vue/vaahvue/helpers/VhHelper.js | 241 - .../vaahcms/module/Vue/webpack.mix.js.ejs | 85 - skeletons/vaahcms/module/composer.json.ejs | 28 - .../vaahcms/settings/Database/Seeds/.gitkeep | 0 .../settings/Database/Seeds/Seeder.php.ejs | 73 - .../Database/Seeds/json/settings.json.ejs | 7 - .../Http/Controllers/Controller.php.ejs | 119 - .../Routes/api/api-routes-template.php.ejs | 31 - .../Routes/backend/routes-template.php.ejs | 29 - .../Vue/pages/template/SettingsLayout.vue.ejs | 50 - .../Vue/pages/template/general/Index.vue.ejs | 55 - .../general/components/ModuleSettings.vue.ejs | 40 - .../Vue/routes/vue-routes-template.js.ejs | 27 - .../settings/Vue/stores/store-template.js.ejs | 109 - .../taxonomies/Database/Migrations/.gitkeep | 0 .../Migrations/migration-template.php.ejs | 56 - .../second-migration-template.php.ejs | 50 - .../Http/Controllers/Controller.php.ejs | 506 - .../vaahcms/taxonomies/Models/Model.php.ejs | 188 - .../taxonomies/Models/SecondModel.php.ejs | 22 - .../Routes/api/api-routes-template.php.ejs | 36 - .../Routes/backend/routes-template.php.ejs | 112 - .../Vue/pages/template/Form.vue.ejs | 206 - .../Vue/pages/template/Item.vue.ejs | 203 - .../Vue/pages/template/List.vue.ejs | 99 - .../pages/template/components/Actions.vue.ejs | 121 - .../pages/template/components/Filters.vue.ejs | 117 - .../pages/template/components/Loader.vue.ejs | 27 - .../pages/template/components/Table.vue.ejs | 200 - .../components/TaxonomyTypeModal.vue.ejs | 124 - .../Vue/routes/vue-routes-template.js.ejs | 33 - .../Vue/stores/store-template.js.ejs | 1079 -- .../theme-files/controller-plain.php.ejs | 10 - .../vaahcms/theme-files/controller.php.ejs | 76 - skeletons/vaahcms/theme-files/event.php.ejs | 32 - .../vaahcms/theme-files/listener.php.ejs | 26 - skeletons/vaahcms/theme-files/mail.php.ejs | 32 - .../vaahcms/theme-files/mailEmail.php.ejs | 2 - .../vaahcms/theme-files/middleware.php.ejs | 19 - .../vaahcms/theme-files/migration.php.ejs | 42 - skeletons/vaahcms/theme-files/model.php.ejs | 101 - .../vaahcms/theme-files/notification.php.ejs | 60 - .../vaahcms/theme-files/observer.php.ejs | 6 - skeletons/vaahcms/theme-files/seed.php.ejs | 13 - skeletons/vaahcms/theme-files/test.php.ejs | 24 - skeletons/vaahcms/theme-files/trait.php.ejs | 9 - skeletons/vaahcms/theme-files/view.php.ejs | 20 - skeletons/vaahcms/theme/.gitignore.ejs | 6 - skeletons/vaahcms/theme/Config/.gitkeep | 0 skeletons/vaahcms/theme/Config/config.php.ejs | 21 - .../vaahcms/theme/Database/Factories/.gitkeep | 0 .../theme/Database/Migrations/.gitkeep | 0 .../vaahcms/theme/Database/Seeds/.gitkeep | 0 .../Seeds/DatabaseTableSeeder.php.ejs | 34 - .../Seeds/SampleDataTableSeeder.php.ejs | 30 - .../theme/Database/Seeds/json/templates.json | 31 - .../Database/Seeds/json/theme_locations.json | 7 - skeletons/vaahcms/theme/Helpers/.gitkeep | 0 .../vaahcms/theme/Http/Controllers/.gitkeep | 0 .../Backend/BackendController.php.ejs | 32 - .../Backend/ExtendController.php.ejs | 53 - .../Backend/SetupController.php.ejs | 84 - .../theme/Http/Controllers/Frontend/.gitkeep | 0 .../Frontend/FrontendController.php.ejs | 21 - .../vaahcms/theme/Http/Middleware/.gitkeep | 0 .../vaahcms/theme/Http/Requests/.gitkeep | 0 skeletons/vaahcms/theme/Libraries/.gitkeep | 0 skeletons/vaahcms/theme/Models/.gitkeep | 0 skeletons/vaahcms/theme/Providers/.gitkeep | 0 .../Providers/EventServiceProvider.php.ejs | 9 - .../Providers/RouteServiceProvider.php.ejs | 82 - .../theme/Providers/ServiceProvider.php.ejs | 228 - skeletons/vaahcms/theme/README.md.ejs | 13 - .../vaahcms/theme/Resources/assets/.gitkeep | 0 .../theme/Resources/assets/css/.gitkeep | 0 .../theme/Resources/assets/js/.gitkeep | 0 .../theme/Resources/assets/sass/.gitkeep | 0 .../vaahcms/theme/Resources/lang/.gitkeep | 0 .../vaahcms/theme/Resources/views/.gitkeep | 0 .../theme/Resources/views/backend/.gitkeep | 0 .../Resources/views/backend/pages/.gitkeep | 0 .../views/backend/pages/app.blade.php.ejs | 28 - .../views/backend/pages/index.blade.php.ejs | 27 - .../views/frontend/default.blade.php.ejs | 30 - .../views/frontend/home.blade.php.ejs | 33 - .../frontend/layouts/default.blade.php.ejs | 66 - .../views/frontend/pages/index.blade.php.ejs | 18 - .../views/frontend/welcome.blade.php.ejs | 33 - skeletons/vaahcms/theme/Routes/api.php.ejs | 14 - .../vaahcms/theme/Routes/backend.php.ejs | 29 - .../vaahcms/theme/Routes/frontend.php.ejs | 27 - .../theme/Tests/Browser/ExampleTest.php.ejs | 24 - .../theme/Tests/CreatesApplication.php.ejs | 20 - .../vaahcms/theme/Tests/DuskTestCase.php.ejs | 45 - skeletons/vaahcms/theme/Vue/app.js.ejs | 130 - .../vaahcms/theme/Vue/layouts/Default.vue | 25 - .../vaahcms/theme/Vue/layouts/DefaultJs.js | 35 - .../theme/Vue/layouts/partials/AsideMenu.vue | 45 - skeletons/vaahcms/theme/Vue/package.json.ejs | 83 - .../theme/Vue/pages/dashboard/Index.vue | 10 - .../theme/Vue/pages/dashboard/IndexJs.js | 31 - .../Vue/routes/config/middlewarePipeline.js | 18 - .../vaahcms/theme/Vue/routes/config/router.js | 54 - .../theme/Vue/routes/middleware/GetAssets.js | 4 - .../theme/Vue/routes/routes-dashboard.js | 47 - skeletons/vaahcms/theme/Vue/routes/routes.js | 9 - .../vaahcms/theme/Vue/store/modules/root.js | 86 - skeletons/vaahcms/theme/Vue/store/store.js | 12 - .../Vue/vaahvue/helpers/GlobalComponents.js | 11 - .../theme/Vue/vaahvue/helpers/VaahHelper.js | 1217 -- .../theme/Vue/vaahvue/helpers/VhHelper.js | 241 - .../vaahcms/theme/Vue/webpack.mix.js.ejs | 85 - skeletons/vaahcms/theme/composer.json.ejs | 28 - .../users/Http/Controllers/Controller.php.ejs | 573 - skeletons/vaahcms/users/Models/Model.php.ejs | 9 - .../Routes/api/api-routes-template.php.ejs | 70 - .../Routes/backend/routes-template.php.ejs | 84 - .../users/Vue/pages/template/Form.vue.ejs | 415 - .../users/Vue/pages/template/Item.vue.ejs | 228 - .../users/Vue/pages/template/List.vue.ejs | 93 - .../users/Vue/pages/template/ViewRole.vue.ejs | 220 - .../pages/template/components/Actions.vue.ejs | 122 - .../template/components/FileUploader.vue.ejs | 144 - .../pages/template/components/Filters.vue.ejs | 110 - .../pages/template/components/Table.vue.ejs | 139 - .../Vue/routes/vue-routes-template.js.ejs | 40 - .../users/Vue/stores/store-template.js.ejs | 1295 -- src/commands/cms/auth.ts | 151 - src/commands/cms/crud.ts | 169 - src/commands/cms/install.ts | 347 - src/commands/cms/m-crud.ts | 113 - src/commands/cms/m-make.ts | 168 - src/commands/cms/m.ts | 125 - src/commands/cms/settings.ts | 154 - src/commands/cms/t-make.ts | 153 - src/commands/cms/t.ts | 101 - src/commands/cms/taxonomies.ts | 169 - src/commands/cms/users.ts | 146 - src/commands/flutter/install.ts | 238 - src/commands/hello.ts | 31 - src/index.ts | 1 - src/libraries/Functions.ts | 72 - src/libraries/Generator.ts | 618 - src/libraries/Helpers.ts | 309 - src/libraries/Questions.ts | 736 - test/commands/cms/crud.test.ts | 17 - test/commands/cms/install.test.ts | 17 - test/commands/cms/m-crud.test.ts | 17 - test/commands/cms/m-make.test.ts | 17 - test/commands/cms/m.test.ts | 17 - test/commands/cms/m/crud.test.ts | 17 - test/commands/cms/settings.test.ts | 17 - test/commands/cms/t-make.test.ts | 17 - test/commands/cms/t.test.ts | 17 - test/commands/cms/taxonomies.test.ts | 17 - test/commands/cms/users.test.ts | 17 - test/commands/crud.test.ts | 17 - test/commands/flutter/install.test.ts | 17 - test/commands/hello.test.ts | 17 - test/mocha.opts | 5 - test/tsconfig.json | 9 - tsconfig.json | 14 - 443 files changed, 89 insertions(+), 47742 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .eslintignore delete mode 100644 .eslintrc create mode 100644 .idea/.gitignore create mode 100644 .idea/codeStyles/Project.xml create mode 100644 .idea/codeStyles/codeStyleConfig.xml create mode 100644 .idea/inspectionProfiles/Project_Default.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/php.xml create mode 100644 .idea/vaahcli.iml create mode 100644 .idea/vcs.xml delete mode 100644 .travis.yml delete mode 100644 CHANGELOG.md delete mode 100644 bin/run delete mode 100644 bin/run.cmd delete mode 100644 lib/commands/cms/auth.d.ts delete mode 100644 lib/commands/cms/auth.js delete mode 100644 lib/commands/cms/crud.d.ts delete mode 100644 lib/commands/cms/crud.js delete mode 100644 lib/commands/cms/install.d.ts delete mode 100644 lib/commands/cms/install.js delete mode 100644 lib/commands/cms/m-crud.d.ts delete mode 100644 lib/commands/cms/m-crud.js delete mode 100644 lib/commands/cms/m-make.d.ts delete mode 100644 lib/commands/cms/m-make.js delete mode 100644 lib/commands/cms/m.d.ts delete mode 100644 lib/commands/cms/m.js delete mode 100644 lib/commands/cms/settings.d.ts delete mode 100644 lib/commands/cms/settings.js delete mode 100644 lib/commands/cms/t-make.d.ts delete mode 100644 lib/commands/cms/t-make.js delete mode 100644 lib/commands/cms/t.d.ts delete mode 100644 lib/commands/cms/t.js delete mode 100644 lib/commands/cms/taxonomies.d.ts delete mode 100644 lib/commands/cms/taxonomies.js delete mode 100644 lib/commands/cms/users.d.ts delete mode 100644 lib/commands/cms/users.js delete mode 100644 lib/commands/flutter/install.d.ts delete mode 100644 lib/commands/flutter/install.js delete mode 100644 lib/commands/hello.d.ts delete mode 100644 lib/commands/hello.js delete mode 100644 lib/index.d.ts delete mode 100644 lib/index.js delete mode 100644 lib/libraries/Functions.d.ts delete mode 100644 lib/libraries/Functions.js delete mode 100644 lib/libraries/Generator.d.ts delete mode 100644 lib/libraries/Generator.js delete mode 100644 lib/libraries/Helpers.d.ts delete mode 100644 lib/libraries/Helpers.js delete mode 100644 lib/libraries/Questions.d.ts delete mode 100644 lib/libraries/Questions.js delete mode 100644 package-lock.json delete mode 100644 package.json delete mode 100644 skeletons/flutter/install/android/app/build.gradle.ejs delete mode 100644 skeletons/flutter/install/android/app/src/debug/AndroidManifest.xml.ejs delete mode 100644 skeletons/flutter/install/android/app/src/main/AndroidManifest.xml.ejs delete mode 100644 skeletons/flutter/install/android/app/src/main/kotlin/template-domain/template-company/template-appname/MainActivity.kt.ejs delete mode 100644 skeletons/flutter/install/android/app/src/profile/AndroidManifest.xml.ejs delete mode 100644 skeletons/flutter/install/ios/Runner/Info.plist.ejs delete mode 100644 skeletons/flutter/install/pubspec.yaml.ejs delete mode 100644 skeletons/laravel/controller-plain.ejs delete mode 100644 skeletons/laravel/controller.ejs delete mode 100644 skeletons/laravel/migration.ejs delete mode 100644 skeletons/laravel/model.ejs delete mode 100644 skeletons/laravel/observer.ejs delete mode 100644 skeletons/laravel/package/composer.ejs delete mode 100644 skeletons/laravel/package/src/.gitkeep delete mode 100644 skeletons/laravel/package/src/Config/.gitkeep delete mode 100644 skeletons/laravel/package/src/Config/packagename.ejs delete mode 100644 skeletons/laravel/package/src/Console/.gitkeep delete mode 100644 skeletons/laravel/package/src/Database/Migrations/.gitkeep delete mode 100644 skeletons/laravel/package/src/Database/Seeders/.gitkeep delete mode 100644 skeletons/laravel/package/src/Entities/.gitkeep delete mode 100644 skeletons/laravel/package/src/Facade.ejs delete mode 100644 skeletons/laravel/package/src/Http/Controllers/.gitkeep delete mode 100644 skeletons/laravel/package/src/Http/Controllers/Controller.ejs delete mode 100644 skeletons/laravel/package/src/Http/Middleware/.gitkeep delete mode 100644 skeletons/laravel/package/src/Http/Requests/.gitkeep delete mode 100644 skeletons/laravel/package/src/Resources/assets/.gitkeep delete mode 100644 skeletons/laravel/package/src/Resources/lang/.gitkeep delete mode 100644 skeletons/laravel/package/src/Resources/views/.gitkeep delete mode 100644 skeletons/laravel/package/src/Routes/api.ejs delete mode 100644 skeletons/laravel/package/src/Routes/web.ejs delete mode 100644 skeletons/laravel/package/src/ServiceProvider.ejs delete mode 100644 skeletons/laravel/package/src/Tests/.gitkeep delete mode 100644 skeletons/laravel/package/src/package.ejs delete mode 100644 skeletons/laravel/seed.ejs delete mode 100644 skeletons/laravel/trait.ejs delete mode 100644 skeletons/laravel/view.ejs delete mode 100644 skeletons/vaahcms/auth/Http/Controllers/Frontend/AuthController.php.ejs delete mode 100644 skeletons/vaahcms/auth/Models/Registration.php.ejs delete mode 100644 skeletons/vaahcms/auth/Models/User.php.ejs delete mode 100644 skeletons/vaahcms/auth/Notifications/ActivationLinkNotification.php.ejs delete mode 100644 skeletons/vaahcms/auth/Resources/assets/.gitkeep delete mode 100644 skeletons/vaahcms/auth/Resources/assets/js/.gitkeep delete mode 100644 skeletons/vaahcms/auth/Resources/assets/js/VueScripts.js.ejs delete mode 100644 skeletons/vaahcms/auth/Resources/assets/json/stop-words.json delete mode 100644 skeletons/vaahcms/auth/Resources/views/frontend/auth/activate.blade.php.ejs delete mode 100644 skeletons/vaahcms/auth/Resources/views/frontend/auth/signin.blade.php.ejs delete mode 100644 skeletons/vaahcms/auth/Resources/views/frontend/auth/signup.blade.php.ejs delete mode 100644 skeletons/vaahcms/auth/Routes/frontend/routes-auth.php.ejs delete mode 100644 skeletons/vaahcms/crud-vue3/Database/Migrations/.gitkeep delete mode 100644 skeletons/vaahcms/crud-vue3/Database/Migrations/migration-template.php.ejs delete mode 100644 skeletons/vaahcms/crud-vue3/Http/Controllers/.gitkeep delete mode 100644 skeletons/vaahcms/crud-vue3/Http/Controllers/Controller.php.ejs delete mode 100644 skeletons/vaahcms/crud-vue3/Models/.gitkeep delete mode 100644 skeletons/vaahcms/crud-vue3/Models/Model.php.ejs delete mode 100644 skeletons/vaahcms/crud-vue3/Routes/api/api-routes-template.php.ejs delete mode 100644 skeletons/vaahcms/crud-vue3/Routes/backend/routes-template.php.ejs delete mode 100644 skeletons/vaahcms/crud-vue3/Vue/pages/template/Form.vue.ejs delete mode 100644 skeletons/vaahcms/crud-vue3/Vue/pages/template/Item.vue.ejs delete mode 100644 skeletons/vaahcms/crud-vue3/Vue/pages/template/List.vue.ejs delete mode 100644 skeletons/vaahcms/crud-vue3/Vue/pages/template/components/Actions.vue.ejs delete mode 100644 skeletons/vaahcms/crud-vue3/Vue/pages/template/components/Filters.vue.ejs delete mode 100644 skeletons/vaahcms/crud-vue3/Vue/pages/template/components/Table.vue.ejs delete mode 100644 skeletons/vaahcms/crud-vue3/Vue/routes/vue-routes-template.js.ejs delete mode 100644 skeletons/vaahcms/crud-vue3/Vue/stores/store-template.js.ejs delete mode 100644 skeletons/vaahcms/crud/Database/Migrations/.gitkeep delete mode 100644 skeletons/vaahcms/crud/Database/Migrations/migration-template.php.ejs delete mode 100644 skeletons/vaahcms/crud/Http/Controllers/.gitkeep delete mode 100644 skeletons/vaahcms/crud/Http/Controllers/Controller.php.ejs delete mode 100644 skeletons/vaahcms/crud/Models/.gitkeep delete mode 100644 skeletons/vaahcms/crud/Models/Model.php.ejs delete mode 100644 skeletons/vaahcms/crud/Routes/api/api-routes-template.php.ejs delete mode 100644 skeletons/vaahcms/crud/Routes/backend/routes-template.php.ejs delete mode 100644 skeletons/vaahcms/crud/Vue/pages/template/Form.vue.ejs delete mode 100644 skeletons/vaahcms/crud/Vue/pages/template/FormJs.js.ejs delete mode 100644 skeletons/vaahcms/crud/Vue/pages/template/List.vue.ejs delete mode 100644 skeletons/vaahcms/crud/Vue/pages/template/ListJs.js.ejs delete mode 100644 skeletons/vaahcms/crud/Vue/pages/template/View.vue.ejs delete mode 100644 skeletons/vaahcms/crud/Vue/pages/template/ViewJs.js.ejs delete mode 100644 skeletons/vaahcms/crud/Vue/pages/template/partials/ListTable.vue.ejs delete mode 100644 skeletons/vaahcms/crud/Vue/pages/template/partials/ListTableJs.js.ejs delete mode 100644 skeletons/vaahcms/crud/Vue/routes/vue-routes-template.js.ejs delete mode 100644 skeletons/vaahcms/crud/Vue/stores/modules/store-template.js.ejs delete mode 100644 skeletons/vaahcms/module-crud/Entities/Model.php.ejs delete mode 100644 skeletons/vaahcms/module-crud/Http/Controllers/Backend/Controller.php.ejs delete mode 100644 skeletons/vaahcms/module-crud/Routes/backend/routes-template.php.ejs delete mode 100644 skeletons/vaahcms/module-crud/Vue/pages/template/Create.vue.ejs delete mode 100644 skeletons/vaahcms/module-crud/Vue/pages/template/CreateJs.js.ejs delete mode 100644 skeletons/vaahcms/module-crud/Vue/pages/template/Edit.vue.ejs delete mode 100644 skeletons/vaahcms/module-crud/Vue/pages/template/EditJs.js.ejs delete mode 100644 skeletons/vaahcms/module-crud/Vue/pages/template/List.vue.ejs delete mode 100644 skeletons/vaahcms/module-crud/Vue/pages/template/ListJs.js.ejs delete mode 100644 skeletons/vaahcms/module-crud/Vue/pages/template/View.vue.ejs delete mode 100644 skeletons/vaahcms/module-crud/Vue/pages/template/ViewJs.js.ejs delete mode 100644 skeletons/vaahcms/module-crud/Vue/pages/template/partials/ListLargeView.vue.ejs delete mode 100644 skeletons/vaahcms/module-crud/Vue/pages/template/partials/ListLargeViewJs.js.ejs delete mode 100644 skeletons/vaahcms/module-crud/Vue/pages/template/partials/ListSmallView.vue.ejs delete mode 100644 skeletons/vaahcms/module-crud/Vue/pages/template/partials/ListSmallViewJs.js.ejs delete mode 100644 skeletons/vaahcms/module-crud/Vue/routes/vue-routes-template.js.ejs delete mode 100644 skeletons/vaahcms/module-crud/Vue/store/modules/store-template.js.ejs delete mode 100644 skeletons/vaahcms/module-files/controller-plain.php.ejs delete mode 100644 skeletons/vaahcms/module-files/controller.php.ejs delete mode 100644 skeletons/vaahcms/module-files/event.php.ejs delete mode 100644 skeletons/vaahcms/module-files/listener.php.ejs delete mode 100644 skeletons/vaahcms/module-files/mail.php.ejs delete mode 100644 skeletons/vaahcms/module-files/mailEmail.php.ejs delete mode 100644 skeletons/vaahcms/module-files/middleware.php.ejs delete mode 100644 skeletons/vaahcms/module-files/migration.php.ejs delete mode 100644 skeletons/vaahcms/module-files/model.php.ejs delete mode 100644 skeletons/vaahcms/module-files/notification.php.ejs delete mode 100644 skeletons/vaahcms/module-files/observer.php.ejs delete mode 100644 skeletons/vaahcms/module-files/seed.php.ejs delete mode 100644 skeletons/vaahcms/module-files/test.php.ejs delete mode 100644 skeletons/vaahcms/module-files/trait.php.ejs delete mode 100644 skeletons/vaahcms/module-files/view.php.ejs delete mode 100644 skeletons/vaahcms/module-vue3/.gitignore.ejs delete mode 100644 skeletons/vaahcms/module-vue3/Config/.gitkeep delete mode 100644 skeletons/vaahcms/module-vue3/Config/config.php.ejs delete mode 100644 skeletons/vaahcms/module-vue3/Database/Migrations/.gitkeep delete mode 100644 skeletons/vaahcms/module-vue3/Database/Seeds/.gitkeep delete mode 100644 skeletons/vaahcms/module-vue3/Database/Seeds/DatabaseTableSeeder.php.ejs delete mode 100644 skeletons/vaahcms/module-vue3/Database/Seeds/SampleDataTableSeeder.php.ejs delete mode 100644 skeletons/vaahcms/module-vue3/Helpers/.gitkeep delete mode 100644 skeletons/vaahcms/module-vue3/Http/Controllers/.gitkeep delete mode 100644 skeletons/vaahcms/module-vue3/Http/Controllers/Backend/BackendController.php.ejs delete mode 100644 skeletons/vaahcms/module-vue3/Http/Controllers/Backend/ExtendController.php.ejs delete mode 100644 skeletons/vaahcms/module-vue3/Http/Controllers/Backend/SetupController.php.ejs delete mode 100644 skeletons/vaahcms/module-vue3/Http/Controllers/Frontend/.gitkeep delete mode 100644 skeletons/vaahcms/module-vue3/Http/Controllers/Frontend/FrontendController.php.ejs delete mode 100644 skeletons/vaahcms/module-vue3/Http/Middleware/.gitkeep delete mode 100644 skeletons/vaahcms/module-vue3/Http/Requests/.gitkeep delete mode 100644 skeletons/vaahcms/module-vue3/Libraries/.gitkeep delete mode 100644 skeletons/vaahcms/module-vue3/Models/.gitkeep delete mode 100644 skeletons/vaahcms/module-vue3/Providers/.gitkeep delete mode 100644 skeletons/vaahcms/module-vue3/Providers/EventServiceProvider.php.ejs delete mode 100644 skeletons/vaahcms/module-vue3/Providers/RouteServiceProvider.php.ejs delete mode 100644 skeletons/vaahcms/module-vue3/Providers/ServiceProvider.php.ejs delete mode 100644 skeletons/vaahcms/module-vue3/README.md.ejs delete mode 100644 skeletons/vaahcms/module-vue3/Resources/assets/.gitkeep delete mode 100644 skeletons/vaahcms/module-vue3/Resources/assets/css/.gitkeep delete mode 100644 skeletons/vaahcms/module-vue3/Resources/assets/js/.gitkeep delete mode 100644 skeletons/vaahcms/module-vue3/Resources/assets/sass/.gitkeep delete mode 100644 skeletons/vaahcms/module-vue3/Resources/lang/.gitkeep delete mode 100644 skeletons/vaahcms/module-vue3/Resources/views/.gitkeep delete mode 100644 skeletons/vaahcms/module-vue3/Resources/views/backend/.gitkeep delete mode 100644 skeletons/vaahcms/module-vue3/Resources/views/backend/pages/.gitkeep delete mode 100644 skeletons/vaahcms/module-vue3/Resources/views/backend/pages/app.blade.php.ejs delete mode 100644 skeletons/vaahcms/module-vue3/Resources/views/backend/pages/index.blade.php.ejs delete mode 100644 skeletons/vaahcms/module-vue3/Routes/api.php.ejs delete mode 100644 skeletons/vaahcms/module-vue3/Routes/backend.php.ejs delete mode 100644 skeletons/vaahcms/module-vue3/Routes/frontend.php.ejs delete mode 100644 skeletons/vaahcms/module-vue3/Vue/README.md delete mode 100644 skeletons/vaahcms/module-vue3/Vue/components/Aside.vue delete mode 100644 skeletons/vaahcms/module-vue3/Vue/components/Copyright.vue delete mode 100644 skeletons/vaahcms/module-vue3/Vue/components/Footer.vue delete mode 100644 skeletons/vaahcms/module-vue3/Vue/index.html.ejs delete mode 100644 skeletons/vaahcms/module-vue3/Vue/jsconfig.json.ejs delete mode 100644 skeletons/vaahcms/module-vue3/Vue/layouts/App.vue delete mode 100644 skeletons/vaahcms/module-vue3/Vue/layouts/Default.vue delete mode 100644 skeletons/vaahcms/module-vue3/Vue/main.js delete mode 100644 skeletons/vaahcms/module-vue3/Vue/package.json.ejs delete mode 100644 skeletons/vaahcms/module-vue3/Vue/pages/dashboard/Dashboard.vue delete mode 100644 skeletons/vaahcms/module-vue3/Vue/routes/router.js delete mode 100644 skeletons/vaahcms/module-vue3/Vue/routes/routes.js delete mode 100644 skeletons/vaahcms/module-vue3/Vue/routes/vue-routes-dashboard.js delete mode 100644 skeletons/vaahcms/module-vue3/Vue/stores/root.js delete mode 100644 skeletons/vaahcms/module-vue3/Vue/vaahvue/pinia/vaah.js delete mode 100644 skeletons/vaahcms/module-vue3/Vue/vaahvue/vue-three/primeflex/VhField.vue delete mode 100644 skeletons/vaahcms/module-vue3/Vue/vaahvue/vue-three/primeflex/VhFieldVertical.vue delete mode 100644 skeletons/vaahcms/module-vue3/Vue/vaahvue/vue-three/primeflex/VhViewRow.vue delete mode 100644 skeletons/vaahcms/module-vue3/Vue/vite.config.js.ejs delete mode 100644 skeletons/vaahcms/module-vue3/composer.json.ejs delete mode 100644 skeletons/vaahcms/module/.gitignore.ejs delete mode 100644 skeletons/vaahcms/module/Config/.gitkeep delete mode 100644 skeletons/vaahcms/module/Config/config.php.ejs delete mode 100644 skeletons/vaahcms/module/Database/Factories/.gitkeep delete mode 100644 skeletons/vaahcms/module/Database/Migrations/.gitkeep delete mode 100644 skeletons/vaahcms/module/Database/Seeds/.gitkeep delete mode 100644 skeletons/vaahcms/module/Database/Seeds/DatabaseTableSeeder.php.ejs delete mode 100644 skeletons/vaahcms/module/Database/Seeds/SampleDataTableSeeder.php.ejs delete mode 100644 skeletons/vaahcms/module/Helpers/.gitkeep delete mode 100644 skeletons/vaahcms/module/Http/Controllers/.gitkeep delete mode 100644 skeletons/vaahcms/module/Http/Controllers/Backend/BackendController.php.ejs delete mode 100644 skeletons/vaahcms/module/Http/Controllers/Backend/ExtendController.php.ejs delete mode 100644 skeletons/vaahcms/module/Http/Controllers/Backend/SetupController.php.ejs delete mode 100644 skeletons/vaahcms/module/Http/Controllers/Frontend/.gitkeep delete mode 100644 skeletons/vaahcms/module/Http/Controllers/Frontend/FrontendController.php.ejs delete mode 100644 skeletons/vaahcms/module/Http/Middleware/.gitkeep delete mode 100644 skeletons/vaahcms/module/Http/Requests/.gitkeep delete mode 100644 skeletons/vaahcms/module/Libraries/.gitkeep delete mode 100644 skeletons/vaahcms/module/Models/.gitkeep delete mode 100644 skeletons/vaahcms/module/Providers/.gitkeep delete mode 100644 skeletons/vaahcms/module/Providers/EventServiceProvider.php.ejs delete mode 100644 skeletons/vaahcms/module/Providers/RouteServiceProvider.php.ejs delete mode 100644 skeletons/vaahcms/module/Providers/ServiceProvider.php.ejs delete mode 100644 skeletons/vaahcms/module/README.md.ejs delete mode 100644 skeletons/vaahcms/module/Resources/assets/.gitkeep delete mode 100644 skeletons/vaahcms/module/Resources/assets/css/.gitkeep delete mode 100644 skeletons/vaahcms/module/Resources/assets/js/.gitkeep delete mode 100644 skeletons/vaahcms/module/Resources/assets/sass/.gitkeep delete mode 100644 skeletons/vaahcms/module/Resources/lang/.gitkeep delete mode 100644 skeletons/vaahcms/module/Resources/views/.gitkeep delete mode 100644 skeletons/vaahcms/module/Resources/views/backend/.gitkeep delete mode 100644 skeletons/vaahcms/module/Resources/views/backend/pages/.gitkeep delete mode 100644 skeletons/vaahcms/module/Resources/views/backend/pages/app.blade.php.ejs delete mode 100644 skeletons/vaahcms/module/Resources/views/backend/pages/index.blade.php.ejs delete mode 100644 skeletons/vaahcms/module/Routes/api.php.ejs delete mode 100644 skeletons/vaahcms/module/Routes/backend.php.ejs delete mode 100644 skeletons/vaahcms/module/Routes/frontend.php.ejs delete mode 100644 skeletons/vaahcms/module/Tests/Browser/ExampleTest.php.ejs delete mode 100644 skeletons/vaahcms/module/Tests/CreatesApplication.php.ejs delete mode 100644 skeletons/vaahcms/module/Tests/DuskTestCase.php.ejs delete mode 100644 skeletons/vaahcms/module/Vue/app.js.ejs delete mode 100644 skeletons/vaahcms/module/Vue/layouts/Default.vue delete mode 100644 skeletons/vaahcms/module/Vue/layouts/DefaultJs.js delete mode 100644 skeletons/vaahcms/module/Vue/layouts/partials/AsideMenu.vue delete mode 100644 skeletons/vaahcms/module/Vue/layouts/partials/Footer.vue.ejs delete mode 100644 skeletons/vaahcms/module/Vue/package.json.ejs delete mode 100644 skeletons/vaahcms/module/Vue/pages/dashboard/Index.vue delete mode 100644 skeletons/vaahcms/module/Vue/pages/dashboard/IndexJs.js delete mode 100644 skeletons/vaahcms/module/Vue/routes/config/middlewarePipeline.js delete mode 100644 skeletons/vaahcms/module/Vue/routes/config/router.js delete mode 100644 skeletons/vaahcms/module/Vue/routes/middleware/GetAssets.js delete mode 100644 skeletons/vaahcms/module/Vue/routes/routes-dashboard.js delete mode 100644 skeletons/vaahcms/module/Vue/routes/routes.js delete mode 100644 skeletons/vaahcms/module/Vue/stores/modules/root.js delete mode 100644 skeletons/vaahcms/module/Vue/stores/store.js delete mode 100644 skeletons/vaahcms/module/Vue/vaahvue/helpers/GlobalComponents.js delete mode 100644 skeletons/vaahcms/module/Vue/vaahvue/helpers/VaahHelper.js delete mode 100644 skeletons/vaahcms/module/Vue/vaahvue/helpers/VhHelper.js delete mode 100644 skeletons/vaahcms/module/Vue/webpack.mix.js.ejs delete mode 100644 skeletons/vaahcms/module/composer.json.ejs delete mode 100644 skeletons/vaahcms/settings/Database/Seeds/.gitkeep delete mode 100644 skeletons/vaahcms/settings/Database/Seeds/Seeder.php.ejs delete mode 100644 skeletons/vaahcms/settings/Database/Seeds/json/settings.json.ejs delete mode 100644 skeletons/vaahcms/settings/Http/Controllers/Controller.php.ejs delete mode 100644 skeletons/vaahcms/settings/Routes/api/api-routes-template.php.ejs delete mode 100644 skeletons/vaahcms/settings/Routes/backend/routes-template.php.ejs delete mode 100644 skeletons/vaahcms/settings/Vue/pages/template/SettingsLayout.vue.ejs delete mode 100644 skeletons/vaahcms/settings/Vue/pages/template/general/Index.vue.ejs delete mode 100644 skeletons/vaahcms/settings/Vue/pages/template/general/components/ModuleSettings.vue.ejs delete mode 100644 skeletons/vaahcms/settings/Vue/routes/vue-routes-template.js.ejs delete mode 100644 skeletons/vaahcms/settings/Vue/stores/store-template.js.ejs delete mode 100644 skeletons/vaahcms/taxonomies/Database/Migrations/.gitkeep delete mode 100644 skeletons/vaahcms/taxonomies/Database/Migrations/migration-template.php.ejs delete mode 100644 skeletons/vaahcms/taxonomies/Database/Migrations/second-migration-template.php.ejs delete mode 100644 skeletons/vaahcms/taxonomies/Http/Controllers/Controller.php.ejs delete mode 100644 skeletons/vaahcms/taxonomies/Models/Model.php.ejs delete mode 100644 skeletons/vaahcms/taxonomies/Models/SecondModel.php.ejs delete mode 100644 skeletons/vaahcms/taxonomies/Routes/api/api-routes-template.php.ejs delete mode 100644 skeletons/vaahcms/taxonomies/Routes/backend/routes-template.php.ejs delete mode 100644 skeletons/vaahcms/taxonomies/Vue/pages/template/Form.vue.ejs delete mode 100644 skeletons/vaahcms/taxonomies/Vue/pages/template/Item.vue.ejs delete mode 100644 skeletons/vaahcms/taxonomies/Vue/pages/template/List.vue.ejs delete mode 100644 skeletons/vaahcms/taxonomies/Vue/pages/template/components/Actions.vue.ejs delete mode 100644 skeletons/vaahcms/taxonomies/Vue/pages/template/components/Filters.vue.ejs delete mode 100644 skeletons/vaahcms/taxonomies/Vue/pages/template/components/Loader.vue.ejs delete mode 100644 skeletons/vaahcms/taxonomies/Vue/pages/template/components/Table.vue.ejs delete mode 100644 skeletons/vaahcms/taxonomies/Vue/pages/template/components/TaxonomyTypeModal.vue.ejs delete mode 100644 skeletons/vaahcms/taxonomies/Vue/routes/vue-routes-template.js.ejs delete mode 100644 skeletons/vaahcms/taxonomies/Vue/stores/store-template.js.ejs delete mode 100644 skeletons/vaahcms/theme-files/controller-plain.php.ejs delete mode 100644 skeletons/vaahcms/theme-files/controller.php.ejs delete mode 100644 skeletons/vaahcms/theme-files/event.php.ejs delete mode 100644 skeletons/vaahcms/theme-files/listener.php.ejs delete mode 100644 skeletons/vaahcms/theme-files/mail.php.ejs delete mode 100644 skeletons/vaahcms/theme-files/mailEmail.php.ejs delete mode 100644 skeletons/vaahcms/theme-files/middleware.php.ejs delete mode 100644 skeletons/vaahcms/theme-files/migration.php.ejs delete mode 100644 skeletons/vaahcms/theme-files/model.php.ejs delete mode 100644 skeletons/vaahcms/theme-files/notification.php.ejs delete mode 100644 skeletons/vaahcms/theme-files/observer.php.ejs delete mode 100644 skeletons/vaahcms/theme-files/seed.php.ejs delete mode 100644 skeletons/vaahcms/theme-files/test.php.ejs delete mode 100644 skeletons/vaahcms/theme-files/trait.php.ejs delete mode 100644 skeletons/vaahcms/theme-files/view.php.ejs delete mode 100644 skeletons/vaahcms/theme/.gitignore.ejs delete mode 100644 skeletons/vaahcms/theme/Config/.gitkeep delete mode 100644 skeletons/vaahcms/theme/Config/config.php.ejs delete mode 100644 skeletons/vaahcms/theme/Database/Factories/.gitkeep delete mode 100644 skeletons/vaahcms/theme/Database/Migrations/.gitkeep delete mode 100644 skeletons/vaahcms/theme/Database/Seeds/.gitkeep delete mode 100644 skeletons/vaahcms/theme/Database/Seeds/DatabaseTableSeeder.php.ejs delete mode 100644 skeletons/vaahcms/theme/Database/Seeds/SampleDataTableSeeder.php.ejs delete mode 100644 skeletons/vaahcms/theme/Database/Seeds/json/templates.json delete mode 100644 skeletons/vaahcms/theme/Database/Seeds/json/theme_locations.json delete mode 100644 skeletons/vaahcms/theme/Helpers/.gitkeep delete mode 100644 skeletons/vaahcms/theme/Http/Controllers/.gitkeep delete mode 100644 skeletons/vaahcms/theme/Http/Controllers/Backend/BackendController.php.ejs delete mode 100644 skeletons/vaahcms/theme/Http/Controllers/Backend/ExtendController.php.ejs delete mode 100644 skeletons/vaahcms/theme/Http/Controllers/Backend/SetupController.php.ejs delete mode 100644 skeletons/vaahcms/theme/Http/Controllers/Frontend/.gitkeep delete mode 100644 skeletons/vaahcms/theme/Http/Controllers/Frontend/FrontendController.php.ejs delete mode 100644 skeletons/vaahcms/theme/Http/Middleware/.gitkeep delete mode 100644 skeletons/vaahcms/theme/Http/Requests/.gitkeep delete mode 100644 skeletons/vaahcms/theme/Libraries/.gitkeep delete mode 100644 skeletons/vaahcms/theme/Models/.gitkeep delete mode 100644 skeletons/vaahcms/theme/Providers/.gitkeep delete mode 100644 skeletons/vaahcms/theme/Providers/EventServiceProvider.php.ejs delete mode 100644 skeletons/vaahcms/theme/Providers/RouteServiceProvider.php.ejs delete mode 100644 skeletons/vaahcms/theme/Providers/ServiceProvider.php.ejs delete mode 100644 skeletons/vaahcms/theme/README.md.ejs delete mode 100644 skeletons/vaahcms/theme/Resources/assets/.gitkeep delete mode 100644 skeletons/vaahcms/theme/Resources/assets/css/.gitkeep delete mode 100644 skeletons/vaahcms/theme/Resources/assets/js/.gitkeep delete mode 100644 skeletons/vaahcms/theme/Resources/assets/sass/.gitkeep delete mode 100644 skeletons/vaahcms/theme/Resources/lang/.gitkeep delete mode 100644 skeletons/vaahcms/theme/Resources/views/.gitkeep delete mode 100644 skeletons/vaahcms/theme/Resources/views/backend/.gitkeep delete mode 100644 skeletons/vaahcms/theme/Resources/views/backend/pages/.gitkeep delete mode 100644 skeletons/vaahcms/theme/Resources/views/backend/pages/app.blade.php.ejs delete mode 100644 skeletons/vaahcms/theme/Resources/views/backend/pages/index.blade.php.ejs delete mode 100644 skeletons/vaahcms/theme/Resources/views/frontend/default.blade.php.ejs delete mode 100644 skeletons/vaahcms/theme/Resources/views/frontend/home.blade.php.ejs delete mode 100644 skeletons/vaahcms/theme/Resources/views/frontend/layouts/default.blade.php.ejs delete mode 100644 skeletons/vaahcms/theme/Resources/views/frontend/pages/index.blade.php.ejs delete mode 100644 skeletons/vaahcms/theme/Resources/views/frontend/welcome.blade.php.ejs delete mode 100644 skeletons/vaahcms/theme/Routes/api.php.ejs delete mode 100644 skeletons/vaahcms/theme/Routes/backend.php.ejs delete mode 100644 skeletons/vaahcms/theme/Routes/frontend.php.ejs delete mode 100644 skeletons/vaahcms/theme/Tests/Browser/ExampleTest.php.ejs delete mode 100644 skeletons/vaahcms/theme/Tests/CreatesApplication.php.ejs delete mode 100644 skeletons/vaahcms/theme/Tests/DuskTestCase.php.ejs delete mode 100644 skeletons/vaahcms/theme/Vue/app.js.ejs delete mode 100644 skeletons/vaahcms/theme/Vue/layouts/Default.vue delete mode 100644 skeletons/vaahcms/theme/Vue/layouts/DefaultJs.js delete mode 100644 skeletons/vaahcms/theme/Vue/layouts/partials/AsideMenu.vue delete mode 100644 skeletons/vaahcms/theme/Vue/package.json.ejs delete mode 100644 skeletons/vaahcms/theme/Vue/pages/dashboard/Index.vue delete mode 100644 skeletons/vaahcms/theme/Vue/pages/dashboard/IndexJs.js delete mode 100644 skeletons/vaahcms/theme/Vue/routes/config/middlewarePipeline.js delete mode 100644 skeletons/vaahcms/theme/Vue/routes/config/router.js delete mode 100644 skeletons/vaahcms/theme/Vue/routes/middleware/GetAssets.js delete mode 100644 skeletons/vaahcms/theme/Vue/routes/routes-dashboard.js delete mode 100644 skeletons/vaahcms/theme/Vue/routes/routes.js delete mode 100644 skeletons/vaahcms/theme/Vue/store/modules/root.js delete mode 100644 skeletons/vaahcms/theme/Vue/store/store.js delete mode 100644 skeletons/vaahcms/theme/Vue/vaahvue/helpers/GlobalComponents.js delete mode 100644 skeletons/vaahcms/theme/Vue/vaahvue/helpers/VaahHelper.js delete mode 100644 skeletons/vaahcms/theme/Vue/vaahvue/helpers/VhHelper.js delete mode 100644 skeletons/vaahcms/theme/Vue/webpack.mix.js.ejs delete mode 100644 skeletons/vaahcms/theme/composer.json.ejs delete mode 100644 skeletons/vaahcms/users/Http/Controllers/Controller.php.ejs delete mode 100644 skeletons/vaahcms/users/Models/Model.php.ejs delete mode 100644 skeletons/vaahcms/users/Routes/api/api-routes-template.php.ejs delete mode 100644 skeletons/vaahcms/users/Routes/backend/routes-template.php.ejs delete mode 100644 skeletons/vaahcms/users/Vue/pages/template/Form.vue.ejs delete mode 100644 skeletons/vaahcms/users/Vue/pages/template/Item.vue.ejs delete mode 100644 skeletons/vaahcms/users/Vue/pages/template/List.vue.ejs delete mode 100644 skeletons/vaahcms/users/Vue/pages/template/ViewRole.vue.ejs delete mode 100644 skeletons/vaahcms/users/Vue/pages/template/components/Actions.vue.ejs delete mode 100644 skeletons/vaahcms/users/Vue/pages/template/components/FileUploader.vue.ejs delete mode 100644 skeletons/vaahcms/users/Vue/pages/template/components/Filters.vue.ejs delete mode 100644 skeletons/vaahcms/users/Vue/pages/template/components/Table.vue.ejs delete mode 100644 skeletons/vaahcms/users/Vue/routes/vue-routes-template.js.ejs delete mode 100644 skeletons/vaahcms/users/Vue/stores/store-template.js.ejs delete mode 100644 src/commands/cms/auth.ts delete mode 100644 src/commands/cms/crud.ts delete mode 100644 src/commands/cms/install.ts delete mode 100644 src/commands/cms/m-crud.ts delete mode 100644 src/commands/cms/m-make.ts delete mode 100644 src/commands/cms/m.ts delete mode 100644 src/commands/cms/settings.ts delete mode 100644 src/commands/cms/t-make.ts delete mode 100644 src/commands/cms/t.ts delete mode 100644 src/commands/cms/taxonomies.ts delete mode 100644 src/commands/cms/users.ts delete mode 100644 src/commands/flutter/install.ts delete mode 100644 src/commands/hello.ts delete mode 100644 src/index.ts delete mode 100644 src/libraries/Functions.ts delete mode 100644 src/libraries/Generator.ts delete mode 100644 src/libraries/Helpers.ts delete mode 100644 src/libraries/Questions.ts delete mode 100644 test/commands/cms/crud.test.ts delete mode 100644 test/commands/cms/install.test.ts delete mode 100644 test/commands/cms/m-crud.test.ts delete mode 100644 test/commands/cms/m-make.test.ts delete mode 100644 test/commands/cms/m.test.ts delete mode 100644 test/commands/cms/m/crud.test.ts delete mode 100644 test/commands/cms/settings.test.ts delete mode 100644 test/commands/cms/t-make.test.ts delete mode 100644 test/commands/cms/t.test.ts delete mode 100644 test/commands/cms/taxonomies.test.ts delete mode 100644 test/commands/cms/users.test.ts delete mode 100644 test/commands/crud.test.ts delete mode 100644 test/commands/flutter/install.test.ts delete mode 100644 test/commands/hello.test.ts delete mode 100644 test/mocha.opts delete mode 100644 test/tsconfig.json delete mode 100644 tsconfig.json diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index beffa30..0000000 --- a/.editorconfig +++ /dev/null @@ -1,11 +0,0 @@ -root = true - -[*] -indent_style = space -indent_size = 2 -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -[*.md] -trim_trailing_whitespace = false diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 502167f..0000000 --- a/.eslintignore +++ /dev/null @@ -1 +0,0 @@ -/lib diff --git a/.eslintrc b/.eslintrc deleted file mode 100644 index 7b84619..0000000 --- a/.eslintrc +++ /dev/null @@ -1,6 +0,0 @@ -{ - "extends": [ - "oclif", - "oclif-typescript" - ] -} diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..73f69e0 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml +# Editor-based HTTP Client requests +/httpRequests/ diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml new file mode 100644 index 0000000..7f90b66 --- /dev/null +++ b/.idea/codeStyles/Project.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml new file mode 100644 index 0000000..79ee123 --- /dev/null +++ b/.idea/codeStyles/codeStyleConfig.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..03d9549 --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..6576989 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/php.xml b/.idea/php.xml new file mode 100644 index 0000000..3571588 --- /dev/null +++ b/.idea/php.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/vaahcli.iml b/.idea/vaahcli.iml new file mode 100644 index 0000000..c956989 --- /dev/null +++ b/.idea/vaahcli.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 221ff4c..0000000 --- a/.travis.yml +++ /dev/null @@ -1,11 +0,0 @@ -language: node_js -node_js: - - node - -cache: npm - -script: - - ./bin/run --version - - ./bin/run --help - - npm run test - diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index de5b149..0000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,61 +0,0 @@ -### Changelog - -All notable changes to this project will be documented in this file. Dates are displayed in UTC. - -Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - -#### [v1.5.3](https://github.com/webreinvent/vaahcli/compare/v1.5.2...v1.5.3) - -> 1 December 2020 - -- Changed: version [`98fe1c7`](https://github.com/webreinvent/vaahcli/commit/98fe1c7a10bcb92b03ac74d62b94785ec6f5c04a) -- Changed: changelog [`ade1bae`](https://github.com/webreinvent/vaahcli/commit/ade1bae0a984f80d0411c2b786c2f809a777c54c) -- Changed: `Entities` to `Models` [`9595930`](https://github.com/webreinvent/vaahcli/commit/959593075de429ae9e0f2d6a1ecd4aa7e8656fd3) - -#### [v1.5.2](https://github.com/webreinvent/vaahcli/compare/v1.5.0...v1.5.2) - -> 30 November 2020 - -- Fixed: installation issues [`cd10918`](https://github.com/webreinvent/vaahcli/commit/cd1091831a4906521b4cf6b8ce408cd2a2290b81) -- Changed: version [`f028248`](https://github.com/webreinvent/vaahcli/commit/f0282487dd63bbc410d4cc0a2f2e7c7db9bbf872) -- Changed: changelog [`14d81a7`](https://github.com/webreinvent/vaahcli/commit/14d81a7959eb41e5b42196f41d1ed61c01c8831d) - -#### [v1.5.0](https://github.com/webreinvent/vaahcli/compare/v1.0.9...v1.5.0) - -> 30 November 2020 - -- Added: `vaah cms:t-make` commands [`0662dd4`](https://github.com/webreinvent/vaahcli/commit/0662dd4a6d4fa1aff4d25aae4da300f8e4e68ecd) -- Fixed: `vaah cms:install` [`be1d9a9`](https://github.com/webreinvent/vaahcli/commit/be1d9a96cf6191acd878f2a3311ec8119bbb5473) -- Added: `vaah cms:m-make` command [`454f69e`](https://github.com/webreinvent/vaahcli/commit/454f69ea4e57a4b13146cc2c684173511909ea6c) - -#### [v1.0.9](https://github.com/webreinvent/vaahcli/compare/v1.0.3...v1.0.9) - -> 25 November 2020 - -- Added: new files [`b375ef0`](https://github.com/webreinvent/vaahcli/commit/b375ef08b2d5880a0e63f748fdd2040dfd8a111a) -- Fixed: `vaah cms:t` command [`9c13c7b`](https://github.com/webreinvent/vaahcli/commit/9c13c7b34ae3f1076d4d1e8cc795d04a3177f276) -- Changed: changelog [`d55f4cd`](https://github.com/webreinvent/vaahcli/commit/d55f4cd0bbb73d98800aa5cb1a4a9c469525069c) - -#### [v1.0.3](https://github.com/webreinvent/vaahcli/compare/v1.0.2...v1.0.3) - -> 25 November 2020 - -- Added: `vaah cms:t` command [`7646e67`](https://github.com/webreinvent/vaahcli/commit/7646e674fbfe04af1b81edabd32636ba65a5432d) -- Updated files [`157b99d`](https://github.com/webreinvent/vaahcli/commit/157b99dbfa30bfd311e494792bfeb5c3b7af1bf1) -- Changed: Changelog [`bbc0523`](https://github.com/webreinvent/vaahcli/commit/bbc0523401865cfd14ca05cc979b6401099759dd) - -#### [v1.0.2](https://github.com/webreinvent/vaahcli/compare/v1.0.1...v1.0.2) - -> 25 November 2020 - -- Changed: version v1.0.1 [`bce95ce`](https://github.com/webreinvent/vaahcli/commit/bce95ce1f371813cb430e5057addf3c1611268ac) -- Fixed: `.git` folder delete [`8b46fed`](https://github.com/webreinvent/vaahcli/commit/8b46fed946692b591ee29974e66e36b9d6055e06) -- Changed: changelog [`4654e11`](https://github.com/webreinvent/vaahcli/commit/4654e11292b8e5ca3ccad40bd93bb93a079ac7aa) - -#### v1.0.1 - -> 25 November 2020 - -- Added: New version on oclif.io framework [`9ac5f30`](https://github.com/webreinvent/vaahcli/commit/9ac5f30adaee836893a2daba5e08c8b8fb1b036c) -- Fixed: vaah cms:m command [`bcbbcf1`](https://github.com/webreinvent/vaahcli/commit/bcbbcf1257eee98d548e3141d730f37d2c0cd75d) -- Added: vaah cms:m:crud [`5d53e36`](https://github.com/webreinvent/vaahcli/commit/5d53e360dd7a4d87a00523a22a6a354cc7c79dfd) diff --git a/bin/run b/bin/run deleted file mode 100644 index 30b14e1..0000000 --- a/bin/run +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env node - -require('@oclif/command').run() -.then(require('@oclif/command/flush')) -.catch(require('@oclif/errors/handle')) diff --git a/bin/run.cmd b/bin/run.cmd deleted file mode 100644 index 968fc30..0000000 --- a/bin/run.cmd +++ /dev/null @@ -1,3 +0,0 @@ -@echo off - -node "%~dp0\run" %* diff --git a/lib/commands/cms/auth.d.ts b/lib/commands/cms/auth.d.ts deleted file mode 100644 index 78aae7b..0000000 --- a/lib/commands/cms/auth.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { Command } from '@oclif/command'; -export default class CmsCrud extends Command { - args: { - [k: string]: any; - }; - flags: { - [k: string]: any; - }; - inputs: { - [k: string]: any; - }; - spinner: { - [k: string]: any; - }; - repo: string; - target_dir: string; - source_dir: string; - static description: string; - static flags: { - help: import("@oclif/parser/lib/flags").IBooleanFlag; - }; - static args: never[]; - run(): Promise; - successMessage(): void; -} diff --git a/lib/commands/cms/auth.js b/lib/commands/cms/auth.js deleted file mode 100644 index 0fd23cf..0000000 --- a/lib/commands/cms/auth.js +++ /dev/null @@ -1,118 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const command_1 = require("@oclif/command"); -const Questions_1 = require("../../libraries/Questions"); -const inquirer = require("inquirer"); -const Generator_1 = require("../../libraries/Generator"); -const Functions_1 = require("../../libraries/Functions"); -let fs = require('fs'); -let ora = require('ora'); -const execa = require('execa'); -const Listr = require('listr'); -var shell = require('shelljs'); -const { exec } = require('child_process'); -let fsSync = require('fs-sync'); -const fsPromises = fs.promises; -const chalk = require('chalk'); -const log = console.log; -class CmsCrud extends command_1.Command { - constructor() { - super(...arguments); - this.args = {}; - this.flags = {}; - this.inputs = {}; - this.spinner = {}; - this.repo = 'https://github.com/webreinvent/vaahcms-ready'; - this.target_dir = './'; - this.source_dir = ''; - //--------------------------------------------------- - //--------------------------------------------------- - } - /* - *--------------------------------------------------- - * Command Execution - *--------------------------------------------------- - */ - async run() { - let functions = new Functions_1.default(); - let is_updates_available = await functions.isUpdatesAvailable(); - if (is_updates_available) { - return true; - } - const { args, flags } = this.parse(CmsCrud); - let questions = new Questions_1.default(); - this.inputs = await inquirer.prompt(questions.getAuthQuestions()); - let target = ""; - let source = '\\skeletons\\vaahcms\\auth\\'; - this.inputs['namespace'] = 'VaahCms\\Themes\\' + this.inputs.theme_name; - target = "./VaahCms/Themes/" + this.inputs.theme_name; - let generator = new Generator_1.default(args, flags, this.inputs, source, target); - log(chalk.green('=======================================')); - log('Generating Auth Files'); - log(chalk.green('---------------------------------------')); - const tasks = new Listr([ - { - title: 'Files Generated for Auth operations', - task: function () { - generator.generateAuthFiles(); - } - } - ]); - let self = this; - tasks.run().then((ctx) => { - self.successMessage(); - }).catch((err) => { - console.error(err); - }); - } - //--------------------------------------------------- - successMessage() { - log(chalk.white.bgGreen.bold(" Files Generated! ")); - log(chalk.green("==================================================================")); - log(chalk.green("Following steps:")); - log("1) Include Routes/frontend/routes-auth.php in Routes/frontend.php of the theme"); - log("2) Include VueScripts.js in webpack.mix.js, sample code is below:"); - let code = ' //To js minification\n' + - ' let jses = [\n' + - ' \'./../Resources/assets/js/VueScripts.js\',\n' + - ' ];\n' + - '\n' + - ' mix.js(jses, output_folder+\'/build/script.js\');'; - log(chalk.blue(code)); - log("3) Include the CSS in tag of master/default blade layout of the theme if not included:"); - code = ' \n' + - ' \n'; - log(chalk.blue(code)); - log("4) Include the JS script before tag of master/default blade layout of the theme if not included:"); - code = ' \n' + - ' \n' + - ' \n' + - ' \n' + - ' '; - log(chalk.blue(code)); - log("5) Run " + chalk.green('npm run dev') + " in the root folder of the theme"); - log("6) Now, following routes will be available:"); - log(chalk.green("a) /signin")); - log(chalk.green("b) /signup")); - log(chalk.green("==================================================================")); - } -} -exports.default = CmsCrud; -CmsCrud.description = 'Generate CRUD operations for VaahCMS'; -/* - *--------------------------------------------------- - * Command Flags/Options - *--------------------------------------------------- - */ -CmsCrud.flags = { - help: command_1.flags.boolean({ - description: 'Generate Auth operation for VaahCMS Themes', - default: false, - }), -}; -/* - *--------------------------------------------------- - * Command Arguments - *--------------------------------------------------- - */ -CmsCrud.args = []; diff --git a/lib/commands/cms/crud.d.ts b/lib/commands/cms/crud.d.ts deleted file mode 100644 index e135111..0000000 --- a/lib/commands/cms/crud.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { Command } from '@oclif/command'; -export default class CmsCrud extends Command { - args: { - [k: string]: any; - }; - flags: { - [k: string]: any; - }; - primary: { - [k: string]: any; - }; - inputs: { - [k: string]: any; - }; - spinner: { - [k: string]: any; - }; - repo: string; - target_dir: string; - source_dir: string; - static description: string; - static flags: { - help: import("@oclif/parser/lib/flags").IBooleanFlag; - }; - static args: never[]; - run(): Promise; - successMessage(): void; -} diff --git a/lib/commands/cms/crud.js b/lib/commands/cms/crud.js deleted file mode 100644 index 7b87668..0000000 --- a/lib/commands/cms/crud.js +++ /dev/null @@ -1,129 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const command_1 = require("@oclif/command"); -const Questions_1 = require("../../libraries/Questions"); -const inquirer = require("inquirer"); -const Generator_1 = require("../../libraries/Generator"); -const Functions_1 = require("../../libraries/Functions"); -let fs = require('fs'); -let ora = require('ora'); -const execa = require('execa'); -const Listr = require('listr'); -var shell = require('shelljs'); -const { exec } = require('child_process'); -let fsSync = require('fs-sync'); -const fsPromises = fs.promises; -const chalk = require('chalk'); -const log = console.log; -class CmsCrud extends command_1.Command { - constructor() { - super(...arguments); - this.args = {}; - this.flags = {}; - this.primary = {}; - this.inputs = {}; - this.spinner = {}; - this.repo = 'https://github.com/webreinvent/vaahcms-ready'; - this.target_dir = './'; - this.source_dir = ''; - //--------------------------------------------------- - //--------------------------------------------------- - } - /* - *--------------------------------------------------- - * Command Execution - *--------------------------------------------------- - */ - async run() { - let functions = new Functions_1.default(); - let is_updates_available = await functions.isUpdatesAvailable(); - if (is_updates_available) { - return true; - } - const { args, flags } = this.parse(CmsCrud); - let questions = new Questions_1.default(); - this.primary = await inquirer.prompt(questions.getCrudQuestionsPrimary()); - let get_questions = questions.getCrudQuestions(this.primary.for); - this.inputs = await inquirer.prompt(get_questions); - this.inputs.for = this.primary.for; - let target = ""; - let source = '\\skeletons\\vaahcms\\crud\\'; - this.inputs['namespace_controller'] = ''; - if (this.inputs.for == 'Module - Vue3 & PrimeVue') { - source = '\\skeletons\\vaahcms\\crud-vue3\\'; - this.inputs['namespace'] = 'VaahCms\\Modules\\' + this.inputs.folder_name; - target = "./VaahCms/Modules/" + this.inputs.folder_name; - } - else if (this.inputs.for == 'Module - Vue2 & Buefy') { - source = '\\skeletons\\vaahcms\\crud\\'; - this.inputs['namespace'] = 'VaahCms\\Modules\\' + this.inputs.folder_name; - target = "./VaahCms/Modules/" + this.inputs.folder_name; - } - else if (this.inputs.for == 'Theme') { - this.inputs['namespace'] = 'VaahCms\\Themes\\' + this.inputs.folder_name; - target = "./VaahCms/Themes/" + this.inputs.folder_name; - } - else { - source = '\\skeletons\\vaahcms\\crud-vue3\\'; - this.inputs['namespace_controller'] = this.inputs['namespace'] + '\\Http\\Controllers'; - target = this.inputs.path; - } - let generator = new Generator_1.default(args, flags, this.inputs, source, target); - log(chalk.green('=======================================')); - log('Generating CRUD Files'); - log(chalk.green('---------------------------------------')); - const tasks = new Listr([ - { - title: 'Files Generated for CRUD operations', - task: function () { - generator.generateCrudFiles(); - } - } - ]); - let self = this; - tasks.run().then((ctx) => { - self.successMessage(); - }).catch((err) => { - console.error(err); - }); - } - //--------------------------------------------------- - successMessage() { - log(chalk.white.bgGreen.bold(" Files Generated! ")); - log(chalk.green("==================================================================")); - log(chalk.green("Now, follow following steps:")); - if (this.inputs['generate_migration'] === 'true') { - log("0.1) Update the migration file with the table name and columns"); - log("0.2) Re-activate module to run migrations"); - } - log("2) Include the crud router file in the module's backend route file"); - log("3) Include the vue router file"); - if (this.inputs.for == 'Module - Vue2 & Buefy') { - log("4) Include the vue store file"); - log("5) Add vue router link to you menu"); - } - if (this.inputs.for == 'Module - Vue3 & PrimeVue') { - log("6) Add vue router link to you /Vue/Components/Aside.vue file"); - } - log(chalk.green("==================================================================")); - } -} -exports.default = CmsCrud; -CmsCrud.description = 'Generate CRUD operations for VaahCMS'; -/* - *--------------------------------------------------- - * Command Flags/Options - *--------------------------------------------------- - */ -CmsCrud.flags = { - help: command_1.flags.boolean({ - description: 'Generate CRUD operation for VaahCMS', - default: false, - }), -}; -/* - *--------------------------------------------------- - * Command Arguments - *--------------------------------------------------- - */ -CmsCrud.args = []; diff --git a/lib/commands/cms/install.d.ts b/lib/commands/cms/install.d.ts deleted file mode 100644 index 9444895..0000000 --- a/lib/commands/cms/install.d.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { Command } from '@oclif/command'; -export default class CmsInstall extends Command { - args: { - [k: string]: any; - }; - flags: { - [k: string]: any; - }; - inputs: { - [k: string]: any; - }; - spinner: { - [k: string]: any; - }; - repo: string; - target_dir: string; - source_dir: string; - static description: string; - static flags: { - here: import("@oclif/parser/lib/flags").IBooleanFlag; - help: import("@oclif/parser/lib/flags").IBooleanFlag; - }; - static args: { - name: string; - description: string; - default: string; - }[]; - run(): Promise; - install(): Promise; - spin(): Promise; - printName(): Promise; - spinStop(): Promise; - spinStopWithError(): Promise; -} diff --git a/lib/commands/cms/install.js b/lib/commands/cms/install.js deleted file mode 100644 index 8a87a94..0000000 --- a/lib/commands/cms/install.js +++ /dev/null @@ -1,189 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const command_1 = require("@oclif/command"); -let fs = require('fs'); -let ora = require('ora'); -const execa = require('execa'); -const Listr = require('listr'); -var shell = require('shelljs'); -const { exec } = require('child_process'); -let fsSync = require('fs-sync'); -const fsPromises = fs.promises; -// @ts-ignore -//import { download, extract } from 'gitly'; -//import * as download from 'download-git-repo'; -const Functions_1 = require("../../libraries/Functions"); -const Questions_1 = require("../../libraries/Questions"); -const inquirer = require("inquirer"); -const download = require('download-git-repo'); -const chalk = require('chalk'); -const log = console.log; -class CmsInstall extends command_1.Command { - constructor() { - super(...arguments); - this.args = {}; - this.flags = {}; - this.inputs = {}; - this.spinner = {}; - this.repo = 'https://github.com/webreinvent/vaahcms-ready'; - this.target_dir = './'; - this.source_dir = ''; - //----------------------------------- - //----------------------------------- - } - /* - *--------------------------------------------------- - * Command Execution - *--------------------------------------------------- - */ - async run() { - let functions = new Functions_1.default(); - let is_updates_available = await functions.isUpdatesAvailable(); - if (is_updates_available) { - return true; - } - const { args, flags } = this.parse(CmsInstall); - this.args = args; - this.flags = flags; - await this.printName(); - if (!flags.here) { - this.target_dir = this.target_dir + args.project_name; - } - let questions = new Questions_1.default(); - this.inputs = await inquirer.prompt(questions.getVaahCmsVersions()); - if (this.inputs.version) { - await this.spin(); - await this.install(); - } - } - //----------------------------------- - //----------------------------------- - async install() { - const tasks = new Listr([ - { - title: 'Creating Project Folder', - task: () => new Promise((resolve, reject) => { - { - let self = this; - if (this.args.project_name) { - fs.mkdir(self.target_dir, (error, result) => { - if (error != null) { - log(""); - log(chalk.red("- Project Folder Already Exists")); - return reject(error); - } - resolve(result); - }); - } - } - }) - }, - { - title: 'Downloading VaahCMS', - task: () => new Promise((resolve, reject) => { - { - let self = this; - let repo = 'webreinvent/vaahcms-ready'; - if (self.inputs.version === 'VaahCMS 2.x') { - repo = 'webreinvent/vaahcms-ready#2.x'; - self.inputs.documentation = "https://docs.vaah.dev/vaahcms-2/"; - //repo = 'https://github.com/webreinvent/vaahcms-ready/archive/2.x.zip'; - } - if (self.inputs.version === 'VaahCMS 1.x') { - self.inputs.documentation = "https://docs.vaah.dev/vaahcms/"; - repo = 'webreinvent/vaahcms-ready#1.x'; - } - // @ts-ignore - download(repo, self.target_dir, function (err) { - console.log((err ? reject('Error') : resolve('Success'))); - }); - } - }) - }, - ]); - tasks.run().then(() => { - this.spinStop(); - }).catch((err) => { - console.error(err); - this.spinStopWithError(); - }); - } - //----------------------------------- - //----------------------------------- - async spin() { - this.spinner = ora(); - this.spinner.start('Installing VaahCMS...'); - this.spinner._spinner = { - "interval": 80, - "frames": [ - "⠋", - "⠙", - "⠹", - "⠸", - "⠼", - "⠴", - "⠦", - "⠧", - "⠇", - "⠏" - ] - }; - } - //----------------------------------- - async printName() { - log(chalk.red(` - /\\ /\\ __ _ __ _ | |__ / __\\ /\\/\\ / _\\ - \\ \\ / // _\` | / _\` || '_ \\ / / / \\ \\ \\ - \\ V /| (_| || (_| || | | |/ /___/ /\\/\\ \\_\\ \\ - \\_/ \\__,_| \\__,_||_| |_|\\____/\\/ \\/\\__/ -`)); - } - //----------------------------------- - async spinStop() { - this.spinner.succeed(); - log(chalk.white.bgGreen.bold(" VaahCMS Installed! ")); - log(chalk.black("==================================================================")); - log("Open the project folder " + chalk.green(this.args.project_name) + " in terminal and follow the steps "); - log("Step 1. Run " + chalk.green("composer install") + " command"); - log("Step 2. Run " + chalk.green("php artisan serve") + " command"); - log("and visit following url to setup:"); - log(chalk.green("http://127.0.0.1:8000/vaahcms/setup")); - log(chalk.bold(chalk.blueBright("OR"))); - log("Step 2. In case of " + chalk.green("Xampp or Wamp") + ", visit following url to setup:"); - log(chalk.green("http://localhost//public/vaahcms/setup")); - log(chalk.redBright("------")); - log(chalk.bold(chalk.blueBright("Documentation: ")) + this.inputs.documentation); - log(chalk.black("==================================================================")); - } - //----------------------------------- - async spinStopWithError() { - this.spinner.succeed(); - log(chalk.white.bgRed.bold(" VaahCMS Installation Failed! ")); - } -} -exports.default = CmsInstall; -CmsInstall.description = 'Install VaahCMS'; -/* - *--------------------------------------------------- - * Command Flags/Options - *--------------------------------------------------- - */ -CmsInstall.flags = { - here: command_1.flags.boolean({ - description: 'If you want to install VaahCMS in current directory', - default: false, - }), - help: command_1.flags.help({ char: 'h' }), -}; -/* - *--------------------------------------------------- - * Command Arguments - *--------------------------------------------------- - */ -CmsInstall.args = [ - { - name: 'project_name', - description: 'Enter the project folder name', - default: 'vaahcms', - } -]; diff --git a/lib/commands/cms/m-crud.d.ts b/lib/commands/cms/m-crud.d.ts deleted file mode 100644 index dbe19eb..0000000 --- a/lib/commands/cms/m-crud.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { Command } from '@oclif/command'; -export default class CmsMCrud extends Command { - questions: { - [k: string]: any; - }; - inputs: { - [k: string]: any; - }; - static description: string; - static flags: { - help: import("@oclif/parser/lib/flags").IBooleanFlag; - name: import("@oclif/parser/lib/flags").IBooleanFlag; - force: import("@oclif/parser/lib/flags").IBooleanFlag; - }; - static args: never[]; - run(): Promise; - successMessage(): void; -} diff --git a/lib/commands/cms/m-crud.js b/lib/commands/cms/m-crud.js deleted file mode 100644 index 5da6beb..0000000 --- a/lib/commands/cms/m-crud.js +++ /dev/null @@ -1,83 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const command_1 = require("@oclif/command"); -const inquirer = require("inquirer"); -const Listr = require('listr'); -const Questions_1 = require("../../libraries/Questions"); -const Generator_1 = require("../../libraries/Generator"); -const Functions_1 = require("../../libraries/Functions"); -const chalk = require('chalk'); -const log = console.log; -class CmsMCrud extends command_1.Command { - constructor() { - super(...arguments); - this.questions = {}; - this.inputs = {}; - //--------------------------------------------------- - //--------------------------------------------------- - } - /* - *--------------------------------------------------- - * Command Execution - *--------------------------------------------------- - */ - async run() { - let functions = new Functions_1.default(); - let is_updates_available = await functions.isUpdatesAvailable(); - if (is_updates_available) { - return true; - } - const { args, flags } = this.parse(CmsMCrud); - let questions = new Questions_1.default(); - this.inputs = await inquirer.prompt(questions.getModuleCrudQuestions()); - this.inputs['namespace'] = 'VaahCms\\Modules\\' + this.inputs.module_name; - let source = '\\skeletons\\vaahcms\\module-crud\\'; - let target = "./VaahCms/Modules/" + this.inputs.module_name; - let generator = new Generator_1.default(args, flags, this.inputs, source, target); - log(chalk.green('=======================================')); - log('Generating CRUD for Module: ' + chalk.green(this.inputs.module_name)); - log(chalk.green('---------------------------------------')); - const tasks = new Listr([ - { - title: 'Files Generated for CRUD operations', - task: function () { - generator.files(); - } - } - ]); - let self = this; - tasks.run().then((ctx) => { - self.successMessage(); - }).catch((err) => { - console.error(err); - }); - } - //--------------------------------------------------- - successMessage() { - log(chalk.white.bgGreen.bold(" Files Generated! ")); - log(chalk.green("==================================================================")); - log(chalk.green("Following steps:")); - log("1) Include the router file"); - log("2) Include the vue router file"); - log("3) Include the vue store file"); - log(chalk.green("==================================================================")); - } -} -exports.default = CmsMCrud; -CmsMCrud.description = 'To generate CRUD operations for VaahCMS Module'; -/* - *--------------------------------------------------- - * Command Flags/Options - *--------------------------------------------------- - */ -CmsMCrud.flags = { - help: command_1.flags.help({ char: 'h' }), - name: command_1.flags.help({ char: 'n' }), - force: command_1.flags.boolean({ char: 'f' }), -}; -/* - *--------------------------------------------------- - * Command Arguments - *--------------------------------------------------- - */ -CmsMCrud.args = []; diff --git a/lib/commands/cms/m-make.d.ts b/lib/commands/cms/m-make.d.ts deleted file mode 100644 index 72bf0e6..0000000 --- a/lib/commands/cms/m-make.d.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { Command } from '@oclif/command'; -export default class CmsMMake extends Command { - questions: { - [k: string]: any; - }; - args: { - [k: string]: any; - }; - flags: { - [k: string]: any; - }; - inputs: { - [k: string]: any; - }; - static description: string; - static flags: { - frontend: import("@oclif/parser/lib/flags").IBooleanFlag; - backend: import("@oclif/parser/lib/flags").IBooleanFlag; - help: import("@oclif/parser/lib/flags").IBooleanFlag; - name: import("@oclif/parser/lib/flags").IBooleanFlag; - }; - static args: ({ - name: string; - required: boolean; - options: string[]; - } | { - name: string; - required: boolean; - options?: undefined; - })[]; - run(): Promise; -} diff --git a/lib/commands/cms/m-make.js b/lib/commands/cms/m-make.js deleted file mode 100644 index 7454270..0000000 --- a/lib/commands/cms/m-make.js +++ /dev/null @@ -1,125 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const command_1 = require("@oclif/command"); -const Listr = require('listr'); -const Generator_1 = require("../../libraries/Generator"); -const Helpers_1 = require("../../libraries/Helpers"); -const Functions_1 = require("../../libraries/Functions"); -const chalk = require('chalk'); -const log = console.log; -class CmsMMake extends command_1.Command { - constructor() { - super(...arguments); - this.questions = {}; - this.args = {}; - this.flags = {}; - this.inputs = {}; - //---------------------------------------------------------- - //---------------------------------------------------------- - //---------------------------------------------------------- - //---------------------------------------------------------- - //---------------------------------------------------------- - } - /* - *--------------------------------------------------- - * Command Execution - *--------------------------------------------------- - */ - async run() { - let functions = new Functions_1.default(); - let is_updates_available = await functions.isUpdatesAvailable(); - if (is_updates_available) { - return true; - } - const { args, flags } = this.parse(CmsMMake); - this.args = args; - this.flags = flags; - /*let questions = new Questions(); - this.inputs = await inquirer.prompt(questions.getModuleCrudQuestions());*/ - let helpers = new Helpers_1.default(this.args, this.flags, this.inputs); - this.inputs['for'] = 'module'; - let params = helpers.getDerivedVariables(); - console.log('--->', params); - for (let key in params) { - this.inputs[key] = params[key]; - } - for (let key in this.args) { - this.inputs[key] = this.args[key]; - } - for (let key in this.flags) { - this.inputs[key] = this.flags[key]; - } - let source = '\\skeletons\\vaahcms\\module-files\\'; - console.log('--->', this.inputs); - let generator = new Generator_1.default(args, flags, this.inputs, source, this.inputs['target_dir']); - log(chalk.green('=======================================')); - log('Generating Files for Module: ' + chalk.green(this.args.module)); - log(chalk.green('---------------------------------------')); - const tasks = new Listr([ - { - title: 'File Generated', - task: function () { - generator.file(); - } - } - ]); - tasks.run().then((ctx) => { - log(chalk.green('=======================================')); - }).catch((err) => { - console.error(err); - }); - } -} -exports.default = CmsMMake; -CmsMMake.description = 'Generate for VaahCMS Module'; -/* - *--------------------------------------------------- - * Command Flags/Options - *--------------------------------------------------- - */ -CmsMMake.flags = { - frontend: command_1.flags.boolean({ - char: 'f', - default: false, - }), - backend: command_1.flags.boolean({ - char: 'b', - default: true, - }), - help: command_1.flags.help({ char: 'h' }), - name: command_1.flags.help({ char: 'n' }), -}; -/* - *--------------------------------------------------- - * Command Arguments - *--------------------------------------------------- - */ -CmsMMake.args = [ - { - name: 'type', - required: true, - options: [ - 'migration', - 'seed', - 'model', - 'controller', - 'view', - 'middleware', - 'observer', - 'trait', - 'test', - 'event', - 'listener', - 'mail', - 'notification', - ] - }, - { - name: 'module', - required: true, - }, - { - name: 'name', - required: true, - } -]; diff --git a/lib/commands/cms/m.d.ts b/lib/commands/cms/m.d.ts deleted file mode 100644 index 70443e4..0000000 --- a/lib/commands/cms/m.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { Command } from '@oclif/command'; -export default class CmsM extends Command { - questions: { - [k: string]: any; - }; - inputs: { - [k: string]: any; - }; - static description: string; - static flags: { - help: import("@oclif/parser/lib/flags").IBooleanFlag; - name: import("@oclif/parser/lib/flags").IBooleanFlag; - force: import("@oclif/parser/lib/flags").IBooleanFlag; - }; - static args: never[]; - run(): Promise; -} diff --git a/lib/commands/cms/m.js b/lib/commands/cms/m.js deleted file mode 100644 index 3bce334..0000000 --- a/lib/commands/cms/m.js +++ /dev/null @@ -1,86 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const command_1 = require("@oclif/command"); -const inquirer = require("inquirer"); -const Listr = require('listr'); -const Questions_1 = require("../../libraries/Questions"); -const Generator_1 = require("../../libraries/Generator"); -const Functions_1 = require("../../libraries/Functions"); -const chalk = require('chalk'); -const log = console.log; -class CmsM extends command_1.Command { - constructor() { - super(...arguments); - this.questions = {}; - this.inputs = {}; - } - /* - *--------------------------------------------------- - * Command Execution - *--------------------------------------------------- - */ - async run() { - let functions = new Functions_1.default(); - let is_updates_available = await functions.isUpdatesAvailable(); - if (is_updates_available) { - return true; - } - const { args, flags } = this.parse(CmsM); - let questions = new Questions_1.default(); - this.inputs = await inquirer.prompt(questions.getVaahCmsModuleQuestions()); - this.inputs['webpack_port'] = functions.generateRandom(8000, 8999); - this.inputs['namespace'] = 'VaahCms\\Modules\\' + this.inputs.module_name; - this.inputs['service_provider_name'] = this.inputs.module_name; - this.inputs['year'] = (new Date()).getFullYear(); - let source; - if (this.inputs['module-type'] === 'Module - Vue3 & PrimeVue') { - source = '\\skeletons\\vaahcms\\module-vue3\\'; - } - else { - source = '\\skeletons\\vaahcms\\module\\'; - } - let target = "./VaahCms/Modules/" + this.inputs.module_name; - this.inputs['service_provider_name'] = this.inputs.module_name + 'ServiceProvider.php'; - let generator = new Generator_1.default(args, flags, this.inputs, source, target); - log(chalk.green('=======================================')); - log('Generating Module: ' + chalk.green(this.inputs.module_name)); - log(chalk.green('---------------------------------------')); - const tasks = new Listr([ - { - title: 'Files Generated', - task: function () { - generator.files(); - } - } - ]); - tasks.run().then((ctx) => { - log(chalk.green('=======================================')); - log("0) Activate your module by login to the VaahCMS Backend > Extend > Modules section"); - log(chalk.blue("To use Vue in your project, follow the following steps:")); - log("1) Add MODULE_" + this.inputs.module_name_upper + "_ENV=develop in your environment file"); - log("2) Run 'npm install' at VaahCms/Modules/" + this.inputs.module_name + "/Vue module folder"); - log("3) Now run 'npm run dev' at VaahCms/Modules/" + this.inputs.module_name + "/Vue module folder"); - log(`4) Visit /public/backend/` + this.inputs.module_name_lower); - }).catch((err) => { - console.error(err); - }); - } -} -exports.default = CmsM; -CmsM.description = 'To generate module for VaahCMS'; -/* - *--------------------------------------------------- - * Command Flags/Options - *--------------------------------------------------- - */ -CmsM.flags = { - help: command_1.flags.help({ char: 'h' }), - name: command_1.flags.help({ char: 'n' }), - force: command_1.flags.boolean({ char: 'f' }), -}; -/* - *--------------------------------------------------- - * Command Arguments - *--------------------------------------------------- - */ -CmsM.args = []; diff --git a/lib/commands/cms/settings.d.ts b/lib/commands/cms/settings.d.ts deleted file mode 100644 index e135111..0000000 --- a/lib/commands/cms/settings.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { Command } from '@oclif/command'; -export default class CmsCrud extends Command { - args: { - [k: string]: any; - }; - flags: { - [k: string]: any; - }; - primary: { - [k: string]: any; - }; - inputs: { - [k: string]: any; - }; - spinner: { - [k: string]: any; - }; - repo: string; - target_dir: string; - source_dir: string; - static description: string; - static flags: { - help: import("@oclif/parser/lib/flags").IBooleanFlag; - }; - static args: never[]; - run(): Promise; - successMessage(): void; -} diff --git a/lib/commands/cms/settings.js b/lib/commands/cms/settings.js deleted file mode 100644 index d3ef6f7..0000000 --- a/lib/commands/cms/settings.js +++ /dev/null @@ -1,115 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const command_1 = require("@oclif/command"); -const Questions_1 = require("../../libraries/Questions"); -const inquirer = require("inquirer"); -const Generator_1 = require("../../libraries/Generator"); -const Functions_1 = require("../../libraries/Functions"); -let fs = require('fs'); -let ora = require('ora'); -const execa = require('execa'); -const Listr = require('listr'); -var shell = require('shelljs'); -const { exec } = require('child_process'); -let fsSync = require('fs-sync'); -const fsPromises = fs.promises; -const chalk = require('chalk'); -const log = console.log; -class CmsCrud extends command_1.Command { - constructor() { - super(...arguments); - this.args = {}; - this.flags = {}; - this.primary = {}; - this.inputs = {}; - this.spinner = {}; - this.repo = 'https://github.com/webreinvent/vaahcms-ready'; - this.target_dir = './'; - this.source_dir = ''; - //--------------------------------------------------- - //--------------------------------------------------- - } - /* - *--------------------------------------------------- - * Command Execution - *--------------------------------------------------- - */ - async run() { - log(chalk.white.bgGreen.bold(" This command is only for Vue 3 module ")); - let functions = new Functions_1.default(); - let is_updates_available = await functions.isUpdatesAvailable(); - if (is_updates_available) { - return true; - } - const { args, flags } = this.parse(CmsCrud); - let questions = new Questions_1.default(); - this.primary = await inquirer.prompt(questions.getVue3CrudQuestionsPrimary()); - let get_questions = questions.getSettingQuestions(this.primary.for); - this.inputs = await inquirer.prompt(get_questions); - this.inputs.for = this.primary.for; - let target = ""; - let source = '\\skeletons\\vaahcms\\settings\\'; - this.inputs['namespace_controller'] = ''; - this.inputs['model_name'] = 'Setting'; - this.inputs['namespace'] = 'VaahCms\\Modules\\' + this.inputs.folder_name; - target = "./VaahCms/Modules/" + this.inputs.folder_name; - if (this.inputs.for == 'Custom Path') { - this.inputs['namespace_controller'] = this.inputs['namespace'] + '\\Http\\Controllers'; - target = this.inputs.path; - } - let generator = new Generator_1.default(args, flags, this.inputs, source, target); - log(chalk.green('=======================================')); - log('Vue 3: Generating User CRUD Files'); - log(chalk.green('---------------------------------------')); - const tasks = new Listr([ - { - title: 'Files Generated for User CRUD operations', - task: function () { - generator.generateCrudFiles(); - } - } - ]); - let self = this; - tasks.run().then((ctx) => { - self.successMessage(); - }).catch((err) => { - console.error(err); - }); - } - //--------------------------------------------------- - successMessage() { - let n = 1; - log(chalk.white.bgGreen.bold(" Files Generated! ")); - log(chalk.green("==================================================================")); - log(chalk.green("Now, follow following steps:")); - log(n++ + ") Include the crud router file in the module's backend route file"); - log(n++ + ") Include the vue router file"); - log(n++ + ") Add seeder code in /Database/Seeds/DatabaseTableSeeder.php file"); - let code = ' $seeder = new ' + this.inputs.model_name + 'TableSeeder(); \n' + - ' $seeder->run();'; - log(chalk.blue(code)); - if (this.inputs.for == 'Module') { - log(n++ + ") Add vue router link of General Setting to your /Vue/Components/Aside.vue file"); - } - log(chalk.green("==================================================================")); - } -} -exports.default = CmsCrud; -CmsCrud.description = 'Vue3: Generate User CRUD for VaahCMS'; -/* - *--------------------------------------------------- - * Command Flags/Options - *--------------------------------------------------- - */ -CmsCrud.flags = { - help: command_1.flags.boolean({ - description: 'Vue3: Generate User CRUD for VaahCMS', - default: false, - }), -}; -/* - *--------------------------------------------------- - * Command Arguments - *--------------------------------------------------- - */ -CmsCrud.args = []; diff --git a/lib/commands/cms/t-make.d.ts b/lib/commands/cms/t-make.d.ts deleted file mode 100644 index 23ecd58..0000000 --- a/lib/commands/cms/t-make.d.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { Command } from '@oclif/command'; -export default class CmsTMake extends Command { - questions: { - [k: string]: any; - }; - args: { - [k: string]: any; - }; - flags: { - [k: string]: any; - }; - inputs: { - [k: string]: any; - }; - static description: string; - static flags: { - frontend: import("@oclif/parser/lib/flags").IBooleanFlag; - backend: import("@oclif/parser/lib/flags").IBooleanFlag; - help: import("@oclif/parser/lib/flags").IBooleanFlag; - name: import("@oclif/parser/lib/flags").IBooleanFlag; - }; - static args: ({ - name: string; - required: boolean; - options: string[]; - } | { - name: string; - required: boolean; - options?: undefined; - })[]; - run(): Promise; -} diff --git a/lib/commands/cms/t-make.js b/lib/commands/cms/t-make.js deleted file mode 100644 index fce0bac..0000000 --- a/lib/commands/cms/t-make.js +++ /dev/null @@ -1,116 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const command_1 = require("@oclif/command"); -const Listr = require('listr'); -const Generator_1 = require("../../libraries/Generator"); -const Helpers_1 = require("../../libraries/Helpers"); -const Functions_1 = require("../../libraries/Functions"); -const chalk = require('chalk'); -const log = console.log; -class CmsTMake extends command_1.Command { - constructor() { - super(...arguments); - this.questions = {}; - this.args = {}; - this.flags = {}; - this.inputs = {}; - } - /* - *--------------------------------------------------- - * Command Execution - *--------------------------------------------------- - */ - async run() { - let functions = new Functions_1.default(); - let is_updates_available = await functions.isUpdatesAvailable(); - if (is_updates_available) { - return true; - } - const { args, flags } = this.parse(CmsTMake); - this.args = args; - this.flags = flags; - this.inputs['for'] = 'theme'; - let helpers = new Helpers_1.default(this.args, this.flags, this.inputs); - let params = helpers.getDerivedVariables(); - for (let key in params) { - this.inputs[key] = params[key]; - } - for (let key in this.args) { - this.inputs[key] = this.args[key]; - } - for (let key in this.flags) { - this.inputs[key] = this.flags[key]; - } - let source = '\\skeletons\\vaahcms\\theme-files\\'; - let generator = new Generator_1.default(args, flags, this.inputs, source, this.inputs['target_dir']); - log(chalk.green('=======================================')); - log('Generating Files for Theme: ' + chalk.green(this.args.theme)); - log(chalk.green('---------------------------------------')); - const tasks = new Listr([ - { - title: 'File Generated', - task: function () { - generator.file(); - } - } - ]); - tasks.run().then((ctx) => { - log(chalk.green('=======================================')); - }).catch((err) => { - console.error(err); - }); - } -} -exports.default = CmsTMake; -CmsTMake.description = 'Generate for VaahCMS Theme'; -/* - *--------------------------------------------------- - * Command Flags/Options - *--------------------------------------------------- - */ -CmsTMake.flags = { - frontend: command_1.flags.boolean({ - char: 'f', - default: true, - }), - backend: command_1.flags.boolean({ - char: 'b', - default: false, - }), - help: command_1.flags.help({ char: 'h' }), - name: command_1.flags.help({ char: 'n' }), -}; -/* - *--------------------------------------------------- - * Command Arguments - *--------------------------------------------------- - */ -CmsTMake.args = [ - { - name: 'type', - required: true, - options: [ - 'migration', - 'seed', - 'model', - 'controller', - 'view', - 'middleware', - 'observer', - 'trait', - 'test', - 'event', - 'listener', - 'mail', - 'notification', - ] - }, - { - name: 'theme', - required: true, - }, - { - name: 'name', - required: true, - } -]; diff --git a/lib/commands/cms/t.d.ts b/lib/commands/cms/t.d.ts deleted file mode 100644 index 1f2281f..0000000 --- a/lib/commands/cms/t.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { Command } from '@oclif/command'; -export default class CmsT extends Command { - questions: { - [k: string]: any; - }; - inputs: { - [k: string]: any; - }; - static description: string; - static flags: { - help: import("@oclif/parser/lib/flags").IBooleanFlag; - name: import("@oclif/parser/lib/flags").IBooleanFlag; - force: import("@oclif/parser/lib/flags").IBooleanFlag; - }; - static args: never[]; - run(): Promise; -} diff --git a/lib/commands/cms/t.js b/lib/commands/cms/t.js deleted file mode 100644 index 6c5e3e6..0000000 --- a/lib/commands/cms/t.js +++ /dev/null @@ -1,73 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const command_1 = require("@oclif/command"); -const inquirer = require("inquirer"); -const Listr = require('listr'); -const Questions_1 = require("../../libraries/Questions"); -const Generator_1 = require("../../libraries/Generator"); -const Functions_1 = require("../../libraries/Functions"); -const chalk = require('chalk'); -const log = console.log; -class CmsT extends command_1.Command { - constructor() { - super(...arguments); - this.questions = {}; - this.inputs = {}; - } - /* - *--------------------------------------------------- - * Command Execution - *--------------------------------------------------- - */ - async run() { - let functions = new Functions_1.default(); - let is_updates_available = await functions.isUpdatesAvailable(); - if (is_updates_available) { - return true; - } - const { args, flags } = this.parse(CmsT); - let questions = new Questions_1.default(); - this.inputs = await inquirer.prompt(questions.getVaahCmsThemeQuestions()); - this.inputs['webpack_port'] = functions.generateRandom(8000, 8999); - this.inputs['namespace'] = 'VaahCms\\Themes\\' + this.inputs.theme_name; - this.inputs['service_provider_name'] = this.inputs.theme_name + 'ServiceProvider.php'; - this.inputs['year'] = (new Date()).getFullYear(); - let source = '\\skeletons\\vaahcms\\theme\\'; - let target = "./VaahCms/Themes/" + this.inputs.theme_name; - let generator = new Generator_1.default(args, flags, this.inputs, source, target); - log(chalk.green('=======================================')); - log('Generating Theme: ' + chalk.green(this.inputs.theme_name)); - log(chalk.green('---------------------------------------')); - const tasks = new Listr([ - { - title: 'Files Generated', - task: function () { - generator.files(); - } - } - ]); - tasks.run().then((ctx) => { - log(chalk.green('=======================================')); - }).catch((err) => { - console.error(err); - }); - } -} -exports.default = CmsT; -CmsT.description = 'To generate theme for VaahCMS'; -/* - *--------------------------------------------------- - * Command Flags/Options - *--------------------------------------------------- - */ -CmsT.flags = { - help: command_1.flags.help({ char: 'h' }), - name: command_1.flags.help({ char: 'n' }), - force: command_1.flags.boolean({ char: 'f' }), -}; -/* - *--------------------------------------------------- - * Command Arguments - *--------------------------------------------------- - */ -CmsT.args = []; diff --git a/lib/commands/cms/taxonomies.d.ts b/lib/commands/cms/taxonomies.d.ts deleted file mode 100644 index dc68e01..0000000 --- a/lib/commands/cms/taxonomies.d.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { Command } from '@oclif/command'; -export default class CmsCrud extends Command { - args: { - [k: string]: any; - }; - flags: { - [k: string]: any; - }; - primary: { - [k: string]: any; - }; - inputs: { - [k: string]: any; - }; - primary_inputs: { - [k: string]: any; - }; - spinner: { - [k: string]: any; - }; - repo: string; - target_dir: string; - source_dir: string; - static description: string; - static flags: { - help: import("@oclif/parser/lib/flags").IBooleanFlag; - }; - static args: never[]; - run(): Promise; - successMessage(): void; -} diff --git a/lib/commands/cms/taxonomies.js b/lib/commands/cms/taxonomies.js deleted file mode 100644 index 44095dd..0000000 --- a/lib/commands/cms/taxonomies.js +++ /dev/null @@ -1,124 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const command_1 = require("@oclif/command"); -const Questions_1 = require("../../libraries/Questions"); -const inquirer = require("inquirer"); -const Generator_1 = require("../../libraries/Generator"); -const Functions_1 = require("../../libraries/Functions"); -let fs = require('fs'); -let ora = require('ora'); -const execa = require('execa'); -const Listr = require('listr'); -var shell = require('shelljs'); -const { exec } = require('child_process'); -let fsSync = require('fs-sync'); -const fsPromises = fs.promises; -const chalk = require('chalk'); -const log = console.log; -class CmsCrud extends command_1.Command { - constructor() { - super(...arguments); - this.args = {}; - this.flags = {}; - this.primary = {}; - this.inputs = {}; - this.primary_inputs = {}; - this.spinner = {}; - this.repo = 'https://github.com/webreinvent/vaahcms-ready'; - this.target_dir = './'; - this.source_dir = ''; - //--------------------------------------------------- - //--------------------------------------------------- - } - /* - *--------------------------------------------------- - * Command Execution - *--------------------------------------------------- - */ - async run() { - log(chalk.white.bgGreen.bold(" This command are only for Vue 3 module ")); - let functions = new Functions_1.default(); - let is_updates_available = await functions.isUpdatesAvailable(); - if (is_updates_available) { - return true; - } - const { args, flags } = this.parse(CmsCrud); - let questions = new Questions_1.default(); - this.primary = await inquirer.prompt(questions.getVue3CrudQuestionsPrimary()); - let get_primary_questions = questions.getTaxonomyQuestionsPrimary(this.primary.for); - this.primary_inputs = await inquirer.prompt(get_primary_questions); - let get_questions = questions.getTaxonomyQuestions(this.primary_inputs.generate_migration); - this.inputs = await inquirer.prompt(get_questions); - this.inputs = Object.assign(Object.assign({}, this.primary_inputs), this.inputs); - this.inputs.for = this.primary.for; - let target = ""; - let source = '\\skeletons\\vaahcms\\taxonomies\\'; - this.inputs['namespace_controller'] = ''; - this.inputs['namespace'] = 'VaahCms\\Modules\\' + this.inputs.folder_name; - target = "./VaahCms/Modules/" + this.inputs.folder_name; - if (this.inputs.for == 'Custom Path') { - this.inputs['namespace_controller'] = this.inputs['namespace'] + '\\Http\\Controllers'; - target = this.inputs.path; - } - if (this.primary_inputs.generate_migration !== 'true') { - this.inputs['table_name'] = 'vh_taxonomies'; - this.inputs['second_table_name'] = 'vh_taxonomy_types'; - this.inputs['second_table_name_singular'] = 'vh_taxonomy_type'; - } - let generator = new Generator_1.default(args, flags, this.inputs, source, target); - log(chalk.green('=======================================')); - log('Generating CRUD Files'); - log(chalk.green('---------------------------------------')); - const tasks = new Listr([ - { - title: 'Files Generated for CRUD operations', - task: function () { - generator.generateCrudFiles(); - } - } - ]); - let self = this; - tasks.run().then((ctx) => { - self.successMessage(); - }).catch((err) => { - console.error(err); - }); - } - //--------------------------------------------------- - successMessage() { - let n = 1; - log(chalk.white.bgGreen.bold(" Files Generated! ")); - log(chalk.green("==================================================================")); - log(chalk.green("Now, follow following steps:")); - if (this.inputs['generate_migration'] === 'true') { - log(n++ + ") Update the migration file with the table name and columns"); - log(n++ + ") Re-activate module to run migrations"); - } - log(n++ + ") Run " + chalk.green("npm install --save @grapoza/vue-tree") + " command in " + this.inputs['namespace'] + "\\Vue directory"); - log(n++ + ") Include the crud router file in the module's backend route file"); - log(n++ + ") Include the vue router file"); - if (this.inputs.for == 'Module') { - log(n++ + ") Add vue router link to you /Vue/Components/Aside.vue file"); - } - log(chalk.green("==================================================================")); - } -} -exports.default = CmsCrud; -CmsCrud.description = 'Vue 3: Generate Taxonomies CRUD operations for VaahCMS'; -/* - *--------------------------------------------------- - * Command Flags/Options - *--------------------------------------------------- - */ -CmsCrud.flags = { - help: command_1.flags.boolean({ - description: 'Vue 3: Generate Taxonomies CRUD operations for VaahCMS', - default: false, - }), -}; -/* - *--------------------------------------------------- - * Command Arguments - *--------------------------------------------------- - */ -CmsCrud.args = []; diff --git a/lib/commands/cms/users.d.ts b/lib/commands/cms/users.d.ts deleted file mode 100644 index e135111..0000000 --- a/lib/commands/cms/users.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { Command } from '@oclif/command'; -export default class CmsCrud extends Command { - args: { - [k: string]: any; - }; - flags: { - [k: string]: any; - }; - primary: { - [k: string]: any; - }; - inputs: { - [k: string]: any; - }; - spinner: { - [k: string]: any; - }; - repo: string; - target_dir: string; - source_dir: string; - static description: string; - static flags: { - help: import("@oclif/parser/lib/flags").IBooleanFlag; - }; - static args: never[]; - run(): Promise; - successMessage(): void; -} diff --git a/lib/commands/cms/users.js b/lib/commands/cms/users.js deleted file mode 100644 index 57659f1..0000000 --- a/lib/commands/cms/users.js +++ /dev/null @@ -1,110 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const command_1 = require("@oclif/command"); -const Questions_1 = require("../../libraries/Questions"); -const inquirer = require("inquirer"); -const Generator_1 = require("../../libraries/Generator"); -const Functions_1 = require("../../libraries/Functions"); -let fs = require('fs'); -let ora = require('ora'); -const execa = require('execa'); -const Listr = require('listr'); -var shell = require('shelljs'); -const { exec } = require('child_process'); -let fsSync = require('fs-sync'); -const fsPromises = fs.promises; -const chalk = require('chalk'); -const log = console.log; -class CmsCrud extends command_1.Command { - constructor() { - super(...arguments); - this.args = {}; - this.flags = {}; - this.primary = {}; - this.inputs = {}; - this.spinner = {}; - this.repo = 'https://github.com/webreinvent/vaahcms-ready'; - this.target_dir = './'; - this.source_dir = ''; - //--------------------------------------------------- - //--------------------------------------------------- - } - /* - *--------------------------------------------------- - * Command Execution - *--------------------------------------------------- - */ - async run() { - log(chalk.white.bgGreen.bold(" This command are only for Vue 3 module ")); - let functions = new Functions_1.default(); - let is_updates_available = await functions.isUpdatesAvailable(); - if (is_updates_available) { - return true; - } - const { args, flags } = this.parse(CmsCrud); - let questions = new Questions_1.default(); - this.primary = await inquirer.prompt(questions.getVue3CrudQuestionsPrimary()); - let get_questions = questions.getUserQuestions(this.primary.for); - this.inputs = await inquirer.prompt(get_questions); - this.inputs.for = this.primary.for; - let target = ""; - let source = '\\skeletons\\vaahcms\\users\\'; - this.inputs['namespace_controller'] = ''; - this.inputs['namespace'] = 'VaahCms\\Modules\\' + this.inputs.folder_name; - target = "./VaahCms/Modules/" + this.inputs.folder_name; - if (this.inputs.for == 'Custom Path') { - this.inputs['namespace_controller'] = this.inputs['namespace'] + '\\Http\\Controllers'; - target = this.inputs.path; - } - let generator = new Generator_1.default(args, flags, this.inputs, source, target); - log(chalk.green('=======================================')); - log('Vue 3: Generating User CRUD Files'); - log(chalk.green('---------------------------------------')); - const tasks = new Listr([ - { - title: 'Files Generated for User CRUD operations', - task: function () { - generator.generateCrudFiles(); - } - } - ]); - let self = this; - tasks.run().then((ctx) => { - self.successMessage(); - }).catch((err) => { - console.error(err); - }); - } - //--------------------------------------------------- - successMessage() { - let n = 1; - log(chalk.white.bgGreen.bold(" Files Generated! ")); - log(chalk.green("==================================================================")); - log(chalk.green("Now, follow following steps:")); - log(n++ + ") Include the crud router file in the module's backend route file"); - log(n++ + ") Include the vue router file"); - if (this.inputs.for == 'Module') { - log(n++ + ") Add vue router link to you /Vue/Components/Aside.vue file"); - } - log(chalk.green("==================================================================")); - } -} -exports.default = CmsCrud; -CmsCrud.description = 'Vue3: Generate User CRUD for VaahCMS'; -/* - *--------------------------------------------------- - * Command Flags/Options - *--------------------------------------------------- - */ -CmsCrud.flags = { - help: command_1.flags.boolean({ - description: 'Vue3: Generate User CRUD for VaahCMS', - default: false, - }), -}; -/* - *--------------------------------------------------- - * Command Arguments - *--------------------------------------------------- - */ -CmsCrud.args = []; diff --git a/lib/commands/flutter/install.d.ts b/lib/commands/flutter/install.d.ts deleted file mode 100644 index ba64d46..0000000 --- a/lib/commands/flutter/install.d.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { Command } from '@oclif/command'; -export default class CmsCrud extends Command { - args: { - [k: string]: any; - }; - flags: { - [k: string]: any; - }; - primary: { - [k: string]: any; - }; - inputs: { - [k: string]: any; - }; - primary_inputs: { - [k: string]: any; - }; - spinner: { - [k: string]: any; - }; - repo: string; - target_dir: string; - source_dir: string; - static description: string; - static flags: { - help: import("@oclif/parser/lib/flags").IBooleanFlag; - }; - static args: never[]; - run(): Promise; - install(): Promise; - successMessage(): void; - spin(): Promise; - printName(): Promise; - spinStop(): Promise; - spinStopWithError(): Promise; -} diff --git a/lib/commands/flutter/install.js b/lib/commands/flutter/install.js deleted file mode 100644 index bd15d99..0000000 --- a/lib/commands/flutter/install.js +++ /dev/null @@ -1,180 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const command_1 = require("@oclif/command"); -const Questions_1 = require("../../libraries/Questions"); -const inquirer = require("inquirer"); -const Generator_1 = require("../../libraries/Generator"); -const Functions_1 = require("../../libraries/Functions"); -let fs = require('fs'); -let ora = require('ora'); -const execa = require('execa'); -const Listr = require('listr'); -var shell = require('shelljs'); -const { exec } = require('child_process'); -let fsSync = require('fs-sync'); -const fsPromises = fs.promises; -const download = require('download-git-repo'); -const chalk = require('chalk'); -const log = console.log; -class CmsCrud extends command_1.Command { - constructor() { - super(...arguments); - this.args = {}; - this.flags = {}; - this.primary = {}; - this.inputs = {}; - this.primary_inputs = {}; - this.spinner = {}; - this.repo = 'https://github.com/webreinvent/vaahflutter'; - this.target_dir = './'; - this.source_dir = ''; - //----------------------------------- - //--------------------------------------------------- - } - /* - *--------------------------------------------------- - * Command Execution - *--------------------------------------------------- - */ - async run() { - // log(chalk.white.bgGreen.bold(" This command are only for Vue 3 module ")); - let functions = new Functions_1.default(); - let is_updates_available = await functions.isUpdatesAvailable(); - if (is_updates_available) { - return true; - } - const { args, flags } = this.parse(CmsCrud); - let questions = new Questions_1.default(); - let get_questions = questions.getFlutterQuestions(); - this.inputs = await inquirer.prompt(get_questions); - this.inputs = Object.assign(Object.assign({}, this.primary_inputs), this.inputs); - this.inputs.for = this.primary.for; - await this.spin(); - await this.install(); - } - //--------------------------------------------------- - async install() { - let self = this; - let source = '\\skeletons\\flutter\\install\\'; - this.target_dir = this.target_dir + this.inputs.app_name; - let generator = new Generator_1.default(this.args, command_1.flags, this.inputs, source, this.target_dir); - const tasks = new Listr([ - { - title: 'Creating Project Folder', - task: () => new Promise((resolve, reject) => { - { - let self = this; - if (this.inputs.app_name) { - fs.mkdir(self.target_dir, (error, result) => { - if (error != null) { - log(""); - log(chalk.red("- Project Folder Already Exists")); - return reject(error); - } - resolve(result); - }); - } - } - }) - }, - { - title: 'Downloading VaahFlutter', - task: () => new Promise((resolve, reject) => { - { - let self = this; - let repo = ''; - repo = 'webreinvent/vaahflutter'; - self.inputs.documentation = "https://docs.vaah.dev/vaahflutter"; - // @ts-ignore - download(repo, self.target_dir, function (err) { - console.log((err ? reject('Error') : resolve('Success'))); - }); - } - }) - }, - { - title: 'Configuring The Project', - task: function () { - generator.generateFlutterFiles(); - } - } - ]); - tasks.run().then((ctx) => { - this.spinStop(); - }).catch((err) => { - console.error(err); - this.spinStopWithError(); - }); - } - //--------------------------------------------------- - successMessage() { - log(chalk.white.bgGreen.bold(" Files Generated! ")); - log(chalk.green("==================================================================")); - } - //--------------------------------------------------- - //----------------------------------- - async spin() { - this.spinner = ora(); - this.spinner.start('Installing VaahCMS...'); - this.spinner._spinner = { - "interval": 80, - "frames": [ - "⠋", - "⠙", - "⠹", - "⠸", - "⠼", - "⠴", - "⠦", - "⠧", - "⠇", - "⠏" - ] - }; - } - //----------------------------------- - async printName() { - log(chalk.red(` - /\\ /\\ __ _ __ _ | |__ / __\\ /\\/\\ / _\\ - \\ \\ / // _\` | / _\` || '_ \\ / / / \\ \\ \\ - \\ V /| (_| || (_| || | | |/ /___/ /\\/\\ \\_\\ \\ - \\_/ \\__,_| \\__,_||_| |_|\\____/\\/ \\/\\__/ -`)); - } - //----------------------------------- - async spinStop() { - this.spinner.succeed(); - log(chalk.white.bgGreen.bold(" VaahFlutter Installed! ")); - log(chalk.black("==================================================================")); - log("Open the project folder " + chalk.green(this.inputs.app_name) + " in terminal and follow the steps "); - log("Step 1. Run " + chalk.green("flutter pub get") + " command"); - log("Step 2. Run " + chalk.green("flutter run") + " command"); - log(chalk.redBright("------")); - log(chalk.bold(chalk.blueBright("Documentation: ")) + this.inputs.documentation); - log(chalk.black("==================================================================")); - } - //----------------------------------- - async spinStopWithError() { - this.spinner.succeed(); - log(chalk.white.bgRed.bold(" VaahCMS Installation Failed! ")); - } -} -exports.default = CmsCrud; -CmsCrud.description = 'Installation of VaahFlutter'; -/* - *--------------------------------------------------- - * Command Flags/Options - *--------------------------------------------------- - */ -CmsCrud.flags = { - help: command_1.flags.boolean({ - description: 'Installation of VaahFlutter', - default: false, - }), -}; -/* - *--------------------------------------------------- - * Command Arguments - *--------------------------------------------------- - */ -CmsCrud.args = []; diff --git a/lib/commands/hello.d.ts b/lib/commands/hello.d.ts deleted file mode 100644 index 06994c4..0000000 --- a/lib/commands/hello.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { Command, flags } from '@oclif/command'; -export default class Hello extends Command { - static description: string; - static examples: string[]; - static flags: { - help: import("@oclif/parser/lib/flags").IBooleanFlag; - name: flags.IOptionFlag; - force: import("@oclif/parser/lib/flags").IBooleanFlag; - }; - static args: { - name: string; - }[]; - run(): Promise; -} diff --git a/lib/commands/hello.js b/lib/commands/hello.js deleted file mode 100644 index e4befc0..0000000 --- a/lib/commands/hello.js +++ /dev/null @@ -1,29 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const command_1 = require("@oclif/command"); -class Hello extends command_1.Command { - async run() { - var _a; - const { args, flags } = this.parse(Hello); - const name = (_a = flags.name) !== null && _a !== void 0 ? _a : 'world'; - this.log(`hello ${name} from .\\src\\commands\\hello.ts`); - if (args.file && flags.force) { - this.log(`you input --force and --file: ${args.file}`); - } - } -} -exports.default = Hello; -Hello.description = 'describe the command here'; -Hello.examples = [ - `$ vaah hello -hello world from ./src/hello.ts! -`, -]; -Hello.flags = { - help: command_1.flags.help({ char: 'h' }), - // flag with a value (-n, --name=VALUE) - name: command_1.flags.string({ char: 'n', description: 'name to print' }), - // flag with no value (-f, --force) - force: command_1.flags.boolean({ char: 'f' }), -}; -Hello.args = [{ name: 'file' }]; diff --git a/lib/index.d.ts b/lib/index.d.ts deleted file mode 100644 index 63a56fd..0000000 --- a/lib/index.d.ts +++ /dev/null @@ -1 +0,0 @@ -export { run } from '@oclif/command'; diff --git a/lib/index.js b/lib/index.js deleted file mode 100644 index 140042b..0000000 --- a/lib/index.js +++ /dev/null @@ -1,4 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var command_1 = require("@oclif/command"); -Object.defineProperty(exports, "run", { enumerable: true, get: function () { return command_1.run; } }); diff --git a/lib/libraries/Functions.d.ts b/lib/libraries/Functions.d.ts deleted file mode 100644 index 3e69fa2..0000000 --- a/lib/libraries/Functions.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -export default class Helpers { - package_url: string; - isUpdatesAvailable(): Promise; - generateRandom(min?: number, max?: number): number; -} diff --git a/lib/libraries/Functions.js b/lib/libraries/Functions.js deleted file mode 100644 index 59ce7aa..0000000 --- a/lib/libraries/Functions.js +++ /dev/null @@ -1,55 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const axios = require('axios'); -const chalk = require('chalk'); -let fs = require('fs'); -let path = require('path'); -let ejs = require('ejs'); -let fsSync = require('fs-sync'); -var dateFormat = require('dateformat'); -var semver = require('semver'); -const package_json = require("./../../package.json"); -const log = console.log; -class Helpers { - constructor() { - this.package_url = 'https://registry.npmjs.org/vaah/latest'; - //------------------------------------------------------- - //------------------------------------------------------- - //------------------------------------------------------- - //------------------------------------------------------- - } - //------------------------------------------------------- - async isUpdatesAvailable() { - let version = 0; - let pack = { - version: 0 - }; - pack = await axios.get(this.package_url).then(function (response) { - return response.data; - }); - version = pack.version; - let is_updates_available = semver.gt(version, package_json.version); - if (is_updates_available) { - log(chalk.white.bgRed.bold('New update is available')); - log(chalk.red('---------------------------------------')); - log('Installed Version: ' + package_json.version); - log('Available Version: ' + version); - log('Install via: ' + chalk.black.bgGreenBright(' npm i vaah -g ')); - log(chalk.red('---------------------------------------')); - } - return is_updates_available; - } - //------------------------------------------------------- - generateRandom(min = 0, max = 100) { - // find diff - let difference = max - min; - // generate random number - let rand = Math.random(); - // multiply with difference - rand = Math.floor(rand * difference); - // add with min value - rand = rand + min; - return rand; - } -} -exports.default = Helpers; diff --git a/lib/libraries/Generator.d.ts b/lib/libraries/Generator.d.ts deleted file mode 100644 index dc69c2b..0000000 --- a/lib/libraries/Generator.d.ts +++ /dev/null @@ -1,36 +0,0 @@ -export default class Generator { - args: { - [k: string]: any; - }; - flags: { - [k: string]: any; - }; - inputs: { - [k: string]: any; - }; - skeleton_dir: string; - target_dir: string; - constructor(args: object, flags: object, inputs: object, skeleton_dir: string, target_dir: string); - lowerCase(str: string): string; - upperCase(str: string): string; - removeNonWord(str: string): string; - replaceAccents(str: string): string; - toCamelCase(str: string): string; - /** - * camelCase + UPPERCASE first char - */ - toPascalCase(str: string): string; - setLowerAndUpperCaseValues(): void; - scanRecursiveFiles(dir: string, files?: any[]): any[]; - getFilesFromSkeletonDirector(): any[]; - files(): void; - file(): void; - getFileDestination(file_path: string): string; - copyFilesToDestination(file_path: string): void; - copyCrudFilesToDestination(file_path: string): void; - curdFiles(): void; - getDateTimeForMigrationFile(): any; - generateCrudFiles(): void; - generateAuthFiles(): void; - generateFlutterFiles(): void; -} diff --git a/lib/libraries/Generator.js b/lib/libraries/Generator.js deleted file mode 100644 index e437479..0000000 --- a/lib/libraries/Generator.js +++ /dev/null @@ -1,424 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const chalk = require('chalk'); -let fs = require('fs'); -let path = require('path'); -let ejs = require('ejs'); -let fsSync = require('fs-sync'); -let dateFormat = require('dateformat'); -const log = console.log; -class Generator { - constructor(args, flags, inputs, skeleton_dir, target_dir) { - this.args = {}; - this.flags = {}; - this.inputs = {}; - this.args = args; - this.flags = flags; - this.inputs = inputs; - this.skeleton_dir = skeleton_dir; - this.target_dir = target_dir; - this.setLowerAndUpperCaseValues(); - } - //------------------------------------------------------- - lowerCase(str) { - return str.toLowerCase(); - } - //------------------------------------------------------- - upperCase(str) { - return str.toUpperCase(); - } - //------------------------------------------------------- - removeNonWord(str) { - return str.replace(/[^0-9a-zA-Z\xC0-\xFF \-]/g, ""); - } - //------------------------------------------------------- - replaceAccents(str) { - // verifies if the String has accents and replace them - if (str.search(/[\xC0-\xFF]/g) > -1) { - str = str - .replace(/[\xC0-\xC5]/g, "A") - .replace(/[\xC6]/g, "AE") - .replace(/[\xC7]/g, "C") - .replace(/[\xC8-\xCB]/g, "E") - .replace(/[\xCC-\xCF]/g, "I") - .replace(/[\xD0]/g, "D") - .replace(/[\xD1]/g, "N") - .replace(/[\xD2-\xD6\xD8]/g, "O") - .replace(/[\xD9-\xDC]/g, "U") - .replace(/[\xDD]/g, "Y") - .replace(/[\xDE]/g, "P") - .replace(/[\xE0-\xE5]/g, "a") - .replace(/[\xE6]/g, "ae") - .replace(/[\xE7]/g, "c") - .replace(/[\xE8-\xEB]/g, "e") - .replace(/[\xEC-\xEF]/g, "i") - .replace(/[\xF1]/g, "n") - .replace(/[\xF2-\xF6\xF8]/g, "o") - .replace(/[\xF9-\xFC]/g, "u") - .replace(/[\xFE]/g, "p") - .replace(/[\xFD\xFF]/g, "y"); - } - return str; - } - //------------------------------------------------------- - toCamelCase(str) { - str = this.replaceAccents(str); - str = this.removeNonWord(str) - .replace(/\-/g, " ") //convert all hyphens to spaces - .replace(/\s[a-z]/g, this.upperCase) //convert first char of each word to UPPERCASE - .replace(/\s+/g, "") //remove spaces - .replace(/^[A-Z]/g, this.lowerCase); //convert first char to lowercase - return str; - } - //------------------------------------------------------- - /** - * camelCase + UPPERCASE first char - */ - toPascalCase(str) { - str = str.replace("_", " "); - str = str.replace("-", " "); - return this.toCamelCase(str).replace(/^[a-z]/, this.upperCase); - } - //------------------------------------------------------- - setLowerAndUpperCaseValues() { - if (Object.keys(this.args).length) { - for (let key in this.args) { - if (typeof this.inputs[key] === 'string') { - this.args[key + '_lower'] = this.args[key].toLowerCase(); - this.args[key + '_upper'] = this.args[key].toUpperCase(); - this.args[key + '_pascal'] = this.toPascalCase(this.args[key]); - } - } - } - if (Object.keys(this.flags).length) { - for (let key in this.flags) { - if (typeof this.inputs[key] === 'string') { - this.flags[key + '_lower'] = this.flags[key].toLowerCase(); - this.flags[key + '_upper'] = this.flags[key].toUpperCase(); - this.flags[key + '_pascal'] = this.toPascalCase(this.flags[key]); - } - } - } - if (Object.keys(this.inputs).length) { - for (let key in this.inputs) { - if (typeof this.inputs[key] === 'string') { - this.inputs[key + '_lower'] = this.inputs[key].toLowerCase(); - this.inputs[key + '_upper'] = this.inputs[key].toUpperCase(); - this.inputs[key + '_pascal'] = this.toPascalCase(this.inputs[key]); - } - } - } - } - //------------------------------------------------------- - scanRecursiveFiles(dir, files = []) { - fs.readdirSync(dir).forEach((file) => { - //let fullPath = path.join(dir, file); - let fullPath = path.join(dir, file); - //console.log('--->', fullPath); - let short_path = fullPath.split("skeletons"); - let file_path; - if (short_path[1]) { - file_path = short_path[1]; - } - if (fs.lstatSync(fullPath).isDirectory()) { - this.scanRecursiveFiles(fullPath, files); - } - else { - files.push(file_path); - } - }); - return files; - } - //------------------------------------------------------- - getFilesFromSkeletonDirector() { - let template_path = __dirname + '/../../' + this.skeleton_dir; - let files_list = []; - files_list = this.scanRecursiveFiles(template_path, files_list); - return files_list; - } - ; - //------------------------------------------------------- - files() { - /* - log(chalk.red(`===ARG===`)); - log(this.args); - - - log(chalk.green(`===FLAGS===`)); - log(this.flags); - - - log(chalk.blue(`===INPUTS===`)); - log(this.inputs); - */ - let get_files = this.getFilesFromSkeletonDirector(); - //console.log('--->', get_files); - let self = this; - get_files.forEach(function (file) { - self.copyFilesToDestination(file); - }); - } - //------------------------------------------------------- - file() { - /* log(chalk.red(`===ARG===`)); - log(this.args); - - - log(chalk.green(`===FLAGS===`)); - log(this.flags); - - - log(chalk.blue(`===INPUTS===`)); - log(this.inputs);*/ - let file_path = __dirname + "/../.." + this.skeleton_dir + this.args.type + '.php.ejs'; - let file_content = fs.readFileSync(file_path).toString(); - let parsed_file_content = ejs.render(file_content, this.inputs); - let file_name = this.inputs['name'] + ".php"; - if (this.inputs['file_name']) { - file_name = this.inputs['file_name']; - } - let destination = this.target_dir + '/' + file_name; - fsSync.write(destination, parsed_file_content); - log(chalk.green(destination)); - } - //------------------------------------------------------- - getFileDestination(file_path) { - //let file_name = path.basename(file_path); - let destination = ''; - let replace_path = this.skeleton_dir.replace('\\skeletons\\', ''); - destination = file_path.replace(replace_path, ""); - destination = this.target_dir + '/' + destination; - return destination; - } - //------------------------------------------------------- - copyFilesToDestination(file_path) { - //console.log('--->', file_path); - let destination = this.getFileDestination(file_path); - let file_readable_path = __dirname + "./../../skeletons/" + file_path; - let file_content = fs.readFileSync(file_readable_path).toString(); - let parsed_file_content = ejs.render(file_content, this.inputs); - destination = destination.replace('.ejs', ""); - let file_name = path.basename(destination); - if (file_name == 'ServiceProvider.php') { - destination = destination.replace('ServiceProvider.php', this.inputs['service_provider_name']); - } - fsSync.write(destination, parsed_file_content); - log(chalk.green(destination)); - } - //------------------------------------------------------- - copyCrudFilesToDestination(file_path) { - let destination = this.getFileDestination(file_path); - let file_readable_path = __dirname + "./../../skeletons/" + file_path; - let file_content = fs.readFileSync(file_readable_path).toString(); - let parsed_file_content = ejs.render(file_content, this.inputs); - destination = destination.replace('.ejs', ""); - let file_name = path.basename(destination); - if (file_name == 'Model.php') { - destination = destination.replace('Model', this.inputs['model_name']); - } - if (file_name == 'Controller.php') { - destination = destination.replace('Controller.php', this.inputs['controller_name'] + 'Controller.php'); - } - if (file_name == 'routes-template.php') { - destination = destination.replace('routes-template', this.inputs['table_name']); - } - if (file_name == 'vue-routes-template.js') { - destination = destination.replace('vue-routes-template', 'routes-' + this.inputs['table_name']); - } - if (file_name == 'store-template.js') { - destination = destination.replace('store-template', 'store-' + this.inputs['table_name']); - } - destination = destination.replace('Vue\\pages\\template', 'Vue\\pages\\' + this.inputs['table_name']); - fsSync.write(destination, parsed_file_content); - log(chalk.green(destination)); - } - //------------------------------------------------------- - curdFiles() { - /* - log(chalk.red(`===ARG===`)); - log(this.args); - - - log(chalk.green(`===FLAGS===`)); - log(this.flags); - - - log(chalk.blue(`===INPUTS===`)); - log(this.inputs); - */ - let get_files = this.getFilesFromSkeletonDirector(); - //console.log('--->', get_files); - let self = this; - get_files.forEach(function (file) { - self.copyCrudFilesToDestination(file); - }); - } - //------------------------------------------------------- - getDateTimeForMigrationFile() { - let now = new Date(); - return dateFormat(now, "yyyy_mm_dd_HHMMss_"); - } - //------------------------------------------------------- - generateCrudFiles() { - let get_files = this.getFilesFromSkeletonDirector(); - let destination = null; - let file_readable_path = null; - let file_content = null; - let parsed_file_content = null; - let file_name = null; - this.inputs['url'] = ''; - if (this.inputs['section_name_lower'] != 'frontend') { - this.inputs['url'] = this.inputs['section_name_lower'] + '/'; - } - get_files.forEach((file_path) => { - //log("Source file--> "+chalk.green(file_path)); - //-- destination path - destination = this.getFileDestination(file_path); - file_readable_path = __dirname + "./../../skeletons/" + file_path; - file_content = fs.readFileSync(file_readable_path).toString(); - switch (this.inputs.for) { - case 'Module - Vue3 & PrimeVue': - case 'Module - Vue2 & Buefy': - this.inputs['for_name'] = 'Module'; - break; - default: - this.inputs['for_name'] = this.inputs.for; - break; - } - parsed_file_content = ejs.render(file_content, this.inputs); - destination = destination.replace('.ejs', ""); - file_name = path.basename(destination); - if (this.inputs['generate_migration'] === 'false' - && file_name.includes('migration-template.php')) { - return; - } - let prefix_folder = ""; - let prefix_folder_lower = ""; - if (this.inputs['section_name'] === 'Tenant') { - prefix_folder = "/Tenant/"; - } - switch (file_name) { - case 'Model.php': - destination = destination.replace('Model.php', this.inputs['model_name'] + '.php'); - break; - case 'Seeder.php': - destination = destination.replace('Seeder.php', this.inputs['model_name'] + 'TableSeeder.php'); - break; - case 'SecondModel.php': - destination = destination.replace('SecondModel.php', this.inputs['second_model_name'] + '.php'); - break; - case 'Controller.php': - destination = destination.replace('Controller.php', this.inputs['controller_name'] + 'Controller.php'); - destination = destination.replace('Controllers', 'Controllers/' + this.inputs['section_name']); - break; - case 'routes-template.php': - destination = destination.replace('template.php', this.inputs['controller_name_lower'] + '.php'); - destination = destination.replace('backend', this.inputs['section_name_lower']); - break; - case 'api-routes-template.php': - destination = destination.replace('template.php', this.inputs['controller_name_lower'] + '.php'); - break; - case 'List.vue': - case 'ListJs.js': - case 'ListTable.vue': - case 'ListTableJs.js': - case 'Form.vue': - case 'FormJs.js': - case 'View.vue': - case 'ViewJs.js': - case 'ViewRole.vue': - case 'FileUploader.vue': - case 'Loader.vue': - case 'TaxonomyTypeModal.vue': - case 'Actions.vue': - case 'Filters.vue': - case 'Table.vue': - case 'Item.vue': - case 'SettingsLayout.vue': - case 'Index.vue': - case 'ModuleSettings.vue': - destination = destination.replace('template', this.inputs['controller_name_lower']); - destination = destination.replace('Vue', this.inputs['vue_folder_name']); - break; - case 'vue-routes-template.js': - destination = destination.replace('template.js', this.inputs['controller_name_lower'] + '.js'); - destination = destination.replace('Vue', this.inputs['vue_folder_name']); - break; - case 'store-template.js': - destination = destination.replace('template.js', this.inputs['controller_name_lower'] + '.js'); - destination = destination.replace('Vue', this.inputs['vue_folder_name']); - break; - case 'migration-template.php': - destination = destination.replace('migration-template.php', prefix_folder + this.getDateTimeForMigrationFile() + this.inputs['table_name_lower'] + '.php'); - break; - case 'second-migration-template.php': - destination = destination.replace('second-migration-template.php', prefix_folder + this.getDateTimeForMigrationFile() + this.inputs['second_table_name_lower'] + '.php'); - break; - } - fsSync.write(destination, parsed_file_content); - log(chalk.green(destination)); - }); - } - //------------------------------------------------------- - generateAuthFiles() { - let get_files = this.getFilesFromSkeletonDirector(); - let destination = null; - let file_readable_path = null; - let file_content = null; - let parsed_file_content = null; - let file_name = null; - get_files.forEach((file_path) => { - //log("Source file--> "+chalk.green(file_path)); - //-- destination path - destination = this.getFileDestination(file_path); - file_readable_path = __dirname + "./../../skeletons/" + file_path; - file_content = fs.readFileSync(file_readable_path).toString(); - parsed_file_content = ejs.render(file_content, this.inputs); - destination = destination.replace('.ejs', ""); - file_name = path.basename(destination); - switch (file_name) { - case 'Model.php.ejs': - destination = destination.replace('Model.php.ejs', this.inputs['theme_name'] + 'Model.php.ejs'); - break; - case 'Registration.php': - destination = destination.replace('Registration.php', this.inputs['theme_name'] + 'Registration.php'); - break; - } - fsSync.write(destination, parsed_file_content); - log(chalk.green(destination)); - }); - } - //------------------------------------------------------- - generateFlutterFiles() { - let get_files = this.getFilesFromSkeletonDirector(); - let destination = null; - let file_readable_path = null; - let file_content = null; - let parsed_file_content = null; - let file_name = null; - get_files.forEach((file_path) => { - //log("Source file--> "+chalk.green(file_path)); - //-- destination path - destination = this.getFileDestination(file_path); - file_readable_path = __dirname + "./../../skeletons/" + file_path; - file_content = fs.readFileSync(file_readable_path).toString(); - parsed_file_content = ejs.render(file_content, this.inputs); - destination = destination.replace('.ejs', ""); - file_name = path.basename(destination); - let package_name_array = this.inputs['package_name'].split("."); - switch (file_name) { - case 'MainActivity.kt': - destination = destination.replace('template-domain', package_name_array.length >= 1 && package_name_array[0] ? - package_name_array[0] : 'domain'); - destination = destination.replace('template-company', package_name_array.length >= 2 && package_name_array[0] ? - package_name_array[1] : 'company'); - destination = destination.replace('template-appname', package_name_array.length >= 3 && package_name_array[0] ? - package_name_array[2] : 'appname'); - break; - } - fsSync.write(destination, parsed_file_content); - log(chalk.green(destination)); - }); - } -} -exports.default = Generator; diff --git a/lib/libraries/Helpers.d.ts b/lib/libraries/Helpers.d.ts deleted file mode 100644 index 36eb704..0000000 --- a/lib/libraries/Helpers.d.ts +++ /dev/null @@ -1,27 +0,0 @@ -export default class Helpers { - args: { - [k: string]: any; - }; - flags: { - [k: string]: any; - }; - inputs: { - [k: string]: any; - }; - package_url: string; - constructor(args: object, flags: object, inputs: object); - isPackageUpdated(): void; - setLowerAndUpperCaseValues(): void; - replaceAll(str: string, find: string, replace: string): string; - titleCase(str: string): string; - getClassName(str: string): string; - getMigrationFileName(str: string): string; - getMigrationTableName(str: string): string; - getDerivedVariables(): { - namespace: string; - target_dir: string; - table_name: string; - class_name: string; - file_name: string; - }; -} diff --git a/lib/libraries/Helpers.js b/lib/libraries/Helpers.js deleted file mode 100644 index cbc36af..0000000 --- a/lib/libraries/Helpers.js +++ /dev/null @@ -1,194 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const axios = require('axios'); -const chalk = require('chalk'); -let fs = require('fs'); -let path = require('path'); -let ejs = require('ejs'); -let fsSync = require('fs-sync'); -var dateFormat = require('dateformat'); -const log = console.log; -class Helpers { - constructor(args, flags, inputs) { - this.args = {}; - this.flags = {}; - this.inputs = {}; - this.package_url = 'https://api.npms.io/v2/package/vaah'; - this.args = args; - this.flags = flags; - this.inputs = inputs; - this.setLowerAndUpperCaseValues(); - } - //------------------------------------------------------- - isPackageUpdated() { - axios.get(this.package_url).then(function (response) { - console.log(response); - }); - } - //------------------------------------------------------- - setLowerAndUpperCaseValues() { - if (Object.keys(this.args).length) { - for (let key in this.args) { - if (typeof this.inputs[key] === 'string') { - this.args[key + '_lower'] = this.args[key].toLowerCase(); - this.args[key + '_upper'] = this.args[key].toUpperCase(); - } - } - } - if (Object.keys(this.flags).length) { - for (let key in this.flags) { - if (typeof this.inputs[key] === 'string') { - this.flags[key + '_lower'] = this.flags[key].toLowerCase(); - this.flags[key + '_upper'] = this.flags[key].toUpperCase(); - } - } - } - if (Object.keys(this.inputs).length) { - for (let key in this.inputs) { - if (typeof this.inputs[key] === 'string') { - this.inputs[key + '_lower'] = this.inputs[key].toLowerCase(); - this.inputs[key + '_upper'] = this.inputs[key].toUpperCase(); - } - } - } - } - //------------------------------------------------------- - replaceAll(str, find, replace) { - return str.replace(new RegExp(find, 'g'), replace); - } - //------------------------------------------------------- - titleCase(str) { - let wordsArray = str.toLowerCase().split(/\s+/); - let upperCased = wordsArray.map(function (word) { - return word.charAt(0).toUpperCase() + word.substr(1); - }); - return upperCased.join(" "); - } - //------------------------------------------------------- - getClassName(str) { - let class_name = ''; - class_name = str; - class_name = this.replaceAll(class_name, "_", " "); - class_name = this.titleCase(class_name); - class_name = this.replaceAll(class_name, " ", ""); - return class_name; - } - //------------------------------------------------------- - getMigrationFileName(str) { - var now = new Date(); - let name = dateFormat(now, "yyyy_mm_dd_HHMMss_") + str; - name = this.replaceAll(name, " ", "_"); - name = name.toLowerCase(); - name = name + '.php'; - return name; - } - //------------------------------------------------------- - getMigrationTableName(str) { - let name = ''; - name = str.toLowerCase(); - name = this.replaceAll(name, " ", '_'); - return name; - } - //------------------------------------------------------- - getDerivedVariables() { - let params = { - namespace: '', - target_dir: '', - table_name: '', - class_name: '', - file_name: '', - }; - let namespace = 'VaahCms'; - let target_dir = './VaahCms/'; - switch (this.inputs.for) { - case 'module': - namespace = namespace + '\\Modules\\' + this.args.module; - target_dir = target_dir + 'Modules/' + this.args.module; - break; - case 'theme': - namespace = namespace + '\\Themes\\' + this.args.theme; - target_dir = target_dir + 'Themes/' + this.args.theme; - break; - } - switch (this.args.type) { - case 'migration': - target_dir = target_dir + '/Database/Migrations'; - params.file_name = this.getMigrationFileName(this.args.name); - params.class_name = this.getClassName(this.args.name); - params.table_name = this.getMigrationTableName(this.args.name); - break; - case 'seed': - namespace = namespace + '\\Database\\Seeders'; - target_dir = target_dir + '/Database/Seeders'; - params.file_name = this.args.name + 'TableSeeder.php'; - break; - case 'model': - namespace = namespace + '\\Models'; - target_dir = target_dir + '/Models'; - break; - case 'controller': - params.file_name = this.args.name + 'Controller.php'; - namespace = namespace + '\\Http\\Controllers'; - target_dir = target_dir + '/Http/Controllers'; - if (this.flags.frontend) { - namespace = namespace + '\\Frontend'; - target_dir = target_dir + '/Frontend'; - } - else if (this.flags.backend) { - namespace = namespace + '\\Backend'; - target_dir = target_dir + '/Backend'; - } - break; - case 'middleware': - namespace = namespace + '\\Http\\Middleware'; - target_dir = target_dir + '/Http/Middleware'; - break; - case 'observer': - params.file_name = this.args.name + 'Observer.php'; - namespace = namespace + '\\Observers'; - target_dir = target_dir + '/Observers'; - break; - case 'trait': - namespace = namespace + '\\Traits'; - target_dir = target_dir + '/Traits'; - break; - case 'test': - namespace = namespace + '\\Tests'; - target_dir = target_dir + '/Tests'; - break; - case 'event': - namespace = namespace + '\\Events'; - target_dir = target_dir + '/Events'; - break; - case 'listener': - params.file_name = this.args.name + 'Listener.php'; - namespace = namespace + '\\Listeners'; - target_dir = target_dir + '/Listeners'; - break; - case 'mail': - params.file_name = this.args.name + 'Mail.php'; - namespace = namespace + '\\Mails'; - target_dir = target_dir + '/Mails'; - break; - case 'notification': - params.file_name = this.args.name + 'Notification.php'; - namespace = namespace + '\\Notifications'; - target_dir = target_dir + '/Notifications'; - break; - case 'view': - params.file_name = this.args.name + '.blade.php'; - target_dir = target_dir + '/Resources/views'; - if (this.flags.frontend) { - target_dir = target_dir + '/frontend/pages'; - } - else if (this.flags.backend) { - target_dir = target_dir + '/backend/pages'; - } - break; - } - params.namespace = namespace; - params.target_dir = target_dir; - return params; - } -} -exports.default = Helpers; diff --git a/lib/libraries/Questions.d.ts b/lib/libraries/Questions.d.ts deleted file mode 100644 index 4c4e0c0..0000000 --- a/lib/libraries/Questions.d.ts +++ /dev/null @@ -1,48 +0,0 @@ -export default class Generator { - questions: { - [k: string]: any; - }; - constructor(); - getVaahCmsVersions(): { - [k: string]: any; - }; - getVaahCmsModuleQuestions(): { - [k: string]: any; - }; - getVaahCmsThemeQuestions(): { - [k: string]: any; - }; - getCmsCrudQuestions(): { - [k: string]: any; - }; - getModuleCrudQuestions(): { - [k: string]: any; - }; - getCrudQuestionsPrimary(): { - [k: string]: any; - }; - getVue3CrudQuestionsPrimary(): { - [k: string]: any; - }; - getCrudQuestions(primary: string): { - [k: string]: any; - }; - getTaxonomyQuestionsPrimary(primary: string): { - [k: string]: any; - }; - getTaxonomyQuestions(primary: string): { - [k: string]: any; - }; - getFlutterQuestions(): { - [k: string]: any; - }; - getUserQuestions(primary: string): { - [k: string]: any; - }; - getSettingQuestions(primary: string): { - [k: string]: any; - }; - getAuthQuestions(): { - [k: string]: any; - }; -} diff --git a/lib/libraries/Questions.js b/lib/libraries/Questions.js deleted file mode 100644 index d57bb5d..0000000 --- a/lib/libraries/Questions.js +++ /dev/null @@ -1,583 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const chalk = require('chalk'); -const log = console.log; -class Generator { - constructor() { - this.questions = {}; - } - //------------------------------------------------------- - getVaahCmsVersions() { - this.questions = [ - { - type: 'list', - name: 'version', - default: null, - message: 'Select the VaahCMS version:', - choices: ["VaahCMS 2.x", "VaahCMS 1.x"], - }, - ]; - return this.questions; - } - //------------------------------------------------------- - getVaahCmsModuleQuestions() { - this.questions = [ - { - type: 'list', - name: 'module-type', - default: 'Module - Vue3 & PrimeVue', - message: 'Choose the tech stack of the module: ', - choices: ["Module - Vue3 & PrimeVue", "Module - Vue2 & Buefy"], - }, - { - type: 'input', - name: 'module_name', - default: 'HelloWorld', - message: 'Enter your module name: ' - }, - { - type: 'input', - name: 'title', - default: 'Module for VaahCMS', - message: 'Enter meaningful title for your module: ' - }, - { - type: 'input', - name: 'description', - default: 'description', - message: 'Enter your module description: ' - }, - { - type: 'input', - name: 'author_name', - default: 'vaah', - message: 'Enter Author name: ' - }, - { - type: 'input', - name: 'author_email', - default: 'support@vaah.dev', - message: 'Enter Author email: ' - }, - { - type: 'input', - name: 'author_website', - default: 'https://vaah.dev', - message: 'Enter author website: ' - }, - { - type: 'input', - name: 'download_link', - default: '', - message: 'Enter download url: ' - }, - { - type: 'input', - name: 'is_migratable', - default: 'true', - message: 'Do you want to run migration on activation (true/false): ' - }, - { - type: 'input', - name: 'has_sample_data', - default: 'false', - message: 'Will your module contains sample data (true/false): ' - }, - { - type: 'input', - name: 'is_using_vue', - default: 'true', - message: 'Do you want to use vue in this module (true/false): ' - }, - ]; - return this.questions; - } - //------------------------------------------------------- - getVaahCmsThemeQuestions() { - this.questions = [ - { - type: 'list', - name: 'theme-type', - default: 'Theme - Vue3 & PrimeVue', - message: 'Choose the tech stack of the module: ', - choices: ["Theme - Vue3 & PrimeVue", "Theme - Vue2 & Buefy"], - }, - { - type: 'input', - name: 'theme_name', - default: 'VaahTheme', - message: 'Enter your theme name: ' - }, - { - type: 'input', - name: 'title', - default: 'Theme for VaahCMS', - message: 'Enter meaningful title for your theme: ' - }, - { - type: 'input', - name: 'description', - default: 'description', - message: 'Enter your theme description: ' - }, - { - type: 'input', - name: 'author_name', - default: 'vaah', - message: 'Enter Author name: ' - }, - { - type: 'input', - name: 'author_email', - default: 'support@vaah.dev', - message: 'Enter Author email: ' - }, - { - type: 'input', - name: 'author_website', - default: 'https://vaah.dev', - message: 'Enter author website: ' - }, - { - type: 'input', - name: 'download_link', - default: '', - message: 'Enter download url: ' - }, - { - type: 'input', - name: 'is_migratable', - default: 'true', - message: 'Do you want to run migration when activated (true/false): ' - }, - { - type: 'input', - name: 'has_sample_data', - default: 'false', - message: 'Will your theme contains sample data (true/false): ' - }, - { - type: 'input', - name: 'is_using_vue', - default: 'false', - message: 'Do you want to use vue in this theme (true/false): ' - }, - ]; - return this.questions; - } - //------------------------------------------------------- - getCmsCrudQuestions() { - this.questions = [ - { - type: 'input', - name: 'namespace', - default: 'WebReinvent\\VaahCms', - message: 'Enter your namespace name: ' - }, - { - type: 'input', - name: 'model_name', - default: 'Article', - message: 'Enter your model name: ' - }, - { - type: 'input', - name: 'table_name', - default: 'articles', - message: 'Enter your table name: ' - }, - { - type: 'input', - name: 'controller_name', - default: 'Articles', - message: 'Enter your controller name: ' - }, - ]; - return this.questions; - } - //------------------------------------------------------- - getModuleCrudQuestions() { - this.questions = [ - { - type: 'input', - name: 'module_name', - default: 'HelloWorld', - message: 'Enter your module name: ' - }, - { - type: 'input', - name: 'model_name', - default: 'Article', - message: 'Enter your model name: ' - }, - { - type: 'input', - name: 'table_name', - default: 'articles', - message: 'Enter your table name: ' - }, - { - type: 'input', - name: 'controller_name', - default: 'Articles', - message: 'Enter your controller name: ' - }, - ]; - return this.questions; - } - //------------------------------------------------------- - getCrudQuestionsPrimary() { - this.questions = [ - { - type: 'list', - name: 'for', - default: 'Module', - message: 'For which you want to create CRUD: ', - choices: ["Module - Vue3 & PrimeVue", "Module - Vue2 & Buefy", "Theme", "Custom Path - Vue3 & PrimeVue"], - }, - ]; - return this.questions; - } - //------------------------------------------------------- - getVue3CrudQuestionsPrimary() { - this.questions = [ - { - type: 'list', - name: 'for', - default: 'Module', - message: 'For which you want to create CRUD: ', - choices: ["Module", "Theme", "Custom Path"], - }, - ]; - return this.questions; - } - //------------------------------------------------------- - getCrudQuestions(primary) { - this.questions = []; - if (primary === 'Custom Path - Vue3 & PrimeVue') { - this.questions.push({ - type: 'input', - name: 'path', - default: './custom', - message: 'Directory Path' - }, { - type: 'input', - name: 'namespace', - default: 'WebReinvent\\\\VaahCms', - message: 'Enter the namespace' - }, { - type: 'input', - name: 'folder_name', - default: 'Vaah', - message: 'Enter the Module/Theme/Entity name: ' - }); - } - else { - this.questions.push({ - type: 'input', - name: 'folder_name', - default: 'HelloWorld', - message: 'Enter the Module/Theme/Entity name: ' - }); - } - this.questions.push({ - type: 'input', - name: 'section_name', - default: 'Backend', - message: 'Enter the section name (Backend | Frontend or Folder name): ' - }); - if (primary === 'Custom Path - Vue3 & PrimeVue') { - this.questions.push({ - type: 'input', - name: 'vue_folder_name', - default: 'Vue/vaahtwo', - message: 'Vue folder name/path: ' - }); - } - else { - this.questions.push({ - type: 'input', - name: 'vue_folder_name', - default: 'Vue', - message: 'Vue folder name/path: ' - }); - } - this.questions.push({ - type: 'input', - name: 'table_name', - default: 'articles', - message: 'Enter your database table name: ' - }, { - type: 'input', - name: 'generate_migration', - default: 'true', - message: 'Do you want to generate migration file (true/false): ' - }, { - type: 'input', - name: 'model_name', - default: 'Article', - message: 'Enter your model name (singular): ' - }, { - type: 'input', - name: 'controller_name', - default: 'Articles', - message: 'Enter your controller name (plural): ' - }); - return this.questions; - } - //------------------------------------------------------- - getTaxonomyQuestionsPrimary(primary) { - this.questions = []; - if (primary === 'Custom Path') { - this.questions.push({ - type: 'input', - name: 'path', - default: './custom', - message: 'Directory Path' - }, { - type: 'input', - name: 'namespace', - default: 'WebReinvent\\\\VaahCms', - message: 'Enter the namespace' - }, { - type: 'input', - name: 'folder_name', - default: 'Vaah', - message: 'Enter the Module/Theme/Entity name: ' - }); - } - else { - this.questions.push({ - type: 'input', - name: 'folder_name', - default: 'HelloWorld', - message: 'Enter the Module/Theme/Entity name: ' - }); - } - this.questions.push({ - type: 'input', - name: 'section_name', - default: 'Backend', - message: 'Enter the section name (Backend | Frontend or Folder name): ' - }); - if (primary === 'Custom Path') { - this.questions.push({ - type: 'input', - name: 'vue_folder_name', - default: 'Vue/vaahtwo', - message: 'Vue folder name/path: ' - }); - } - else { - this.questions.push({ - type: 'input', - name: 'vue_folder_name', - default: 'Vue', - message: 'Vue folder name/path: ' - }); - } - this.questions.push({ - type: 'input', - name: 'generate_migration', - default: 'true', - message: 'Do you want to generate migration file (true/false): ' - }); - return this.questions; - } - //------------------------------------------------------- - getTaxonomyQuestions(primary) { - this.questions = []; - if (primary === 'true') { - this.questions.push({ - type: 'input', - name: 'table_name', - default: 'vh_taxonomies', - message: 'Enter your taxonomy database table name: ' - }, { - type: 'input', - name: 'second_table_name', - default: 'vh_taxonomy_types', - message: 'Enter your taxonomy type database table name: ' - }, { - type: 'input', - name: 'second_table_name_singular', - default: 'vh_taxonomy_type', - message: 'Enter your taxonomy type database table name (singular): ' - }); - } - this.questions.push({ - type: 'input', - name: 'model_name', - default: 'Taxonomy', - message: 'Enter your Taxonomy model name (singular): ' - }, { - type: 'input', - name: 'second_model_name', - default: 'TaxonomyType', - message: 'Enter your Taxonomy type model name (singular): ' - }, { - type: 'input', - name: 'controller_name', - default: 'Taxonomies', - message: 'Enter your controller name (plural): ' - }); - return this.questions; - } - //------------------------------------------------------- - getFlutterQuestions() { - this.questions = []; - this.questions.push({ - type: 'input', - name: 'package_name', - default: 'com.example.helloworld', - message: 'Enter Bundle Identifier / Package Name (domain.company.appname): ' - }, { - type: 'input', - name: 'app_name', - default: 'HelloWorld', - message: 'Enter App Name: ' - }, { - type: 'input', - name: 'app_description', - default: 'Another app on VaahFlutter.', - message: 'Enter App Description: ' - }); - return this.questions; - } - //------------------------------------------------------- - getUserQuestions(primary) { - this.questions = []; - if (primary === 'Custom Path') { - this.questions.push({ - type: 'input', - name: 'path', - default: './custom', - message: 'Directory Path' - }, { - type: 'input', - name: 'namespace', - default: 'WebReinvent\\\\VaahCms', - message: 'Enter the namespace' - }, { - type: 'input', - name: 'folder_name', - default: 'Vaah', - message: 'Enter the Module/Theme/Entity name: ' - }); - } - else { - this.questions.push({ - type: 'input', - name: 'folder_name', - default: 'HelloWorld', - message: 'Enter the Module/Theme/Entity name: ' - }); - } - this.questions.push({ - type: 'input', - name: 'section_name', - default: 'Backend', - message: 'Enter the section name (Backend | Frontend or Folder name): ' - }); - if (primary === 'Custom Path') { - this.questions.push({ - type: 'input', - name: 'vue_folder_name', - default: 'Vue/vaahtwo', - message: 'Vue folder name/path: ' - }); - } - else { - this.questions.push({ - type: 'input', - name: 'vue_folder_name', - default: 'Vue', - message: 'Vue folder name/path: ' - }); - } - this.questions.push({ - type: 'input', - name: 'model_name', - default: 'User', - message: 'Enter your model name (singular): ' - }, { - type: 'input', - name: 'controller_name', - default: 'Users', - message: 'Enter your controller name (plural): ' - }); - return this.questions; - } - //------------------------------------------------------- - getSettingQuestions(primary) { - this.questions = []; - if (primary === 'Custom Path') { - this.questions.push({ - type: 'input', - name: 'path', - default: './custom', - message: 'Directory Path' - }, { - type: 'input', - name: 'namespace', - default: 'WebReinvent\\\\VaahCms', - message: 'Enter the namespace' - }, { - type: 'input', - name: 'folder_name', - default: 'Vaah', - message: 'Enter the Module/Theme/Entity name: ' - }); - } - else { - this.questions.push({ - type: 'input', - name: 'folder_name', - default: 'HelloWorld', - message: 'Enter the Module/Theme/Entity name: ' - }); - } - this.questions.push({ - type: 'input', - name: 'section_name', - default: 'Backend', - message: 'Enter the section name (Backend | Frontend or Folder name): ' - }); - if (primary === 'Custom Path') { - this.questions.push({ - type: 'input', - name: 'vue_folder_name', - default: 'Vue/vaahtwo', - message: 'Vue folder name/path: ' - }); - } - else { - this.questions.push({ - type: 'input', - name: 'vue_folder_name', - default: 'Vue', - message: 'Vue folder name/path: ' - }); - } - this.questions.push({ - type: 'input', - name: 'controller_name', - default: 'Settings', - message: 'Enter your controller name (plural): ' - }); - return this.questions; - } - //------------------------------------------------------- - getAuthQuestions() { - this.questions = [ - { - type: 'input', - name: 'theme_name', - default: 'HelloWorld', - message: 'Enter the Theme folder name: ' - } - ]; - return this.questions; - } -} -exports.default = Generator; diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index a8318d0..0000000 --- a/package-lock.json +++ /dev/null @@ -1,13728 +0,0 @@ -{ - "name": "vaah", - "version": "2.2.7", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "vaah", - "version": "2.2.7", - "license": "MIT", - "dependencies": { - "@oclif/command": "^1.8.0", - "@oclif/config": "^1.17.0", - "@oclif/plugin-help": "^3.2.0", - "@tunnckocore/execa": "^5.2.7", - "@types/inquirer": "^7.3.1", - "@types/tar": "^4.0.4", - "axios": "^0.21.1", - "chalk": "^4.1.0", - "cli-ux": "^5.5.1", - "color-console": "0.0.1", - "dateformat": "^4.0.0", - "download-git-repo": "^3.0.2", - "ejs": "^3.1.5", - "execa": "^4.1.0", - "fs": "0.0.1-security", - "fs-sync": "^1.0.6", - "gitly": "^2.1.1", - "inquirer": "^7.3.3", - "listr": "^0.14.3", - "ora": "^5.1.0", - "path": "^0.12.7", - "semver": "^7.3.5", - "shelljs": "^0.8.4", - "tslib": "^1.14.1" - }, - "bin": { - "vaah": "bin/run" - }, - "devDependencies": { - "@oclif/dev-cli": "^1.24.1", - "@oclif/test": "^1.2.7", - "@types/chai": "^4.2.14", - "@types/mocha": "^5.2.7", - "@types/node": "^10.17.46", - "chai": "^4.2.0", - "eslint": "^5.16.0", - "eslint-config-oclif": "^3.1.0", - "eslint-config-oclif-typescript": "^0.1.0", - "globby": "^10.0.2", - "mocha": "^8.2.1", - "nyc": "^14.1.1", - "rimraf": "^3.0.2", - "ts-node": "^8.10.2", - "typescript": "^3.9.7" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.10.4" - } - }, - "node_modules/@babel/generator": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.5.tgz", - "integrity": "sha512-m16TQQJ8hPt7E+OS/XVQg/7U184MLXtvuGbCdA7na61vha+ImkyyNM/9DDA0unYCVZn3ZOhng+qz48/KBOT96A==", - "dev": true, - "dependencies": { - "@babel/types": "^7.12.5", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", - "dev": true, - "dependencies": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "node_modules/@babel/helper-get-function-arity": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", - "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", - "dev": true, - "dependencies": { - "@babel/types": "^7.10.4" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", - "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.11.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true - }, - "node_modules/@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "node_modules/@babel/highlight/node_modules/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, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/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, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/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, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/@babel/highlight/node_modules/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, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.7.tgz", - "integrity": "sha512-oWR02Ubp4xTLCAqPRiNIuMVgNO5Aif/xpXtabhzW2HWUD47XJsAB4Zd/Rg30+XeQA3juXigV7hlquOTmwqLiwg==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/template": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", - "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.12.7", - "@babel/types": "^7.12.7" - } - }, - "node_modules/@babel/traverse": { - "version": "7.12.9", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.9.tgz", - "integrity": "sha512-iX9ajqnLdoU1s1nHt36JDI9KG4k+vmI8WgjK5d+aDTwQbL2fUnzedNedssA645Ede3PM2ma1n8Q4h2ohwXgMXw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.5", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/parser": "^7.12.7", - "@babel/types": "^7.12.7", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - } - }, - "node_modules/@babel/types": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.7.tgz", - "integrity": "sha512-MNyI92qZq6jrQkXvtIiykvl4WtoRrVV9MPn+ZfsoEENjiWcBQ3ZSHrkxnJWgWtLX3XXqX5hrSQ+X69wkmesXuQ==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", - "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==", - "dependencies": { - "@nodelib/fs.stat": "2.0.3", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", - "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz", - "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==", - "dependencies": { - "@nodelib/fs.scandir": "2.1.3", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@oclif/command": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@oclif/command/-/command-1.8.0.tgz", - "integrity": "sha512-5vwpq6kbvwkQwKqAoOU3L72GZ3Ta8RRrewKj9OJRolx28KLJJ8Dg9Rf7obRwt5jQA9bkYd8gqzMTrI7H3xLfaw==", - "dependencies": { - "@oclif/config": "^1.15.1", - "@oclif/errors": "^1.3.3", - "@oclif/parser": "^3.8.3", - "@oclif/plugin-help": "^3", - "debug": "^4.1.1", - "semver": "^7.3.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@oclif/config": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/@oclif/config/-/config-1.17.0.tgz", - "integrity": "sha512-Lmfuf6ubjQ4ifC/9bz1fSCHc6F6E653oyaRXxg+lgT4+bYf9bk+nqrUpAbrXyABkCqgIBiFr3J4zR/kiFdE1PA==", - "dependencies": { - "@oclif/errors": "^1.3.3", - "@oclif/parser": "^3.8.0", - "debug": "^4.1.1", - "globby": "^11.0.1", - "is-wsl": "^2.1.1", - "tslib": "^2.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@oclif/config/node_modules/globby": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", - "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@oclif/config/node_modules/tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" - }, - "node_modules/@oclif/dev-cli": { - "version": "1.24.1", - "resolved": "https://registry.npmjs.org/@oclif/dev-cli/-/dev-cli-1.24.1.tgz", - "integrity": "sha512-cJL0o+S6jA1HgO7bpTBTDkUTU5j31B7ngJWnpDGAS2GoA1t00lfQ1K75oFBPBIqEB6HQmhs7guIKQISLzoDyXg==", - "dev": true, - "dependencies": { - "@oclif/command": "^1.8.0", - "@oclif/config": "^1.17.0", - "@oclif/errors": "^1.3.3", - "@oclif/plugin-help": "^3.2.0", - "cli-ux": "^5.2.1", - "debug": "^4.1.1", - "fs-extra": "^8.1", - "github-slugger": "^1.2.1", - "lodash": "^4.17.11", - "normalize-package-data": "^3.0.0", - "qqjs": "^0.3.10", - "tslib": "^1.9.3" - }, - "bin": { - "oclif-dev": "bin/run" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/@oclif/errors": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/@oclif/errors/-/errors-1.3.4.tgz", - "integrity": "sha512-pJKXyEqwdfRTUdM8n5FIHiQQHg5ETM0Wlso8bF9GodczO40mF5Z3HufnYWJE7z8sGKxOeJCdbAVZbS8Y+d5GCw==", - "dependencies": { - "clean-stack": "^3.0.0", - "fs-extra": "^8.1", - "indent-string": "^4.0.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@oclif/linewrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@oclif/linewrap/-/linewrap-1.0.0.tgz", - "integrity": "sha512-Ups2dShK52xXa8w6iBWLgcjPJWjais6KPJQq3gQ/88AY6BXoTX+MIGFPrWQO1KLMiQfoTpcLnUwloN4brrVUHw==" - }, - "node_modules/@oclif/parser": { - "version": "3.8.5", - "resolved": "https://registry.npmjs.org/@oclif/parser/-/parser-3.8.5.tgz", - "integrity": "sha512-yojzeEfmSxjjkAvMRj0KzspXlMjCfBzNRPkWw8ZwOSoNWoJn+OCS/m/S+yfV6BvAM4u2lTzX9Y5rCbrFIgkJLg==", - "dependencies": { - "@oclif/errors": "^1.2.2", - "@oclif/linewrap": "^1.0.0", - "chalk": "^2.4.2", - "tslib": "^1.9.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@oclif/parser/node_modules/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@oclif/parser/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@oclif/parser/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@oclif/parser/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/@oclif/parser/node_modules/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=", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@oclif/plugin-help": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@oclif/plugin-help/-/plugin-help-3.2.0.tgz", - "integrity": "sha512-7jxtpwVWAVbp1r46ZnTK/uF+FeZc6y4p1XcGaIUuPAp7wx6NJhIRN/iMT9UfNFX/Cz7mq+OyJz+E+i0zrik86g==", - "dependencies": { - "@oclif/command": "^1.5.20", - "@oclif/config": "^1.15.1", - "chalk": "^2.4.1", - "indent-string": "^4.0.0", - "lodash.template": "^4.4.0", - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "widest-line": "^3.1.0", - "wrap-ansi": "^4.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@oclif/plugin-help/node_modules/ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "engines": { - "node": ">=4" - } - }, - "node_modules/@oclif/plugin-help/node_modules/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@oclif/plugin-help/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@oclif/plugin-help/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@oclif/plugin-help/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/@oclif/plugin-help/node_modules/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=", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@oclif/plugin-help/node_modules/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=", - "engines": { - "node": ">=4" - } - }, - "node_modules/@oclif/plugin-help/node_modules/wrap-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-4.0.0.tgz", - "integrity": "sha512-uMTsj9rDb0/7kk1PbcbCcwvHUxp60fGDB/NNXpVa0Q+ic/e7y5+BwTxKfQ33VYgDppSwi/FBzpetYzo8s6tfbg==", - "dependencies": { - "ansi-styles": "^3.2.0", - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@oclif/plugin-help/node_modules/wrap-ansi/node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@oclif/plugin-help/node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dependencies": { - "ansi-regex": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@oclif/screen": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@oclif/screen/-/screen-1.0.4.tgz", - "integrity": "sha512-60CHpq+eqnTxLZQ4PGHYNwUX572hgpMHGPtTWMjdTMsAvlm69lZV/4ly6O3sAYkomo4NggGcomrDpBe34rxUqw==", - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@oclif/test": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@oclif/test/-/test-1.2.7.tgz", - "integrity": "sha512-1I8KQkOgScw18mr0zcly/OJjDW+kZnnmGXELaVBF69EZVzVgjE+Mz3EU1W29wf2rB7e8BqqtNrHzzoFu4oDuTw==", - "dev": true, - "dependencies": { - "fancy-test": "^1.4.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@samverschueren/stream-to-observable": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.1.tgz", - "integrity": "sha512-c/qwwcHyafOQuVQJj0IlBjf5yYgBI7YPJ77k4fOJYesb41jio65eaJODRUmfYKhTOFBrIZ66kgvGPlNbjuoRdQ==", - "dependencies": { - "any-observable": "^0.3.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@sindresorhus/is": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", - "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==", - "engines": { - "node": ">=4" - } - }, - "node_modules/@tunnckocore/execa": { - "version": "5.2.7", - "resolved": "https://registry.npmjs.org/@tunnckocore/execa/-/execa-5.2.7.tgz", - "integrity": "sha512-ysBwYl4vk3q+NT0nEYQPMbg9XxSzFBzvTt96fY+H/AeCYQHMXmiKIIdp+ypTu9plYkWLypWw8GnKNrKLF7P8rg==", - "dependencies": { - "esm": "^3.2.25", - "execa": "^4.0.0", - "p-map": "^3.0.0" - }, - "engines": { - "node": ">=10.13" - } - }, - "node_modules/@types/chai": { - "version": "4.2.14", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.2.14.tgz", - "integrity": "sha512-G+ITQPXkwTrslfG5L/BksmbLUA0M1iybEsmCWPqzSxsRRhJZimBKJkoMi8fr/CPygPTj4zO5pJH7I2/cm9M7SQ==", - "dev": true - }, - "node_modules/@types/eslint-visitor-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", - "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==", - "dev": true - }, - "node_modules/@types/glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", - "dev": true, - "dependencies": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "node_modules/@types/inquirer": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/@types/inquirer/-/inquirer-7.3.1.tgz", - "integrity": "sha512-osD38QVIfcdgsPCT0V3lD7eH0OFurX71Jft18bZrsVQWVRt6TuxRzlr0GJLrxoHZR2V5ph7/qP8se/dcnI7o0g==", - "dependencies": { - "@types/through": "*", - "rxjs": "^6.4.0" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", - "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==", - "dev": true - }, - "node_modules/@types/lodash": { - "version": "4.14.165", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.165.tgz", - "integrity": "sha512-tjSSOTHhI5mCHTy/OOXYIhi2Wt1qcbHmuXD1Ha7q70CgI/I71afO4XtLb/cVexki1oVYchpul/TOuu3Arcdxrg==", - "dev": true - }, - "node_modules/@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", - "dev": true - }, - "node_modules/@types/minipass": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@types/minipass/-/minipass-2.2.0.tgz", - "integrity": "sha512-wuzZksN4w4kyfoOv/dlpov4NOunwutLA/q7uc00xU02ZyUY+aoM5PWIXEKBMnm0NHd4a+N71BMjq+x7+2Af1fg==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/mocha": { - "version": "5.2.7", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz", - "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==", - "dev": true - }, - "node_modules/@types/node": { - "version": "10.17.47", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.47.tgz", - "integrity": "sha512-YZ1mMAdUPouBZCdeugjV8y1tqqr28OyL8DYbH5ePCfe9zcXtvbh1wDBy7uzlHkXo3Qi07kpzXfvycvrkby/jXw==" - }, - "node_modules/@types/sinon": { - "version": "9.0.9", - "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-9.0.9.tgz", - "integrity": "sha512-z/y8maYOQyYLyqaOB+dYQ6i0pxKLOsfwCmHmn4T7jS/SDHicIslr37oE3Dg8SCqKrKeBy6Lemu7do2yy+unLrw==", - "dev": true, - "dependencies": { - "@types/sinonjs__fake-timers": "*" - } - }, - "node_modules/@types/sinonjs__fake-timers": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-6.0.2.tgz", - "integrity": "sha512-dIPoZ3g5gcx9zZEszaxLSVTvMReD3xxyyDnQUjA6IYDG9Ba2AV0otMPs+77sG9ojB4Qr2N2Vk5RnKeuA0X/0bg==", - "dev": true - }, - "node_modules/@types/tar": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@types/tar/-/tar-4.0.4.tgz", - "integrity": "sha512-0Xv+xcmkTsOZdIF4yCnd7RkOOyfyqPaqJ7RZFKnwdxfDbkN3eAAE9sHl8zJFqBz4VhxolW9EErbjR1oyH7jK2A==", - "dependencies": { - "@types/minipass": "*", - "@types/node": "*" - } - }, - "node_modules/@types/through": { - "version": "0.0.30", - "resolved": "https://registry.npmjs.org/@types/through/-/through-0.0.30.tgz", - "integrity": "sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz", - "integrity": "sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/experimental-utils": "2.34.0", - "functional-red-black-tree": "^1.0.1", - "regexpp": "^3.0.0", - "tsutils": "^3.17.1" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/regexpp": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", - "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@typescript-eslint/experimental-utils": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz", - "integrity": "sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/typescript-estree": "2.34.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - } - }, - "node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.34.0.tgz", - "integrity": "sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA==", - "dev": true, - "dependencies": { - "@types/eslint-visitor-keys": "^1.0.0", - "@typescript-eslint/experimental-utils": "2.34.0", - "@typescript-eslint/typescript-estree": "2.34.0", - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz", - "integrity": "sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "eslint-visitor-keys": "^1.1.0", - "glob": "^7.1.6", - "is-glob": "^4.0.1", - "lodash": "^4.17.15", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - } - }, - "node_modules/@ungap/promise-all-settled": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", - "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", - "dev": true - }, - "node_modules/acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", - "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", - "dev": true - }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/aggregate-error/node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", - "dependencies": { - "type-fest": "^0.11.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansicolors": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", - "integrity": "sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk=" - }, - "node_modules/any-observable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz", - "integrity": "sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==", - "engines": { - "node": ">=6" - } - }, - "node_modules/anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/append-transform": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz", - "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==", - "dev": true, - "dependencies": { - "default-require-extensions": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/archive-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/archive-type/-/archive-type-4.0.0.tgz", - "integrity": "sha512-zV4Ky0v1F8dBrdYElwTvQhweQ0P7Kwc1aluqJsYtOBP01jXcWCyW2IEfI1YiqsG+Iy7ZR+o5LF1N+PGECBxHWA==", - "dependencies": { - "file-type": "^4.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/archive-type/node_modules/file-type": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz", - "integrity": "sha512-f2UbFQEk7LXgWpi5ntcO86OeA/cC80fuDDDaX/fZ2ZGel+AF7leRQqBBW1eJNiiQkrZlAoM6P+VYP5P6bOlDEQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", - "dev": true - }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/async": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", - "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=" - }, - "node_modules/axios": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", - "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", - "dependencies": { - "follow-redirects": "^1.10.0" - } - }, - "node_modules/balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "node_modules/binary-extensions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", - "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/bl": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.0.3.tgz", - "integrity": "sha512-fs4G6/Hu4/EE+F75J8DuN/0IpQqNjAdC7aEQv7Qt8MHGUH7Ckv2MwTEEeN9QehD0pfIDkMI1bkHYkKy7xHyKIg==", - "dev": true, - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true - }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "dependencies": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "node_modules/buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" - }, - "node_modules/buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", - "engines": { - "node": "*" - } - }, - "node_modules/buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==" - }, - "node_modules/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 - }, - "node_modules/cacheable-request": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", - "integrity": "sha512-vag0O2LKZ/najSoUwDbVlnlCFvhBE/7mGTY2B5FgCBDcRD+oVV1HYTOwM6JZfMg/hIcM6IwnTZ1uQQL5/X3xIQ==", - "dependencies": { - "clone-response": "1.0.2", - "get-stream": "3.0.0", - "http-cache-semantics": "3.8.1", - "keyv": "3.0.0", - "lowercase-keys": "1.0.0", - "normalize-url": "2.0.1", - "responselike": "1.0.2" - } - }, - "node_modules/cacheable-request/node_modules/get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/cacheable-request/node_modules/lowercase-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", - "integrity": "sha512-RPlX0+PHuvxVDZ7xX+EBVAp4RsVxP/TdDSN2mJYdiq1Lc4Hz7EUSjUI7RZrKKlmrIzVhf6Jo2stj7++gVarS0A==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/caching-transform": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-3.0.2.tgz", - "integrity": "sha512-Mtgcv3lh3U0zRii/6qVgQODdPA4G3zhG+jtbCWj39RXuUFTMzH0vcdMtaJS1jPowd+It2Pqr6y3NJMQqOqCE2w==", - "dev": true, - "dependencies": { - "hasha": "^3.0.0", - "make-dir": "^2.0.0", - "package-hash": "^3.0.0", - "write-file-atomic": "^2.4.2" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/caching-transform/node_modules/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, - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/caching-transform/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/caching-transform/node_modules/write-file-atomic": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", - "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/cardinal": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", - "integrity": "sha1-fMEFXYItISlU0HsIXeolHMe8VQU=", - "dependencies": { - "ansicolors": "~0.3.2", - "redeyed": "~2.1.0" - }, - "bin": { - "cdl": "bin/cdl.js" - } - }, - "node_modules/caw": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/caw/-/caw-2.0.1.tgz", - "integrity": "sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==", - "dependencies": { - "get-proxy": "^2.0.0", - "isurl": "^1.0.0-alpha5", - "tunnel-agent": "^0.6.0", - "url-to-options": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chai": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz", - "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==", - "dev": true, - "dependencies": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^3.0.1", - "get-func-name": "^2.0.0", - "pathval": "^1.1.0", - "type-detect": "^4.0.5" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/chalk/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/chalk/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" - }, - "node_modules/check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/chokidar": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", - "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", - "dev": true, - "dependencies": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.1.2" - } - }, - "node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, - "node_modules/clean-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clean-regexp/-/clean-regexp-1.0.0.tgz", - "integrity": "sha1-jffHquUf02h06PjQW5GAvBGj/tc=", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/clean-regexp/node_modules/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, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/clean-stack": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-3.0.1.tgz", - "integrity": "sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==", - "dependencies": { - "escape-string-regexp": "4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-progress": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.8.2.tgz", - "integrity": "sha512-qRwBxLldMSfxB+YGFgNRaj5vyyHe1yMpVeDL79c+7puGujdKJHQHydgqXDcrkvQgJ5U/d3lpf6vffSoVVUftVQ==", - "dependencies": { - "colors": "^1.1.2", - "string-width": "^4.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cli-spinners": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.5.0.tgz", - "integrity": "sha512-PC+AmIuK04E6aeSs/pUccSujsTzBhu4HzC2dL+CfJB/Jcc2qTRbEwZQDfIUpt2Xl8BodYBEq8w4fc0kU2I9DjQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/cli-truncate": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz", - "integrity": "sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ=", - "dependencies": { - "slice-ansi": "0.0.4", - "string-width": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cli-truncate/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cli-truncate/node_modules/is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dependencies": { - "number-is-nan": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cli-truncate/node_modules/string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cli-truncate/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cli-ux": { - "version": "5.5.1", - "resolved": "https://registry.npmjs.org/cli-ux/-/cli-ux-5.5.1.tgz", - "integrity": "sha512-t3DT1U1C3rArLGYLpKa3m9dr/8uKZRI8HRm/rXKL7UTjm4c+Yd9zHNWg1tP8uaJkUbhmvx5SQHwb3VWpPUVdHQ==", - "dependencies": { - "@oclif/command": "^1.6.0", - "@oclif/errors": "^1.2.1", - "@oclif/linewrap": "^1.0.0", - "@oclif/screen": "^1.0.3", - "ansi-escapes": "^4.3.0", - "ansi-styles": "^4.2.0", - "cardinal": "^2.1.1", - "chalk": "^4.1.0", - "clean-stack": "^3.0.0", - "cli-progress": "^3.4.0", - "extract-stack": "^2.0.0", - "fs-extra": "^8.1", - "hyperlinker": "^1.0.0", - "indent-string": "^4.0.0", - "is-wsl": "^2.2.0", - "js-yaml": "^3.13.1", - "lodash": "^4.17.11", - "natural-orderby": "^2.0.1", - "object-treeify": "^1.1.4", - "password-prompt": "^1.1.2", - "semver": "^7.3.2", - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "supports-color": "^7.1.0", - "supports-hyperlinks": "^2.1.0", - "tslib": "^2.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/cli-ux/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-ux/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-ux/node_modules/tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" - }, - "node_modules/cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "engines": { - "node": ">= 10" - } - }, - "node_modules/cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "dependencies": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "node_modules/cliui/node_modules/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, - "engines": { - "node": ">=6" - } - }, - "node_modules/cliui/node_modules/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, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cliui/node_modules/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, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/cliui/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/cliui/node_modules/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 - }, - "node_modules/cliui/node_modules/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, - "engines": { - "node": ">=4" - } - }, - "node_modules/cliui/node_modules/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, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/cliui/node_modules/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, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/cliui/node_modules/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, - "dependencies": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/clone-response": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", - "integrity": "sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==", - "dependencies": { - "mimic-response": "^1.0.0" - } - }, - "node_modules/code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/color-console": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/color-console/-/color-console-0.0.1.tgz", - "integrity": "sha1-LwPIm+8phPjE7rRMiyDmmT5Cqlo=" - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/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==" - }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "node_modules/config-chain": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", - "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", - "dependencies": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" - } - }, - "node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "dependencies": { - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.1" - } - }, - "node_modules/convert-source-map/node_modules/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 - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "node_modules/cp-file": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/cp-file/-/cp-file-6.2.0.tgz", - "integrity": "sha512-fmvV4caBnofhPe8kOcitBwSn2f39QLjnAnGq3gO9dfd75mUytzKNZB1hde6QHunW2Rt+OwuBOMc3i1tNElbszA==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "make-dir": "^2.0.0", - "nested-error-stacks": "^2.0.0", - "pify": "^4.0.1", - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/cp-file/node_modules/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, - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/cp-file/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "engines": { - "node": ">=4.8" - } - }, - "node_modules/cross-spawn/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/date-fns": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz", - "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==" - }, - "node_modules/dateformat": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-4.0.0.tgz", - "integrity": "sha512-zpKyDYpeePyYGJp2HhRxLHlA+jZQNjt+MwmcVmLxCIECeC4Ks3TI3yk/CSMKylbnCJ5htonfOugYtRRTpyoHow==", - "engines": { - "node": "*" - } - }, - "node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decode-uri-component": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", - "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/decompress": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", - "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", - "dependencies": { - "decompress-tar": "^4.0.0", - "decompress-tarbz2": "^4.0.0", - "decompress-targz": "^4.0.0", - "decompress-unzip": "^4.0.1", - "graceful-fs": "^4.1.10", - "make-dir": "^1.0.0", - "pify": "^2.3.0", - "strip-dirs": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", - "dependencies": { - "mimic-response": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-tar": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", - "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", - "dependencies": { - "file-type": "^5.2.0", - "is-stream": "^1.1.0", - "tar-stream": "^1.5.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-tar/node_modules/bl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", - "dependencies": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/decompress-tar/node_modules/file-type": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-tar/node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decompress-tar/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dependencies": { - "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" - } - }, - "node_modules/decompress-tar/node_modules/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==" - }, - "node_modules/decompress-tar/node_modules/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==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/decompress-tar/node_modules/tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", - "dependencies": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/decompress-tarbz2": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", - "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", - "dependencies": { - "decompress-tar": "^4.1.0", - "file-type": "^6.1.0", - "is-stream": "^1.1.0", - "seek-bzip": "^1.0.5", - "unbzip2-stream": "^1.0.9" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-tarbz2/node_modules/file-type": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", - "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-tarbz2/node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decompress-targz": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", - "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", - "dependencies": { - "decompress-tar": "^4.1.1", - "file-type": "^5.2.0", - "is-stream": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-targz/node_modules/file-type": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-targz/node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decompress-unzip": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", - "integrity": "sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==", - "dependencies": { - "file-type": "^3.8.0", - "get-stream": "^2.2.0", - "pify": "^2.3.0", - "yauzl": "^2.4.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-unzip/node_modules/file-type": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", - "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decompress-unzip/node_modules/get-stream": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", - "integrity": "sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==", - "dependencies": { - "object-assign": "^4.0.1", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decompress-unzip/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decompress/node_modules/make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "dependencies": { - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress/node_modules/make-dir/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/deep-eql": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", - "dev": true, - "dependencies": { - "type-detect": "^4.0.0" - }, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true - }, - "node_modules/default-require-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz", - "integrity": "sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=", - "dev": true, - "dependencies": { - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/default-require-extensions/node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", - "dependencies": { - "clone": "^1.0.2" - } - }, - "node_modules/detect-indent": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.0.0.tgz", - "integrity": "sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/download": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/download/-/download-7.1.0.tgz", - "integrity": "sha512-xqnBTVd/E+GxJVrX5/eUJiLYjCGPwMpdL+jGhGU57BvtcA7wwhtHVbXBeUk51kOpW3S7Jn3BQbN9Q1R1Km2qDQ==", - "dependencies": { - "archive-type": "^4.0.0", - "caw": "^2.0.1", - "content-disposition": "^0.5.2", - "decompress": "^4.2.0", - "ext-name": "^5.0.0", - "file-type": "^8.1.0", - "filenamify": "^2.0.0", - "get-stream": "^3.0.0", - "got": "^8.3.1", - "make-dir": "^1.2.0", - "p-event": "^2.1.0", - "pify": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/download-git-repo": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/download-git-repo/-/download-git-repo-3.0.2.tgz", - "integrity": "sha512-N8hWXD4hXqmEcNoR8TBYFntaOcYvEQ7Bz90mgm3bZRTuteGQqwT32VDMnTyD0KTEvb8BWrMc1tVmzuV9u/WrAg==", - "dependencies": { - "download": "^7.1.0", - "git-clone": "^0.1.0", - "rimraf": "^3.0.0" - } - }, - "node_modules/download/node_modules/get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/download/node_modules/make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "dependencies": { - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/download/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", - "engines": { - "node": ">=4" - } - }, - "node_modules/duplexer3": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz", - "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==" - }, - "node_modules/ejs": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.5.tgz", - "integrity": "sha512-dldq3ZfFtgVTJMLjOe+/3sROTzALlL9E34V4/sDtUd/KlBSS0s6U1/+WPE1B4sj9CXHJpL1M6rhNJnc9Wbal9w==", - "dependencies": { - "jake": "^10.6.1" - }, - "bin": { - "ejs": "bin/cli.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/elegant-spinner": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz", - "integrity": "sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/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==", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", - "dev": true - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint": { - "version": "5.16.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.16.0.tgz", - "integrity": "sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "ajv": "^6.9.1", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "eslint-scope": "^4.0.3", - "eslint-utils": "^1.3.1", - "eslint-visitor-keys": "^1.0.0", - "espree": "^5.0.1", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob": "^7.1.2", - "globals": "^11.7.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "inquirer": "^6.2.2", - "js-yaml": "^3.13.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.11", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.2", - "path-is-inside": "^1.0.2", - "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^5.5.1", - "strip-ansi": "^4.0.0", - "strip-json-comments": "^2.0.1", - "table": "^5.2.3", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^6.14.0 || ^8.10.0 || >=9.10.0" - } - }, - "node_modules/eslint-ast-utils": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/eslint-ast-utils/-/eslint-ast-utils-1.1.0.tgz", - "integrity": "sha512-otzzTim2/1+lVrlH19EfQQJEhVJSu0zOb9ygb3iapN6UlyaDtyRq4b5U1FuW0v1lRa9Fp/GJyHkSwm6NqABgCA==", - "dev": true, - "dependencies": { - "lodash.get": "^4.4.2", - "lodash.zip": "^4.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-config-oclif": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-oclif/-/eslint-config-oclif-3.1.0.tgz", - "integrity": "sha512-Tqgy43cNXsSdhTLWW4RuDYGFhV240sC4ISSv/ZiUEg/zFxExSEUpRE6J+AGnkKY9dYwIW4C9b2YSUVv8z/miMA==", - "dev": true, - "dependencies": { - "eslint-config-xo-space": "^0.20.0", - "eslint-plugin-mocha": "^5.2.0", - "eslint-plugin-node": "^7.0.1", - "eslint-plugin-unicorn": "^6.0.1" - }, - "engines": { - "node": ">= 8.0.0" - } - }, - "node_modules/eslint-config-oclif-typescript": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-oclif-typescript/-/eslint-config-oclif-typescript-0.1.0.tgz", - "integrity": "sha512-BjXNJcH2F02MdaSFml9vJskviUFVkLHbTPGM5tinIt98H6klFNKP7/lQ+fB/Goc2wB45usEuuw6+l/fwAv9i7g==", - "dev": true, - "dependencies": { - "@typescript-eslint/eslint-plugin": "^2.6.1", - "@typescript-eslint/parser": "^2.6.1", - "eslint-config-oclif": "^3.1.0", - "eslint-config-xo-space": "^0.20.0", - "eslint-plugin-mocha": "^5.2.0", - "eslint-plugin-node": "^7.0.1", - "eslint-plugin-unicorn": "^6.0.1" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/eslint-config-xo": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/eslint-config-xo/-/eslint-config-xo-0.24.2.tgz", - "integrity": "sha512-ivQ7qISScW6gfBp+p31nQntz1rg34UCybd3uvlngcxt5Utsf4PMMi9QoAluLFcPUM5Tvqk4JGraR9qu3msKPKQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint-config-xo-space": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/eslint-config-xo-space/-/eslint-config-xo-space-0.20.0.tgz", - "integrity": "sha512-bOsoZA8M6v1HviDUIGVq1fLVnSu3mMZzn85m2tqKb73tSzu4GKD4Jd2Py4ZKjCgvCbRRByEB5HPC3fTMnnJ1uw==", - "dev": true, - "dependencies": { - "eslint-config-xo": "^0.24.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint-plugin-es": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-1.4.1.tgz", - "integrity": "sha512-5fa/gR2yR3NxQf+UXkeLeP8FBBl6tSgdrAz1+cF84v1FMM4twGwQoqTnn+QxFLcPOrF4pdKEJKDB/q9GoyJrCA==", - "dev": true, - "dependencies": { - "eslint-utils": "^1.4.2", - "regexpp": "^2.0.1" - }, - "engines": { - "node": ">=6.5.0" - } - }, - "node_modules/eslint-plugin-mocha": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-5.3.0.tgz", - "integrity": "sha512-3uwlJVLijjEmBeNyH60nzqgA1gacUWLUmcKV8PIGNvj1kwP/CTgAWQHn2ayyJVwziX+KETkr9opNwT1qD/RZ5A==", - "dev": true, - "dependencies": { - "ramda": "^0.26.1" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/eslint-plugin-node": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-7.0.1.tgz", - "integrity": "sha512-lfVw3TEqThwq0j2Ba/Ckn2ABdwmL5dkOgAux1rvOk6CO7A6yGyPI2+zIxN6FyNkp1X1X/BSvKOceD6mBWSj4Yw==", - "dev": true, - "dependencies": { - "eslint-plugin-es": "^1.3.1", - "eslint-utils": "^1.3.1", - "ignore": "^4.0.2", - "minimatch": "^3.0.4", - "resolve": "^1.8.1", - "semver": "^5.5.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint-plugin-node/node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/eslint-plugin-node/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/eslint-plugin-unicorn": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-6.0.1.tgz", - "integrity": "sha512-hjy9LhTdtL7pz8WTrzS0CGXRkWK3VAPLDjihofj8JC+uxQLfXm0WwZPPPB7xKmcjRyoH+jruPHOCrHNEINpG/Q==", - "dev": true, - "dependencies": { - "clean-regexp": "^1.0.0", - "eslint-ast-utils": "^1.0.0", - "import-modules": "^1.1.0", - "lodash.camelcase": "^4.1.1", - "lodash.kebabcase": "^4.0.1", - "lodash.snakecase": "^4.0.1", - "lodash.upperfirst": "^4.2.0", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/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, - "dependencies": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/eslint-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/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, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/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, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "dev": true, - "dependencies": { - "restore-cursor": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/cli-width": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", - "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", - "dev": true - }, - "node_modules/eslint/node_modules/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, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/eslint/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/eslint/node_modules/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, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/eslint/node_modules/figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/eslint/node_modules/inquirer": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", - "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", - "dev": true, - "dependencies": { - "ansi-escapes": "^3.2.0", - "chalk": "^2.4.2", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^2.0.0", - "lodash": "^4.17.12", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^6.4.0", - "string-width": "^2.1.0", - "strip-ansi": "^5.1.0", - "through": "^2.3.6" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/eslint/node_modules/inquirer/node_modules/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, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint/node_modules/inquirer/node_modules/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, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint/node_modules/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, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/mute-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", - "dev": true - }, - "node_modules/eslint/node_modules/onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dev": true, - "dependencies": { - "mimic-fn": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "dev": true, - "dependencies": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/eslint/node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "dependencies": { - "ansi-regex": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esm": { - "version": "3.2.25", - "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", - "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/espree": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz", - "integrity": "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==", - "dev": true, - "dependencies": { - "acorn": "^6.0.7", - "acorn-jsx": "^5.0.0", - "eslint-visitor-keys": "^1.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esquery": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", - "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", - "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", - "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/execa/node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/execa/node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/execa/node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/execa/node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "engines": { - "node": ">=8" - } - }, - "node_modules/execa/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/ext-list": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz", - "integrity": "sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==", - "dependencies": { - "mime-db": "^1.28.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ext-name": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz", - "integrity": "sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==", - "dependencies": { - "ext-list": "^2.0.0", - "sort-keys-length": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/external-editor/node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dependencies": { - "os-tmpdir": "~1.0.2" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/extract-stack": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/extract-stack/-/extract-stack-2.0.0.tgz", - "integrity": "sha512-AEo4zm+TenK7zQorGK1f9mJ8L14hnTDi2ZQPR+Mub1NX8zimka1mXpV5LpH8x9HoUmFSHZCfLHqWvp0Y4FxxzQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/fancy-test": { - "version": "1.4.9", - "resolved": "https://registry.npmjs.org/fancy-test/-/fancy-test-1.4.9.tgz", - "integrity": "sha512-Tro3lkXPX438G3t2N9BDgD3ac5iUhNnxIE8tg/KL6z7eZ5GOCexs7fDEMacduqvJWPvsRlmyQ69V1jiTVcqkXQ==", - "dev": true, - "dependencies": { - "@types/chai": "*", - "@types/lodash": "*", - "@types/node": "*", - "@types/sinon": "*", - "lodash": "^4.17.13", - "mock-stdin": "^1.0.0", - "stdout-stderr": "^0.1.9" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "node_modules/fast-glob": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz", - "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", - "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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 - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "node_modules/fastq": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.9.0.tgz", - "integrity": "sha512-i7FVWL8HhVY+CTkwFxkN2mk3h+787ixS5S63eb78diVRc1MCssarHq3W5cj0av7YDSwmaV928RNag+U1etRQ7w==", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", - "dependencies": { - "pend": "~1.2.0" - } - }, - "node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/figures/node_modules/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=", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", - "dev": true, - "dependencies": { - "flat-cache": "^2.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/file-type": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-8.1.0.tgz", - "integrity": "sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/filelist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.1.tgz", - "integrity": "sha512-8zSK6Nu0DQIC08mUC46sWGXi+q3GGpKydAG36k+JDba6VRpkevvOWUW5a/PhShij4+vHT9M+ghgG7eM+a9JDUQ==", - "dependencies": { - "minimatch": "^3.0.4" - } - }, - "node_modules/filename-reserved-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", - "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/filenamify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-2.1.0.tgz", - "integrity": "sha512-ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA==", - "dependencies": { - "filename-reserved-regex": "^2.0.0", - "strip-outer": "^1.0.0", - "trim-repeated": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/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==", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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, - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/find-cache-dir/node_modules/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, - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/find-cache-dir/node_modules/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, - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/find-cache-dir/node_modules/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, - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/find-cache-dir/node_modules/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, - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/find-cache-dir/node_modules/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, - "engines": { - "node": ">=4" - } - }, - "node_modules/find-cache-dir/node_modules/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, - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/find-cache-dir/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true, - "bin": { - "flat": "cli.js" - } - }, - "node_modules/flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", - "dev": true, - "dependencies": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/flat-cache/node_modules/rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", - "dev": true - }, - "node_modules/follow-redirects": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.1.tgz", - "integrity": "sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/foreground-child": { - "version": "1.5.6", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", - "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", - "dev": true, - "dependencies": { - "cross-spawn": "^4", - "signal-exit": "^3.0.0" - } - }, - "node_modules/foreground-child/node_modules/cross-spawn": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", - "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", - "dev": true, - "dependencies": { - "lru-cache": "^4.0.1", - "which": "^1.2.9" - } - }, - "node_modules/foreground-child/node_modules/lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "dependencies": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "node_modules/foreground-child/node_modules/yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - }, - "node_modules/from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", - "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "node_modules/from2/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dependencies": { - "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" - } - }, - "node_modules/from2/node_modules/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==" - }, - "node_modules/from2/node_modules/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==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/fs": { - "version": "0.0.1-security", - "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz", - "integrity": "sha1-invTcYa23d84E/I4WLV+yq9eQdQ=" - }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/fs-sync": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/fs-sync/-/fs-sync-1.0.6.tgz", - "integrity": "sha512-OgbfyvmGVryknZfDXVVhua6OW8946R+AF3O2xxrCW/XFxCYZ4CO2Jrl7kYhrpjZLYvB9gxvWpLikEc9YL9HzCA==", - "dependencies": { - "glob": "^7.1.0", - "iconv-lite": "^0.4.13", - "lodash": "^4.16.1", - "mkdirp": "^0.5.1", - "rimraf": "^2.1.4" - } - }, - "node_modules/fs-sync/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "node_modules/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, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/get-proxy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-2.1.0.tgz", - "integrity": "sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==", - "dependencies": { - "npm-conf": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/git-clone": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/git-clone/-/git-clone-0.1.0.tgz", - "integrity": "sha512-zs9rlfa7HyaJAKG9o+V7C6qfMzyc+tb1IIXdUFcOBcR1U7siKy/uPdauLlrH1mc0vOgUwIv4BF+QxPiiTYz3Rw==" - }, - "node_modules/github-slugger": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.3.0.tgz", - "integrity": "sha512-gwJScWVNhFYSRDvURk/8yhcFBee6aFjye2a7Lhb2bUyRulpIoek9p0I9Kt7PT67d/nUlZbFu8L9RLiA0woQN8Q==", - "dev": true, - "dependencies": { - "emoji-regex": ">=6.0.0 <=6.1.1" - } - }, - "node_modules/github-slugger/node_modules/emoji-regex": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.1.1.tgz", - "integrity": "sha1-xs0OwbBkLio8Z6ETfvxeeW2k+I4=", - "dev": true - }, - "node_modules/gitly": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/gitly/-/gitly-2.1.1.tgz", - "integrity": "sha512-xaaWlW388dI3fBf/5rrnensZVZ99tbTSt7XEfs1KGSrurjfGGvVxcVR/xkl7b4cTsUVcGr0uW3N3+rOE8mJeWw==", - "dependencies": { - "axios": "^0.21.1", - "tar": "^6.1.0" - } - }, - "node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dependencies": { - "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" - }, - "engines": { - "node": "*" - } - }, - "node_modules/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==", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/globby": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", - "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", - "dev": true, - "dependencies": { - "@types/glob": "^7.1.1", - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.0.3", - "glob": "^7.1.3", - "ignore": "^5.1.1", - "merge2": "^1.2.3", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/got": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz", - "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==", - "dependencies": { - "@sindresorhus/is": "^0.7.0", - "cacheable-request": "^2.1.1", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "into-stream": "^3.1.0", - "is-retry-allowed": "^1.1.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "mimic-response": "^1.0.0", - "p-cancelable": "^0.4.0", - "p-timeout": "^2.0.1", - "pify": "^3.0.0", - "safe-buffer": "^5.1.1", - "timed-out": "^4.0.1", - "url-parse-lax": "^3.0.0", - "url-to-options": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/got/node_modules/get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/got/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", - "engines": { - "node": ">=4" - } - }, - "node_modules/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==" - }, - "node_modules/growl": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", - "dev": true, - "engines": { - "node": ">=4.x" - } - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-ansi/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/has-symbol-support-x": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", - "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==", - "engines": { - "node": "*" - } - }, - "node_modules/has-to-string-tag-x": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", - "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", - "dependencies": { - "has-symbol-support-x": "^1.4.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/hasha": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-3.0.0.tgz", - "integrity": "sha1-UqMvq4Vp1BymmmH/GiFPjrfIvTk=", - "dev": true, - "dependencies": { - "is-stream": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/hasha/node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true, - "bin": { - "he": "bin/he" - } - }, - "node_modules/hosted-git-info": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", - "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "node_modules/http-cache-semantics": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", - "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==" - }, - "node_modules/http-call": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/http-call/-/http-call-5.3.0.tgz", - "integrity": "sha512-ahwimsC23ICE4kPl9xTBjKB4inbRaeLyZeRunC/1Jy/Z6X8tv22MEAjK+KBOMSVLaqXPTTmd8638waVIKLGx2w==", - "dev": true, - "dependencies": { - "content-type": "^1.0.4", - "debug": "^4.1.1", - "is-retry-allowed": "^1.1.0", - "is-stream": "^2.0.0", - "parse-json": "^4.0.0", - "tunnel-agent": "^0.6.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", - "engines": { - "node": ">=8.12.0" - } - }, - "node_modules/hyperlinker": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hyperlinker/-/hyperlinker-1.0.0.tgz", - "integrity": "sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - }, - "node_modules/ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz", - "integrity": "sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/import-modules": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/import-modules/-/import-modules-1.1.0.tgz", - "integrity": "sha1-dI23nFzEK7lwHvq0JPiU5yYA6dw=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "node_modules/inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", - "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/into-stream": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", - "integrity": "sha512-TcdjPibTksa1NQximqep2r17ISRiNE9fwlfbg3F8ANdvP5/yrFTew86VcO//jk4QTaMlbjypPBq76HN2zaKfZQ==", - "dependencies": { - "from2": "^2.1.1", - "p-is-promise": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "node_modules/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, - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-core-module": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.1.0.tgz", - "integrity": "sha512-YcV7BgVMRFRua2FqQzKtTDMz8iCuLEyGKjr70q8Zm1yy2qKcurbFEd79PAdHV77oL3NrAaOVQIbMmiHQCHB7ZA==", - "dependencies": { - "has": "^1.0.3" - } - }, - "node_modules/is-docker": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz", - "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/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==", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-natural-number": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", - "integrity": "sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==" - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz", - "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-observable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz", - "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==", - "dependencies": { - "symbol-observable": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-promise": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", - "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==" - }, - "node_modules/is-retry-allowed": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", - "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "node_modules/istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/istanbul-lib-hook": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz", - "integrity": "sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA==", - "dev": true, - "dependencies": { - "append-transform": "^1.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", - "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", - "dev": true, - "dependencies": { - "@babel/generator": "^7.4.0", - "@babel/parser": "^7.4.3", - "@babel/template": "^7.4.0", - "@babel/traverse": "^7.4.3", - "@babel/types": "^7.4.0", - "istanbul-lib-coverage": "^2.0.5", - "semver": "^6.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/istanbul-lib-report": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz", - "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==", - "dev": true, - "dependencies": { - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/istanbul-lib-report/node_modules/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, - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/istanbul-lib-report/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/istanbul-lib-report/node_modules/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, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/istanbul-lib-source-maps": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", - "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "rimraf": "^2.6.3", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/istanbul-lib-source-maps/node_modules/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, - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/istanbul-lib-source-maps/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/istanbul-lib-source-maps/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/istanbul-lib-source-maps/node_modules/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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/istanbul-reports": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.7.tgz", - "integrity": "sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==", - "dev": true, - "dependencies": { - "html-escaper": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/isurl": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", - "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", - "dependencies": { - "has-to-string-tag-x": "^1.2.0", - "is-object": "^1.0.1" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/jake": { - "version": "10.8.2", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.2.tgz", - "integrity": "sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A==", - "dependencies": { - "async": "0.9.x", - "chalk": "^2.4.2", - "filelist": "^1.0.1", - "minimatch": "^3.0.4" - }, - "bin": { - "jake": "bin/cli.js" - }, - "engines": { - "node": "*" - } - }, - "node_modules/jake/node_modules/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/jake/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/jake/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/jake/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/jake/node_modules/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=", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "node_modules/js-yaml": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", - "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==" - }, - "node_modules/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 - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "node_modules/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 - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/keyv": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", - "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", - "dependencies": { - "json-buffer": "3.0.0" - } - }, - "node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", - "dev": true - }, - "node_modules/listr": { - "version": "0.14.3", - "resolved": "https://registry.npmjs.org/listr/-/listr-0.14.3.tgz", - "integrity": "sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA==", - "dependencies": { - "@samverschueren/stream-to-observable": "^0.3.0", - "is-observable": "^1.1.0", - "is-promise": "^2.1.0", - "is-stream": "^1.1.0", - "listr-silent-renderer": "^1.1.1", - "listr-update-renderer": "^0.5.0", - "listr-verbose-renderer": "^0.5.0", - "p-map": "^2.0.0", - "rxjs": "^6.3.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/listr-silent-renderer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz", - "integrity": "sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4=", - "engines": { - "node": ">=4" - } - }, - "node_modules/listr-update-renderer": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz", - "integrity": "sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA==", - "dependencies": { - "chalk": "^1.1.3", - "cli-truncate": "^0.2.1", - "elegant-spinner": "^1.0.1", - "figures": "^1.7.0", - "indent-string": "^3.0.0", - "log-symbols": "^1.0.2", - "log-update": "^2.3.0", - "strip-ansi": "^3.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/listr-update-renderer/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/listr-update-renderer/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/listr-update-renderer/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/listr-update-renderer/node_modules/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=", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/listr-update-renderer/node_modules/figures": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", - "dependencies": { - "escape-string-regexp": "^1.0.5", - "object-assign": "^4.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/listr-update-renderer/node_modules/indent-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", - "engines": { - "node": ">=4" - } - }, - "node_modules/listr-update-renderer/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/listr-update-renderer/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/listr-verbose-renderer": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz", - "integrity": "sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw==", - "dependencies": { - "chalk": "^2.4.1", - "cli-cursor": "^2.1.0", - "date-fns": "^1.27.2", - "figures": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/listr-verbose-renderer/node_modules/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/listr-verbose-renderer/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/listr-verbose-renderer/node_modules/cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "dependencies": { - "restore-cursor": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/listr-verbose-renderer/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/listr-verbose-renderer/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/listr-verbose-renderer/node_modules/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=", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/listr-verbose-renderer/node_modules/figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/listr-verbose-renderer/node_modules/mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/listr-verbose-renderer/node_modules/onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dependencies": { - "mimic-fn": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/listr-verbose-renderer/node_modules/restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "dependencies": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/listr/node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/listr/node_modules/p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/load-json-file": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-6.2.0.tgz", - "integrity": "sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.15", - "parse-json": "^5.0.0", - "strip-bom": "^4.0.0", - "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/load-json-file/node_modules/parse-json": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", - "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/load-json-file/node_modules/type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/lodash._reinterpolate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" - }, - "node_modules/lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", - "dev": true - }, - "node_modules/lodash.flattendeep": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", - "dev": true - }, - "node_modules/lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", - "dev": true - }, - "node_modules/lodash.kebabcase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", - "integrity": "sha1-hImxyw0p/4gZXM7KRI/21swpXDY=", - "dev": true - }, - "node_modules/lodash.snakecase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", - "integrity": "sha1-OdcUo1NXFHg3rv1ktdy7Fr7Nj40=", - "dev": true - }, - "node_modules/lodash.template": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", - "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", - "dependencies": { - "lodash._reinterpolate": "^3.0.0", - "lodash.templatesettings": "^4.0.0" - } - }, - "node_modules/lodash.templatesettings": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", - "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", - "dependencies": { - "lodash._reinterpolate": "^3.0.0" - } - }, - "node_modules/lodash.upperfirst": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", - "integrity": "sha1-E2Xt9DFIBIHvDRxolXpe2Z1J984=", - "dev": true - }, - "node_modules/lodash.zip": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.zip/-/lodash.zip-4.2.0.tgz", - "integrity": "sha1-7GZi5IlkCO1KtsVCo5kLcswIACA=", - "dev": true - }, - "node_modules/log-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", - "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", - "dependencies": { - "chalk": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/log-symbols/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/log-symbols/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/log-symbols/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/log-symbols/node_modules/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=", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/log-symbols/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/log-symbols/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/log-update": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz", - "integrity": "sha1-iDKP19HOeTiykoN0bwsbwSayRwg=", - "dependencies": { - "ansi-escapes": "^3.0.0", - "cli-cursor": "^2.0.0", - "wrap-ansi": "^3.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/log-update/node_modules/ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/log-update/node_modules/ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "engines": { - "node": ">=4" - } - }, - "node_modules/log-update/node_modules/cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "dependencies": { - "restore-cursor": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/log-update/node_modules/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=", - "engines": { - "node": ">=4" - } - }, - "node_modules/log-update/node_modules/mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/log-update/node_modules/onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dependencies": { - "mimic-fn": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/log-update/node_modules/restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "dependencies": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/log-update/node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/log-update/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dependencies": { - "ansi-regex": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/log-update/node_modules/wrap-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz", - "integrity": "sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo=", - "dependencies": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, - "node_modules/merge-source-map": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", - "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", - "dev": true, - "dependencies": { - "source-map": "^0.6.1" - } - }, - "node_modules/merge-source-map/node_modules/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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - }, - "node_modules/minipass": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", - "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", - "dev": true - }, - "node_modules/mocha": { - "version": "8.2.1", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.2.1.tgz", - "integrity": "sha512-cuLBVfyFfFqbNR0uUKbDGXKGk+UDFe6aR4os78XIrMQpZl/nv7JYHcvP5MFIAb374b2zFXsdgEGwmzMtP0Xg8w==", - "dev": true, - "dependencies": { - "@ungap/promise-all-settled": "1.1.2", - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.4.3", - "debug": "4.2.0", - "diff": "4.0.2", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.1.6", - "growl": "1.10.5", - "he": "1.2.0", - "js-yaml": "3.14.0", - "log-symbols": "4.0.0", - "minimatch": "3.0.4", - "ms": "2.1.2", - "nanoid": "3.1.12", - "serialize-javascript": "5.0.1", - "strip-json-comments": "3.1.1", - "supports-color": "7.2.0", - "which": "2.0.2", - "wide-align": "1.1.3", - "workerpool": "6.0.2", - "yargs": "13.3.2", - "yargs-parser": "13.1.2", - "yargs-unparser": "2.0.0" - }, - "bin": { - "_mocha": "bin/_mocha", - "mocha": "bin/mocha" - }, - "engines": { - "node": ">= 10.12.0" - } - }, - "node_modules/mocha/node_modules/debug": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", - "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/mocha/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/mocha/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/mocha/node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/mocha/node_modules/log-symbols": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", - "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/mocha/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/mocha/node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/mocha/node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/mocha/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/mocha/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/mock-stdin": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/mock-stdin/-/mock-stdin-1.0.0.tgz", - "integrity": "sha512-tukRdb9Beu27t6dN+XztSRHq9J0B/CoAOySGzHfn8UTfmqipA5yNT/sDUEyYdAV3Hpka6Wx6kOMxuObdOex60Q==", - "dev": true - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" - }, - "node_modules/nanoid": { - "version": "3.1.12", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.12.tgz", - "integrity": "sha512-1qstj9z5+x491jfiC4Nelk+f8XBad7LN20PmyWINJEMRSf3wcAjAWysw1qaA8z6NSKe2sjq1hRSDpBH5paCb6A==", - "dev": true, - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || >=13.7" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "node_modules/natural-orderby": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/natural-orderby/-/natural-orderby-2.0.3.tgz", - "integrity": "sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q==", - "engines": { - "node": "*" - } - }, - "node_modules/nested-error-stacks": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.1.0.tgz", - "integrity": "sha512-AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug==", - "dev": true - }, - "node_modules/nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" - }, - "node_modules/normalize-package-data": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.0.tgz", - "integrity": "sha512-6lUjEI0d3v6kFrtgA/lOx4zHCWULXsFNIjHolnZCKCTLA6m/G625cdn3O7eNmT0iD3jfo6HZ9cdImGZwf21prw==", - "dev": true, - "dependencies": { - "hosted-git-info": "^3.0.6", - "resolve": "^1.17.0", - "semver": "^7.3.2", - "validate-npm-package-license": "^3.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-url": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", - "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", - "dependencies": { - "prepend-http": "^2.0.0", - "query-string": "^5.0.1", - "sort-keys": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/normalize-url/node_modules/is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-url/node_modules/sort-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", - "integrity": "sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==", - "dependencies": { - "is-plain-obj": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/npm-conf": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz", - "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==", - "dependencies": { - "config-chain": "^1.1.11", - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/npm-conf/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", - "engines": { - "node": ">=4" - } - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/npm-run-path/node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/nyc": { - "version": "14.1.1", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-14.1.1.tgz", - "integrity": "sha512-OI0vm6ZGUnoGZv/tLdZ2esSVzDwUC88SNs+6JoSOMVxA+gKMB8Tk7jBwgemLx4O40lhhvZCVw1C+OYLOBOPXWw==", - "dev": true, - "dependencies": { - "archy": "^1.0.0", - "caching-transform": "^3.0.2", - "convert-source-map": "^1.6.0", - "cp-file": "^6.2.0", - "find-cache-dir": "^2.1.0", - "find-up": "^3.0.0", - "foreground-child": "^1.5.6", - "glob": "^7.1.3", - "istanbul-lib-coverage": "^2.0.5", - "istanbul-lib-hook": "^2.0.7", - "istanbul-lib-instrument": "^3.3.0", - "istanbul-lib-report": "^2.0.8", - "istanbul-lib-source-maps": "^3.0.6", - "istanbul-reports": "^2.2.4", - "js-yaml": "^3.13.1", - "make-dir": "^2.1.0", - "merge-source-map": "^1.1.0", - "resolve-from": "^4.0.0", - "rimraf": "^2.6.3", - "signal-exit": "^3.0.2", - "spawn-wrap": "^1.4.2", - "test-exclude": "^5.2.3", - "uuid": "^3.3.2", - "yargs": "^13.2.2", - "yargs-parser": "^13.0.0" - }, - "bin": { - "nyc": "bin/nyc.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/nyc/node_modules/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, - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/nyc/node_modules/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, - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/nyc/node_modules/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, - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/nyc/node_modules/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, - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/nyc/node_modules/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, - "engines": { - "node": ">=4" - } - }, - "node_modules/nyc/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/nyc/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-treeify": { - "version": "1.1.29", - "resolved": "https://registry.npmjs.org/object-treeify/-/object-treeify-1.1.29.tgz", - "integrity": "sha512-XnPIMyiv6fJeb/z3Bz+u43Fcw3C9fs1uoRITd8x3mau/rsSAUhx7qpIO10Q/dzJeMleJesccUSMiFx8FF+ruBA==", - "engines": { - "node": ">= 10" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/ora": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.1.0.tgz", - "integrity": "sha512-9tXIMPvjZ7hPTbk8DFq1f7Kow/HU/pQYB60JbNq+QnGwcyhWVZaQ4hM9zQDEsPxw/muLpgiHSaumUZxCAmod/w==", - "dependencies": { - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.4.0", - "is-interactive": "^1.0.0", - "log-symbols": "^4.0.0", - "mute-stream": "0.0.8", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/ora/node_modules/log-symbols": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", - "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", - "dependencies": { - "chalk": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/p-cancelable": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", - "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/p-event": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/p-event/-/p-event-2.3.1.tgz", - "integrity": "sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==", - "dependencies": { - "p-timeout": "^2.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "engines": { - "node": ">=4" - } - }, - "node_modules/p-is-promise": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", - "integrity": "sha512-zL7VE4JVS2IFSkR2GQKDSPEVxkoH43/p7oEnwpdCndKYJO0HVeRB7fA8TJwuLOTBREtK0ea8eHaxdwcpob5dmg==", - "engines": { - "node": ">=4" - } - }, - "node_modules/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, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-timeout": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", - "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", - "dependencies": { - "p-finally": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/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, - "engines": { - "node": ">=6" - } - }, - "node_modules/package-hash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-3.0.0.tgz", - "integrity": "sha512-lOtmukMDVvtkL84rJHI7dpTYq+0rli8N2wlnqUcBuDWCfVhRUfOmnR9SsoHFMLpACvEV60dX7rd0rFaYDZI+FA==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.15", - "hasha": "^3.0.0", - "lodash.flattendeep": "^4.4.0", - "release-zalgo": "^1.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/password-prompt": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/password-prompt/-/password-prompt-1.1.2.tgz", - "integrity": "sha512-bpuBhROdrhuN3E7G/koAju0WjVw9/uQOG5Co5mokNj0MiOSBVZS1JTwM4zl55hu0WFmIEFvO9cU9sJQiBIYeIA==", - "dependencies": { - "ansi-escapes": "^3.1.0", - "cross-spawn": "^6.0.5" - } - }, - "node_modules/password-prompt/node_modules/ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/path": { - "version": "0.12.7", - "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", - "integrity": "sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8=", - "dependencies": { - "process": "^0.11.1", - "util": "^0.10.3" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/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=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true - }, - "node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "engines": { - "node": ">=4" - } - }, - "node_modules/path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/pathval": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz", - "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==" - }, - "node_modules/picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", - "engines": { - "node": ">=8.6" - } - }, - "node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", - "dependencies": { - "pinkie": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/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==" - }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==" - }, - "node_modules/pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/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, - "engines": { - "node": ">=6" - } - }, - "node_modules/qqjs": { - "version": "0.3.11", - "resolved": "https://registry.npmjs.org/qqjs/-/qqjs-0.3.11.tgz", - "integrity": "sha512-pB2X5AduTl78J+xRSxQiEmga1jQV0j43jOPs/MTgTLApGFEOn6NgdE2dEjp7nvDtjkIOZbvFIojAiYUx6ep3zg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.1", - "debug": "^4.1.1", - "execa": "^0.10.0", - "fs-extra": "^6.0.1", - "get-stream": "^5.1.0", - "glob": "^7.1.2", - "globby": "^10.0.1", - "http-call": "^5.1.2", - "load-json-file": "^6.2.0", - "pkg-dir": "^4.2.0", - "tar-fs": "^2.0.0", - "tmp": "^0.1.0", - "write-json-file": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/qqjs/node_modules/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, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/qqjs/node_modules/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, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/qqjs/node_modules/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, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/qqjs/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/qqjs/node_modules/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, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/qqjs/node_modules/execa": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz", - "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==", - "dev": true, - "dependencies": { - "cross-spawn": "^6.0.0", - "get-stream": "^3.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" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/qqjs/node_modules/execa/node_modules/get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/qqjs/node_modules/fs-extra": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-6.0.1.tgz", - "integrity": "sha512-GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "node_modules/qqjs/node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/qqjs/node_modules/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, - "dependencies": { - "path-key": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/query-string": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", - "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", - "dependencies": { - "decode-uri-component": "^0.2.0", - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ramda": { - "version": "0.26.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.26.1.tgz", - "integrity": "sha512-hLWjpy7EnsDBb0p+Z3B7rPi3GDeRG5ZtiI33kJhTt+ORCd38AbAIjB/9zRIUoeTbE/AVX5ZkU7m6bznsvrf8eQ==", - "dev": true - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "dev": true, - "dependencies": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg-up": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", - "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", - "dev": true, - "dependencies": { - "find-up": "^3.0.0", - "read-pkg": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/read-pkg-up/node_modules/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, - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/read-pkg-up/node_modules/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, - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/read-pkg-up/node_modules/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, - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/read-pkg-up/node_modules/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, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg/node_modules/hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true - }, - "node_modules/read-pkg/node_modules/load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg/node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/read-pkg/node_modules/path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "dependencies": { - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/read-pkg/node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/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, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dependencies": { - "resolve": "^1.1.6" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/redeyed": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz", - "integrity": "sha1-iYS1gV2ZyyIEacme7v/jiRPmzAs=", - "dependencies": { - "esprima": "~4.0.0" - } - }, - "node_modules/regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", - "dev": true, - "engines": { - "node": ">=6.5.0" - } - }, - "node_modules/release-zalgo": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", - "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", - "dev": true, - "dependencies": { - "es6-error": "^4.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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 - }, - "node_modules/resolve": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", - "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", - "dependencies": { - "is-core-module": "^2.1.0", - "path-parse": "^1.0.6" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/responselike": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==", - "dependencies": { - "lowercase-keys": "^1.0.0" - } - }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/run-parallel": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz", - "integrity": "sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==" - }, - "node_modules/rxjs": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", - "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" - } - }, - "node_modules/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==" - }, - "node_modules/safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, - "dependencies": { - "ret": "~0.1.10" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "node_modules/seek-bzip": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", - "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", - "dependencies": { - "commander": "^2.8.1" - }, - "bin": { - "seek-bunzip": "bin/seek-bunzip", - "seek-table": "bin/seek-bzip-table" - } - }, - "node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/serialize-javascript": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", - "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/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 - }, - "node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/shelljs": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.4.tgz", - "integrity": "sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==", - "dependencies": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - }, - "bin": { - "shjs": "bin/shjs" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/slice-ansi": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", - "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sort-keys": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-4.1.0.tgz", - "integrity": "sha512-/sRdxzkkPFUYiCrTr/2t+104nDc9AgDmEpeVYuvOWYQe3Djk1GWO6lVw3Vx2jfh1SsR0eehhd1nvFYlzt5e99w==", - "dev": true, - "dependencies": { - "is-plain-obj": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/sort-keys-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz", - "integrity": "sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw==", - "dependencies": { - "sort-keys": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sort-keys-length/node_modules/is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sort-keys-length/node_modules/sort-keys": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", - "integrity": "sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==", - "dependencies": { - "is-plain-obj": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-support/node_modules/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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/spawn-wrap": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.4.3.tgz", - "integrity": "sha512-IgB8md0QW/+tWqcavuFgKYR/qIRvJkRLPJDFaoXtLLUaVcCDK0+HeFTkmQHj3eprcYhc+gOl0aEA1w7qZlYezw==", - "dev": true, - "dependencies": { - "foreground-child": "^1.5.6", - "mkdirp": "^0.5.0", - "os-homedir": "^1.0.1", - "rimraf": "^2.6.2", - "signal-exit": "^3.0.2", - "which": "^1.3.0" - } - }, - "node_modules/spawn-wrap/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dev": true, - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz", - "integrity": "sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw==", - "dev": true - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" - }, - "node_modules/stdout-stderr": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/stdout-stderr/-/stdout-stderr-0.1.13.tgz", - "integrity": "sha512-Xnt9/HHHYfjZ7NeQLvuQDyL1LnbsbddgMFKCuaQKwGCdJm8LnstZIXop+uOY36UR1UXXoHXfMbC1KlVdVd2JLA==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-dirs": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", - "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", - "dependencies": { - "is-natural-number": "^4.0.1" - } - }, - "node_modules/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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-outer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", - "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", - "dependencies": { - "escape-string-regexp": "^1.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-outer/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/supports-hyperlinks": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz", - "integrity": "sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA==", - "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-hyperlinks/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-hyperlinks/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/symbol-observable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/table": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", - "dev": true, - "dependencies": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/table/node_modules/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, - "engines": { - "node": ">=6" - } - }, - "node_modules/table/node_modules/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, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/table/node_modules/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, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/table/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/table/node_modules/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 - }, - "node_modules/table/node_modules/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, - "engines": { - "node": ">=4" - } - }, - "node_modules/table/node_modules/slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/table/node_modules/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, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/table/node_modules/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, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tar": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz", - "integrity": "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==", - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", - "dev": true, - "dependencies": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" - } - }, - "node_modules/tar-stream": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.1.4.tgz", - "integrity": "sha512-o3pS2zlG4gxr67GmFYBLlq+dM8gyRGUOvsrHclSkvtVtQbjV0s/+ZE8OpICbaj8clrX3tjeHngYGP7rweaBnuw==", - "dev": true, - "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tar/node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "engines": { - "node": ">=10" - } - }, - "node_modules/tar/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/test-exclude": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz", - "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==", - "dev": true, - "dependencies": { - "glob": "^7.1.3", - "minimatch": "^3.0.4", - "read-pkg-up": "^4.0.0", - "require-main-filename": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" - }, - "node_modules/timed-out": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/tmp": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.1.0.tgz", - "integrity": "sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw==", - "dev": true, - "dependencies": { - "rimraf": "^2.6.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tmp/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/to-buffer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/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==", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/trim-repeated": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", - "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", - "dependencies": { - "escape-string-regexp": "^1.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/trim-repeated/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/ts-node": { - "version": "8.10.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.10.2.tgz", - "integrity": "sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA==", - "dev": true, - "dependencies": { - "arg": "^4.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "source-map-support": "^0.5.17", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/tsutils": { - "version": "3.17.1", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz", - "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==", - "dev": true, - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "dependencies": { - "prelude-ls": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/typescript": { - "version": "3.9.7", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.7.tgz", - "integrity": "sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/unbzip2-stream": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", - "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", - "dependencies": { - "buffer": "^5.2.1", - "through": "^2.3.8" - } - }, - "node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", - "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==", - "dependencies": { - "prepend-http": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/url-to-options": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", - "integrity": "sha512-0kQLIzG4fdk/G5NONku64rSH/x32NOA39LVQqlK8Le6lvTF6GGRJpqaQFGgU+CLwySIqBSMdwYM0sYcW9f6P4A==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/util": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", - "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", - "dependencies": { - "inherits": "2.0.3" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "node_modules/util/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true, - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", - "dependencies": { - "defaults": "^1.0.3" - } - }, - "node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/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 - }, - "node_modules/wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "dev": true, - "dependencies": { - "string-width": "^1.0.2 || 2" - } - }, - "node_modules/wide-align/node_modules/ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/wide-align/node_modules/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, - "engines": { - "node": ">=4" - } - }, - "node_modules/wide-align/node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/wide-align/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "dependencies": { - "ansi-regex": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/widest-line": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", - "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", - "dependencies": { - "string-width": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/workerpool": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.0.2.tgz", - "integrity": "sha512-DSNyvOpFKrNusaaUwk+ej6cBj1bmhLcBfj80elGk+ZIo5JSkq+unB1dLKEOcNfJDZgjGICfhQ0Q5TbP0PvF4+Q==", - "dev": true - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "node_modules/write": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", - "dev": true, - "dependencies": { - "mkdirp": "^0.5.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/write-json-file": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-4.3.0.tgz", - "integrity": "sha512-PxiShnxf0IlnQuMYOPPhPkhExoCQuTUNPOa/2JWCYTmBquU9njyyDuwRKN26IZBlp4yn1nt+Agh2HOOBl+55HQ==", - "dev": true, - "dependencies": { - "detect-indent": "^6.0.0", - "graceful-fs": "^4.1.15", - "is-plain-obj": "^2.0.0", - "make-dir": "^3.0.0", - "sort-keys": "^4.0.0", - "write-file-atomic": "^3.0.0" - }, - "engines": { - "node": ">=8.3" - } - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/y18n": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", - "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", - "dev": true - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dev": true, - "dependencies": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "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.2" - } - }, - "node_modules/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, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "node_modules/yargs-unparser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", - "dev": true, - "dependencies": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-unparser/node_modules/camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-unparser/node_modules/decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs/node_modules/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, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/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 - }, - "node_modules/yargs/node_modules/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, - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/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, - "engines": { - "node": ">=4" - } - }, - "node_modules/yargs/node_modules/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, - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/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, - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/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, - "engines": { - "node": ">=4" - } - }, - "node_modules/yargs/node_modules/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, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/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, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", - "dependencies": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" - } - }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - } - } - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/generator": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.5.tgz", - "integrity": "sha512-m16TQQJ8hPt7E+OS/XVQg/7U184MLXtvuGbCdA7na61vha+ImkyyNM/9DDA0unYCVZn3ZOhng+qz48/KBOT96A==", - "dev": true, - "requires": { - "@babel/types": "^7.12.5", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", - "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", - "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", - "dev": true, - "requires": { - "@babel/types": "^7.11.0" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "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" - } - }, - "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" - } - }, - "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 - }, - "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 - } - } - }, - "@babel/parser": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.7.tgz", - "integrity": "sha512-oWR02Ubp4xTLCAqPRiNIuMVgNO5Aif/xpXtabhzW2HWUD47XJsAB4Zd/Rg30+XeQA3juXigV7hlquOTmwqLiwg==", - "dev": true - }, - "@babel/template": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", - "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.12.7", - "@babel/types": "^7.12.7" - } - }, - "@babel/traverse": { - "version": "7.12.9", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.9.tgz", - "integrity": "sha512-iX9ajqnLdoU1s1nHt36JDI9KG4k+vmI8WgjK5d+aDTwQbL2fUnzedNedssA645Ede3PM2ma1n8Q4h2ohwXgMXw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.5", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/parser": "^7.12.7", - "@babel/types": "^7.12.7", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - } - }, - "@babel/types": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.7.tgz", - "integrity": "sha512-MNyI92qZq6jrQkXvtIiykvl4WtoRrVV9MPn+ZfsoEENjiWcBQ3ZSHrkxnJWgWtLX3XXqX5hrSQ+X69wkmesXuQ==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "@nodelib/fs.scandir": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", - "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==", - "requires": { - "@nodelib/fs.stat": "2.0.3", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", - "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==" - }, - "@nodelib/fs.walk": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz", - "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==", - "requires": { - "@nodelib/fs.scandir": "2.1.3", - "fastq": "^1.6.0" - } - }, - "@oclif/command": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@oclif/command/-/command-1.8.0.tgz", - "integrity": "sha512-5vwpq6kbvwkQwKqAoOU3L72GZ3Ta8RRrewKj9OJRolx28KLJJ8Dg9Rf7obRwt5jQA9bkYd8gqzMTrI7H3xLfaw==", - "requires": { - "@oclif/config": "^1.15.1", - "@oclif/errors": "^1.3.3", - "@oclif/parser": "^3.8.3", - "@oclif/plugin-help": "^3", - "debug": "^4.1.1", - "semver": "^7.3.2" - } - }, - "@oclif/config": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/@oclif/config/-/config-1.17.0.tgz", - "integrity": "sha512-Lmfuf6ubjQ4ifC/9bz1fSCHc6F6E653oyaRXxg+lgT4+bYf9bk+nqrUpAbrXyABkCqgIBiFr3J4zR/kiFdE1PA==", - "requires": { - "@oclif/errors": "^1.3.3", - "@oclif/parser": "^3.8.0", - "debug": "^4.1.1", - "globby": "^11.0.1", - "is-wsl": "^2.1.1", - "tslib": "^2.0.0" - }, - "dependencies": { - "globby": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", - "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - } - }, - "tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" - } - } - }, - "@oclif/dev-cli": { - "version": "1.24.1", - "resolved": "https://registry.npmjs.org/@oclif/dev-cli/-/dev-cli-1.24.1.tgz", - "integrity": "sha512-cJL0o+S6jA1HgO7bpTBTDkUTU5j31B7ngJWnpDGAS2GoA1t00lfQ1K75oFBPBIqEB6HQmhs7guIKQISLzoDyXg==", - "dev": true, - "requires": { - "@oclif/command": "^1.8.0", - "@oclif/config": "^1.17.0", - "@oclif/errors": "^1.3.3", - "@oclif/plugin-help": "^3.2.0", - "cli-ux": "^5.2.1", - "debug": "^4.1.1", - "fs-extra": "^8.1", - "github-slugger": "^1.2.1", - "lodash": "^4.17.11", - "normalize-package-data": "^3.0.0", - "qqjs": "^0.3.10", - "tslib": "^1.9.3" - } - }, - "@oclif/errors": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/@oclif/errors/-/errors-1.3.4.tgz", - "integrity": "sha512-pJKXyEqwdfRTUdM8n5FIHiQQHg5ETM0Wlso8bF9GodczO40mF5Z3HufnYWJE7z8sGKxOeJCdbAVZbS8Y+d5GCw==", - "requires": { - "clean-stack": "^3.0.0", - "fs-extra": "^8.1", - "indent-string": "^4.0.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "@oclif/linewrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@oclif/linewrap/-/linewrap-1.0.0.tgz", - "integrity": "sha512-Ups2dShK52xXa8w6iBWLgcjPJWjais6KPJQq3gQ/88AY6BXoTX+MIGFPrWQO1KLMiQfoTpcLnUwloN4brrVUHw==" - }, - "@oclif/parser": { - "version": "3.8.5", - "resolved": "https://registry.npmjs.org/@oclif/parser/-/parser-3.8.5.tgz", - "integrity": "sha512-yojzeEfmSxjjkAvMRj0KzspXlMjCfBzNRPkWw8ZwOSoNWoJn+OCS/m/S+yfV6BvAM4u2lTzX9Y5rCbrFIgkJLg==", - "requires": { - "@oclif/errors": "^1.2.2", - "@oclif/linewrap": "^1.0.0", - "chalk": "^2.4.2", - "tslib": "^1.9.3" - }, - "dependencies": { - "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==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.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==", - "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=" - }, - "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=" - } - } - }, - "@oclif/plugin-help": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@oclif/plugin-help/-/plugin-help-3.2.0.tgz", - "integrity": "sha512-7jxtpwVWAVbp1r46ZnTK/uF+FeZc6y4p1XcGaIUuPAp7wx6NJhIRN/iMT9UfNFX/Cz7mq+OyJz+E+i0zrik86g==", - "requires": { - "@oclif/command": "^1.5.20", - "@oclif/config": "^1.15.1", - "chalk": "^2.4.1", - "indent-string": "^4.0.0", - "lodash.template": "^4.4.0", - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "widest-line": "^3.1.0", - "wrap-ansi": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" - }, - "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==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.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==", - "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=" - }, - "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=" - }, - "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=" - }, - "wrap-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-4.0.0.tgz", - "integrity": "sha512-uMTsj9rDb0/7kk1PbcbCcwvHUxp60fGDB/NNXpVa0Q+ic/e7y5+BwTxKfQ33VYgDppSwi/FBzpetYzo8s6tfbg==", - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - } - } - }, - "@oclif/screen": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@oclif/screen/-/screen-1.0.4.tgz", - "integrity": "sha512-60CHpq+eqnTxLZQ4PGHYNwUX572hgpMHGPtTWMjdTMsAvlm69lZV/4ly6O3sAYkomo4NggGcomrDpBe34rxUqw==" - }, - "@oclif/test": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@oclif/test/-/test-1.2.7.tgz", - "integrity": "sha512-1I8KQkOgScw18mr0zcly/OJjDW+kZnnmGXELaVBF69EZVzVgjE+Mz3EU1W29wf2rB7e8BqqtNrHzzoFu4oDuTw==", - "dev": true, - "requires": { - "fancy-test": "^1.4.3" - } - }, - "@samverschueren/stream-to-observable": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.1.tgz", - "integrity": "sha512-c/qwwcHyafOQuVQJj0IlBjf5yYgBI7YPJ77k4fOJYesb41jio65eaJODRUmfYKhTOFBrIZ66kgvGPlNbjuoRdQ==", - "requires": { - "any-observable": "^0.3.0" - } - }, - "@sindresorhus/is": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", - "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==" - }, - "@tunnckocore/execa": { - "version": "5.2.7", - "resolved": "https://registry.npmjs.org/@tunnckocore/execa/-/execa-5.2.7.tgz", - "integrity": "sha512-ysBwYl4vk3q+NT0nEYQPMbg9XxSzFBzvTt96fY+H/AeCYQHMXmiKIIdp+ypTu9plYkWLypWw8GnKNrKLF7P8rg==", - "requires": { - "esm": "^3.2.25", - "execa": "^4.0.0", - "p-map": "^3.0.0" - } - }, - "@types/chai": { - "version": "4.2.14", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.2.14.tgz", - "integrity": "sha512-G+ITQPXkwTrslfG5L/BksmbLUA0M1iybEsmCWPqzSxsRRhJZimBKJkoMi8fr/CPygPTj4zO5pJH7I2/cm9M7SQ==", - "dev": true - }, - "@types/eslint-visitor-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", - "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==", - "dev": true - }, - "@types/glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", - "dev": true, - "requires": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "@types/inquirer": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/@types/inquirer/-/inquirer-7.3.1.tgz", - "integrity": "sha512-osD38QVIfcdgsPCT0V3lD7eH0OFurX71Jft18bZrsVQWVRt6TuxRzlr0GJLrxoHZR2V5ph7/qP8se/dcnI7o0g==", - "requires": { - "@types/through": "*", - "rxjs": "^6.4.0" - } - }, - "@types/json-schema": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", - "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==", - "dev": true - }, - "@types/lodash": { - "version": "4.14.165", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.165.tgz", - "integrity": "sha512-tjSSOTHhI5mCHTy/OOXYIhi2Wt1qcbHmuXD1Ha7q70CgI/I71afO4XtLb/cVexki1oVYchpul/TOuu3Arcdxrg==", - "dev": true - }, - "@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", - "dev": true - }, - "@types/minipass": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@types/minipass/-/minipass-2.2.0.tgz", - "integrity": "sha512-wuzZksN4w4kyfoOv/dlpov4NOunwutLA/q7uc00xU02ZyUY+aoM5PWIXEKBMnm0NHd4a+N71BMjq+x7+2Af1fg==", - "requires": { - "@types/node": "*" - } - }, - "@types/mocha": { - "version": "5.2.7", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz", - "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==", - "dev": true - }, - "@types/node": { - "version": "10.17.47", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.47.tgz", - "integrity": "sha512-YZ1mMAdUPouBZCdeugjV8y1tqqr28OyL8DYbH5ePCfe9zcXtvbh1wDBy7uzlHkXo3Qi07kpzXfvycvrkby/jXw==" - }, - "@types/sinon": { - "version": "9.0.9", - "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-9.0.9.tgz", - "integrity": "sha512-z/y8maYOQyYLyqaOB+dYQ6i0pxKLOsfwCmHmn4T7jS/SDHicIslr37oE3Dg8SCqKrKeBy6Lemu7do2yy+unLrw==", - "dev": true, - "requires": { - "@types/sinonjs__fake-timers": "*" - } - }, - "@types/sinonjs__fake-timers": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-6.0.2.tgz", - "integrity": "sha512-dIPoZ3g5gcx9zZEszaxLSVTvMReD3xxyyDnQUjA6IYDG9Ba2AV0otMPs+77sG9ojB4Qr2N2Vk5RnKeuA0X/0bg==", - "dev": true - }, - "@types/tar": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@types/tar/-/tar-4.0.4.tgz", - "integrity": "sha512-0Xv+xcmkTsOZdIF4yCnd7RkOOyfyqPaqJ7RZFKnwdxfDbkN3eAAE9sHl8zJFqBz4VhxolW9EErbjR1oyH7jK2A==", - "requires": { - "@types/minipass": "*", - "@types/node": "*" - } - }, - "@types/through": { - "version": "0.0.30", - "resolved": "https://registry.npmjs.org/@types/through/-/through-0.0.30.tgz", - "integrity": "sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg==", - "requires": { - "@types/node": "*" - } - }, - "@typescript-eslint/eslint-plugin": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz", - "integrity": "sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ==", - "dev": true, - "requires": { - "@typescript-eslint/experimental-utils": "2.34.0", - "functional-red-black-tree": "^1.0.1", - "regexpp": "^3.0.0", - "tsutils": "^3.17.1" - }, - "dependencies": { - "regexpp": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", - "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", - "dev": true - } - } - }, - "@typescript-eslint/experimental-utils": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz", - "integrity": "sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/typescript-estree": "2.34.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" - }, - "dependencies": { - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - } - } - }, - "@typescript-eslint/parser": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.34.0.tgz", - "integrity": "sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA==", - "dev": true, - "requires": { - "@types/eslint-visitor-keys": "^1.0.0", - "@typescript-eslint/experimental-utils": "2.34.0", - "@typescript-eslint/typescript-estree": "2.34.0", - "eslint-visitor-keys": "^1.1.0" - } - }, - "@typescript-eslint/typescript-estree": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz", - "integrity": "sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "eslint-visitor-keys": "^1.1.0", - "glob": "^7.1.6", - "is-glob": "^4.0.1", - "lodash": "^4.17.15", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - } - }, - "@ungap/promise-all-settled": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", - "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", - "dev": true - }, - "acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "dev": true - }, - "acorn-jsx": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", - "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", - "dev": true - }, - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "dependencies": { - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" - } - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "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" - } - }, - "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true - }, - "ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", - "requires": { - "type-fest": "^0.11.0" - } - }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "ansicolors": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", - "integrity": "sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk=" - }, - "any-observable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz", - "integrity": "sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==" - }, - "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "append-transform": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz", - "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==", - "dev": true, - "requires": { - "default-require-extensions": "^2.0.0" - } - }, - "archive-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/archive-type/-/archive-type-4.0.0.tgz", - "integrity": "sha512-zV4Ky0v1F8dBrdYElwTvQhweQ0P7Kwc1aluqJsYtOBP01jXcWCyW2IEfI1YiqsG+Iy7ZR+o5LF1N+PGECBxHWA==", - "requires": { - "file-type": "^4.2.0" - }, - "dependencies": { - "file-type": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz", - "integrity": "sha512-f2UbFQEk7LXgWpi5ntcO86OeA/cC80fuDDDaX/fZ2ZGel+AF7leRQqBBW1eJNiiQkrZlAoM6P+VYP5P6bOlDEQ==" - } - } - }, - "archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", - "dev": true - }, - "arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" - }, - "assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true - }, - "astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", - "dev": true - }, - "async": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", - "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=" - }, - "axios": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", - "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", - "requires": { - "follow-redirects": "^1.10.0" - } - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "binary-extensions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", - "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", - "dev": true - }, - "bl": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.0.3.tgz", - "integrity": "sha512-fs4G6/Hu4/EE+F75J8DuN/0IpQqNjAdC7aEQv7Qt8MHGUH7Ckv2MwTEEeN9QehD0pfIDkMI1bkHYkKy7xHyKIg==", - "dev": true, - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true - }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" - }, - "buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==" - }, - "buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==" - }, - "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 - }, - "cacheable-request": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", - "integrity": "sha512-vag0O2LKZ/najSoUwDbVlnlCFvhBE/7mGTY2B5FgCBDcRD+oVV1HYTOwM6JZfMg/hIcM6IwnTZ1uQQL5/X3xIQ==", - "requires": { - "clone-response": "1.0.2", - "get-stream": "3.0.0", - "http-cache-semantics": "3.8.1", - "keyv": "3.0.0", - "lowercase-keys": "1.0.0", - "normalize-url": "2.0.1", - "responselike": "1.0.2" - }, - "dependencies": { - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==" - }, - "lowercase-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", - "integrity": "sha512-RPlX0+PHuvxVDZ7xX+EBVAp4RsVxP/TdDSN2mJYdiq1Lc4Hz7EUSjUI7RZrKKlmrIzVhf6Jo2stj7++gVarS0A==" - } - } - }, - "caching-transform": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-3.0.2.tgz", - "integrity": "sha512-Mtgcv3lh3U0zRii/6qVgQODdPA4G3zhG+jtbCWj39RXuUFTMzH0vcdMtaJS1jPowd+It2Pqr6y3NJMQqOqCE2w==", - "dev": true, - "requires": { - "hasha": "^3.0.0", - "make-dir": "^2.0.0", - "package-hash": "^3.0.0", - "write-file-atomic": "^2.4.2" - }, - "dependencies": { - "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" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "write-file-atomic": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", - "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" - } - } - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "cardinal": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", - "integrity": "sha1-fMEFXYItISlU0HsIXeolHMe8VQU=", - "requires": { - "ansicolors": "~0.3.2", - "redeyed": "~2.1.0" - } - }, - "caw": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/caw/-/caw-2.0.1.tgz", - "integrity": "sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==", - "requires": { - "get-proxy": "^2.0.0", - "isurl": "^1.0.0-alpha5", - "tunnel-agent": "^0.6.0", - "url-to-options": "^1.0.1" - } - }, - "chai": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz", - "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==", - "dev": true, - "requires": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^3.0.1", - "get-func-name": "^2.0.0", - "pathval": "^1.1.0", - "type-detect": "^4.0.5" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" - }, - "check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", - "dev": true - }, - "chokidar": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", - "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", - "dev": 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.5.0" - } - }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, - "clean-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clean-regexp/-/clean-regexp-1.0.0.tgz", - "integrity": "sha1-jffHquUf02h06PjQW5GAvBGj/tc=", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - }, - "dependencies": { - "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 - } - } - }, - "clean-stack": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-3.0.1.tgz", - "integrity": "sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==", - "requires": { - "escape-string-regexp": "4.0.0" - } - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "cli-progress": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.8.2.tgz", - "integrity": "sha512-qRwBxLldMSfxB+YGFgNRaj5vyyHe1yMpVeDL79c+7puGujdKJHQHydgqXDcrkvQgJ5U/d3lpf6vffSoVVUftVQ==", - "requires": { - "colors": "^1.1.2", - "string-width": "^4.2.0" - } - }, - "cli-spinners": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.5.0.tgz", - "integrity": "sha512-PC+AmIuK04E6aeSs/pUccSujsTzBhu4HzC2dL+CfJB/Jcc2qTRbEwZQDfIUpt2Xl8BodYBEq8w4fc0kU2I9DjQ==" - }, - "cli-truncate": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz", - "integrity": "sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ=", - "requires": { - "slice-ansi": "0.0.4", - "string-width": "^1.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "^2.0.0" - } - } - } - }, - "cli-ux": { - "version": "5.5.1", - "resolved": "https://registry.npmjs.org/cli-ux/-/cli-ux-5.5.1.tgz", - "integrity": "sha512-t3DT1U1C3rArLGYLpKa3m9dr/8uKZRI8HRm/rXKL7UTjm4c+Yd9zHNWg1tP8uaJkUbhmvx5SQHwb3VWpPUVdHQ==", - "requires": { - "@oclif/command": "^1.6.0", - "@oclif/errors": "^1.2.1", - "@oclif/linewrap": "^1.0.0", - "@oclif/screen": "^1.0.3", - "ansi-escapes": "^4.3.0", - "ansi-styles": "^4.2.0", - "cardinal": "^2.1.1", - "chalk": "^4.1.0", - "clean-stack": "^3.0.0", - "cli-progress": "^3.4.0", - "extract-stack": "^2.0.0", - "fs-extra": "^8.1", - "hyperlinker": "^1.0.0", - "indent-string": "^4.0.0", - "is-wsl": "^2.2.0", - "js-yaml": "^3.13.1", - "lodash": "^4.17.11", - "natural-orderby": "^2.0.1", - "object-treeify": "^1.1.4", - "password-prompt": "^1.1.2", - "semver": "^7.3.2", - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "supports-color": "^7.1.0", - "supports-hyperlinks": "^2.1.0", - "tslib": "^2.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" - } - } - }, - "cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==" - }, - "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" - }, - "dependencies": { - "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" - } - }, - "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 - }, - "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 - }, - "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 - }, - "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" - } - }, - "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" - } - }, - "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" - } - } - } - }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" - }, - "clone-response": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", - "integrity": "sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==", - "requires": { - "mimic-response": "^1.0.0" - } - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" - }, - "color-console": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/color-console/-/color-console-0.0.1.tgz", - "integrity": "sha1-LwPIm+8phPjE7rRMiyDmmT5Cqlo=" - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" - }, - "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==" - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "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=" - }, - "config-chain": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", - "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", - "requires": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" - } - }, - "content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "requires": { - "safe-buffer": "5.2.1" - } - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "dev": true - }, - "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - }, - "dependencies": { - "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 - } - } - }, - "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "cp-file": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/cp-file/-/cp-file-6.2.0.tgz", - "integrity": "sha512-fmvV4caBnofhPe8kOcitBwSn2f39QLjnAnGq3gO9dfd75mUytzKNZB1hde6QHunW2Rt+OwuBOMc3i1tNElbszA==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "make-dir": "^2.0.0", - "nested-error-stacks": "^2.0.0", - "pify": "^4.0.1", - "safe-buffer": "^5.0.1" - }, - "dependencies": { - "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" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "date-fns": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz", - "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==" - }, - "dateformat": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-4.0.0.tgz", - "integrity": "sha512-zpKyDYpeePyYGJp2HhRxLHlA+jZQNjt+MwmcVmLxCIECeC4Ks3TI3yk/CSMKylbnCJ5htonfOugYtRRTpyoHow==" - }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "requires": { - "ms": "2.1.2" - } - }, - "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.2", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", - "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==" - }, - "decompress": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", - "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", - "requires": { - "decompress-tar": "^4.0.0", - "decompress-tarbz2": "^4.0.0", - "decompress-targz": "^4.0.0", - "decompress-unzip": "^4.0.1", - "graceful-fs": "^4.1.10", - "make-dir": "^1.0.0", - "pify": "^2.3.0", - "strip-dirs": "^2.0.0" - }, - "dependencies": { - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "requires": { - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==" - } - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" - } - } - }, - "decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", - "requires": { - "mimic-response": "^1.0.0" - } - }, - "decompress-tar": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", - "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", - "requires": { - "file-type": "^5.2.0", - "is-stream": "^1.1.0", - "tar-stream": "^1.5.2" - }, - "dependencies": { - "bl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", - "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "file-type": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==" - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==" - }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "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" - } - }, - "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==" - }, - "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==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", - "requires": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - } - } - } - }, - "decompress-tarbz2": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", - "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", - "requires": { - "decompress-tar": "^4.1.0", - "file-type": "^6.1.0", - "is-stream": "^1.1.0", - "seek-bzip": "^1.0.5", - "unbzip2-stream": "^1.0.9" - }, - "dependencies": { - "file-type": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", - "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==" - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==" - } - } - }, - "decompress-targz": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", - "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", - "requires": { - "decompress-tar": "^4.1.1", - "file-type": "^5.2.0", - "is-stream": "^1.1.0" - }, - "dependencies": { - "file-type": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==" - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==" - } - } - }, - "decompress-unzip": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", - "integrity": "sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==", - "requires": { - "file-type": "^3.8.0", - "get-stream": "^2.2.0", - "pify": "^2.3.0", - "yauzl": "^2.4.2" - }, - "dependencies": { - "file-type": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", - "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==" - }, - "get-stream": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", - "integrity": "sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==", - "requires": { - "object-assign": "^4.0.1", - "pinkie-promise": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" - } - } - }, - "deep-eql": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", - "dev": true, - "requires": { - "type-detect": "^4.0.0" - } - }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true - }, - "default-require-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz", - "integrity": "sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=", - "dev": true, - "requires": { - "strip-bom": "^3.0.0" - }, - "dependencies": { - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - } - } - }, - "defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", - "requires": { - "clone": "^1.0.2" - } - }, - "detect-indent": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.0.0.tgz", - "integrity": "sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==", - "dev": true - }, - "diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "requires": { - "path-type": "^4.0.0" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "download": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/download/-/download-7.1.0.tgz", - "integrity": "sha512-xqnBTVd/E+GxJVrX5/eUJiLYjCGPwMpdL+jGhGU57BvtcA7wwhtHVbXBeUk51kOpW3S7Jn3BQbN9Q1R1Km2qDQ==", - "requires": { - "archive-type": "^4.0.0", - "caw": "^2.0.1", - "content-disposition": "^0.5.2", - "decompress": "^4.2.0", - "ext-name": "^5.0.0", - "file-type": "^8.1.0", - "filenamify": "^2.0.0", - "get-stream": "^3.0.0", - "got": "^8.3.1", - "make-dir": "^1.2.0", - "p-event": "^2.1.0", - "pify": "^3.0.0" - }, - "dependencies": { - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==" - }, - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "requires": { - "pify": "^3.0.0" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==" - } - } - }, - "download-git-repo": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/download-git-repo/-/download-git-repo-3.0.2.tgz", - "integrity": "sha512-N8hWXD4hXqmEcNoR8TBYFntaOcYvEQ7Bz90mgm3bZRTuteGQqwT32VDMnTyD0KTEvb8BWrMc1tVmzuV9u/WrAg==", - "requires": { - "download": "^7.1.0", - "git-clone": "^0.1.0", - "rimraf": "^3.0.0" - } - }, - "duplexer3": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz", - "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==" - }, - "ejs": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.5.tgz", - "integrity": "sha512-dldq3ZfFtgVTJMLjOe+/3sROTzALlL9E34V4/sDtUd/KlBSS0s6U1/+WPE1B4sj9CXHJpL1M6rhNJnc9Wbal9w==", - "requires": { - "jake": "^10.6.1" - } - }, - "elegant-spinner": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz", - "integrity": "sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=" - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "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==", - "requires": { - "once": "^1.4.0" - } - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", - "dev": true - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" - }, - "eslint": { - "version": "5.16.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.16.0.tgz", - "integrity": "sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "ajv": "^6.9.1", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "eslint-scope": "^4.0.3", - "eslint-utils": "^1.3.1", - "eslint-visitor-keys": "^1.0.0", - "espree": "^5.0.1", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob": "^7.1.2", - "globals": "^11.7.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "inquirer": "^6.2.2", - "js-yaml": "^3.13.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.11", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.2", - "path-is-inside": "^1.0.2", - "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^5.5.1", - "strip-ansi": "^4.0.0", - "strip-json-comments": "^2.0.1", - "table": "^5.2.3", - "text-table": "^0.2.0" - }, - "dependencies": { - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "dev": true - }, - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "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" - } - }, - "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" - } - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "dev": true, - "requires": { - "restore-cursor": "^2.0.0" - } - }, - "cli-width": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", - "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", - "dev": true - }, - "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 - }, - "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 - }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true - }, - "inquirer": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", - "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", - "dev": true, - "requires": { - "ansi-escapes": "^3.2.0", - "chalk": "^2.4.2", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^2.0.0", - "lodash": "^4.17.12", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^6.4.0", - "string-width": "^2.1.0", - "strip-ansi": "^5.1.0", - "through": "^2.3.6" - }, - "dependencies": { - "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 - }, - "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" - } - } - } - }, - "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 - }, - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "dev": true - }, - "mute-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", - "dev": true - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "dev": true, - "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "eslint-ast-utils": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/eslint-ast-utils/-/eslint-ast-utils-1.1.0.tgz", - "integrity": "sha512-otzzTim2/1+lVrlH19EfQQJEhVJSu0zOb9ygb3iapN6UlyaDtyRq4b5U1FuW0v1lRa9Fp/GJyHkSwm6NqABgCA==", - "dev": true, - "requires": { - "lodash.get": "^4.4.2", - "lodash.zip": "^4.2.0" - } - }, - "eslint-config-oclif": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-oclif/-/eslint-config-oclif-3.1.0.tgz", - "integrity": "sha512-Tqgy43cNXsSdhTLWW4RuDYGFhV240sC4ISSv/ZiUEg/zFxExSEUpRE6J+AGnkKY9dYwIW4C9b2YSUVv8z/miMA==", - "dev": true, - "requires": { - "eslint-config-xo-space": "^0.20.0", - "eslint-plugin-mocha": "^5.2.0", - "eslint-plugin-node": "^7.0.1", - "eslint-plugin-unicorn": "^6.0.1" - } - }, - "eslint-config-oclif-typescript": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-oclif-typescript/-/eslint-config-oclif-typescript-0.1.0.tgz", - "integrity": "sha512-BjXNJcH2F02MdaSFml9vJskviUFVkLHbTPGM5tinIt98H6klFNKP7/lQ+fB/Goc2wB45usEuuw6+l/fwAv9i7g==", - "dev": true, - "requires": { - "@typescript-eslint/eslint-plugin": "^2.6.1", - "@typescript-eslint/parser": "^2.6.1", - "eslint-config-oclif": "^3.1.0", - "eslint-config-xo-space": "^0.20.0", - "eslint-plugin-mocha": "^5.2.0", - "eslint-plugin-node": "^7.0.1", - "eslint-plugin-unicorn": "^6.0.1" - } - }, - "eslint-config-xo": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/eslint-config-xo/-/eslint-config-xo-0.24.2.tgz", - "integrity": "sha512-ivQ7qISScW6gfBp+p31nQntz1rg34UCybd3uvlngcxt5Utsf4PMMi9QoAluLFcPUM5Tvqk4JGraR9qu3msKPKQ==", - "dev": true - }, - "eslint-config-xo-space": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/eslint-config-xo-space/-/eslint-config-xo-space-0.20.0.tgz", - "integrity": "sha512-bOsoZA8M6v1HviDUIGVq1fLVnSu3mMZzn85m2tqKb73tSzu4GKD4Jd2Py4ZKjCgvCbRRByEB5HPC3fTMnnJ1uw==", - "dev": true, - "requires": { - "eslint-config-xo": "^0.24.0" - } - }, - "eslint-plugin-es": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-1.4.1.tgz", - "integrity": "sha512-5fa/gR2yR3NxQf+UXkeLeP8FBBl6tSgdrAz1+cF84v1FMM4twGwQoqTnn+QxFLcPOrF4pdKEJKDB/q9GoyJrCA==", - "dev": true, - "requires": { - "eslint-utils": "^1.4.2", - "regexpp": "^2.0.1" - } - }, - "eslint-plugin-mocha": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-5.3.0.tgz", - "integrity": "sha512-3uwlJVLijjEmBeNyH60nzqgA1gacUWLUmcKV8PIGNvj1kwP/CTgAWQHn2ayyJVwziX+KETkr9opNwT1qD/RZ5A==", - "dev": true, - "requires": { - "ramda": "^0.26.1" - } - }, - "eslint-plugin-node": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-7.0.1.tgz", - "integrity": "sha512-lfVw3TEqThwq0j2Ba/Ckn2ABdwmL5dkOgAux1rvOk6CO7A6yGyPI2+zIxN6FyNkp1X1X/BSvKOceD6mBWSj4Yw==", - "dev": true, - "requires": { - "eslint-plugin-es": "^1.3.1", - "eslint-utils": "^1.3.1", - "ignore": "^4.0.2", - "minimatch": "^3.0.4", - "resolve": "^1.8.1", - "semver": "^5.5.0" - }, - "dependencies": { - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "eslint-plugin-unicorn": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-6.0.1.tgz", - "integrity": "sha512-hjy9LhTdtL7pz8WTrzS0CGXRkWK3VAPLDjihofj8JC+uxQLfXm0WwZPPPB7xKmcjRyoH+jruPHOCrHNEINpG/Q==", - "dev": true, - "requires": { - "clean-regexp": "^1.0.0", - "eslint-ast-utils": "^1.0.0", - "import-modules": "^1.1.0", - "lodash.camelcase": "^4.1.1", - "lodash.kebabcase": "^4.0.1", - "lodash.snakecase": "^4.0.1", - "lodash.upperfirst": "^4.2.0", - "safe-regex": "^1.1.0" - } - }, - "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" - } - }, - "eslint-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - }, - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - }, - "esm": { - "version": "3.2.25", - "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", - "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==" - }, - "espree": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz", - "integrity": "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==", - "dev": true, - "requires": { - "acorn": "^6.0.7", - "acorn-jsx": "^5.0.0", - "eslint-visitor-keys": "^1.0.0" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - }, - "esquery": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", - "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true - } - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true - } - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", - "requires": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "ext-list": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz", - "integrity": "sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==", - "requires": { - "mime-db": "^1.28.0" - } - }, - "ext-name": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz", - "integrity": "sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==", - "requires": { - "ext-list": "^2.0.0", - "sort-keys-length": "^1.0.0" - } - }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "dependencies": { - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "requires": { - "os-tmpdir": "~1.0.2" - } - } - } - }, - "extract-stack": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/extract-stack/-/extract-stack-2.0.0.tgz", - "integrity": "sha512-AEo4zm+TenK7zQorGK1f9mJ8L14hnTDi2ZQPR+Mub1NX8zimka1mXpV5LpH8x9HoUmFSHZCfLHqWvp0Y4FxxzQ==" - }, - "fancy-test": { - "version": "1.4.9", - "resolved": "https://registry.npmjs.org/fancy-test/-/fancy-test-1.4.9.tgz", - "integrity": "sha512-Tro3lkXPX438G3t2N9BDgD3ac5iUhNnxIE8tg/KL6z7eZ5GOCexs7fDEMacduqvJWPvsRlmyQ69V1jiTVcqkXQ==", - "dev": true, - "requires": { - "@types/chai": "*", - "@types/lodash": "*", - "@types/node": "*", - "@types/sinon": "*", - "lodash": "^4.17.13", - "mock-stdin": "^1.0.0", - "stdout-stderr": "^0.1.9" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "fast-glob": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz", - "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==", - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", - "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" - } - }, - "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 - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "fastq": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.9.0.tgz", - "integrity": "sha512-i7FVWL8HhVY+CTkwFxkN2mk3h+787ixS5S63eb78diVRc1MCssarHq3W5cj0av7YDSwmaV928RNag+U1etRQ7w==", - "requires": { - "reusify": "^1.0.4" - } - }, - "fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", - "requires": { - "pend": "~1.2.0" - } - }, - "figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "requires": { - "escape-string-regexp": "^1.0.5" - }, - "dependencies": { - "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=" - } - } - }, - "file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", - "dev": true, - "requires": { - "flat-cache": "^2.0.1" - } - }, - "file-type": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-8.1.0.tgz", - "integrity": "sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ==" - }, - "filelist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.1.tgz", - "integrity": "sha512-8zSK6Nu0DQIC08mUC46sWGXi+q3GGpKydAG36k+JDba6VRpkevvOWUW5a/PhShij4+vHT9M+ghgG7eM+a9JDUQ==", - "requires": { - "minimatch": "^3.0.4" - } - }, - "filename-reserved-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", - "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==" - }, - "filenamify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-2.1.0.tgz", - "integrity": "sha512-ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA==", - "requires": { - "filename-reserved-regex": "^2.0.0", - "strip-outer": "^1.0.0", - "trim-repeated": "^1.0.0" - } - }, - "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==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "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" - }, - "dependencies": { - "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" - } - }, - "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" - } - }, - "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" - } - }, - "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" - } - }, - "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 - }, - "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" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true - }, - "flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", - "dev": true, - "requires": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" - }, - "dependencies": { - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", - "dev": true - }, - "follow-redirects": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.1.tgz", - "integrity": "sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg==" - }, - "foreground-child": { - "version": "1.5.6", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", - "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", - "dev": true, - "requires": { - "cross-spawn": "^4", - "signal-exit": "^3.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", - "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "which": "^1.2.9" - } - }, - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - } - } - }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "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" - } - }, - "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==" - }, - "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==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "fs": { - "version": "0.0.1-security", - "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz", - "integrity": "sha1-invTcYa23d84E/I4WLV+yq9eQdQ=" - }, - "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "requires": { - "minipass": "^3.0.0" - } - }, - "fs-sync": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/fs-sync/-/fs-sync-1.0.6.tgz", - "integrity": "sha512-OgbfyvmGVryknZfDXVVhua6OW8946R+AF3O2xxrCW/XFxCYZ4CO2Jrl7kYhrpjZLYvB9gxvWpLikEc9YL9HzCA==", - "requires": { - "glob": "^7.1.0", - "iconv-lite": "^0.4.13", - "lodash": "^4.16.1", - "mkdirp": "^0.5.1", - "rimraf": "^2.1.4" - }, - "dependencies": { - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": 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-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", - "dev": true - }, - "get-proxy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-2.1.0.tgz", - "integrity": "sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==", - "requires": { - "npm-conf": "^1.1.0" - } - }, - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "requires": { - "pump": "^3.0.0" - } - }, - "git-clone": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/git-clone/-/git-clone-0.1.0.tgz", - "integrity": "sha512-zs9rlfa7HyaJAKG9o+V7C6qfMzyc+tb1IIXdUFcOBcR1U7siKy/uPdauLlrH1mc0vOgUwIv4BF+QxPiiTYz3Rw==" - }, - "github-slugger": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.3.0.tgz", - "integrity": "sha512-gwJScWVNhFYSRDvURk/8yhcFBee6aFjye2a7Lhb2bUyRulpIoek9p0I9Kt7PT67d/nUlZbFu8L9RLiA0woQN8Q==", - "dev": true, - "requires": { - "emoji-regex": ">=6.0.0 <=6.1.1" - }, - "dependencies": { - "emoji-regex": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.1.1.tgz", - "integrity": "sha1-xs0OwbBkLio8Z6ETfvxeeW2k+I4=", - "dev": true - } - } - }, - "gitly": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/gitly/-/gitly-2.1.1.tgz", - "integrity": "sha512-xaaWlW388dI3fBf/5rrnensZVZ99tbTSt7XEfs1KGSrurjfGGvVxcVR/xkl7b4cTsUVcGr0uW3N3+rOE8mJeWw==", - "requires": { - "axios": "^0.21.1", - "tar": "^6.1.0" - } - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "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==", - "requires": { - "is-glob": "^4.0.1" - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - }, - "globby": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", - "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", - "dev": true, - "requires": { - "@types/glob": "^7.1.1", - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.0.3", - "glob": "^7.1.3", - "ignore": "^5.1.1", - "merge2": "^1.2.3", - "slash": "^3.0.0" - } - }, - "got": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz", - "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==", - "requires": { - "@sindresorhus/is": "^0.7.0", - "cacheable-request": "^2.1.1", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "into-stream": "^3.1.0", - "is-retry-allowed": "^1.1.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "mimic-response": "^1.0.0", - "p-cancelable": "^0.4.0", - "p-timeout": "^2.0.1", - "pify": "^3.0.0", - "safe-buffer": "^5.1.1", - "timed-out": "^4.0.1", - "url-parse-lax": "^3.0.0", - "url-to-options": "^1.0.1" - }, - "dependencies": { - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==" - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==" - } - } - }, - "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==" - }, - "growl": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", - "dev": true - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "requires": { - "ansi-regex": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - } - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "has-symbol-support-x": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", - "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==" - }, - "has-to-string-tag-x": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", - "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", - "requires": { - "has-symbol-support-x": "^1.4.1" - } - }, - "hasha": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-3.0.0.tgz", - "integrity": "sha1-UqMvq4Vp1BymmmH/GiFPjrfIvTk=", - "dev": true, - "requires": { - "is-stream": "^1.0.1" - }, - "dependencies": { - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - } - } - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true - }, - "hosted-git-info": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", - "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "http-cache-semantics": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", - "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==" - }, - "http-call": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/http-call/-/http-call-5.3.0.tgz", - "integrity": "sha512-ahwimsC23ICE4kPl9xTBjKB4inbRaeLyZeRunC/1Jy/Z6X8tv22MEAjK+KBOMSVLaqXPTTmd8638waVIKLGx2w==", - "dev": true, - "requires": { - "content-type": "^1.0.4", - "debug": "^4.1.1", - "is-retry-allowed": "^1.1.0", - "is-stream": "^2.0.0", - "parse-json": "^4.0.0", - "tunnel-agent": "^0.6.0" - } - }, - "human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==" - }, - "hyperlinker": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hyperlinker/-/hyperlinker-1.0.0.tgz", - "integrity": "sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ==" - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - }, - "ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==" - }, - "import-fresh": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz", - "integrity": "sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "import-modules": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/import-modules/-/import-modules-1.1.0.tgz", - "integrity": "sha1-dI23nFzEK7lwHvq0JPiU5yYA6dw=", - "dev": true - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "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==" - }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - } - }, - "interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" - }, - "into-stream": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", - "integrity": "sha512-TcdjPibTksa1NQximqep2r17ISRiNE9fwlfbg3F8ANdvP5/yrFTew86VcO//jk4QTaMlbjypPBq76HN2zaKfZQ==", - "requires": { - "from2": "^2.1.1", - "p-is-promise": "^1.1.0" - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "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, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-core-module": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.1.0.tgz", - "integrity": "sha512-YcV7BgVMRFRua2FqQzKtTDMz8iCuLEyGKjr70q8Zm1yy2qKcurbFEd79PAdHV77oL3NrAaOVQIbMmiHQCHB7ZA==", - "requires": { - "has": "^1.0.3" - } - }, - "is-docker": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz", - "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==" - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "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==", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==" - }, - "is-natural-number": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", - "integrity": "sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==" - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "is-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz", - "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==" - }, - "is-observable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz", - "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==", - "requires": { - "symbol-observable": "^1.1.0" - } - }, - "is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "dev": true - }, - "is-promise": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", - "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==" - }, - "is-retry-allowed": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", - "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==" - }, - "is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==" - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "requires": { - "is-docker": "^2.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", - "dev": true - }, - "istanbul-lib-hook": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz", - "integrity": "sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA==", - "dev": true, - "requires": { - "append-transform": "^1.0.0" - } - }, - "istanbul-lib-instrument": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", - "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", - "dev": true, - "requires": { - "@babel/generator": "^7.4.0", - "@babel/parser": "^7.4.3", - "@babel/template": "^7.4.0", - "@babel/traverse": "^7.4.3", - "@babel/types": "^7.4.0", - "istanbul-lib-coverage": "^2.0.5", - "semver": "^6.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "istanbul-lib-report": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz", - "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "supports-color": "^6.1.0" - }, - "dependencies": { - "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" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "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" - } - } - } - }, - "istanbul-lib-source-maps": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", - "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "rimraf": "^2.6.3", - "source-map": "^0.6.1" - }, - "dependencies": { - "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" - } - }, - "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" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "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 - } - } - }, - "istanbul-reports": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.7.tgz", - "integrity": "sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==", - "dev": true, - "requires": { - "html-escaper": "^2.0.0" - } - }, - "isurl": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", - "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", - "requires": { - "has-to-string-tag-x": "^1.2.0", - "is-object": "^1.0.1" - } - }, - "jake": { - "version": "10.8.2", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.2.tgz", - "integrity": "sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A==", - "requires": { - "async": "0.9.x", - "chalk": "^2.4.2", - "filelist": "^1.0.1", - "minimatch": "^3.0.4" - }, - "dependencies": { - "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==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.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==", - "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=" - }, - "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=" - } - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "js-yaml": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", - "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==" - }, - "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-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "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 - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "keyv": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", - "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", - "requires": { - "json-buffer": "3.0.0" - } - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", - "dev": true - }, - "listr": { - "version": "0.14.3", - "resolved": "https://registry.npmjs.org/listr/-/listr-0.14.3.tgz", - "integrity": "sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA==", - "requires": { - "@samverschueren/stream-to-observable": "^0.3.0", - "is-observable": "^1.1.0", - "is-promise": "^2.1.0", - "is-stream": "^1.1.0", - "listr-silent-renderer": "^1.1.1", - "listr-update-renderer": "^0.5.0", - "listr-verbose-renderer": "^0.5.0", - "p-map": "^2.0.0", - "rxjs": "^6.3.3" - }, - "dependencies": { - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" - }, - "p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==" - } - } - }, - "listr-silent-renderer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz", - "integrity": "sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4=" - }, - "listr-update-renderer": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz", - "integrity": "sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA==", - "requires": { - "chalk": "^1.1.3", - "cli-truncate": "^0.2.1", - "elegant-spinner": "^1.0.1", - "figures": "^1.7.0", - "indent-string": "^3.0.0", - "log-symbols": "^1.0.2", - "log-update": "^2.3.0", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "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=" - }, - "figures": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", - "requires": { - "escape-string-regexp": "^1.0.5", - "object-assign": "^4.1.0" - } - }, - "indent-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=" - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" - } - } - }, - "listr-verbose-renderer": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz", - "integrity": "sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw==", - "requires": { - "chalk": "^2.4.1", - "cli-cursor": "^2.1.0", - "date-fns": "^1.27.2", - "figures": "^2.0.0" - }, - "dependencies": { - "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==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "requires": { - "restore-cursor": "^2.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==", - "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=" - }, - "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=" - }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - } - } - } - }, - "load-json-file": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-6.2.0.tgz", - "integrity": "sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.15", - "parse-json": "^5.0.0", - "strip-bom": "^4.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "parse-json": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", - "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true - } - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "lodash._reinterpolate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" - }, - "lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", - "dev": true - }, - "lodash.flattendeep": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", - "dev": true - }, - "lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", - "dev": true - }, - "lodash.kebabcase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", - "integrity": "sha1-hImxyw0p/4gZXM7KRI/21swpXDY=", - "dev": true - }, - "lodash.snakecase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", - "integrity": "sha1-OdcUo1NXFHg3rv1ktdy7Fr7Nj40=", - "dev": true - }, - "lodash.template": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", - "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", - "requires": { - "lodash._reinterpolate": "^3.0.0", - "lodash.templatesettings": "^4.0.0" - } - }, - "lodash.templatesettings": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", - "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", - "requires": { - "lodash._reinterpolate": "^3.0.0" - } - }, - "lodash.upperfirst": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", - "integrity": "sha1-E2Xt9DFIBIHvDRxolXpe2Z1J984=", - "dev": true - }, - "lodash.zip": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.zip/-/lodash.zip-4.2.0.tgz", - "integrity": "sha1-7GZi5IlkCO1KtsVCo5kLcswIACA=", - "dev": true - }, - "log-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", - "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", - "requires": { - "chalk": "^1.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "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=" - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" - } - } - }, - "log-update": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz", - "integrity": "sha1-iDKP19HOeTiykoN0bwsbwSayRwg=", - "requires": { - "ansi-escapes": "^3.0.0", - "cli-cursor": "^2.0.0", - "wrap-ansi": "^3.0.1" - }, - "dependencies": { - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" - }, - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "requires": { - "restore-cursor": "^2.0.0" - } - }, - "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=" - }, - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - } - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "wrap-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz", - "integrity": "sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo=", - "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0" - } - } - } - }, - "lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, - "merge-source-map": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", - "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", - "dev": true, - "requires": { - "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 - } - } - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" - }, - "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - } - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - }, - "mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "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==" - }, - "minipass": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", - "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", - "requires": { - "yallist": "^4.0.0" - } - }, - "minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "requires": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - } - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "requires": { - "minimist": "^1.2.5" - } - }, - "mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", - "dev": true - }, - "mocha": { - "version": "8.2.1", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.2.1.tgz", - "integrity": "sha512-cuLBVfyFfFqbNR0uUKbDGXKGk+UDFe6aR4os78XIrMQpZl/nv7JYHcvP5MFIAb374b2zFXsdgEGwmzMtP0Xg8w==", - "dev": true, - "requires": { - "@ungap/promise-all-settled": "1.1.2", - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.4.3", - "debug": "4.2.0", - "diff": "4.0.2", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.1.6", - "growl": "1.10.5", - "he": "1.2.0", - "js-yaml": "3.14.0", - "log-symbols": "4.0.0", - "minimatch": "3.0.4", - "ms": "2.1.2", - "nanoid": "3.1.12", - "serialize-javascript": "5.0.1", - "strip-json-comments": "3.1.1", - "supports-color": "7.2.0", - "which": "2.0.2", - "wide-align": "1.1.3", - "workerpool": "6.0.2", - "yargs": "13.3.2", - "yargs-parser": "13.1.2", - "yargs-unparser": "2.0.0" - }, - "dependencies": { - "debug": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", - "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "log-symbols": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", - "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", - "dev": true, - "requires": { - "chalk": "^4.0.0" - } - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "mock-stdin": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/mock-stdin/-/mock-stdin-1.0.0.tgz", - "integrity": "sha512-tukRdb9Beu27t6dN+XztSRHq9J0B/CoAOySGzHfn8UTfmqipA5yNT/sDUEyYdAV3Hpka6Wx6kOMxuObdOex60Q==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" - }, - "nanoid": { - "version": "3.1.12", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.12.tgz", - "integrity": "sha512-1qstj9z5+x491jfiC4Nelk+f8XBad7LN20PmyWINJEMRSf3wcAjAWysw1qaA8z6NSKe2sjq1hRSDpBH5paCb6A==", - "dev": true - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "natural-orderby": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/natural-orderby/-/natural-orderby-2.0.3.tgz", - "integrity": "sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q==" - }, - "nested-error-stacks": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.1.0.tgz", - "integrity": "sha512-AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug==", - "dev": true - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" - }, - "normalize-package-data": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.0.tgz", - "integrity": "sha512-6lUjEI0d3v6kFrtgA/lOx4zHCWULXsFNIjHolnZCKCTLA6m/G625cdn3O7eNmT0iD3jfo6HZ9cdImGZwf21prw==", - "dev": true, - "requires": { - "hosted-git-info": "^3.0.6", - "resolve": "^1.17.0", - "semver": "^7.3.2", - "validate-npm-package-license": "^3.0.1" - } - }, - "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 - }, - "normalize-url": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", - "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", - "requires": { - "prepend-http": "^2.0.0", - "query-string": "^5.0.1", - "sort-keys": "^2.0.0" - }, - "dependencies": { - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==" - }, - "sort-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", - "integrity": "sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==", - "requires": { - "is-plain-obj": "^1.0.0" - } - } - } - }, - "npm-conf": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz", - "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==", - "requires": { - "config-chain": "^1.1.11", - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==" - } - } - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "requires": { - "path-key": "^3.0.0" - }, - "dependencies": { - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - } - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" - }, - "nyc": { - "version": "14.1.1", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-14.1.1.tgz", - "integrity": "sha512-OI0vm6ZGUnoGZv/tLdZ2esSVzDwUC88SNs+6JoSOMVxA+gKMB8Tk7jBwgemLx4O40lhhvZCVw1C+OYLOBOPXWw==", - "dev": true, - "requires": { - "archy": "^1.0.0", - "caching-transform": "^3.0.2", - "convert-source-map": "^1.6.0", - "cp-file": "^6.2.0", - "find-cache-dir": "^2.1.0", - "find-up": "^3.0.0", - "foreground-child": "^1.5.6", - "glob": "^7.1.3", - "istanbul-lib-coverage": "^2.0.5", - "istanbul-lib-hook": "^2.0.7", - "istanbul-lib-instrument": "^3.3.0", - "istanbul-lib-report": "^2.0.8", - "istanbul-lib-source-maps": "^3.0.6", - "istanbul-reports": "^2.2.4", - "js-yaml": "^3.13.1", - "make-dir": "^2.1.0", - "merge-source-map": "^1.1.0", - "resolve-from": "^4.0.0", - "rimraf": "^2.6.3", - "signal-exit": "^3.0.2", - "spawn-wrap": "^1.4.2", - "test-exclude": "^5.2.3", - "uuid": "^3.3.2", - "yargs": "^13.2.2", - "yargs-parser": "^13.0.0" - }, - "dependencies": { - "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" - } - }, - "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" - } - }, - "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" - } - }, - "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" - } - }, - "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 - }, - "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" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "object-treeify": { - "version": "1.1.29", - "resolved": "https://registry.npmjs.org/object-treeify/-/object-treeify-1.1.29.tgz", - "integrity": "sha512-XnPIMyiv6fJeb/z3Bz+u43Fcw3C9fs1uoRITd8x3mau/rsSAUhx7qpIO10Q/dzJeMleJesccUSMiFx8FF+ruBA==" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - } - }, - "ora": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.1.0.tgz", - "integrity": "sha512-9tXIMPvjZ7hPTbk8DFq1f7Kow/HU/pQYB60JbNq+QnGwcyhWVZaQ4hM9zQDEsPxw/muLpgiHSaumUZxCAmod/w==", - "requires": { - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.4.0", - "is-interactive": "^1.0.0", - "log-symbols": "^4.0.0", - "mute-stream": "0.0.8", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "dependencies": { - "log-symbols": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", - "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", - "requires": { - "chalk": "^4.0.0" - } - } - } - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" - }, - "p-cancelable": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", - "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==" - }, - "p-event": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/p-event/-/p-event-2.3.1.tgz", - "integrity": "sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==", - "requires": { - "p-timeout": "^2.0.1" - } - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" - }, - "p-is-promise": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", - "integrity": "sha512-zL7VE4JVS2IFSkR2GQKDSPEVxkoH43/p7oEnwpdCndKYJO0HVeRB7fA8TJwuLOTBREtK0ea8eHaxdwcpob5dmg==" - }, - "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": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", - "requires": { - "aggregate-error": "^3.0.0" - } - }, - "p-timeout": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", - "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", - "requires": { - "p-finally": "^1.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 - }, - "package-hash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-3.0.0.tgz", - "integrity": "sha512-lOtmukMDVvtkL84rJHI7dpTYq+0rli8N2wlnqUcBuDWCfVhRUfOmnR9SsoHFMLpACvEV60dX7rd0rFaYDZI+FA==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.15", - "hasha": "^3.0.0", - "lodash.flattendeep": "^4.4.0", - "release-zalgo": "^1.0.0" - } - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "password-prompt": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/password-prompt/-/password-prompt-1.1.2.tgz", - "integrity": "sha512-bpuBhROdrhuN3E7G/koAju0WjVw9/uQOG5Co5mokNj0MiOSBVZS1JTwM4zl55hu0WFmIEFvO9cU9sJQiBIYeIA==", - "requires": { - "ansi-escapes": "^3.1.0", - "cross-spawn": "^6.0.5" - }, - "dependencies": { - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" - } - } - }, - "path": { - "version": "0.12.7", - "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", - "integrity": "sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8=", - "requires": { - "process": "^0.11.1", - "util": "^0.10.3" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "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=" - }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" - }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" - }, - "pathval": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz", - "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=", - "dev": true - }, - "pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==" - }, - "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==" - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==" - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", - "requires": { - "pinkie": "^2.0.0" - } - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - } - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true - }, - "prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==" - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" - }, - "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==" - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true - }, - "proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==" - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "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==", - "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 - }, - "qqjs": { - "version": "0.3.11", - "resolved": "https://registry.npmjs.org/qqjs/-/qqjs-0.3.11.tgz", - "integrity": "sha512-pB2X5AduTl78J+xRSxQiEmga1jQV0j43jOPs/MTgTLApGFEOn6NgdE2dEjp7nvDtjkIOZbvFIojAiYUx6ep3zg==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "debug": "^4.1.1", - "execa": "^0.10.0", - "fs-extra": "^6.0.1", - "get-stream": "^5.1.0", - "glob": "^7.1.2", - "globby": "^10.0.1", - "http-call": "^5.1.2", - "load-json-file": "^6.2.0", - "pkg-dir": "^4.2.0", - "tar-fs": "^2.0.0", - "tmp": "^0.1.0", - "write-json-file": "^4.1.1" - }, - "dependencies": { - "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" - } - }, - "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" - } - }, - "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 - }, - "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 - }, - "execa": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz", - "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^3.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" - }, - "dependencies": { - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true - } - } - }, - "fs-extra": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-6.0.1.tgz", - "integrity": "sha512-GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": 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" - } - } - } - }, - "query-string": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", - "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", - "requires": { - "decode-uri-component": "^0.2.0", - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - } - }, - "ramda": { - "version": "0.26.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.26.1.tgz", - "integrity": "sha512-hLWjpy7EnsDBb0p+Z3B7rPi3GDeRG5ZtiI33kJhTt+ORCd38AbAIjB/9zRIUoeTbE/AVX5ZkU7m6bznsvrf8eQ==", - "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" - } - }, - "read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "dev": true, - "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - }, - "dependencies": { - "hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true - }, - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - } - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - } - } - }, - "read-pkg-up": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", - "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", - "dev": true, - "requires": { - "find-up": "^3.0.0", - "read-pkg": "^3.0.0" - }, - "dependencies": { - "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" - } - }, - "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" - } - }, - "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" - } - }, - "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 - } - } - }, - "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" - } - }, - "readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", - "dev": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "requires": { - "resolve": "^1.1.6" - } - }, - "redeyed": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz", - "integrity": "sha1-iYS1gV2ZyyIEacme7v/jiRPmzAs=", - "requires": { - "esprima": "~4.0.0" - } - }, - "regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", - "dev": true - }, - "release-zalgo": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", - "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", - "dev": true, - "requires": { - "es6-error": "^4.0.1" - } - }, - "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": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", - "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", - "requires": { - "is-core-module": "^2.1.0", - "path-parse": "^1.0.6" - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - }, - "responselike": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==", - "requires": { - "lowercase-keys": "^1.0.0" - } - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "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 - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "requires": { - "glob": "^7.1.3" - } - }, - "run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==" - }, - "run-parallel": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz", - "integrity": "sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==" - }, - "rxjs": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", - "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", - "requires": { - "tslib": "^1.9.0" - } - }, - "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==" - }, - "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" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "seek-bzip": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", - "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", - "requires": { - "commander": "^2.8.1" - } - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "serialize-javascript": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", - "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", - "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 - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "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=" - }, - "shelljs": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.4.tgz", - "integrity": "sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==", - "requires": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - } - }, - "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - }, - "slice-ansi": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", - "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=" - }, - "sort-keys": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-4.1.0.tgz", - "integrity": "sha512-/sRdxzkkPFUYiCrTr/2t+104nDc9AgDmEpeVYuvOWYQe3Djk1GWO6lVw3Vx2jfh1SsR0eehhd1nvFYlzt5e99w==", - "dev": true, - "requires": { - "is-plain-obj": "^2.0.0" - } - }, - "sort-keys-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz", - "integrity": "sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw==", - "requires": { - "sort-keys": "^1.0.0" - }, - "dependencies": { - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==" - }, - "sort-keys": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", - "integrity": "sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==", - "requires": { - "is-plain-obj": "^1.0.0" - } - } - } - }, - "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-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 - } - } - }, - "spawn-wrap": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.4.3.tgz", - "integrity": "sha512-IgB8md0QW/+tWqcavuFgKYR/qIRvJkRLPJDFaoXtLLUaVcCDK0+HeFTkmQHj3eprcYhc+gOl0aEA1w7qZlYezw==", - "dev": true, - "requires": { - "foreground-child": "^1.5.6", - "mkdirp": "^0.5.0", - "os-homedir": "^1.0.1", - "rimraf": "^2.6.2", - "signal-exit": "^3.0.2", - "which": "^1.3.0" - }, - "dependencies": { - "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" - } - } - } - }, - "spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz", - "integrity": "sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw==", - "dev": true - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" - }, - "stdout-stderr": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/stdout-stderr/-/stdout-stderr-0.1.13.tgz", - "integrity": "sha512-Xnt9/HHHYfjZ7NeQLvuQDyL1LnbsbddgMFKCuaQKwGCdJm8LnstZIXop+uOY36UR1UXXoHXfMbC1KlVdVd2JLA==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "strip-ansi": "^6.0.0" - } - }, - "strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==" - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "requires": { - "safe-buffer": "~5.2.0" - } - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true - }, - "strip-dirs": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", - "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", - "requires": { - "is-natural-number": "^4.0.1" - } - }, - "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 - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true - }, - "strip-outer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", - "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", - "requires": { - "escape-string-regexp": "^1.0.2" - }, - "dependencies": { - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - } - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "supports-hyperlinks": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz", - "integrity": "sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA==", - "requires": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "symbol-observable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" - }, - "table": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", - "dev": true, - "requires": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" - }, - "dependencies": { - "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" - } - }, - "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 - }, - "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 - }, - "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 - }, - "slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - } - }, - "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" - } - }, - "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" - } - } - } - }, - "tar": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz", - "integrity": "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==", - "requires": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "dependencies": { - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - } - } - }, - "tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", - "dev": true, - "requires": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" - } - }, - "tar-stream": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.1.4.tgz", - "integrity": "sha512-o3pS2zlG4gxr67GmFYBLlq+dM8gyRGUOvsrHclSkvtVtQbjV0s/+ZE8OpICbaj8clrX3tjeHngYGP7rweaBnuw==", - "dev": true, - "requires": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - } - }, - "test-exclude": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz", - "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==", - "dev": true, - "requires": { - "glob": "^7.1.3", - "minimatch": "^3.0.4", - "read-pkg-up": "^4.0.0", - "require-main-filename": "^2.0.0" - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" - }, - "timed-out": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==" - }, - "tmp": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.1.0.tgz", - "integrity": "sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw==", - "dev": true, - "requires": { - "rimraf": "^2.6.3" - }, - "dependencies": { - "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" - } - } - } - }, - "to-buffer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": 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==", - "requires": { - "is-number": "^7.0.0" - } - }, - "trim-repeated": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", - "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", - "requires": { - "escape-string-regexp": "^1.0.2" - }, - "dependencies": { - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - } - } - }, - "ts-node": { - "version": "8.10.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.10.2.tgz", - "integrity": "sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA==", - "dev": true, - "requires": { - "arg": "^4.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "source-map-support": "^0.5.17", - "yn": "3.1.1" - } - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "tsutils": { - "version": "3.17.1", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz", - "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==", - "dev": true, - "requires": { - "tslib": "^1.8.1" - } - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2" - } - }, - "type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true - }, - "type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==" - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "requires": { - "is-typedarray": "^1.0.0" - } - }, - "typescript": { - "version": "3.9.7", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.7.tgz", - "integrity": "sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==", - "dev": true - }, - "unbzip2-stream": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", - "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", - "requires": { - "buffer": "^5.2.1", - "through": "^2.3.8" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" - }, - "uri-js": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", - "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==", - "requires": { - "prepend-http": "^2.0.0" - } - }, - "url-to-options": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", - "integrity": "sha512-0kQLIzG4fdk/G5NONku64rSH/x32NOA39LVQqlK8Le6lvTF6GGRJpqaQFGgU+CLwySIqBSMdwYM0sYcW9f6P4A==" - }, - "util": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", - "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", - "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=" - } - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", - "requires": { - "defaults": "^1.0.3" - } - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "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 - }, - "wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "dev": true, - "requires": { - "string-width": "^1.0.2 || 2" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "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 - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "widest-line": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", - "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", - "requires": { - "string-width": "^4.0.0" - } - }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true - }, - "workerpool": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.0.2.tgz", - "integrity": "sha512-DSNyvOpFKrNusaaUwk+ej6cBj1bmhLcBfj80elGk+ZIo5JSkq+unB1dLKEOcNfJDZgjGICfhQ0Q5TbP0PvF4+Q==", - "dev": true - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "write": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", - "dev": true, - "requires": { - "mkdirp": "^0.5.1" - } - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "write-json-file": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-4.3.0.tgz", - "integrity": "sha512-PxiShnxf0IlnQuMYOPPhPkhExoCQuTUNPOa/2JWCYTmBquU9njyyDuwRKN26IZBlp4yn1nt+Agh2HOOBl+55HQ==", - "dev": true, - "requires": { - "detect-indent": "^6.0.0", - "graceful-fs": "^4.1.15", - "is-plain-obj": "^2.0.0", - "make-dir": "^3.0.0", - "sort-keys": "^4.0.0", - "write-file-atomic": "^3.0.0" - } - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - }, - "y18n": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", - "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", - "dev": true - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dev": true, - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "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.2" - }, - "dependencies": { - "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 - }, - "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 - }, - "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" - } - }, - "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 - }, - "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" - } - }, - "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" - } - }, - "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 - }, - "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" - } - }, - "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" - } - } - } - }, - "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" - } - }, - "yargs-unparser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", - "dev": true, - "requires": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" - }, - "dependencies": { - "camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", - "dev": true - }, - "decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", - "dev": true - } - } - }, - "yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", - "requires": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" - } - }, - "yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true - } - } -} diff --git a/package.json b/package.json deleted file mode 100644 index 9a5711b..0000000 --- a/package.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "name": "vaah", - "description": "CLI of VaahCMS - VaahCLI", - "version": "2.3.9", - "author": "Vaah", - "bin": { - "vaah": "./bin/run" - }, - "bugs": "https://github.com/webreinvent/vaah/issues", - "dependencies": { - "@oclif/command": "^1.8.0", - "@oclif/config": "^1.17.0", - "@oclif/plugin-help": "^3.2.0", - "@tunnckocore/execa": "^5.2.7", - "@types/inquirer": "^7.3.1", - "@types/tar": "^4.0.4", - "axios": "^0.21.1", - "chalk": "^4.1.0", - "cli-ux": "^5.5.1", - "color-console": "0.0.1", - "dateformat": "^4.0.0", - "ejs": "^3.1.5", - "execa": "^4.1.0", - "fs": "0.0.1-security", - "fs-sync": "^1.0.6", - "gitly": "^2.1.1", - "inquirer": "^7.3.3", - "listr": "^0.14.3", - "ora": "^5.1.0", - "path": "^0.12.7", - "semver": "^7.3.5", - "shelljs": "^0.8.4", - "tslib": "^1.14.1", - "download-git-repo": "^3.0.2" - }, - "devDependencies": { - "@oclif/dev-cli": "^1.24.1", - "@oclif/test": "^1.2.7", - "@types/chai": "^4.2.14", - "@types/mocha": "^5.2.7", - "@types/node": "^10.17.46", - "chai": "^4.2.0", - "eslint": "^5.16.0", - "eslint-config-oclif": "^3.1.0", - "eslint-config-oclif-typescript": "^0.1.0", - "globby": "^10.0.2", - "mocha": "^8.2.1", - "nyc": "^14.1.1", - "rimraf": "^3.0.2", - "ts-node": "^8.10.2", - "typescript": "^3.9.7" - - }, - "engines": { - "node": ">=8.0.0" - }, - "files": [ - "/skeletons", - "/bin", - "/lib", - "/npm-shrinkwrap.json", - "/oclif.manifest.json" - ], - "homepage": "https://github.com/webreinvent/vaah", - "keywords": [ - "vaah", - "vaahcli" - ], - "license": "MIT", - "main": "lib/index.js", - "oclif": { - "commands": "./lib/commands", - "bin": "vaah", - "plugins": [ - "@oclif/plugin-help" - ] - }, - "repository": "webreinvent/vaah", - "scripts": { - "postpack": "rimraf oclif.manifest.json", - "posttest": "eslint . --ext .ts --config .eslintrc", - "prepack": "rimraf lib && tsc -b && oclif-dev manifest && oclif-dev readme", - "test": "nyc --extension .ts mocha --forbid-only \"test/**/*.test.ts\"", - "version": "oclif-dev readme && git add README.md" - }, - "types": "lib/index.d.ts" -} diff --git a/skeletons/flutter/install/android/app/build.gradle.ejs b/skeletons/flutter/install/android/app/build.gradle.ejs deleted file mode 100644 index 6dee6a2..0000000 --- a/skeletons/flutter/install/android/app/build.gradle.ejs +++ /dev/null @@ -1,71 +0,0 @@ -def localProperties = new Properties() -def localPropertiesFile = rootProject.file('local.properties') -if (localPropertiesFile.exists()) { - localPropertiesFile.withReader('UTF-8') { reader -> - localProperties.load(reader) - } -} - -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - -def flutterVersionCode = localProperties.getProperty('flutter.versionCode') -if (flutterVersionCode == null) { - flutterVersionCode = '1' -} - -def flutterVersionName = localProperties.getProperty('flutter.versionName') -if (flutterVersionName == null) { - flutterVersionName = '1.0' -} - -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - -android { - compileSdkVersion 33 - ndkVersion flutter.ndkVersion - - compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 - } - - kotlinOptions { - jvmTarget = '1.8' - } - - sourceSets { - main.java.srcDirs += 'src/main/kotlin' - } - - defaultConfig { - // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). - applicationId "<%= package_name %>" - // You can update the following values to match your application needs. - // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-build-configuration. - minSdkVersion 19 - targetSdkVersion flutter.targetSdkVersion - versionCode flutterVersionCode.toInteger() - versionName flutterVersionName - } - - buildTypes { - release { - // TODO: Add your own signing config for the release build. - // Signing with the debug keys for now, so `flutter run --release` works. - signingConfig signingConfigs.debug - } - } -} - -flutter { - source '../..' -} - -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} diff --git a/skeletons/flutter/install/android/app/src/debug/AndroidManifest.xml.ejs b/skeletons/flutter/install/android/app/src/debug/AndroidManifest.xml.ejs deleted file mode 100644 index 8d25503..0000000 --- a/skeletons/flutter/install/android/app/src/debug/AndroidManifest.xml.ejs +++ /dev/null @@ -1,8 +0,0 @@ - - - - diff --git a/skeletons/flutter/install/android/app/src/main/AndroidManifest.xml.ejs b/skeletons/flutter/install/android/app/src/main/AndroidManifest.xml.ejs deleted file mode 100644 index cb5f018..0000000 --- a/skeletons/flutter/install/android/app/src/main/AndroidManifest.xml.ejs +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/skeletons/flutter/install/android/app/src/main/kotlin/template-domain/template-company/template-appname/MainActivity.kt.ejs b/skeletons/flutter/install/android/app/src/main/kotlin/template-domain/template-company/template-appname/MainActivity.kt.ejs deleted file mode 100644 index b86e2e6..0000000 --- a/skeletons/flutter/install/android/app/src/main/kotlin/template-domain/template-company/template-appname/MainActivity.kt.ejs +++ /dev/null @@ -1,6 +0,0 @@ -package <%= package_name %> - -import io.flutter.embedding.android.FlutterActivity - -class MainActivity: FlutterActivity() { -} diff --git a/skeletons/flutter/install/android/app/src/profile/AndroidManifest.xml.ejs b/skeletons/flutter/install/android/app/src/profile/AndroidManifest.xml.ejs deleted file mode 100644 index 8d25503..0000000 --- a/skeletons/flutter/install/android/app/src/profile/AndroidManifest.xml.ejs +++ /dev/null @@ -1,8 +0,0 @@ - - - - diff --git a/skeletons/flutter/install/ios/Runner/Info.plist.ejs b/skeletons/flutter/install/ios/Runner/Info.plist.ejs deleted file mode 100644 index 90d704a..0000000 --- a/skeletons/flutter/install/ios/Runner/Info.plist.ejs +++ /dev/null @@ -1,73 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleDisplayName - <%= app_name %> - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - <%= package_name %> - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - team - CFBundlePackageType - APPL - CFBundleShortVersionString - $(FLUTTER_BUILD_NAME) - CFBundleSignature - ???? - CFBundleVersion - $(FLUTTER_BUILD_NUMBER) - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIMainStoryboardFile - Main - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - CADisableMinimumFrameDurationOnPhone - - UIApplicationSupportsIndirectInputEvents - - - NSCameraUsageDescription - Your NSCameraUsageDescription - - - NSPhotoLibraryUsageDescription - Your NSPhotoLibraryUsageDescription - - - NSAppleMusicUsageDescription - Your NSAppleMusicUsageDescription - - - UIBackgroundModes - - fetch - remote-notification - - - - UIStatusBarHidden - - - diff --git a/skeletons/flutter/install/pubspec.yaml.ejs b/skeletons/flutter/install/pubspec.yaml.ejs deleted file mode 100644 index e42a887..0000000 --- a/skeletons/flutter/install/pubspec.yaml.ejs +++ /dev/null @@ -1,73 +0,0 @@ -name: <%= app_name_lower %> -description: <%= app_description %> - -publish_to: 'none' # Remove this line if you wish to publish to pub.dev - -version: 1.0.0+1 - -environment: - sdk: ">=2.19.6" - flutter: ">=3.7.11" - -dependencies: - flutter: - sdk: flutter - # Annotations - json_annotation: ^4.8.1 - json_serializable: ^6.6.2 - # Console - colorize: ^3.0.0 - # Log and Performance - sentry_flutter: ^6.20.1 - # Icons - cupertino_icons: ^1.0.5 - font_awesome_flutter: ^10.4.0 - # State Management - get: ^4.6.5 - # Api - dio: ^5.0.0 - # Utilities - intl: ^0.18.0 - get_storage: ^2.0.3 - fluttertoast: ^8.1.3 - file_picker: ^5.2.5 - flutter_screenutil: ^5.6.1 - # Firebase - firebase_dynamic_links: ^5.0.16 - firebase_core: ^2.7.1 - cloud_firestore: ^4.5.1 - # Notifications - onesignal_flutter: ^3.5.0 - flutter_local_notifications: ^14.0.1 - timezone: ^0.9.1 - pusher_channels_flutter: ^2.1.2 - -dev_dependencies: - flutter_test: - sdk: flutter - flutter_lints: ^2.0.1 - build_runner: ^2.3.3 - -flutter: - - # below line allows you use Material Icons in application - uses-material-design: true - - # To add assets to your application, add an assets section, like this: - # assets: - # - assets/images/ - # - assets/icons/ - # - assets/music/ - - # To add custom fonts to your application - # fonts: - # - family: Schyler - # fonts: - # - asset: fonts/Schyler-Regular.ttf - # - asset: fonts/Schyler-Italic.ttf - # style: italic - # - family: Trajan Pro - # fonts: - # - asset: fonts/TrajanPro.ttf - # - asset: fonts/TrajanPro_Bold.ttf - # weight: 700 diff --git a/skeletons/laravel/controller-plain.ejs b/skeletons/laravel/controller-plain.ejs deleted file mode 100644 index bde925e..0000000 --- a/skeletons/laravel/controller-plain.ejs +++ /dev/null @@ -1,10 +0,0 @@ -; - - -use Illuminate\Routing\Controller; - -class <%= name %>Controller extends Controller { - - - -} diff --git a/skeletons/laravel/controller.ejs b/skeletons/laravel/controller.ejs deleted file mode 100644 index 2d147e6..0000000 --- a/skeletons/laravel/controller.ejs +++ /dev/null @@ -1,76 +0,0 @@ -\Http\Controllers; - -use Illuminate\Http\Request; -use Illuminate\Http\Response; -use Illuminate\Routing\Controller; - -class <%= name %>Controller extends Controller { - - /** - * Display a listing of the resource. - * @return Response - */ - public function index() - { - return view('index'); - } - - /** - * Show the form for creating a new resource. - * @return Response - */ - public function create(Request $request) - { - return view('create'); - } - - /** - * Store a newly created resource in storage. - * @return Response - */ - public function store(Request $request) - { - return response()->json([]); - } - - /** - * Display the specified resource. - * @param int $id - * @return Response - */ - public function show(Request $request, $id) - { - return view('show'); - } - - /** - * Show the form for editing the specified resource. - * @param int $id - * @return Response - */ - public function edit(Request $request, $id) - { - return view('edit'); - } - - /** - * Update the specified resource in storage. - * @param int $id - * @return Response - */ - public function update(Request $request, $id) - { - return response()->json([]); - } - - /** - * Remove the specified resource from storage. - * @param int $id - * @return Response - */ - public function destroy(Request $request, $id) - { - return response()->json([]); - } - -} diff --git a/skeletons/laravel/migration.ejs b/skeletons/laravel/migration.ejs deleted file mode 100644 index b57b6b9..0000000 --- a/skeletons/laravel/migration.ejs +++ /dev/null @@ -1,35 +0,0 @@ - extends Migration -{ - /** - * Run the migrations. - * - * @return void - */ - public function up() - { - - Schema::create('<%= table_name %>', function (Blueprint $table) { - $table->increments('id'); - - $table->timestamps(); - $table->softDeletes(); - - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('<%= table_name %>'); - } -} diff --git a/skeletons/laravel/model.ejs b/skeletons/laravel/model.ejs deleted file mode 100644 index b90d848..0000000 --- a/skeletons/laravel/model.ejs +++ /dev/null @@ -1,9 +0,0 @@ -\Entities; - -use Illuminate\Database\Eloquent\Model; - -class <%= name %> extends Model { - - protected $fillable = []; - -} diff --git a/skeletons/laravel/observer.ejs b/skeletons/laravel/observer.ejs deleted file mode 100644 index bf61277..0000000 --- a/skeletons/laravel/observer.ejs +++ /dev/null @@ -1,6 +0,0 @@ -\Observers; - -class <%= name %>Observer { - - -} diff --git a/skeletons/laravel/package/composer.ejs b/skeletons/laravel/package/composer.ejs deleted file mode 100644 index 2512671..0000000 --- a/skeletons/laravel/package/composer.ejs +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "<%= vendor_name_lower %>/<%= package_name_lower %>", - "description": "<%= description %>", - "keywords": ["laravel"], - "homepage": "<%= homepage %>", - "license": "MIT", - "authors": [ - { - "name": "<%= author_name %>", - "email": "<%= author_email %>" - } - ], - "autoload": { - "psr-4": { - "<%= vendor_name %>\\<%= package_name %>\\": "src/" - } - } -} diff --git a/skeletons/laravel/package/src/.gitkeep b/skeletons/laravel/package/src/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/laravel/package/src/Config/.gitkeep b/skeletons/laravel/package/src/Config/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/laravel/package/src/Config/packagename.ejs b/skeletons/laravel/package/src/Config/packagename.ejs deleted file mode 100644 index 1e230ac..0000000 --- a/skeletons/laravel/package/src/Config/packagename.ejs +++ /dev/null @@ -1,7 +0,0 @@ -; -use Illuminate\Support\Facades\Facade; - - -class <%= package_name %>Facade extends Facade -{ - /** - * Get the registered name of the component. - * - * @return string - */ - protected static function getFacadeAccessor() - { - return '<%= package_name_lower %>'; - } -} diff --git a/skeletons/laravel/package/src/Http/Controllers/.gitkeep b/skeletons/laravel/package/src/Http/Controllers/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/laravel/package/src/Http/Controllers/Controller.ejs b/skeletons/laravel/package/src/Http/Controllers/Controller.ejs deleted file mode 100644 index b34dae0..0000000 --- a/skeletons/laravel/package/src/Http/Controllers/Controller.ejs +++ /dev/null @@ -1,72 +0,0 @@ -\Controllers; - -use Illuminate\Http\Request; -use Illuminate\Http\Response; -use Illuminate\Routing\Controller; - -class <%= package_name %>Controller extends Controller -{ - /** - * Display a listing of the resource. - * @return Response - */ - public function index() - { - return view('<%= package_name_lower %>::index'); - } - - /** - * Show the form for creating a new resource. - * @return Response - */ - public function create() - { - return view('<%= package_name_lower %>::create'); - } - - /** - * Store a newly created resource in storage. - * @param Request $request - * @return Response - */ - public function store(Request $request) - { - } - - /** - * Show the specified resource. - * @return Response - */ - public function show() - { - return view('<%= package_name_lower %>::show'); - } - - /** - * Show the form for editing the specified resource. - * @return Response - */ - public function edit() - { - return view('<%= package_name_lower %>::edit'); - } - - /** - * Update the specified resource in storage. - * @param Request $request - * @return Response - */ - public function update(Request $request) - { - } - - /** - * Remove the specified resource from storage. - * @return Response - */ - public function destroy() - { - } -} diff --git a/skeletons/laravel/package/src/Http/Middleware/.gitkeep b/skeletons/laravel/package/src/Http/Middleware/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/laravel/package/src/Http/Requests/.gitkeep b/skeletons/laravel/package/src/Http/Requests/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/laravel/package/src/Resources/assets/.gitkeep b/skeletons/laravel/package/src/Resources/assets/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/laravel/package/src/Resources/lang/.gitkeep b/skeletons/laravel/package/src/Resources/lang/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/laravel/package/src/Resources/views/.gitkeep b/skeletons/laravel/package/src/Resources/views/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/laravel/package/src/Routes/api.ejs b/skeletons/laravel/package/src/Routes/api.ejs deleted file mode 100644 index 4cf49ef..0000000 --- a/skeletons/laravel/package/src/Routes/api.ejs +++ /dev/null @@ -1,18 +0,0 @@ -get('/<%= package_name_lower %>', function (Request $request) { - return $request->user(); -}); diff --git a/skeletons/laravel/package/src/Routes/web.ejs b/skeletons/laravel/package/src/Routes/web.ejs deleted file mode 100644 index c84b4e7..0000000 --- a/skeletons/laravel/package/src/Routes/web.ejs +++ /dev/null @@ -1,16 +0,0 @@ -')->group(function() { - Route::get('/', '<%= package_name %>Controller@index'); -}); diff --git a/skeletons/laravel/package/src/ServiceProvider.ejs b/skeletons/laravel/package/src/ServiceProvider.ejs deleted file mode 100644 index 54da6c3..0000000 --- a/skeletons/laravel/package/src/ServiceProvider.ejs +++ /dev/null @@ -1,81 +0,0 @@ -; - -use Illuminate\Support\ServiceProvider; - -class <%= package_name %>ServiceProvider extends ServiceProvider { - - /** - * Indicates if loading of the provider is deferred. - * - * @var bool - */ - protected $defer = false; - - /** - * Bootstrap the application events. - * - * @return void - */ - public function boot() { - - $this->handleConfigs(); - // $this->handleMigrations(); - // $this->handleViews(); - // $this->handleTranslations(); - // $this->handleRoutes(); - } - - /** - * Register the service provider. - * - * @return void - */ - public function register() { - - // Bind any implementations. - - } - - /** - * Get the services provided by the provider. - * - * @return array - */ - public function provides() { - - return []; - } - - private function handleConfigs() { - - $configPath = __DIR__ . '/Config/<%= package_name_lower %>.php'; - - $this->publishes([$configPath => config_path('<%= package_name_lower %>.php')], 'config'); - - $this->mergeConfigFrom($configPath, '<%= package_name %>'); - } - - private function handleTranslations() { - - $this->loadTranslationsFrom(__DIR__.'/Resources/lang', '<%= package_name_lower %>'); - } - - private function handleViews() { - - $this->loadViewsFrom(__DIR__.'/Resources/views', '<%= package_name_lower %>'); - - $this->publishes([__DIR__.'/Resources/views' => base_path('resources/views/vendor/<%= package_name_lower %>')], 'views'); - } - - private function handleMigrations() { - - $this->publishes([__DIR__ . '/Database/Migrations' => database_path('migrations')], 'migrations'); - } - - private function handleRoutes() { - - include __DIR__.'/Routes/web.php'; - include __DIR__.'/Routes/api.php'; - - } -} diff --git a/skeletons/laravel/package/src/Tests/.gitkeep b/skeletons/laravel/package/src/Tests/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/laravel/package/src/package.ejs b/skeletons/laravel/package/src/package.ejs deleted file mode 100644 index 0505fc5..0000000 --- a/skeletons/laravel/package/src/package.ejs +++ /dev/null @@ -1,18 +0,0 @@ -; - - -/** - * Class <%= package_name %>. - */ -class <%= package_name %>{ - - /** - * Create new instance - */ - public function __construct() - { - - } - -} diff --git a/skeletons/laravel/seed.ejs b/skeletons/laravel/seed.ejs deleted file mode 100644 index a35294f..0000000 --- a/skeletons/laravel/seed.ejs +++ /dev/null @@ -1,13 +0,0 @@ -TableSeeder extends Seeder { - - public function run() - { - $faker = Faker::create(); - } - -} diff --git a/skeletons/laravel/trait.ejs b/skeletons/laravel/trait.ejs deleted file mode 100644 index a8d7569..0000000 --- a/skeletons/laravel/trait.ejs +++ /dev/null @@ -1,9 +0,0 @@ -\Traits; - -use Illuminate\Database\Eloquent\Model; - -trait <%= name %> { - - - -} diff --git a/skeletons/laravel/view.ejs b/skeletons/laravel/view.ejs deleted file mode 100644 index a1170eb..0000000 --- a/skeletons/laravel/view.ejs +++ /dev/null @@ -1,5 +0,0 @@ -@extends('master') - -@section('content') - -@stop diff --git a/skeletons/vaahcms/auth/Http/Controllers/Frontend/AuthController.php.ejs b/skeletons/vaahcms/auth/Http/Controllers/Frontend/AuthController.php.ejs deleted file mode 100644 index c949b01..0000000 --- a/skeletons/vaahcms/auth/Http/Controllers/Frontend/AuthController.php.ejs +++ /dev/null @@ -1,130 +0,0 @@ -\Http\Controllers\Frontend; - -use Carbon\Carbon; -use Illuminate\Http\Request; -use Illuminate\Http\Response; -use Illuminate\Routing\Controller; -use <%= namespace %>\Models\<%= theme_name %>User; -use <%= namespace %>\Models\<%= theme_name %>Registration; - - -class AuthController extends Controller -{ - - //---------------------------------------------------------- - public function login() - { - return redirect()->route('vh.frontend.<%= theme_name_lower %>.signin'); - } - //---------------------------------------------------------- - public function signOutUser() - { - \Auth::logout(); - } - //---------------------------------------------------------- - public function signout(Request $request) - { - $this->signOutUser(); - return redirect('/'); - } - //---------------------------------------------------------- - public function signin() - { - $this->signOutUser(); - return view('<%= theme_name_lower %>::frontend.auth.signin'); - } - //---------------------------------------------------------- - public function signinPost(Request $request) - { - - if($request->type == 'password') - { - $response = <%= theme_name %>User::login($request); - } else if($request->type == 'otp') - { - if(is_array($request->login_otp)) - { - $inputs = [ - 'login_otp' => implode("", $request->login_otp) - ]; - - $request->merge($inputs); - } - - $response = <%= theme_name %>User::loginViaOtp($request); - } - - if((isset($response['status']) && $response['status'] == 'success') - || (isset($response['success']) && $response['success'] == true)) - { - $response['data']['redirect_url'] = url("/"); - } - - return response()->json($response); - } - //---------------------------------------------------------- - public function sendOtp(Request $request) - { - $response = <%= theme_name %>User::sendLoginOtp($request); - - return response()->json($response); - } - //---------------------------------------------------------- - public function sendResetCode(Request $request) - { - $response = <%= theme_name %>User::sendResetPasswordEmail($request); - - return response()->json($response); - } - //---------------------------------------------------------- - public function passwordResetAndSignin(Request $request) - { - $response = <%= theme_name %>User::passwordResetAndSignin($request); - - if($response['status'] == 'success') - { - $response['data']['redirect_url'] = url('/'); - } - - return response()->json($response); - - } - //---------------------------------------------------------- - public function signup() - { - $this->signOutUser(); - return view('<%= theme_name_lower %>::frontend.auth.signup'); - } - - //--------------------------------------------------------- - public function signupPost(Request $request) - { - $response = <%= theme_name %>Registration::postCreate($request); - return response()->json($response); - } - //--------------------------------------------------------- - public function activate(Request $request, $code) - { - $this->signOutUser(); - return view('<%= theme_name_lower %>::frontend.auth.activate') - ->with([ 'activation_code'=> $code ]); - } - //---------------------------------------------------------- - public function activatePost(Request $request, $code) - { - $request->merge(['activation_code' => $code]); - $response = <%= theme_name %>Registration::activateRegistration($request); - return response()->json($response); - } - //---------------------------------------------------------- - //---------------------------------------------------------- - //---------------------------------------------------------- - //---------------------------------------------------------- - //---------------------------------------------------------- - //---------------------------------------------------------- - //---------------------------------------------------------- - //---------------------------------------------------------- - //---------------------------------------------------------- - - -} diff --git a/skeletons/vaahcms/auth/Models/Registration.php.ejs b/skeletons/vaahcms/auth/Models/Registration.php.ejs deleted file mode 100644 index 4f0def1..0000000 --- a/skeletons/vaahcms/auth/Models/Registration.php.ejs +++ /dev/null @@ -1,118 +0,0 @@ -\Models; - -use Illuminate\Http\Request; -use Illuminate\Support\Facades\Crypt; -use Illuminate\Support\Str; -use VaahCms\Themes\<%= theme_name %>\Notifications\ActivationLinkNotification; -use WebReinvent\VaahCms\Entities\Registration; -use WebReinvent\VaahCms\Entities\User; - -class <%= theme_name %>Registration extends Registration -{ - - //--------------------------------------------- - public static function postCreate($request) - { - - $rules = array( - 'first_name' => 'required', - 'last_name' => 'required', - 'email' => 'required', - 'password' => 'required', - ); - - $validator = \Validator::make( $request->all(), $rules); - if ( $validator->fails() ) { - - $errors = errorsToArray($validator->errors()); - $response['status'] = 'failed'; - $response['errors'] = $errors; - return $response; - } - - - $user = User::where('email', $request->email)->first(); - - if($user) - { - $response['status'] = 'failed'; - $response['errors'][] = 'Email already registered'; - return $response; - } - - $item = self::where('email', $request->email)->first(); - - if(!$item) - { - $item = new self(); - } - - /*$meta = [ - 'meta'=>[ - 'password' => Crypt::encrypt($request->password), - ] - ]; - - $request->merge($meta);*/ - - $item->fill($request->all()); - $item->activation_code = Str::uuid()->toString(); - $item->activation_code_sent_at = \Carbon::now(); - $item->save(); - - try{ - $item->notify(new ActivationLinkNotification($item)); - }catch(\Exception $e) - { - $response['status'] = 'failed'; - $response['errors'][] = 'Make sure environment variables for MAIL are set and correct in the active .env file'; - $response['errors'][] = $e->getMessage(); - return $response; - } - - $response['status'] = 'success'; - $response['data'][] = ''; - $response['messages'][] = 'An activation email has been sent.'; - - return $response; - - } - - //--------------------------------------------- - public static function activateRegistration($request) - { - - $signup = self::where('activation_code', $request->activation_code) - ->first(); - - if(!$signup) - { - $response['status'] = 'failed'; - $response['errors'][] = 'Invalid activation code'; - return $response; - } - - $signup = $signup->makeVisible(['password']); - - $user_request = new Request($signup->toArray()); - - // Create User - $user = <%= theme_name %>User::createUser($user_request); - - if($user) - { - $signup->vh_user_id = $user->id; - $signup->save(); - } - - $response['status'] = 'success'; - $response['data']['redirect_url'] = route('vh.frontend.<%= theme_name_lower %>.signin'); - $response['messages'][] = 'Account successfully activated'; - - return $response; - } - //--------------------------------------------- - //--------------------------------------------- - //--------------------------------------------- - -} diff --git a/skeletons/vaahcms/auth/Models/User.php.ejs b/skeletons/vaahcms/auth/Models/User.php.ejs deleted file mode 100644 index 4f731eb..0000000 --- a/skeletons/vaahcms/auth/Models/User.php.ejs +++ /dev/null @@ -1,73 +0,0 @@ -\Models; -use Illuminate\Support\Facades\Crypt; -use Illuminate\Support\Str; -use VaahCms\Themes\<%= theme_name %>\Notifications\ActivationLinkNotification; -use WebReinvent\VaahCms\Entities\Registration; -use WebReinvent\VaahCms\Entities\User; - -class <%= theme_name %>User extends User -{ - - //------------------------------------------ - public static function createUser($request) - { - - $user = self::where('email', $request->email) - ->first(); - - $except = [ - 'id', - 'uuid', - 'created_at', - 'updated_at', - 'deleted_at', - ]; - - $inputs = $request->except($except); - - if(!$user) - { - - $user = new self(); - $user->fill($inputs); - if(!isset($request->username)) - { - $user->username = Str::slug($request->email); - } - $user->prevent_password_hashing = true; - $user->password = $request->password; - $user->created_ip = request()->ip(); - $user->is_active = 1; - } else - { - $user->prevent_password_hashing = true; - $user->fill($inputs); - } - - if($request->has('id')) - { - $user->registration_id = $request->id; - } - - $user->save(); - - return $user; - } - //------------------------------------------ - public static function passwordResetAndSignin($request) - { - $response = self::resetPassword($request); - - if($response['status'] == 'success') - { - $user = self::where('email', $request->email)->first(); - \Auth::login($user); - } - - return $response; - } - //------------------------------------------ - //------------------------------------------ - //------------------------------------------ - -} diff --git a/skeletons/vaahcms/auth/Notifications/ActivationLinkNotification.php.ejs b/skeletons/vaahcms/auth/Notifications/ActivationLinkNotification.php.ejs deleted file mode 100644 index af7bb4e..0000000 --- a/skeletons/vaahcms/auth/Notifications/ActivationLinkNotification.php.ejs +++ /dev/null @@ -1,69 +0,0 @@ -\Notifications; - -use Illuminate\Bus\Queueable; -use Illuminate\Contracts\Queue\ShouldQueue; -use Illuminate\Notifications\Messages\MailMessage; -use Illuminate\Notifications\Notification; -use VaahCms\Themes\<%= theme_name %>\Models\<%= theme_name %>Registration; -use VaahCms\Themes\<%= theme_name %>\Models\<%= theme_name %>User; - -class ActivationLinkNotification extends Notification { - - use Queueable; - public $registration; - - /** - * Create a new notification instance. - * - * @return void - */ - public function __construct(<%= theme_name %>Registration $registration) - { - $this->registration = $registration; - } - - /** - * Get the notification's delivery channels. - * - * @param mixed $notifiable - * @return array - */ - public function via($notifiable) - { - return ['mail']; - } - - /** - * Get the mail representation of the notification. - * - * @param mixed $notifiable - * @return \Illuminate\Notifications\Messages\MailMessage - */ - public function toMail($notifiable) - { - return (new MailMessage) - ->line('Please click to activate your account') - ->action( - 'Activate', - route( - 'vh.frontend.<%= theme_name_lower %>.signup.activate', - [$this->registration->activation_code] - ) - ) - ->line('Thank you for using our application!'); - } - - /** - * Get the array representation of the notification. - * - * @param mixed $notifiable - * @return array - */ - public function toArray($notifiable) - { - return [ - // - ]; - } - -} diff --git a/skeletons/vaahcms/auth/Resources/assets/.gitkeep b/skeletons/vaahcms/auth/Resources/assets/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/auth/Resources/assets/js/.gitkeep b/skeletons/vaahcms/auth/Resources/assets/js/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/auth/Resources/assets/js/VueScripts.js.ejs b/skeletons/vaahcms/auth/Resources/assets/js/VueScripts.js.ejs deleted file mode 100644 index a228e3c..0000000 --- a/skeletons/vaahcms/auth/Resources/assets/js/VueScripts.js.ejs +++ /dev/null @@ -1,637 +0,0 @@ - -let VueCommon = Vue.extend({ - - methods: { - - //--------------------------------------------------------------------- - async ajaxGet(url, params, callback ) - { - - axios.defaults.headers.common = null; - - let q = { - params: params - }; - - let data = await axios.get(url, q) - .then(response => { - if(response.data.status) - { - if(response.data.status === 'failed') - { - if(response.data.messages) - { - this.toastErrors(response.data.messages); - } - - if(response.data.errors) - { - this.toastErrors(response.data.errors); - } - } - if(response.data.status === 'success') - { - if(response.data.messages) - { - this.toastSuccess(response.data.messages); - } - } - } - - if(callback) - { - if(response.data && response.data.data) - { - callback(response.data.data, response); - } else - { - callback(false, response); - } - } - - return response; - }) - .catch(error => { - - if(debug == true) - { - console.log('--->error', error); - - this.toastErrors([error]); - } else - { - this.toastErrors(['Something went wrong']); - } - - if(callback) { - callback(false, error); - } - - return error; - }); - - return data; - }, - - //--------------------------------------------------------------------- - async ajax(url, params, callback, query ) - { - - let token = document.getElementById('_token').getAttribute('content'); - //To make axios request as ajax request - axios.defaults.headers.common = { - 'X-Requested-With': 'XMLHttpRequest', - 'X-CSRF-TOKEN': token, - }; - - let q = { - params: query - }; - - let data = await axios.post(url, params, q) - .then(response => { - - this.processResponse(response); - if(callback) - { - if(response.data && response.data.data) - { - callback(response.data.data, response); - } else - { - callback(false, response); - } - } - - return response; - - }) - .catch(error => { - - console.log('--->error', error); - - if(error.response && error.response.status - && error.response.status == 401) - { - this.toastErrors(['Session Expired']); - location.reload(); - } - - this.processError(error); - - if(callback) { - callback(false, error); - } - - return error; - }); - - return data; - }, - //--------------------------------------------------------------------- - processResponse: function(response) - { - if(response.data.status || 'success' in response.data) - { - if((response.data.status && response.data.status === 'failed' ) - || !response.data.success ) - { - - if(response.data.messages) - { - this.toastErrors(response.data.messages); - } - - if(response.data.errors) - { - this.toastErrors(response.data.errors); - } - } - - if((response.data.status && response.data.status === 'success' ) - || response.data.success ) - { - - if(response.data.messages) - { - this.toastSuccess(response.data.messages); - } - } - } - - - return response; - }, - //--------------------------------------------------------------------- - processError: function(error) - { - if(debug == true) - { - console.log('--->error', error); - this.toastErrors([error]); - } else - { - this.toastErrors(['Something went wrong']); - } - }, - //--------------------------------------------------------------------- - toastSuccess(messages){ - - let list_html = ""; - let i = 1; - - if(messages.length > 1) - { - messages.forEach(function (error) { - list_html += i+") "+error+"
"; - i++; - }); - } else - { - if(messages[0]) - { - list_html += messages[0]; - } - } - - let duration = this.getMessageTime(list_html); - - if(list_html != "") - { - this.$buefy.toast.open({ - message: list_html, - type: 'is-success', - duration: duration*i - }); - } - - - }, - //----------------------------------------------------------------- - toastErrors(messages){ - - let list_html = ""; - let i = 1; - - if(messages.length > 1) - { - messages.forEach(function (error) { - list_html += i+") "+error+"
"; - i++; - }); - } else - { - if(messages[0]) - { - list_html += messages[0]; - } - } - - let duration = this.getMessageTime(list_html); - - if(list_html != "") - { - this.$buefy.snackbar.open({ - message: list_html, - position: 'is-top', - type: 'is-danger', - duration: duration, - queue: false - }); - } - - - - }, - //--------------------------------------------------------------------- - getMessageTime(str) - { - let i = 1; - let duration = 2000; - let duration_min = 2000; - let duration_max = 15000; - let leng = 0 ; - - leng = str.length; - - duration = leng*duration/25; - - if(duration < duration_min) - { - duration = duration_min; - } - - if(duration > duration_max) - { - duration = duration_max; - } - - console.log('duration', duration+' ms'); - - return duration; - }, - //--------------------------------------------------------------------- - getClipboardValue: function (e) { - - let text = (!!e.clipboardData)? e.clipboardData.getData("text/plain") : window.clipboardData.getData("Text"); - - return text; - }, - //--------------------------------------------------------------------- - updateArray: function(array, updatedElement) { - const index = array.indexOf(updatedElement); - array[index] = updatedElement; - return array; - }, - - //--------------------------------------------------------------------- - removeFromArray: function(arr, element) { - let removeIndex = arr.map(function(item) { return item; }).indexOf(element); - console.log('index', removeIndex); - return arr.splice(removeIndex, 1); - }, - //--------------------------------------------------------------------- - findInArrayByKey: function (array, key, value) { - - if(!Array.isArray(array)) - { - return false; - } - - let element = null; - - array.map(function(item, index) { - - if(item[key] == value) - { - element = item; - } - - }); - - return element; - }, - //--------------------------------------------------------------------- - //--------------------------------------------------------------------- - - } - -}); - -//============================================== - -let base_url = document.getElementsByTagName("base")[0].getAttribute("href"); -let current_url = document.getElementById("current_url").getAttribute("content"); - -const authApp = new VueCommon({ - el: '#frontendApp', - data: { - base_url: base_url, - current_url: current_url, - assets: null, - is_btn_loading: false, - is_btn_loading_otp: false, - is_input_loading: false, - is_input_message: null, - is_input_type: null, - btn_generate_otp_loading: null, - btn_reset_code_loading: null, - is_input_disabled: true, - labelPosition: 'on-border', - search_delay: null, - search_delay_time: 600, - selected_framework: null, - search_category: '', - blocks_create:{ - name: null, - description: null, - framework: null, - category: null, - code: null, - }, - login: { - email: null, - password: null, - type: 'password', - forgot_password: null, - password_confirmation: null, - reset_password_code: null, - attempts: 0, - login_otp: { - otp_0: null, - otp_1: null, - otp_2: null, - otp_3: null, - otp_4: null, - otp_5: null, - }, - max_attempts: 5, - is_password_disabled: null, - }, - signup: { - company_name: null, - name: null, - email: null, - password: null, - apps: [], - - }, - signup_invite: { - invite_status: null, - first_name: null, - last_name: null, - email: null, - password: null, - }, - activate: { - sub_domain: null, - is_sub_domain_available: null, - }, - }, - computed: { - - }, - watch: { - 'login.type': { - deep: true, - handler(new_val, old_val) { - - if(new_val === 'otp') - { - this.login.forgot_password = null; - this.login.is_password_disabled = true; - this.login.password = null; - } else - { - this.login.is_password_disabled = false; - this.login.password = null; - } - } - }, - - 'login.forgot_password': { - deep: true, - handler(new_val, old_val) { - - if(new_val === true) - { - this.login.login_via_otp = null; - this.login.is_password_disabled = true; - this.login.password = null; - } else - { - this.login.is_password_disabled = false; - this.login.password = null; - } - } - }, - - }, - mounted: function () { - - - //--------------------------------------------- - //this.getAssets(); - //--------------------------------------------- - }, - methods:{ - //--------------------------------------------- - getAssets: function () { - let params = {}; - let url = this.base_url+'/assets'; - this.ajax(url, params, this.getAssetsAfter); - }, - //--------------------------------------------------------------------- - getAssetsAfter: function (data) { - this.assets = data; - }, - //--------------------------------------------- - moveToElement: function (event, next_el_id, previous_el_id) { - - console.log('--->event.key', event.key); - - if(event.key === 'v' - || event.key === 'V' - || event.key === 'Control' - ) - { - return false - } - - let otp_val = event.target.value; - - if (event.key === "Backspace" || event.key === "Delete") { - if(previous_el_id) - { - document.getElementById(previous_el_id).focus(); - } - } else - { - if(next_el_id) - { - document.getElementById(next_el_id).focus(); - } - } - }, - //--------------------------------------------- - onOtpPaste: function(event) - { - let paste_otp = this.getClipboardValue(event); - - if(paste_otp) - { - paste_otp = paste_otp.trim(); - paste_otp = paste_otp.replace(" ", ''); - paste_otp = paste_otp.trim(); - let otp_arr = paste_otp.split(""); - - let otp_val; - let otp_index; - - if(otp_arr.length > 0) - { - for(let index in otp_arr) - { - otp_index = 'otp_'+index; - otp_val = otp_arr[index]; - this.login.login_otp[otp_index] = otp_val; - } - } - } - - - }, - //--------------------------------------------- - loginPost: function (e) { - e.preventDefault(); - this.is_btn_loading = true; - var url = this.base_url+'/signin/post'; - var params = this.login; - this.ajax(url, params, this.loginPostAfter); - }, - //--------------------------------------------- - loginPostAfter: function (data) { - this.is_btn_loading = false; - - if(data && data.redirect_url) - { - window.location.href = data.redirect_url; - } - }, - //--------------------------------------------- - generateOtp: function (e) { - e.preventDefault(); - - if(this.login.attempts > 1) - { - let messages = [ - "Maximum attempts to generate OTP has been reached" - ]; - this.toastErrors(messages) - - return false; - } - - this.btn_generate_otp_loading = true; - var url = this.base_url+'/signin/send/otp'; - var params = this.login; - this.ajax(url, params, this.generateOtpAfter); - }, - //--------------------------------------------- - generateOtpAfter: function (data) { - this.btn_generate_otp_loading = false; - this.login.attempts++; - }, - //--------------------------------------------- - sendResetPasswordCode: function (e) { - e.preventDefault(); - this.btn_reset_code_loading=true; - let params = this.login; - let url = this.base_url+'/signin/send/reset/code'; - this.ajax(url, params, this.sendResetPasswordCodeAfter); - }, - //----------------------------------------------- - sendResetPasswordCodeAfter: function (data, res) { - this.btn_reset_code_loading=false; - }, - //--------------------------------------------- - resetPasswordAndLogin: function (e) { - e.preventDefault(); - let params = this.login; - let url = this.base_url+'/signin/password/reset'; - this.ajax(url, params, this.loginPostAfter); - }, - //----------------------------------------------- - - //--------------------------------------------- - //--------------------------------------------- - signupPost: function (e) { - - e.preventDefault(); - - this.is_btn_loading = true; - var url = this.base_url+'/signup/post'; - var params = this.signup; - this.ajax(url, params, this.signupPostAfter); - }, - //--------------------------------------------- - signupPostAfter: function (data) { - this.is_btn_loading = false; - - if(data && data.redirect_url) - { - this.signup = { - name: null, - email: null, - password: null, - } - window.location.href = data.redirect_url; - } - - }, - //--------------------------------------------- - activateAccount: function (e,code) { - - e.preventDefault(); - - this.is_btn_loading = true; - var url = this.base_url+'/signup/activate/'+code+'/post'; - var params = {}; - this.ajax(url, params, this.activateAccountAfter); - }, - //--------------------------------------------- - activateAccountAfter: function (data) { - this.is_btn_loading = false; - if(data && data.redirect_url) - { - let messages = [ - 'Redirecting to sign in page in 5 seconds' - ]; - - this.toastSuccess(messages); - - setTimeout(function(){ - window.location.href = data.redirect_url; - }, 5000); - - } - }, - //--------------------------------------------- - checkStopWords: function (str) { - - let words = require( "./../json/stop-words.json"); - if(words.indexOf(str) !== -1){ - return true - } - return false; - }, - //--------------------------------------------- - - - - }, -}); - -//================================================================================ - -//================================================================================ diff --git a/skeletons/vaahcms/auth/Resources/assets/json/stop-words.json b/skeletons/vaahcms/auth/Resources/assets/json/stop-words.json deleted file mode 100644 index 3a0da35..0000000 --- a/skeletons/vaahcms/auth/Resources/assets/json/stop-words.json +++ /dev/null @@ -1,56 +0,0 @@ -[ - "about","after","all","also","am","an","and","another","any","are","as","at","be", - "because","been","before","being","between","both","but","by","came","can", - "come","could","did","do","each","for","from","get","got","has","had", - "he","have","her","here","him","himself","his","how","if","in","into", - "is","it","like","make","many","me","might","more","most","much","must", - "my","never","now","of","on","only","or","other","our","out","over", - "said","same","see","should","since","some","still","such","take","than", - "that","the","their","them","then","there","these","they","this","those", - "through","to","too","under","up","very","was","way","we","well","were", - "what","where","which","while","who","with","would","you","your","a","i", - "2g1c", "2girls1cup", "acrotomophilia", "anal", "anilingus", "anus", "arsehole", "ass", - "asshole","assmunch","autoerotic","autoerotic","babeland","babybatter","ballgag","ballgravy", - "ballkicking","balllicking","ballsack","ballsucking","bangbros","bareback","barelylegal", - "barenaked","bastardo","bastinado","bbw","bdsm","beavercleaver","beaverlips","bestiality", - "bicurious","bigblack","bigbreasts","bigknockers","bigtits","bimbos","birdlock","bitch", - "blackcock","blondeaction","blondeonblondeaction","blowj","blowyourl","bluewaffle","blumpkin", - "bollocks","bondage","boner","boob","boobs","bootycall","brownshowers","brunetteaction", - "bukkake","bulldyke","bulletvibe","bunghole","bunghole","busty","butt","buttcheeks","butthole", - "cameltoe","camgirl","camslut","camwhore","carpetmuncher","carpetmuncher","chocolaterosebuds", - "circlejerk","clevelandsteamer","clit","clitoris","cloverclamps","clusterfuck","cock","cocks", - "coprolagnia","coprophilia","cornhole","cum","cumming","cunnilingus","cunt","darkie","daterape", - "daterape","deepthroat","deepthroat","dick","dildo","dirtypillows","dirtysanchez","dogstyle", - "doggiestyle","doggiestyle","doggystyle","doggystyle","dolcett","domination","dominatrix", - "dommes","donkeypunch","doubledong","doublepenetration","dpaction","eatmyass","ecchi", - "ejaculation","erotic","erotism","escort","ethicalslut","eunuch","faggot","fecal", - "felch","fellatio","feltch","femalesquirting","femdom","figging","fingering", - "fisting","footfetish","footjob","frotting","fuck","fucking","fuckbuttons", - "fudgepacker","fudgepacker","futanari","g-spot","gangbang","gaysex","genitals", - "giantcock","girlon","girlontop","girlsgonewild","goatcx","goatse","gokkun", - "goldenshower","googirl","goodpoop","goregasm","grope","groupsex","guro","handjob", - "handjob","hardcore","hardcore","hentai","homoerotic","honkey","hooker","hotchick", - "howtokill","howtomurder","hugefat","humping","incest","intercourse","jackoff","jailbait", - "jailbait","jerkoff","jigaboo","jiggaboo","jiggerboo","jizz","juggs","kike","kinbaku", - "kinkster","kinky","knobbing","leatherrestraint","leatherstraightjacket","lemonparty", - "lolita","lovemaking","makemecome","malesquirting","masturbate","menageatrois","milf", - "missionaryposition","motherfucker","moundofvenus","mrhands","muffdiver","muffdiving", - "nambla","nawashi","negro","neonazi","nignog","nigga","nigger","nimphomania","nipple", - "nipples","nsfwimages","nude","nudity","nympho","nymphomania","octopussy","omorashi", - "onecuptwogirls","oneguyonejar","orgasm","orgy","paedophile","panties","panty","pedobear", - "pedophile","pegging","penis","phonesex","pieceofshit","pisspig","pissing","pisspig", - "playboy","pleasurechest","polesmoker","ponyplay","poof","poopchute","poopchute","porn", - "porno","pornography","princealbertpiercing","pthc","pubes","pussy","queaf","raghead", - "ragingboner","rape","raping","rapist","rectum","reversecowgirl","rimjob","rimming","rosypalm", - "rosypalmandher5sisters","rustytrombone","s&m","sadism","scat","schlong","scissoring","semen", - "sex","sexo","sexy","shavedbeaver","shavedpussy","shemale","shibari","shit","shota","shrimping", - "slanteye","slut","smut","snatch","snowballing","sodomize","sodomy","spic","spooge", - "spreadlegs","strapon","strapon","strappado","stripclub","styledoggy","suck","sucks", - "suicidegirls","sultrywomen","swastika","swinger","taintedlove","tastemy","teabagging", - "threesome","throating","tiedup","tightwhite","tit","tits","titties","titty","tongueina", - "topless","tosser","towelhead","tranny","tribadism","tubgirl","tubgirl","tushy","twat", - "twink","twinkie","twogirlsonecup","undressing","upskirt","urethraplay","urophilia", - "vagina","venusmound","vibrator","violetblue","violetwand","vorarephilia","voyeur","vulva", - "wank","wetdream","wetback","whitepower","womenrapping","wrappingmen","wrinkledstarfish", - "xx","xxx","yaoi","yellowshowers","yiffy","zoophilia" -] diff --git a/skeletons/vaahcms/auth/Resources/views/frontend/auth/activate.blade.php.ejs b/skeletons/vaahcms/auth/Resources/views/frontend/auth/activate.blade.php.ejs deleted file mode 100644 index 12a78ad..0000000 --- a/skeletons/vaahcms/auth/Resources/views/frontend/auth/activate.blade.php.ejs +++ /dev/null @@ -1,56 +0,0 @@ -@extends("<%= theme_name_lower %>::frontend.layouts.default") - -@section('vaahcms_extend_frontend_head') - -@endsection - -@section('vaahcms_extend_frontend_css') - -@endsection - -@section('vaahcms_extend_frontend_scripts') - -@endsection - -@section('content') - -
- -
-
-
- - -
-
-

Activate your account

- -
- - @if(isset($activation_code)) -
- -
-

- - Activate - -

-
- -
- @endif - -
-
- - -
-
- -
- -
-@endsection diff --git a/skeletons/vaahcms/auth/Resources/views/frontend/auth/signin.blade.php.ejs b/skeletons/vaahcms/auth/Resources/views/frontend/auth/signin.blade.php.ejs deleted file mode 100644 index 3e9b21f..0000000 --- a/skeletons/vaahcms/auth/Resources/views/frontend/auth/signin.blade.php.ejs +++ /dev/null @@ -1,214 +0,0 @@ -@extends("<%= theme_name_lower %>::frontend.layouts.default") - -@section('vaahcms_extend_frontend_head') - -@endsection - -@section('vaahcms_extend_frontend_css') - -@endsection - -@section('vaahcms_extend_frontend_scripts') - -@endsection - -@section('content') -
-
- - -
-
-

Sign In

- -
- -
- - Signin via Password - -
- -
- - Signin via OTP - -
- - - - - - - - - - Generate OTP - - - - - Generate Reset Code - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Remember me -
- -
- - Forgot Password? Reset now. - -
- - -
- - - - - - - - - - - - -
-
- -
-

- - - Reset & Login - - - - Sign In - - - - Sign Up - - -

-
- -
- -
-
- - - -
-
-@endsection diff --git a/skeletons/vaahcms/auth/Resources/views/frontend/auth/signup.blade.php.ejs b/skeletons/vaahcms/auth/Resources/views/frontend/auth/signup.blade.php.ejs deleted file mode 100644 index 2bf1194..0000000 --- a/skeletons/vaahcms/auth/Resources/views/frontend/auth/signup.blade.php.ejs +++ /dev/null @@ -1,87 +0,0 @@ -@extends("<%= theme_name_lower %>::frontend.layouts.default") - -@section('vaahcms_extend_frontend_head') - -@endsection - -@section('vaahcms_extend_frontend_css') - -@endsection - -@section('vaahcms_extend_frontend_scripts') - -@endsection - -@section('content') -
-
- - -
-
-
- - -
-
-

Sign Up

- -
- - - - - - - - - - - - - - - - - -
-

- - Sign Up - - - - Sign In - - -

-
-
- -
-
- - -
-
- -
- - - -
-
-@endsection diff --git a/skeletons/vaahcms/auth/Routes/frontend/routes-auth.php.ejs b/skeletons/vaahcms/auth/Routes/frontend/routes-auth.php.ejs deleted file mode 100644 index b8ca076..0000000 --- a/skeletons/vaahcms/auth/Routes/frontend/routes-auth.php.ejs +++ /dev/null @@ -1,49 +0,0 @@ - '/', - 'middleware' => ['web'], - 'namespace' => 'Frontend', - ], - function () { - //------------------------------------------------ - Route::get( '/login', 'AuthController@login' ) - ->name( 'login' ); - //------------------------------------------------ - Route::get( '/signout', 'AuthController@signout' ) - ->name( 'vh.frontend.<%= theme_name_lower %>.signout' ); - //------------------------------------------------ - Route::get( '/signin', 'AuthController@signin' ) - ->name( 'vh.frontend.<%= theme_name_lower %>.signin' ); - //------------------------------------------------ - Route::post( '/signin/post', 'AuthController@signinPost' ) - ->name( 'vh.frontend.<%= theme_name_lower %>.signin.post' ); - //------------------------------------------------ - Route::post( '/signin/send/otp', 'AuthController@sendOtp' ) - ->name( 'vh.frontend.<%= theme_name_lower %>.signin.send.otp' ); - //------------------------------------------------ - Route::post( '/signin/send/reset/code', 'AuthController@sendResetCode' ) - ->name( 'vh.frontend.<%= theme_name_lower %>.signin.send.reset.code' ); - //------------------------------------------------ - Route::post( '/signin/password/reset', 'AuthController@passwordResetAndSignin' ) - ->name( 'vh.frontend.<%= theme_name_lower %>.signin.password.reset' ); - //------------------------------------------------ - Route::get( '/signup', 'AuthController@signup' ) - ->name( 'vh.frontend.<%= theme_name_lower %>.signup' ); - //------------------------------------------------ - Route::post( '/signup/post', 'AuthController@signupPost' ) - ->name( 'vh.frontend.<%= theme_name_lower %>.signup.post' ); - //------------------------------------------------ - Route::get( '/signup/activate/{code}', 'AuthController@activate' ) - ->name( 'vh.frontend.<%= theme_name_lower %>.signup.activate' ); - //------------------------------------------------ - Route::any( '/signup/activate/{code}/available', 'AuthController@subDomainAvailable' ) - ->name( 'vh.frontend.<%= theme_name_lower %>.signup.activate.available' ); - //------------------------------------------------ - Route::any( '/signup/activate/{code}/post', 'AuthController@activatePost' ) - ->name( 'vh.frontend.<%= theme_name_lower %>.signup.activate.post' ); - //------------------------------------------------ - //------------------------------------------------ - //------------------------------------------------ - }); diff --git a/skeletons/vaahcms/crud-vue3/Database/Migrations/.gitkeep b/skeletons/vaahcms/crud-vue3/Database/Migrations/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/crud-vue3/Database/Migrations/migration-template.php.ejs b/skeletons/vaahcms/crud-vue3/Database/Migrations/migration-template.php.ejs deleted file mode 100644 index 93af09a..0000000 --- a/skeletons/vaahcms/crud-vue3/Database/Migrations/migration-template.php.ejs +++ /dev/null @@ -1,51 +0,0 @@ - extends Migration -{ - /** - * Run the migrations. - * - * @return void - */ - public function up() - { - - if (!Schema::hasTable('<%= table_name_lower %>')) { - Schema::create('<%= table_name_lower %>', function (Blueprint $table) { - $table->bigIncrements('id')->unsigned(); - $table->uuid('uuid')->nullable()->index(); - - $table->string('name')->nullable()->index(); - $table->string('slug')->nullable()->index(); - $table->boolean('is_active')->nullable()->index(); - - - //----common fields - $table->text('meta')->nullable(); - $table->bigInteger('created_by')->nullable()->index(); - $table->bigInteger('updated_by')->nullable()->index(); - $table->bigInteger('deleted_by')->nullable()->index(); - $table->timestamps(); - $table->softDeletes(); - $table->index(['created_at', 'updated_at', 'deleted_at']); - //----/common fields - - }); - } - - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('<%= table_name_lower %>'); - } -} diff --git a/skeletons/vaahcms/crud-vue3/Http/Controllers/.gitkeep b/skeletons/vaahcms/crud-vue3/Http/Controllers/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/crud-vue3/Http/Controllers/Controller.php.ejs b/skeletons/vaahcms/crud-vue3/Http/Controllers/Controller.php.ejs deleted file mode 100644 index a9c7299..0000000 --- a/skeletons/vaahcms/crud-vue3/Http/Controllers/Controller.php.ejs +++ /dev/null @@ -1,230 +0,0 @@ -\Http\Controllers\<%= section_name %>; - -use Illuminate\Http\Request; -use Illuminate\Routing\Controller; -use <%= namespace %>\Models\<%= model_name %>; - - -class <%= controller_name %>Controller extends Controller -{ - - - //---------------------------------------------------------- - public function __construct() - { - - } - - //---------------------------------------------------------- - - public function getAssets(Request $request) - { - - try{ - - $data = []; - - $data['permission'] = []; - $data['rows'] = config('vaahcms.per_page'); - - $data['fillable']['columns'] = <%= model_name %>::getFillableColumns(); - $data['fillable']['except'] = <%= model_name %>::getUnFillableColumns(); - $data['empty_item'] = <%= model_name %>::getEmptyItem(); - - $data['actions'] = []; - - $response['success'] = true; - $response['data'] = $data; - - }catch (\Exception $e){ - $response = []; - $response['success'] = false; - if(env('APP_DEBUG')){ - $response['errors'][] = $e->getMessage(); - $response['hint'] = $e->getTrace(); - } else{ - $response['errors'][] = trans("vaahcms-general.something_went_wrong"); - } - } - - return $response; - } - - //---------------------------------------------------------- - public function getList(Request $request) - { - try{ - return <%= model_name %>::getList($request); - }catch (\Exception $e){ - $response = []; - $response['success'] = false; - if(env('APP_DEBUG')){ - $response['errors'][] = $e->getMessage(); - $response['hint'] = $e->getTrace(); - } else{ - $response['errors'][] = trans("vaahcms-general.something_went_wrong"); - } - return $response; - } - } - //---------------------------------------------------------- - public function updateList(Request $request) - { - try{ - return <%= model_name %>::updateList($request); - }catch (\Exception $e){ - $response = []; - $response['success'] = false; - if(env('APP_DEBUG')){ - $response['errors'][] = $e->getMessage(); - $response['hint'] = $e->getTrace(); - } else{ - $response['errors'][] = trans("vaahcms-general.something_went_wrong"); - - } - return $response; - } - } - //---------------------------------------------------------- - public function listAction(Request $request, $type) - { - - - try{ - return <%= model_name %>::listAction($request, $type); - }catch (\Exception $e){ - $response = []; - $response['success'] = false; - if(env('APP_DEBUG')){ - $response['errors'][] = $e->getMessage(); - $response['hint'] = $e->getTrace(); - } else{ - $response['errors'][] = trans("vaahcms-general.something_went_wrong"); - } - return $response; - - } - } - //---------------------------------------------------------- - public function deleteList(Request $request) - { - try{ - return <%= model_name %>::deleteList($request); - }catch (\Exception $e){ - $response = []; - $response['success'] = false; - if(env('APP_DEBUG')){ - $response['errors'][] = $e->getMessage(); - $response['hint'] = $e->getTrace(); - } else{ - $response['errors'][] = trans("vaahcms-general.something_went_wrong"); - } - return $response; - } - } - //---------------------------------------------------------- - public function fillItem(Request $request) - { - try{ - return <%= model_name %>::fillItem($request); - }catch (\Exception $e){ - $response = []; - $response['success'] = false; - if(env('APP_DEBUG')){ - $response['errors'][] = $e->getMessage(); - $response['hint'] = $e->getTrace(); - } else{ - $response['errors'][] = trans("vaahcms-general.something_went_wrong"); - } - return $response; - } - } - //---------------------------------------------------------- - public function createItem(Request $request) - { - try{ - return <%= model_name %>::createItem($request); - }catch (\Exception $e){ - $response = []; - $response['success'] = false; - if(env('APP_DEBUG')){ - $response['errors'][] = $e->getMessage(); - $response['hint'] = $e->getTrace(); - } else{ - $response['errors'][] = trans("vaahcms-general.something_went_wrong"); - } - return $response; - } - } - //---------------------------------------------------------- - public function getItem(Request $request, $id) - { - try{ - return <%= model_name %>::getItem($id); - }catch (\Exception $e){ - $response = []; - $response['success'] = false; - if(env('APP_DEBUG')){ - $response['errors'][] = $e->getMessage(); - $response['hint'] = $e->getTrace(); - } else{ - $response['errors'][] = trans("vaahcms-general.something_went_wrong"); - } - return $response; - } - } - //---------------------------------------------------------- - public function updateItem(Request $request,$id) - { - try{ - return <%= model_name %>::updateItem($request,$id); - }catch (\Exception $e){ - $response = []; - $response['success'] = false; - if(env('APP_DEBUG')){ - $response['errors'][] = $e->getMessage(); - $response['hint'] = $e->getTrace(); - } else{ - $response['errors'][] = trans("vaahcms-general.something_went_wrong"); - } - return $response; - } - } - //---------------------------------------------------------- - public function deleteItem(Request $request,$id) - { - try{ - return <%= model_name %>::deleteItem($request,$id); - }catch (\Exception $e){ - $response = []; - $response['success'] = false; - if(env('APP_DEBUG')){ - $response['errors'][] = $e->getMessage(); - $response['hint'] = $e->getTrace(); - } else{ - $response['errors'][] = trans("vaahcms-general.something_went_wrong"); - } - return $response; - } - } - //---------------------------------------------------------- - public function itemAction(Request $request,$id,$action) - { - try{ - return <%= model_name %>::itemAction($request,$id,$action); - }catch (\Exception $e){ - $response = []; - $response['success'] = false; - if(env('APP_DEBUG')){ - $response['errors'][] = $e->getMessage(); - $response['hint'] = $e->getTrace(); - } else{ - $response['errors'][] = trans("vaahcms-general.something_went_wrong"); - } - return $response; - } - } - //---------------------------------------------------------- - - -} diff --git a/skeletons/vaahcms/crud-vue3/Models/.gitkeep b/skeletons/vaahcms/crud-vue3/Models/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/crud-vue3/Models/Model.php.ejs b/skeletons/vaahcms/crud-vue3/Models/Model.php.ejs deleted file mode 100644 index f2e61a4..0000000 --- a/skeletons/vaahcms/crud-vue3/Models/Model.php.ejs +++ /dev/null @@ -1,648 +0,0 @@ -\Models; - -use DateTimeInterface; -use Illuminate\Database\Eloquent\SoftDeletes; -use Illuminate\Http\Request; -use Illuminate\Support\Str; -use Faker\Factory; -use WebReinvent\VaahCms\Models\VaahModel; -use WebReinvent\VaahCms\Traits\CrudWithUuidObservantTrait; -use WebReinvent\VaahCms\Models\User; -use WebReinvent\VaahCms\Libraries\VaahSeeder; - -class <%= model_name %> extends VaahModel -{ - - use SoftDeletes; - use CrudWithUuidObservantTrait; - - //------------------------------------------------- - protected $table = '<%= table_name %>'; - //------------------------------------------------- - protected $dates = [ - 'created_at', - 'updated_at', - 'deleted_at' - ]; - //------------------------------------------------- - protected $fillable = [ - 'uuid', - 'name', - 'slug', - 'is_active', - 'created_by', - 'updated_by', - 'deleted_by', - ]; - //------------------------------------------------- - protected $fill_except = [ - - ]; - - //------------------------------------------------- - protected $appends = [ - ]; - - //------------------------------------------------- - protected function serializeDate(DateTimeInterface $date) - { - $date_time_format = config('settings.global.datetime_format'); - return $date->format($date_time_format); - } - - //------------------------------------------------- - public static function getUnFillableColumns() - { - return [ - 'uuid', - 'created_by', - 'updated_by', - 'deleted_by', - ]; - } - //------------------------------------------------- - public static function getFillableColumns() - { - $model = new self(); - $except = $model->fill_except; - $fillable_columns = $model->getFillable(); - $fillable_columns = array_diff( - $fillable_columns, $except - ); - return $fillable_columns; - } - //------------------------------------------------- - public static function getEmptyItem() - { - $model = new self(); - $fillable = $model->getFillable(); - $empty_item = []; - foreach ($fillable as $column) - { - $empty_item[$column] = null; - } - - $empty_item['is_active'] = 1; - - return $empty_item; - } - - //------------------------------------------------- - - public function createdByUser() - { - return $this->belongsTo(User::class, - 'created_by', 'id' - )->select('id', 'uuid', 'first_name', 'last_name', 'email'); - } - - //------------------------------------------------- - public function updatedByUser() - { - return $this->belongsTo(User::class, - 'updated_by', 'id' - )->select('id', 'uuid', 'first_name', 'last_name', 'email'); - } - - //------------------------------------------------- - public function deletedByUser() - { - return $this->belongsTo(User::class, - 'deleted_by', 'id' - )->select('id', 'uuid', 'first_name', 'last_name', 'email'); - } - - //------------------------------------------------- - public function getTableColumns() - { - return $this->getConnection()->getSchemaBuilder() - ->getColumnListing($this->getTable()); - } - - //------------------------------------------------- - public function scopeExclude($query, $columns) - { - return $query->select(array_diff($this->getTableColumns(), $columns)); - } - - //------------------------------------------------- - public function scopeBetweenDates($query, $from, $to) - { - - if ($from) { - $from = \Carbon::parse($from) - ->startOfDay() - ->toDateTimeString(); - } - - if ($to) { - $to = \Carbon::parse($to) - ->endOfDay() - ->toDateTimeString(); - } - - $query->whereBetween('updated_at', [$from, $to]); - } - - //------------------------------------------------- - public static function createItem($request) - { - - $inputs = $request->all(); - - $validation = self::validation($inputs); - if (!$validation['success']) { - return $validation; - } - - - // check if name exist - $item = self::where('name', $inputs['name'])->withTrashed()->first(); - - if ($item) { - $error_message = "This name is already exist".($item->deleted_at?' in trash.':'.'); - $response['success'] = false; - $response['messages'][] = $error_message; - return $response; - } - - // check if slug exist - $item = self::where('slug', $inputs['slug'])->withTrashed()->first(); - - if ($item) { - $error_message = "This slug is already exist".($item->deleted_at?' in trash.':'.'); - $response['success'] = false; - $response['messages'][] = $error_message; - return $response; - } - - $item = new self(); - $item->fill($inputs); - $item->save(); - - $response = self::getItem($item->id); - $response['messages'][] = trans("vaahcms-general.saved_successfully"); - return $response; - - } - - //------------------------------------------------- - public function scopeGetSorted($query, $filter) - { - - if(!isset($filter['sort'])) - { - return $query->orderBy('id', 'desc'); - } - - $sort = $filter['sort']; - - - $direction = Str::contains($sort, ':'); - - if(!$direction) - { - return $query->orderBy($sort, 'asc'); - } - - $sort = explode(':', $sort); - - return $query->orderBy($sort[0], $sort[1]); - } - //------------------------------------------------- - public function scopeIsActiveFilter($query, $filter) - { - - if(!isset($filter['is_active']) - || is_null($filter['is_active']) - || $filter['is_active'] === 'null' - ) - { - return $query; - } - $is_active = $filter['is_active']; - - if($is_active === 'true' || $is_active === true) - { - return $query->where('is_active', 1); - } else{ - return $query->where(function ($q){ - $q->whereNull('is_active') - ->orWhere('is_active', 0); - }); - } - - } - //------------------------------------------------- - public function scopeTrashedFilter($query, $filter) - { - - if(!isset($filter['trashed'])) - { - return $query; - } - $trashed = $filter['trashed']; - - if($trashed === 'include') - { - return $query->withTrashed(); - } else if($trashed === 'only'){ - return $query->onlyTrashed(); - } - - } - //------------------------------------------------- - public function scopeSearchFilter($query, $filter) - { - - if(!isset($filter['q'])) - { - return $query; - } - $search_array = explode(' ',$filter['q']); - foreach ($search_array as $search_item){ - $query->where(function ($q1) use ($search_item) { - $q1->where('name', 'LIKE', '%' . $search_item . '%') - ->orWhere('slug', 'LIKE', '%' . $search_item . '%') - ->orWhere('id', 'LIKE', $search_item . '%'); - }); - } - - } - //------------------------------------------------- - public static function getList($request) - { - $list = self::getSorted($request->filter); - $list->isActiveFilter($request->filter); - $list->trashedFilter($request->filter); - $list->searchFilter($request->filter); - - $rows = config('vaahcms.per_page'); - - if($request->has('rows')) - { - $rows = $request->rows; - } - - $list = $list->paginate($rows); - - $response['success'] = true; - $response['data'] = $list; - - return $response; - - - } - - //------------------------------------------------- - public static function updateList($request) - { - - $inputs = $request->all(); - - $rules = array( - 'type' => 'required', - ); - - $messages = array( - 'type.required' => trans("vaahcms-general.action_type_is_required"), - ); - - - $validator = \Validator::make($inputs, $rules, $messages); - if ($validator->fails()) { - - $errors = errorsToArray($validator->errors()); - $response['success'] = false; - $response['errors'] = $errors; - return $response; - } - - if(isset($inputs['items'])) - { - $items_id = collect($inputs['items']) - ->pluck('id') - ->toArray(); - } - - $items = self::whereIn('id', $items_id); - - switch ($inputs['type']) { - case 'deactivate': - $items->withTrashed()->where(['is_active' => 1]) - ->update(['is_active' => null]); - break; - case 'activate': - $items->withTrashed()->where(function ($q){ - $q->where('is_active', 0)->orWhereNull('is_active'); - })->update(['is_active' => 1]); - break; - case 'trash': - self::whereIn('id', $items_id) - ->get()->each->delete(); - break; - case 'restore': - self::whereIn('id', $items_id)->onlyTrashed() - ->get()->each->restore(); - break; - } - - $response['success'] = true; - $response['data'] = true; - $response['messages'][] = trans("vaahcms-general.action_successful"); - - return $response; - } - - //------------------------------------------------- - public static function deleteList($request): array - { - $inputs = $request->all(); - - $rules = array( - 'type' => 'required', - 'items' => 'required', - ); - - $messages = array( - 'type.required' => trans("vaahcms-general.action_type_is_required"), - 'items.required' => trans("vaahcms-general.select_items"), - ); - - $validator = \Validator::make($inputs, $rules, $messages); - if ($validator->fails()) { - - $errors = errorsToArray($validator->errors()); - $response['success'] = false; - $response['errors'] = $errors; - return $response; - } - - $items_id = collect($inputs['items'])->pluck('id')->toArray(); - self::whereIn('id', $items_id)->forceDelete(); - - $response['success'] = true; - $response['data'] = true; - $response['messages'][] = trans("vaahcms-general.action_successful"); - - return $response; - } - //------------------------------------------------- - public static function listAction($request, $type): array - { - - $list = self::query(); - - if($request->has('filter')){ - $list->getSorted($request->filter); - $list->isActiveFilter($request->filter); - $list->trashedFilter($request->filter); - $list->searchFilter($request->filter); - } - - switch ($type) { - case 'activate-all': - $list->withTrashed()->where(function ($q){ - $q->where('is_active', 0)->orWhereNull('is_active'); - })->update(['is_active' => 1]); - break; - case 'deactivate-all': - $list->withTrashed()->where(['is_active' => 1]) - ->update(['is_active' => null]); - break; - case 'trash-all': - $list->get()->each->delete(); - break; - case 'restore-all': - $list->onlyTrashed()->get() - ->each->restore(); - break; - case 'delete-all': - $list->forceDelete(); - break; - case 'create-100-records': - case 'create-1000-records': - case 'create-5000-records': - case 'create-10000-records': - - if(!config('<%= folder_name_lower %>.is_dev')){ - $response['success'] = false; - $response['errors'][] = 'User is not in the development environment.'; - - return $response; - } - - preg_match('/-(.*?)-/', $type, $matches); - - if(count($matches) !== 2){ - break; - } - - self::seedSampleItems($matches[1]); - break; - } - - $response['success'] = true; - $response['data'] = true; - $response['messages'][] = trans("vaahcms-general.action_successful"); - - return $response; - } - //------------------------------------------------- - public static function getItem($id) - { - - $item = self::where('id', $id) - ->with(['createdByUser', 'updatedByUser', 'deletedByUser']) - ->withTrashed() - ->first(); - - if(!$item) - { - $response['success'] = false; - $response['errors'][] = 'Record not found with ID: '.$id; - return $response; - } - $response['success'] = true; - $response['data'] = $item; - - return $response; - - } - //------------------------------------------------- - public static function updateItem($request, $id) - { - $inputs = $request->all(); - - $validation = self::validation($inputs); - if (!$validation['success']) { - return $validation; - } - - // check if name exist - $item = self::where('id', '!=', $id) - ->withTrashed() - ->where('name', $inputs['name'])->first(); - - if ($item) { - $error_message = "This name is already exist".($item->deleted_at?' in trash.':'.'); - $response['success'] = false; - $response['errors'][] = $error_message; - return $response; - } - - // check if slug exist - $item = self::where('id', '!=', $id) - ->withTrashed() - ->where('slug', $inputs['slug'])->first(); - - if ($item) { - $error_message = "This slug is already exist".($item->deleted_at?' in trash.':'.'); - $response['success'] = false; - $response['errors'][] = $error_message; - return $response; - } - - $item = self::where('id', $id)->withTrashed()->first(); - $item->fill($inputs); - $item->save(); - - $response = self::getItem($item->id); - $response['messages'][] = trans("vaahcms-general.saved_successfully"); - return $response; - - } - //------------------------------------------------- - public static function deleteItem($request, $id): array - { - $item = self::where('id', $id)->withTrashed()->first(); - if (!$item) { - $response['success'] = false; - $response['errors'][] = trans("vaahcms-general.record_does_not_exist"); - return $response; - } - $item->forceDelete(); - - $response['success'] = true; - $response['data'] = []; - $response['messages'][] = trans("vaahcms-general.record_has_been_deleted"); - - return $response; - } - //------------------------------------------------- - public static function itemAction($request, $id, $type): array - { - switch($type) - { - case 'activate': - self::where('id', $id) - ->withTrashed() - ->update(['is_active' => 1]); - break; - case 'deactivate': - self::where('id', $id) - ->withTrashed() - ->update(['is_active' => null]); - break; - case 'trash': - self::find($id) - ->delete(); - break; - case 'restore': - self::where('id', $id) - ->onlyTrashed() - ->first()->restore(); - break; - } - - return self::getItem($id); - } - //------------------------------------------------- - - public static function validation($inputs) - { - - $rules = array( - 'name' => 'required|max:150', - 'slug' => 'required|max:150', - ); - - $validator = \Validator::make($inputs, $rules); - if ($validator->fails()) { - $messages = $validator->errors(); - $response['success'] = false; - $response['errors'] = $messages->all(); - return $response; - } - - $response['success'] = true; - return $response; - - } - - //------------------------------------------------- - public static function getActiveItems() - { - $item = self::where('is_active', 1) - ->withTrashed() - ->first(); - return $item; - } - - //------------------------------------------------- - //------------------------------------------------- - public static function seedSampleItems($records=100) - { - - $i = 0; - - while($i < $records) - { - $inputs = self::fillItem(false); - - $item = new self(); - $item->fill($inputs); - $item->save(); - - $i++; - - } - - } - - - //------------------------------------------------- - public static function fillItem($is_response_return = true) - { - $request = new Request([ - 'model_namespace' => self::class, - 'except' => self::getUnFillableColumns() - ]); - $fillable = VaahSeeder::fill($request); - if(!$fillable['success']){ - return $fillable; - } - $inputs = $fillable['data']['fill']; - - $faker = Factory::create(); - - /* - * You can override the filled variables below this line. - * You should also return relationship from here - */ - - if(!$is_response_return){ - return $inputs; - } - - $response['success'] = true; - $response['data']['fill'] = $inputs; - return $response; - } - - //------------------------------------------------- - //------------------------------------------------- - //------------------------------------------------- - - -} diff --git a/skeletons/vaahcms/crud-vue3/Routes/api/api-routes-template.php.ejs b/skeletons/vaahcms/crud-vue3/Routes/api/api-routes-template.php.ejs deleted file mode 100644 index fc76ade..0000000 --- a/skeletons/vaahcms/crud-vue3/Routes/api/api-routes-template.php.ejs +++ /dev/null @@ -1,70 +0,0 @@ -\Http\Controllers\<%= section_name %>\<%= controller_name %>Controller; -/* - * API url will be: /public/api/<%= folder_name_lower %>/<%= controller_name_lower %> - */ -Route::group( - [ - 'prefix' => '<%= folder_name_lower %>/<%= controller_name_lower %>', - 'namespace' => '<%= section_name %>', - ], -function () { - - /** - * Get Assets - */ - Route::get('/assets', [<%= controller_name %>Controller::class, 'getAssets']) - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.api.<%= controller_name_lower %>.assets'); - /** - * Get List - */ - Route::get('/', [<%= controller_name %>Controller::class, 'getList']) - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.api.<%= controller_name_lower %>.list'); - /** - * Update List - */ - Route::match(['put', 'patch'], '/', [<%= controller_name %>Controller::class, 'updateList']) - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.api.<%= controller_name_lower %>.list.update'); - /** - * Delete List - */ - Route::delete('/', [<%= controller_name %>Controller::class, 'deleteList']) - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.api.<%= controller_name_lower %>.list.delete'); - - - /** - * Create Item - */ - Route::post('/', [<%= controller_name %>Controller::class, 'createItem']) - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.api.<%= controller_name_lower %>.create'); - /** - * Get Item - */ - Route::get('/{id}', [<%= controller_name %>Controller::class, 'getItem']) - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.api.<%= controller_name_lower %>.read'); - /** - * Update Item - */ - Route::match(['put', 'patch'], '/{id}', [<%= controller_name %>Controller::class, 'updateItem']) - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.api.<%= controller_name_lower %>.update'); - /** - * Delete Item - */ - Route::delete('/{id}', [<%= controller_name %>Controller::class, 'deleteItem']) - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.api.<%= controller_name_lower %>.delete'); - - /** - * List Actions - */ - Route::any('/action/{action}', [<%= controller_name %>Controller::class, 'listAction']) - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.api.<%= controller_name_lower %>.list.action'); - - /** - * Item actions - */ - Route::any('/{id}/action/{action}', [<%= controller_name %>Controller::class, 'itemAction']) - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.api.<%= controller_name_lower %>.item.action'); - - - -}); diff --git a/skeletons/vaahcms/crud-vue3/Routes/backend/routes-template.php.ejs b/skeletons/vaahcms/crud-vue3/Routes/backend/routes-template.php.ejs deleted file mode 100644 index 491f4d3..0000000 --- a/skeletons/vaahcms/crud-vue3/Routes/backend/routes-template.php.ejs +++ /dev/null @@ -1,78 +0,0 @@ -\Http\Controllers\<%= section_name %>\<%= controller_name %>Controller; - -Route::group( - [ - 'prefix' => '<%= url+folder_name_lower %>/<%= controller_name_lower %>', - <%if (section_name == 'Backend') { %> - 'middleware' => ['web', 'has.backend.access'], - <% } else{ %> - 'middleware' => ['web'], - <% } %> -], -function () { - /** - * Get Assets - */ - Route::get('/assets', [<%= controller_name %>Controller::class, 'getAssets']) - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.<%= controller_name_lower %>.assets'); - /** - * Get List - */ - Route::get('/', [<%= controller_name %>Controller::class, 'getList']) - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.<%= controller_name_lower %>.list'); - /** - * Update List - */ - Route::match(['put', 'patch'], '/', [<%= controller_name %>Controller::class, 'updateList']) - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.<%= controller_name_lower %>.list.update'); - /** - * Delete List - */ - Route::delete('/', [<%= controller_name %>Controller::class, 'deleteList']) - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.<%= controller_name_lower %>.list.delete'); - - - /** - * Fill Form Inputs - */ - Route::any('/fill', [<%= controller_name %>Controller::class, 'fillItem']) - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.<%= controller_name_lower %>.fill'); - - /** - * Create Item - */ - Route::post('/', [<%= controller_name %>Controller::class, 'createItem']) - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.<%= controller_name_lower %>.create'); - /** - * Get Item - */ - Route::get('/{id}', [<%= controller_name %>Controller::class, 'getItem']) - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.<%= controller_name_lower %>.read'); - /** - * Update Item - */ - Route::match(['put', 'patch'], '/{id}', [<%= controller_name %>Controller::class, 'updateItem']) - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.<%= controller_name_lower %>.update'); - /** - * Delete Item - */ - Route::delete('/{id}', [<%= controller_name %>Controller::class, 'deleteItem']) - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.<%= controller_name_lower %>.delete'); - - /** - * List Actions - */ - Route::any('/action/{action}', [<%= controller_name %>Controller::class, 'listAction']) - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.<%= controller_name_lower %>.list.actions'); - - /** - * Item actions - */ - Route::any('/{id}/action/{action}', [<%= controller_name %>Controller::class, 'itemAction']) - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.<%= controller_name_lower %>.item.action'); - - //--------------------------------------------------------- - -}); diff --git a/skeletons/vaahcms/crud-vue3/Vue/pages/template/Form.vue.ejs b/skeletons/vaahcms/crud-vue3/Vue/pages/template/Form.vue.ejs deleted file mode 100644 index 40a892b..0000000 --- a/skeletons/vaahcms/crud-vue3/Vue/pages/template/Form.vue.ejs +++ /dev/null @@ -1,175 +0,0 @@ - - diff --git a/skeletons/vaahcms/crud-vue3/Vue/pages/template/Item.vue.ejs b/skeletons/vaahcms/crud-vue3/Vue/pages/template/Item.vue.ejs deleted file mode 100644 index 7d0dacd..0000000 --- a/skeletons/vaahcms/crud-vue3/Vue/pages/template/Item.vue.ejs +++ /dev/null @@ -1,168 +0,0 @@ - - diff --git a/skeletons/vaahcms/crud-vue3/Vue/pages/template/List.vue.ejs b/skeletons/vaahcms/crud-vue3/Vue/pages/template/List.vue.ejs deleted file mode 100644 index 097ff52..0000000 --- a/skeletons/vaahcms/crud-vue3/Vue/pages/template/List.vue.ejs +++ /dev/null @@ -1,138 +0,0 @@ - - diff --git a/skeletons/vaahcms/crud-vue3/Vue/pages/template/components/Actions.vue.ejs b/skeletons/vaahcms/crud-vue3/Vue/pages/template/components/Actions.vue.ejs deleted file mode 100644 index ef44463..0000000 --- a/skeletons/vaahcms/crud-vue3/Vue/pages/template/components/Actions.vue.ejs +++ /dev/null @@ -1,125 +0,0 @@ - - - diff --git a/skeletons/vaahcms/crud-vue3/Vue/pages/template/components/Filters.vue.ejs b/skeletons/vaahcms/crud-vue3/Vue/pages/template/components/Filters.vue.ejs deleted file mode 100644 index e469887..0000000 --- a/skeletons/vaahcms/crud-vue3/Vue/pages/template/components/Filters.vue.ejs +++ /dev/null @@ -1,144 +0,0 @@ - - - diff --git a/skeletons/vaahcms/crud-vue3/Vue/pages/template/components/Table.vue.ejs b/skeletons/vaahcms/crud-vue3/Vue/pages/template/components/Table.vue.ejs deleted file mode 100644 index f62adee..0000000 --- a/skeletons/vaahcms/crud-vue3/Vue/pages/template/components/Table.vue.ejs +++ /dev/null @@ -1,136 +0,0 @@ - - - diff --git a/skeletons/vaahcms/crud-vue3/Vue/routes/vue-routes-template.js.ejs b/skeletons/vaahcms/crud-vue3/Vue/routes/vue-routes-template.js.ejs deleted file mode 100644 index 76dc6a9..0000000 --- a/skeletons/vaahcms/crud-vue3/Vue/routes/vue-routes-template.js.ejs +++ /dev/null @@ -1,33 +0,0 @@ -let routes= []; -let routes_list= []; - -import List from '../pages/<%= controller_name_lower %>/List.vue' -import Form from '../pages/<%= controller_name_lower %>/Form.vue' -import Item from '../pages/<%= controller_name_lower %>/Item.vue' - -routes_list = { - - path: '/<%= controller_name_lower %>', - name: '<%= controller_name_lower %>.index', - component: List, - props: true, - children:[ - { - path: 'form/:id?', - name: '<%= controller_name_lower %>.form', - component: Form, - props: true, - }, - { - path: 'view/:id?', - name: '<%= controller_name_lower %>.view', - component: Item, - props: true, - } - ] -}; - -routes.push(routes_list); - -export default routes; - diff --git a/skeletons/vaahcms/crud-vue3/Vue/stores/store-template.js.ejs b/skeletons/vaahcms/crud-vue3/Vue/stores/store-template.js.ejs deleted file mode 100644 index e37cea8..0000000 --- a/skeletons/vaahcms/crud-vue3/Vue/stores/store-template.js.ejs +++ /dev/null @@ -1,942 +0,0 @@ -import {watch} from 'vue' -import {acceptHMRUpdate, defineStore} from 'pinia' -import qs from 'qs' -import {vaah} from '../vaahvue/pinia/vaah' - -let model_namespace = 'VaahCms\\Modules\\<%= folder_name %>\\Models\\<%= model_name %>'; - - -let base_url = document.getElementsByTagName('base')[0].getAttribute("href"); -let ajax_url = base_url + "/<%= folder_name_lower %>/<%= controller_name_lower %>"; - -let empty_states = { - query: { - page: null, - rows: null, - filter: { - q: null, - is_active: null, - trashed: null, - sort: null, - }, - }, - action: { - type: null, - items: [], - } -}; - -export const use<%= model_name %>Store = defineStore({ - id: '<%= controller_name_lower %>', - state: () => ({ - base_url: base_url, - ajax_url: ajax_url, - model: model_namespace, - assets_is_fetching: true, - app: null, - assets: null, - rows_per_page: [10,20,30,50,100,500], - list: null, - item: null, - fillable:null, - empty_query:empty_states.query, - empty_action:empty_states.action, - query: vaah().clone(empty_states.query), - action: vaah().clone(empty_states.action), - search: { - delay_time: 600, // time delay in milliseconds - delay_timer: 0 // time delay in milliseconds - }, - route: null, - watch_stopper: null, - route_prefix: '<%= controller_name_lower %>.', - view: 'large', - show_filters: false, - list_view_width: 12, - form: { - type: 'Create', - action: null, - is_button_loading: null - }, - is_list_loading: null, - count_filters: 0, - list_selected_menu: [], - list_bulk_menu: [], - list_create_menu: [], - item_menu_list: [], - item_menu_state: null, - form_menu_list: [] - }), - getters: { - - }, - actions: { - //--------------------------------------------------------------------- - async onLoad(route) - { - /** - * Set initial routes - */ - this.route = route; - - /** - * Update with view and list css column number - */ - await this.setViewAndWidth(route.name); - - await(this.query = vaah().clone(this.empty_query)); - - await this.countFilters(this.query); - - /** - * Update query state with the query parameters of url - */ - await this.updateQueryFromUrl(route); - }, - //--------------------------------------------------------------------- - setRowClass(data){ - return [{ 'bg-gray-200': data.id == this.route.params.id }]; - }, - //--------------------------------------------------------------------- - setViewAndWidth(route_name) - { - switch(route_name) - { - case '<%= controller_name_lower %>.index': - this.view = 'large'; - this.list_view_width = 12; - break; - default: - this.view = 'small'; - this.list_view_width = 6; - this.show_filters = false; - break - } - }, - //--------------------------------------------------------------------- - async updateQueryFromUrl(route) - { - if(route.query) - { - if(Object.keys(route.query).length > 0) - { - for(let key in route.query) - { - this.query[key] = route.query[key] - } - if(this.query.rows){ - this.query.rows = parseInt(this.query.rows); - } - this.countFilters(route.query); - } - } - }, - //--------------------------------------------------------------------- - watchRoutes(route) - { - //watch routes - this.watch_stopper = watch(route, (newVal,oldVal) => - { - - if(this.watch_stopper && !newVal.name.includes(this.route_prefix)){ - this.watch_stopper(); - - return false; - } - - this.route = newVal; - - if(newVal.params.id){ - this.getItem(newVal.params.id); - } - - this.setViewAndWidth(newVal.name); - - }, { deep: true } - ) - }, - //--------------------------------------------------------------------- - watchStates() - { - watch(this.query.filter, (newVal,oldVal) => - { - this.delayedSearch(); - },{deep: true} - ) - }, - //--------------------------------------------------------------------- - watchItem(name) - { - if(name && name !== "") - { - this.item.name = vaah().capitalising(name); - this.item.slug = vaah().strToSlug(name); - }else{ - this.item.slug = name; - } - }, - //--------------------------------------------------------------------- - async getAssets() { - - if(this.assets_is_fetching === true){ - this.assets_is_fetching = false; - - await vaah().ajax( - this.ajax_url+'/assets', - this.afterGetAssets, - ); - } - }, - //--------------------------------------------------------------------- - afterGetAssets(data, res) - { - if(data) - { - this.assets = data; - if(!this.query.rows && data.rows) - { - this.query.rows = data.rows; - this.empty_query.rows = data.rows; - } - - if(this.route.params && !this.route.params.id){ - this.item = vaah().clone(data.empty_item); - } - - } - }, - //--------------------------------------------------------------------- - async getList() { - let options = { - query: vaah().clone(this.query) - }; - await vaah().ajax( - this.ajax_url, - this.afterGetList, - options - ); - }, - //--------------------------------------------------------------------- - afterGetList: function (data, res) - { - if(data) - { - this.list = data; - } - }, - //--------------------------------------------------------------------- - - async getItem(id) { - if(id){ - await vaah().ajax( - ajax_url+'/'+id, - this.getItemAfter - ); - } - }, - //--------------------------------------------------------------------- - async getItemAfter(data, res) - { - if(data) - { - this.item = data; - }else{ - this.$router.push({name: '<%= controller_name_lower %>.index',query:this.query}); - } - await this.getItemMenu(); - await this.getFormMenu(); - }, - //--------------------------------------------------------------------- - isListActionValid() - { - - if(!this.action.type) - { - vaah().toastErrors(['Select an action type']); - return false; - } - - if(this.action.items.length < 1) - { - vaah().toastErrors(['Select records']); - return false; - } - - return true; - }, - //--------------------------------------------------------------------- - async updateList(type = null){ - - if(!type && this.action.type) - { - type = this.action.type; - } else{ - this.action.type = type; - } - - if(!this.isListActionValid()) - { - return false; - } - - - let method = 'PUT'; - - switch (type) - { - case 'delete': - method = 'DELETE'; - break; - } - - let options = { - params: this.action, - method: method, - show_success: false - }; - await vaah().ajax( - this.ajax_url, - this.updateListAfter, - options - ); - }, - //--------------------------------------------------------------------- - async updateListAfter(data, res) { - if(data) - { - this.action = vaah().clone(this.empty_action); - await this.getList(); - } - }, - //--------------------------------------------------------------------- - async listAction(type = null){ - - if(!type && this.action.type) - { - type = this.action.type; - } else{ - this.action.type = type; - } - - let url = this.ajax_url+'/action/'+type - let method = 'PUT'; - - switch (type) - { - case 'delete': - url = this.ajax_url - method = 'DELETE'; - break; - case 'delete-all': - method = 'DELETE'; - break; - } - - this.action.filter = this.query.filter; - - let options = { - params: this.action, - method: method, - show_success: false - }; - await vaah().ajax( - url, - this.updateListAfter, - options - ); - }, - //--------------------------------------------------------------------- - async itemAction(type, item=null){ - if(!item) - { - item = this.item; - } - - this.form.action = type; - - let ajax_url = this.ajax_url; - - let options = { - method: 'post', - }; - - /** - * Learn more about http request methods at - * https://www.youtube.com/watch?v=tkfVQK6UxDI - */ - switch (type) - { - /** - * Create a record, hence method is `POST` - * https://docs.vaah.dev/guide/laravel.html#create-one-or-many-records - */ - case 'create-and-new': - case 'create-and-close': - case 'create-and-clone': - options.method = 'POST'; - options.params = item; - break; - - /** - * Update a record with many columns, hence method is `PUT` - * https://docs.vaah.dev/guide/laravel.html#update-a-record-update-soft-delete-status-change-etc - */ - case 'save': - case 'save-and-close': - case 'save-and-clone': - options.method = 'PUT'; - options.params = item; - ajax_url += '/'+item.id - break; - /** - * Delete a record, hence method is `DELETE` - * and no need to send entire `item` object - * https://docs.vaah.dev/guide/laravel.html#delete-a-record-hard-deleted - */ - case 'delete': - options.method = 'DELETE'; - ajax_url += '/'+item.id - break; - /** - * Update a record's one column or very few columns, - * hence the method is `PATCH` - * https://docs.vaah.dev/guide/laravel.html#update-a-record-update-soft-delete-status-change-etc - */ - default: - options.method = 'PATCH'; - ajax_url += '/'+item.id+'/action/'+type; - break; - } - - await vaah().ajax( - ajax_url, - this.itemActionAfter, - options - ); - }, - //--------------------------------------------------------------------- - async itemActionAfter(data, res) - { - if(data) - { - await this.getList(); - await this.formActionAfter(data); - this.getItemMenu(); - this.getFormMenu(); - } - }, - //--------------------------------------------------------------------- - async formActionAfter (data) - { - switch (this.form.action) - { - case 'create-and-new': - case 'save-and-new': - this.setActiveItemAsEmpty(); - break; - case 'create-and-close': - case 'save-and-close': - this.setActiveItemAsEmpty(); - this.$router.push({name: '<%= controller_name_lower %>.index',query:this.query}); - break; - case 'save-and-clone': - case 'create-and-clone': - this.item.id = null; - this.$router.push({name: '<%= controller_name_lower %>.form',query:this.query,params: { id: null }}); - await this.getFormMenu(); - break; - case 'trash': - case 'restore': - case 'save': - if(this.item && this.item.id){ - this.item = data; - } - break; - case 'delete': - this.item = null; - this.toList(); - break; - } - }, - //--------------------------------------------------------------------- - async toggleIsActive(item) - { - if(item.is_active) - { - await this.itemAction('activate', item); - } else{ - await this.itemAction('deactivate', item); - } - }, - //--------------------------------------------------------------------- - async paginate(event) { - this.query.page = event.page+1; - await this.getList(); - await this.updateUrlQueryString(this.query); - }, - //--------------------------------------------------------------------- - async reload() - { - await this.getAssets(); - await this.getList(); - }, - //--------------------------------------------------------------------- - async getFormInputs () { - let params = { - model_namespace: this.model, - except: this.assets.fillable.except, - }; - - let url = this.ajax_url+'/fill'; - - await vaah().ajax( - url, - this.getFormInputsAfter, - ); - }, - //--------------------------------------------------------------------- - getFormInputsAfter: function (data, res) { - if(data) - { - let self = this; - Object.keys(data.fill).forEach(function(key) { - self.item[key] = data.fill[key]; - }); - } - }, - - //--------------------------------------------------------------------- - - //--------------------------------------------------------------------- - onItemSelection(items) - { - this.action.items = items; - }, - //--------------------------------------------------------------------- - setActiveItemAsEmpty() - { - this.item = vaah().clone(this.assets.empty_item); - }, - //--------------------------------------------------------------------- - confirmDelete() - { - if(this.action.items.length < 1) - { - vaah().toastErrors(['Select a record']); - return false; - } - this.action.type = 'delete'; - vaah().confirmDialogDelete(this.listAction); - }, - //--------------------------------------------------------------------- - confirmDeleteAll() - { - this.action.type = 'delete-all'; - vaah().confirmDialogDelete(this.listAction); - }, - //--------------------------------------------------------------------- - confirmAction(action_type,action_header) - { - this.action.type = action_type; - vaah().confirmDialog(action_header,'Are you sure you want to do this action?', - this.listAction,null,'p-button-primary'); - }, - //--------------------------------------------------------------------- - async delayedSearch() - { - let self = this; - this.query.page = 1; - this.action.items = []; - clearTimeout(this.search.delay_timer); - this.search.delay_timer = setTimeout(async function() { - await self.updateUrlQueryString(self.query); - await self.getList(); - }, this.search.delay_time); - }, - //--------------------------------------------------------------------- - async updateUrlQueryString(query) - { - //remove reactivity from source object - query = vaah().clone(query) - - //create query string - let query_string = qs.stringify(query, { - skipNulls: true, - }); - let query_object = qs.parse(query_string); - - if(query_object.filter){ - query_object.filter = vaah().cleanObject(query_object.filter); - } - - //reset url query string - await this.$router.replace({query: null}); - - //replace url query string - await this.$router.replace({query: query_object}); - - //update applied filters - this.countFilters(query_object); - - }, - //--------------------------------------------------------------------- - countFilters: function (query) - { - this.count_filters = 0; - if(query && query.filter) - { - let filter = vaah().cleanObject(query.filter); - this.count_filters = Object.keys(filter).length; - } - }, - //--------------------------------------------------------------------- - async clearSearch() - { - this.query.filter.q = null; - await this.updateUrlQueryString(this.query); - await this.getList(); - }, - //--------------------------------------------------------------------- - async resetQuery() - { - //reset query strings - await this.resetQueryString(); - - //reload page list - await this.getList(); - }, - //--------------------------------------------------------------------- - async resetQueryString() - { - for(let key in this.query.filter) - { - this.query.filter[key] = null; - } - await this.updateUrlQueryString(this.query); - }, - //--------------------------------------------------------------------- - closeForm() - { - this.$router.push({name: '<%= controller_name_lower %>.index',query:this.query}) - }, - //--------------------------------------------------------------------- - toList() - { - this.item = vaah().clone(this.assets.empty_item); - this.$router.push({name: '<%= controller_name_lower %>.index',query:this.query}) - }, - //--------------------------------------------------------------------- - toForm() - { - this.item = vaah().clone(this.assets.empty_item); - this.getFormMenu(); - this.$router.push({name: '<%= controller_name_lower %>.form',query:this.query}) - }, - //--------------------------------------------------------------------- - toView(item) - { - if(!this.item || !this.item.id || this.item.id !== item.id){ - this.item = vaah().clone(item); - } - this.$router.push({name: '<%= controller_name_lower %>.view', params:{id:item.id},query:this.query}) - }, - //--------------------------------------------------------------------- - toEdit(item) - { - if(!this.item || !this.item.id || this.item.id !== item.id){ - this.item = vaah().clone(item); - } - this.$router.push({name: '<%= controller_name_lower %>.form', params:{id:item.id},query:this.query}) - }, - //--------------------------------------------------------------------- - isViewLarge() - { - return this.view === 'large'; - }, - //--------------------------------------------------------------------- - getActionWidth() - { - let width = 100; - if(!this.isViewLarge()) - { - width = 80; - } - return width+'px'; - }, - //--------------------------------------------------------------------- - getActionLabel() - { - let text = null; - if(this.isViewLarge()) - { - text = 'Actions'; - } - - return text; - }, - //--------------------------------------------------------------------- - async getListSelectedMenu() - { - this.list_selected_menu = [ - { - label: 'Activate', - command: async () => { - await this.updateList('activate') - } - }, - { - label: 'Deactivate', - command: async () => { - await this.updateList('deactivate') - } - }, - { - separator: true - }, - { - label: 'Trash', - icon: 'pi pi-times', - command: async () => { - await this.updateList('trash') - } - }, - { - label: 'Restore', - icon: 'pi pi-replay', - command: async () => { - await this.updateList('restore') - } - }, - { - label: 'Delete', - icon: 'pi pi-trash', - command: () => { - this.confirmDelete() - } - }, - ] - - }, - //--------------------------------------------------------------------- - getListBulkMenu() - { - this.list_bulk_menu = [ - { - label: 'Mark all as active', - command: async () => { - await this.confirmAction('activate-all','Mark all as active'); - } - }, - { - label: 'Mark all as inactive', - command: async () => { - await this.confirmAction('deactivate-all','Mark all as inactive'); - } - }, - { - separator: true - }, - { - label: 'Trash All', - icon: 'pi pi-times', - command: async () => { - await this.confirmAction('trash-all','Trash All'); - } - }, - { - label: 'Restore All', - icon: 'pi pi-replay', - command: async () => { - await this.confirmAction('restore-all','Restore All'); - } - }, - { - label: 'Delete All', - icon: 'pi pi-trash', - command: async () => { - this.confirmDeleteAll(); - } - }, - ]; - }, - //--------------------------------------------------------------------- - getItemMenu() - { - let item_menu = []; - - if(this.item && this.item.deleted_at) - { - - item_menu.push({ - label: 'Restore', - icon: 'pi pi-refresh', - command: () => { - this.itemAction('restore'); - } - }); - } - - if(this.item && this.item.id && !this.item.deleted_at) - { - item_menu.push({ - label: 'Trash', - icon: 'pi pi-times', - command: () => { - this.itemAction('trash'); - } - }); - } - - item_menu.push({ - label: 'Delete', - icon: 'pi pi-trash', - command: () => { - this.confirmDeleteItem('delete'); - } - }); - - this.item_menu_list = item_menu; - }, - //--------------------------------------------------------------------- - async getListCreateMenu() - { - let form_menu = []; - - form_menu.push( - { - label: 'Create 100 Records', - icon: 'pi pi-pencil', - command: () => { - this.listAction('create-100-records'); - } - }, - { - label: 'Create 1000 Records', - icon: 'pi pi-pencil', - command: () => { - this.listAction('create-1000-records'); - } - }, - { - label: 'Create 5000 Records', - icon: 'pi pi-pencil', - command: () => { - this.listAction('create-5000-records'); - } - }, - { - label: 'Create 10,000 Records', - icon: 'pi pi-pencil', - command: () => { - this.listAction('create-10000-records'); - } - }, - - ) - - this.list_create_menu = form_menu; - - }, - - //--------------------------------------------------------------------- - confirmDeleteItem() - { - this.form.type = 'delete'; - vaah().confirmDialogDelete(this.confirmDeleteItemAfter); - }, - //--------------------------------------------------------------------- - confirmDeleteItemAfter() - { - this.itemAction('delete', this.item); - }, - //--------------------------------------------------------------------- - async getFormMenu() - { - let form_menu = []; - - if(this.item && this.item.id) - { - let is_deleted = !!this.item.deleted_at; - form_menu = [ - { - label: 'Save & Close', - icon: 'pi pi-check', - command: () => { - - this.itemAction('save-and-close'); - } - }, - { - label: 'Save & Clone', - icon: 'pi pi-copy', - command: () => { - - this.itemAction('save-and-clone'); - - } - }, - { - label: is_deleted ? 'Restore': 'Trash', - icon: is_deleted ? 'pi pi-refresh': 'pi pi-times', - command: () => { - this.itemAction(is_deleted ? 'restore': 'trash'); - } - }, - { - label: 'Delete', - icon: 'pi pi-trash', - command: () => { - this.confirmDeleteItem('delete'); - } - }, - ]; - - } else{ - form_menu = [ - { - label: 'Create & Close', - icon: 'pi pi-check', - command: () => { - this.itemAction('create-and-close'); - } - }, - { - label: 'Create & Clone', - icon: 'pi pi-copy', - command: () => { - - this.itemAction('create-and-clone'); - - } - }, - { - label: 'Reset', - icon: 'pi pi-refresh', - command: () => { - this.setActiveItemAsEmpty(); - } - } - ]; - } - - form_menu.push({ - label: 'Fill', - icon: 'pi pi-pencil', - command: () => { - this.getFormInputs(); - } - },) - - this.form_menu_list = form_menu; - - }, - //--------------------------------------------------------------------- - } -}); - - - -// Pinia hot reload -if (import.meta.hot) { - import.meta.hot.accept(acceptHMRUpdate(use<%= model_name %>Store, import.meta.hot)) -} diff --git a/skeletons/vaahcms/crud/Database/Migrations/.gitkeep b/skeletons/vaahcms/crud/Database/Migrations/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/crud/Database/Migrations/migration-template.php.ejs b/skeletons/vaahcms/crud/Database/Migrations/migration-template.php.ejs deleted file mode 100644 index d63df09..0000000 --- a/skeletons/vaahcms/crud/Database/Migrations/migration-template.php.ejs +++ /dev/null @@ -1,51 +0,0 @@ - extends Migration -{ - /** - * Run the migrations. - * - * @return void - */ - public function up() - { - - if (!Schema::hasTable('<%= table_name_lower %>')) { - Schema::create('<%= table_name_lower %>', function (Blueprint $table) { - $table->increments('id'); - $table->uuid('uuid')->nullable()->index(); - - $table->string('name')->nullable()->index(); - $table->string('slug')->nullable()->index(); - $table->boolean('is_active')->nullable()->index(); - - - //----common fields - $table->text('meta')->nullable(); - $table->integer('created_by')->nullable()->index(); - $table->integer('updated_by')->nullable()->index(); - $table->integer('deleted_by')->nullable()->index(); - $table->timestamps(); - $table->softDeletes(); - $table->index(['created_at', 'updated_at', 'deleted_at']); - //----/common fields - - }); - } - - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('<%= table_name %>'); - } -} diff --git a/skeletons/vaahcms/crud/Http/Controllers/.gitkeep b/skeletons/vaahcms/crud/Http/Controllers/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/crud/Http/Controllers/Controller.php.ejs b/skeletons/vaahcms/crud/Http/Controllers/Controller.php.ejs deleted file mode 100644 index 65b1fc2..0000000 --- a/skeletons/vaahcms/crud/Http/Controllers/Controller.php.ejs +++ /dev/null @@ -1,228 +0,0 @@ -\Http\Controllers\<%= section_name %>; - -use Illuminate\Http\Request; -use Illuminate\Routing\Controller; -use <%= namespace %>\Models\<%= model_name %>; - - -class <%= controller_name %>Controller extends Controller -{ - - - //---------------------------------------------------------- - public function __construct() - { - - } - - //---------------------------------------------------------- - - public function getAssets(Request $request) - { - - try{ - - $data = []; - - $data['permission'] = []; - $data['rows'] = config('vaahcms.per_page'); - - $data['fillable']['except'] = [ - 'uuid', - 'created_by', - 'updated_by', - 'deleted_by', - ]; - - $model = new <%= model_name %>(); - $fillable = $model->getFillable(); - $data['fillable']['columns'] = array_diff( - $fillable, $data['fillable']['except'] - ); - - foreach ($fillable as $column) - { - $data['empty_item'][$column] = null; - } - - $data['actions'] = []; - - $response['success'] = true; - $response['data'] = $data; - - }catch (\Exception $e){ - $response = []; - $response['status'] = 'failed'; - if(env('APP_DEBUG')){ - $response['errors'][] = $e->getMessage(); - $response['hint'] = $e->getTrace(); - } else{ - $response['errors'][] = 'Something went wrong.'; - } - } - - return $response; - } - - //---------------------------------------------------------- - public function getList(Request $request) - { - try{ - return <%= model_name %>::getList($request); - }catch (\Exception $e){ - $response = []; - $response['status'] = 'failed'; - if(env('APP_DEBUG')){ - $response['errors'][] = $e->getMessage(); - $response['hint'] = $e->getTrace(); - } else{ - $response['errors'][] = 'Something went wrong.'; - } - return $response; - } - } - //---------------------------------------------------------- - public function updateList(Request $request) - { - try{ - return <%= model_name %>::updateList($request); - }catch (\Exception $e){ - $response = []; - $response['status'] = 'failed'; - if(env('APP_DEBUG')){ - $response['errors'][] = $e->getMessage(); - $response['hint'] = $e->getTrace(); - } else{ - $response['errors'][] = 'Something went wrong.'; - - } - return $response; - } - } - //---------------------------------------------------------- - public function listAction(Request $request, $type) - { - - - try{ - return <%= model_name %>::listAction($request, $type); - }catch (\Exception $e){ - $response = []; - $response['status'] = 'failed'; - if(env('APP_DEBUG')){ - $response['errors'][] = $e->getMessage(); - $response['hint'] = $e->getTrace(); - } else{ - $response['errors'][] = 'Something went wrong.'; - } - return $response; - - } - } - //---------------------------------------------------------- - public function deleteList(Request $request) - { - try{ - return <%= model_name %>::deleteList($request); - }catch (\Exception $e){ - $response = []; - $response['status'] = 'failed'; - if(env('APP_DEBUG')){ - $response['errors'][] = $e->getMessage(); - $response['hint'] = $e->getTrace(); - } else{ - $response['errors'][] = 'Something went wrong.'; - } - return $response; - } - } - //---------------------------------------------------------- - public function createItem(Request $request) - { - try{ - return <%= model_name %>::createItem($request); - }catch (\Exception $e){ - $response = []; - $response['status'] = 'failed'; - if(env('APP_DEBUG')){ - $response['errors'][] = $e->getMessage(); - $response['hint'] = $e->getTrace(); - } else{ - $response['errors'][] = 'Something went wrong.'; - } - return $response; - } - } - //---------------------------------------------------------- - public function getItem(Request $request, $id) - { - try{ - return <%= model_name %>::getItem($id); - }catch (\Exception $e){ - $response = []; - $response['status'] = 'failed'; - if(env('APP_DEBUG')){ - $response['errors'][] = $e->getMessage(); - $response['hint'] = $e->getTrace(); - } else{ - $response['errors'][] = 'Something went wrong.'; - } - return $response; - } - } - //---------------------------------------------------------- - public function updateItem(Request $request,$id) - { - try{ - return <%= model_name %>::updateItem($request,$id); - }catch (\Exception $e){ - $response = []; - $response['status'] = 'failed'; - if(env('APP_DEBUG')){ - $response['errors'][] = $e->getMessage(); - $response['hint'] = $e->getTrace(); - } else{ - $response['errors'][] = 'Something went wrong.'; - } - return $response; - } - } - //---------------------------------------------------------- - public function deleteItem(Request $request,$id) - { - try{ - return <%= model_name %>::deleteItem($request,$id); - }catch (\Exception $e){ - $response = []; - $response['status'] = 'failed'; - if(env('APP_DEBUG')){ - $response['errors'][] = $e->getMessage(); - $response['hint'] = $e->getTrace(); - } else{ - $response['errors'][] = 'Something went wrong.'; - } - return $response; - } - } - //---------------------------------------------------------- - public function itemAction(Request $request,$id,$action) - { - try{ - return <%= model_name %>::itemAction($request,$id,$action); - }catch (\Exception $e){ - $response = []; - $response['status'] = 'failed'; - if(env('APP_DEBUG')){ - $response['errors'][] = $e->getMessage(); - $response['hint'] = $e->getTrace(); - } else{ - $response['errors'][] = 'Something went wrong.'; - } - return $response; - } - } - //---------------------------------------------------------- - - - -} diff --git a/skeletons/vaahcms/crud/Models/.gitkeep b/skeletons/vaahcms/crud/Models/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/crud/Models/Model.php.ejs b/skeletons/vaahcms/crud/Models/Model.php.ejs deleted file mode 100644 index 19d8f9f..0000000 --- a/skeletons/vaahcms/crud/Models/Model.php.ejs +++ /dev/null @@ -1,457 +0,0 @@ -\Models; - -use Carbon\Carbon; -use DateTimeInterface; -use Illuminate\Database\Eloquent\Model; -use Illuminate\Database\Eloquent\SoftDeletes; -use Illuminate\Support\Str; -use WebReinvent\VaahCms\Traits\CrudWithUuidObservantTrait; -use WebReinvent\VaahCms\Entities\User; - -class <%= model_name %> extends Model { - - use SoftDeletes; - use CrudWithUuidObservantTrait; - - //------------------------------------------------- - protected $table = '<%= table_name %>'; - //------------------------------------------------- - protected $dates = [ - 'created_at', - 'updated_at', - 'deleted_at' - ]; - //------------------------------------------------- - protected $fillable = [ - 'uuid', - 'name', - 'slug', - 'is_active', - 'created_by', - 'updated_by', - 'deleted_by', - ]; - - //------------------------------------------------- - protected $appends = [ - ]; - //------------------------------------------------- - protected function serializeDate(DateTimeInterface $date) - { - $date_time_format = config('settings.global.datetime_format'); - return $date->format($date_time_format); - } - //------------------------------------------------- - - public function createdByUser() - { - return $this->belongsTo(User::class, - 'created_by', 'id' - )->select('id', 'uuid', 'first_name', 'last_name', 'email'); - } - - //------------------------------------------------- - public function updatedByUser() - { - return $this->belongsTo(User::class, - 'updated_by', 'id' - )->select('id', 'uuid', 'first_name', 'last_name', 'email'); - } - - //------------------------------------------------- - public function deletedByUser() - { - return $this->belongsTo(User::class, - 'deleted_by', 'id' - )->select('id', 'uuid', 'first_name', 'last_name', 'email'); - } - //------------------------------------------------- - public function getTableColumns() { - return $this->getConnection()->getSchemaBuilder() - ->getColumnListing($this->getTable()); - } - //------------------------------------------------- - public function scopeExclude($query, $columns) - { - return $query->select( array_diff( $this->getTableColumns(),$columns) ); - } - - //------------------------------------------------- - public function scopeBetweenDates($query, $from, $to) - { - - if($from) - { - $from = \Carbon::parse($from) - ->startOfDay() - ->toDateTimeString(); - } - - if($to) - { - $to = \Carbon::parse($to) - ->endOfDay() - ->toDateTimeString(); - } - - $query->whereBetween('updated_at',[$from,$to]); - } - //------------------------------------------------- - public static function createItem($request) - { - - $inputs = $request->all(); - - $validation = self::validation($inputs); - if( isset($validation['status']) - && $validation['status'] == 'failed' - ) - { - return $validation; - } - - - // check if name exist - $item = self::where('name',$inputs['name'])->first(); - - if($item) - { - $response['status'] = 'failed'; - $response['errors'][] = "This name is already exist."; - return $response; - } - - - // check if slug exist - $item = self::where('slug',$inputs['slug'])->first(); - - if($item) - { - $response['status'] = 'failed'; - $response['errors'][] = "This slug is already exist."; - return $response; - } - - $item = new self(); - $item->fill($inputs); - $item->slug = Str::slug($inputs['slug']); - $item->save(); - - $response = self::getItem($item->id); - $response['messages'][] = 'Saved successfully.'; - - return $response; - - } - //------------------------------------------------- - public function scopeGetSorted($query, $filter) - { - - if(!isset($filter['sort'])) - { - return $query->orderBy('id', 'desc'); - } - - $sort = $filter['sort']; - - - $direction = Str::contains($sort, ':'); - - if(!$direction) - { - return $query->orderBy($sort, 'asc'); - } - - $sort = explode(':', $sort); - - return $query->orderBy($sort[0], $sort[1]); - } - //------------------------------------------------- - public function scopeIsActiveFilter($query, $filter) - { - - if(!isset($filter['is_active']) - || is_null($filter['is_active']) - || $filter['is_active'] === 'null' - ) - { - return $query; - } - $is_active = $filter['is_active']; - - if($is_active === 'true' || $is_active === true) - { - return $query->whereNotNull('is_active'); - } else{ - return $query->whereNull('is_active'); - } - - } - //------------------------------------------------- - public function scopeTrashedFilter($query, $filter) - { - - if(!isset($filter['trashed'])) - { - return $query; - } - $trashed = $filter['trashed']; - - if($trashed === 'include') - { - return $query->withTrashed(); - } else if($trashed === 'only'){ - return $query->onlyTrashed(); - } - - } - //------------------------------------------------- - public function scopeSearchFilter($query, $filter) - { - - if(!isset($filter['q'])) - { - return $query; - } - $search = $filter['q']; - $query->where(function ($q) use ($search) { - $q->where('name', 'LIKE', '%' . $search . '%') - ->orWhere('slug', 'LIKE', '%' . $search . '%'); - }); - - } - //------------------------------------------------- - public static function getList($request) - { - $list = self::getSorted($request->filter); - $list->isActiveFilter($request->filter); - $list->trashedFilter($request->filter); - $list->searchFilter($request->filter); - - $rows = config('vaahcms.per_page'); - - if($request->has('rows')) - { - $rows = $request->rows; - } - - $list = $list->paginate($rows); - - $response['success'] = true; - $response['data']['list'] = $list; - - return $response; - - - } - //------------------------------------------------- - public static function updateList($request) - { - - $inputs = $request->all(); - - $rules = array( - 'type' => 'required', - 'items' => 'required', - ); - - $messages = array( - 'type.required' => 'Action type is required', - 'items.required' => 'Select items', - ); - - - $validator = \Validator::make($inputs, $rules, $messages); - if ($validator->fails()) { - - $errors = errorsToArray($validator->errors()); - $response['failed'] = true; - $response['errors'] = $errors; - return $response; - } - - $items_id = collect($inputs['items'])->pluck('id')->toArray(); - - switch ($inputs['type']) { - case 'inactive': - self::whereIn('id', $items_id)->update(['is_active' => null]); - break; - case 'active': - self::whereIn('id', $items_id)->update(['is_active' => 1]); - break; - case 'trash': - self::whereIn('id', $items_id)->delete(); - break; - case 'restore': - self::whereIn('id', $items_id)->restore(); - break; - - } - - $response['success'] = true; - $response['data'] = true; - $response['messages'][] = 'Action was successful.'; - - return $response; - } - - //------------------------------------------------- - public static function deleteList($request) - { - $inputs = $request->all(); - - $rules = array( - 'type' => 'required', - 'items' => 'required', - ); - - $messages = array( - 'type.required' => 'Action type is required', - 'items.required' => 'Select items', - ); - - $validator = \Validator::make($inputs, $rules, $messages); - if ($validator->fails()) { - - $errors = errorsToArray($validator->errors()); - $response['failed'] = true; - $response['messages'] = $errors; - return $response; - } - - $items_id = collect($inputs['items'])->pluck('id')->toArray(); - self::whereIn('id', $items_id)->forceDelete(); - - $response['success'] = true; - $response['data'] = true; - $response['messages'][] = 'Action was successful.'; - - return $response; - } - //------------------------------------------------- - public static function getItem($id) - { - - $item = self::where('id', $id) - ->with(['createdByUser', 'updatedByUser', 'deletedByUser']) - ->withTrashed() - ->first(); - - if (!$item) { - $response['success'] = false; - $response['errors'][] = 'Record not found with ID: ' . $id; - return $response; - } - $response['success'] = true; - $response['data'] = $item; - - return $response; - - } - - //------------------------------------------------- - public static function updateItem($request, $id) - { - $inputs = $request->all(); - - $validation = self::validation($inputs); - if (isset($validation['failed'])) { - return $validation; - } - - // check if name exist - $user = self::where('id', '!=', $inputs['id']) - ->where('name', $inputs['name'])->first(); - - if ($user) { - $response['failed'] = true; - $response['messages'][] = "This name is already exist."; - return $response; - } - - // check if slug exist - $user = self::where('id', '!=', $inputs['id']) - ->where('slug', $inputs['slug'])->first(); - - if ($user) { - $response['failed'] = true; - $response['messages'][] = "This slug is already exist."; - return $response; - } - - $item = self::where('id', $id)->withTrashed()->first(); - $item->fill($inputs); - $item->slug = Str::slug($inputs['slug']); - $item->save(); - - //check specific actions - - if (isset($inputs['action'])) { - switch ($inputs['action']) { - case 'trash': - $item->delete(); - break; - case 'restore': - $item->restore(); - break; - } - } - - $response = self::getItem($item->id); - $response['messages'][] = 'Saved successfully.'; - - return $response; - - } - - //------------------------------------------------- - public static function deleteItem($request, $id) - { - $item = self::where('id', $id)->withTrashed()->first(); - if (!$item) { - $response['failed'] = true; - $response['messages'][] = 'Record does not exist.'; - return $response; - } - - $item->forceDelete(); - - $response['success'] = true; - $response['data'] = []; - $response['messages'][] = 'Record has been deleted'; - - return $response; - } - - //------------------------------------------------- - - public static function validation($inputs) - { - - $rules = array( - 'name' => 'required|max:150', - 'slug' => 'required|max:150', - ); - - $validator = \Validator::make($inputs, $rules); - if ($validator->fails()) { - $messages = $validator->errors(); - $response['failed'] = true; - $response['messages'] = $messages; - return $response; - } - - } - - //------------------------------------------------- - public static function getActiveItems() - { - $item = self::where('is_active', 1)->get(); - return $item; - } - //------------------------------------------------- - //------------------------------------------------- - //------------------------------------------------- - - -} diff --git a/skeletons/vaahcms/crud/Routes/api/api-routes-template.php.ejs b/skeletons/vaahcms/crud/Routes/api/api-routes-template.php.ejs deleted file mode 100644 index 7dbe544..0000000 --- a/skeletons/vaahcms/crud/Routes/api/api-routes-template.php.ejs +++ /dev/null @@ -1,36 +0,0 @@ - '<%= folder_name_lower %>/<%= controller_name_lower %>', - 'middleware' => ['auth:api'], - 'namespace' => '<%= section_name %>', - ], - function () { - //--------------------------------------------------------- - Route::get('/assets', '<%= controller_name %>Controller@getAssets') - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.api.<%= controller_name_lower %>.assets'); - //--------------------------------------------------------- - Route::get('/', '<%= controller_name %>Controller@getList') - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.api.<%= controller_name_lower %>.list'); - //--------------------------------------------------------- - Route::match(['put', 'patch'], '/', '<%= controller_name %>Controller@updateList') - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.api.<%= controller_name_lower %>.list.updates'); - //--------------------------------------------------------- - Route::delete('/', '<%= controller_name %>Controller@deleteList') - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.api.<%= controller_name_lower %>.list.delete'); - //--------------------------------------------------------- - Route::post('/', '<%= controller_name %>Controller@createItem') - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.api.<%= controller_name_lower %>.create'); - //--------------------------------------------------------- - Route::get('/{id}', '<%= controller_name %>Controller@getItem') - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.api.<%= controller_name_lower %>.read'); - //--------------------------------------------------------- - Route::match(['put', 'patch'], '/{id}', '<%= controller_name %>Controller@updateItem') - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.api.<%= controller_name_lower %>.update'); - //--------------------------------------------------------- - Route::delete('/{id}', '<%= controller_name %>Controller@deleteItem') - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.api.<%= controller_name_lower %>.delete'); - //--------------------------------------------------------- - }); diff --git a/skeletons/vaahcms/crud/Routes/backend/routes-template.php.ejs b/skeletons/vaahcms/crud/Routes/backend/routes-template.php.ejs deleted file mode 100644 index bb0d62a..0000000 --- a/skeletons/vaahcms/crud/Routes/backend/routes-template.php.ejs +++ /dev/null @@ -1,40 +0,0 @@ - '<%= url+folder_name_lower %>/<%= controller_name_lower %>', - <%if (section_name == 'Backend') { %> - 'middleware' => ['web', 'has.backend.access'], - <% } else{ %> - 'middleware' => ['web'], - <% } %> - 'namespace' => '<%= section_name %>', -], -function () { - //--------------------------------------------------------- - Route::get('/assets', '<%= controller_name %>Controller@getAssets') - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.<%= controller_name_lower %>.assets'); - //--------------------------------------------------------- - Route::get('/', '<%= controller_name %>Controller@getList') - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.<%= controller_name_lower %>.list'); - //--------------------------------------------------------- - Route::match(['put', 'patch'], '/', '<%= controller_name %>Controller@updateList') - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.<%= controller_name_lower %>.list.updates'); - //--------------------------------------------------------- - Route::delete('/', '<%= controller_name %>Controller@deleteList') - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.<%= controller_name_lower %>.list.delete'); - //--------------------------------------------------------- - Route::post('/', '<%= controller_name %>Controller@createItem') - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.<%= controller_name_lower %>.create'); - //--------------------------------------------------------- - Route::get('/{id}', '<%= controller_name %>Controller@getItem') - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.<%= controller_name_lower %>.read'); - //--------------------------------------------------------- - Route::match(['put', 'patch'], '/{id}', '<%= controller_name %>Controller@updateItem') - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.<%= controller_name_lower %>.update'); - //--------------------------------------------------------- - Route::delete('/{id}', '<%= controller_name %>Controller@deleteItem') - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.<%= controller_name_lower %>.delete'); - //--------------------------------------------------------- - -}); diff --git a/skeletons/vaahcms/crud/Vue/pages/template/Form.vue.ejs b/skeletons/vaahcms/crud/Vue/pages/template/Form.vue.ejs deleted file mode 100644 index b44d9b0..0000000 --- a/skeletons/vaahcms/crud/Vue/pages/template/Form.vue.ejs +++ /dev/null @@ -1,141 +0,0 @@ - - - - diff --git a/skeletons/vaahcms/crud/Vue/pages/template/FormJs.js.ejs b/skeletons/vaahcms/crud/Vue/pages/template/FormJs.js.ejs deleted file mode 100644 index 6b0e744..0000000 --- a/skeletons/vaahcms/crud/Vue/pages/template/FormJs.js.ejs +++ /dev/null @@ -1,211 +0,0 @@ -import slugify from "slugify"; - -let namespace = '<%= controller_name_lower %>'; - -export default { - computed:{ - root() {return this.$store.getters['root/state']}, - base_url() {return this.$store.getters[namespace+'/state'].base_url}, - ajax_url() {return this.$store.getters[namespace+'/state'].ajax_url}, - assets() {return this.$store.getters[namespace+'/state'].assets}, - data() {return this.$store.getters[namespace+'/state'].data}, - }, - components:{ - }, - data() - { - return { - namespace: namespace, - } - }, - watch: { - $route(to, from) { - this.$store.dispatch( - this.namespace+'/updateView', - this.$route - ); - this.onLoad(); - }, - 'data.item.name': function (newVal, oldVal){ - if(newVal) - { - this.data.item.slug = slugify(newVal); - } - }, - }, - mounted() { - //---------------------------------------------------- - this.onLoad(); - //---------------------------------------------------- - //---------------------------------------------------- - }, - methods: { - //--------------------------------------------------------------------- - onLoad: function() - { - if(this.$route.name === '<%= controller_name_lower %>.update') - { - this.data.form.type = 'Update'; - if(!this.data.item) - { - this.getItem(); - } - } else - { - this.data.form.type = 'Create'; - this.data.item = this.$vh.clone(this.assets.empty_item); - } - }, - //--------------------------------------------------------------------- - setFormAction: function (action) { - this.data.form.action = action; - if(this.data.form.type === 'Update') - { - this.updateItem(); - } else - { - this.createItem(); - } - }, - //--------------------------------------------------------------------- - getFaker: function () { - this.$Progress.start(); - let params = { - model_namespace: this.data.model, - except: this.assets.fillable.except, - }; - let url = this.base_url+'/faker'; - this.$vh.ajax(url, params, this.getFakerAfter, 'post'); - }, - //--------------------------------------------------------------------- - getFakerAfter: function (data, res) { - this.$Progress.finish(); - this.is_content_loading = false; - if(data) - { - let self = this; - Object.keys(data.fill).forEach(function(key) { - self.data.item[key] = data.fill[key]; - }); - } - }, - //--------------------------------------------------------------------- - - //--------------------------------------------------------------------- - createItem: function (action) { - this.data.is_creating = true; - this.$Progress.start(); - this.$vh.ajax( - this.ajax_url, - this.data.item, - this.createItemAfter, - 'post' - ); - }, - //--------------------------------------------------------------------- - createItemAfter: function (data, res) { - this.data.is_creating = true; - this.$Progress.finish(); - if(data) - { - - this.$emit('eReloadList'); - - if(this.data.form.action === 'save-and-new') - { - this.saveAndNew() - } - if(this.data.form.action === 'save-and-close') - { - this.saveAndClose() - } - if(this.data.form.action === 'save-and-clone') - { - //do nothing - } - } - - - }, - //--------------------------------------------------------------------- - updateItem: function (action) { - this.data.form.is_button_loading = true; - this.$Progress.start(); - - let url = this.ajax_url+"/"+this.data.item.id; - - this.$vh.ajax( - url, - this.data.item, - this.updateItemAfter, - 'put' - ); - }, - //--------------------------------------------------------------------- - updateItemAfter: function (data, res) { - this.data.form.is_button_loading = false; - this.$Progress.finish(); - if(data) - { - this.$emit('eReloadList'); - } - }, - //--------------------------------------------------------------------- - getItem: function () { - this.$Progress.start(); - let params = {}; - let url = this.ajax_url+'/'+this.$route.params.id; - this.$vh.ajax(url, params, this.getItemAfter); - }, - //--------------------------------------------------------------------- - getItemAfter: function (data, res) { - this.$Progress.finish(); - if(data) - { - this.data.item = data; - } else - { - //if item does not exist or delete then redirect to list - this.data.item = null; - this.$router.push({name: '<%= controller_name_lower %>.list'}); - } - }, - //--------------------------------------------------------------------- - saveAndClose: function () { - this.data.item = null; - this.$router.push({name:'<%= controller_name_lower %>.list'}); - }, - //--------------------------------------------------------------------- - saveAndNew: function () { - this.data.item = this.$vh.clone(this.assets.empty_item); - }, - //--------------------------------------------------------------------- - hasPermission: function(slug) - { - return this.$vaah.hasPermission(this.permissions, slug); - }, - //--------------------------------------------------------------------- - closeCard: function () - { - this.resetNewItem(); - if(this.data.type === 'Update') - { - this.$router.push({name: '<%= controller_name_lower %>.read', params:{id: this.data.item.id}}) - } else{ - this.$router.push({name: '<%= controller_name_lower %>.list'}) - } - }, - //--------------------------------------------------------------------- - resetNewItem: function () - { - this.data.item = this.$vh.clone(this.assets.empty_item); - }, - //--------------------------------------------------------------------- - - backToView: function () - { - this.$router.push({name: '<%= controller_name_lower %>.read', params:{id: this.data.item.id}}) - }, - //--------------------------------------------------------------------- - } -} diff --git a/skeletons/vaahcms/crud/Vue/pages/template/List.vue.ejs b/skeletons/vaahcms/crud/Vue/pages/template/List.vue.ejs deleted file mode 100644 index 16bac3f..0000000 --- a/skeletons/vaahcms/crud/Vue/pages/template/List.vue.ejs +++ /dev/null @@ -1,387 +0,0 @@ - - - - diff --git a/skeletons/vaahcms/crud/Vue/pages/template/ListJs.js.ejs b/skeletons/vaahcms/crud/Vue/pages/template/ListJs.js.ejs deleted file mode 100644 index 85cb638..0000000 --- a/skeletons/vaahcms/crud/Vue/pages/template/ListJs.js.ejs +++ /dev/null @@ -1,231 +0,0 @@ - -import ListTable from './partials/ListTable'; -import qs from "qs"; - -let namespace = '<%= controller_name_lower %>'; - -export default { - computed:{ - root() {return this.$store.getters['root/state']}, - ajax_url() {return this.$store.getters[namespace+'/state'].ajax_url}, - assets() {return this.$store.getters[namespace+'/state'].assets}, - data() {return this.$store.getters[namespace+'/state'].data}, - }, - components:{ - ListTable, - }, - data() - { - return { - namespace: namespace, - } - }, - watch: { - $route(to, from) { - this.$store.dispatch( - this.namespace+'/updateView', - this.$route - ); - }, - 'data.query': { - handler: function(newVal, oldValue) { - - this.data.action = this.$vh.clone(this.data.empty.action); - - //create query string - let query_string = qs.stringify(newVal, { - skipNulls: true - }); - let query_object = qs.parse(query_string); - - //replace url query string - this.$router.replace({query: query_object}); - - //update applied filters - this.data.count_filters = Object.keys(query_object).length; - - //reload list on query update - this.getList(); - }, - deep: true - } - }, - created() - { - - }, - mounted() { - - //---------------------------------------------------- - document.title = "<%= controller_name %>"; - //---------------------------------------------------- - this.onLoad(); - //---------------------------------------------------- - }, - methods: { - //--------------------------------------------------------------------- - onLoad: function() - { - this.updateQueryFromUrl(); - this.updateView(); - this.getAssets(); - }, - //--------------------------------------------------------------------- - updateQueryFromUrl: function () - { - let query = this.$vh.clone(this.$route.query); - if(Object.keys(query).length > 0) - { - for(let k in query) - { - this.data.query[k] = query[k]; - } - } - }, - //--------------------------------------------------------------------- - updateView: function() - { - this.$store.dispatch(this.namespace+'/updateView', this.$route); - }, - //--------------------------------------------------------------------- - async getAssets() { - await this.$store.dispatch(this.namespace+'/getAssets'); - this.data.is_list_loading = true; - this.getList(); - }, - //--------------------------------------------------------------------- - getList: function () { - this.$Progress.start(); - - let url = this.ajax_url; - this.$vh.ajax( - url, this.data.query, this.getListAfter - ); - }, - //--------------------------------------------------------------------- - getListAfter: function (data, res) { - if(data) - { - this.data.list = data.list; - } - this.data.is_list_loading = null; - this.$Progress.finish(); - }, - //--------------------------------------------------------------------- - clearSearch: function () { - this.data.query.q = null; - this.getList(); - }, - //--------------------------------------------------------------------- - resetQuery: function() - { - //reset query strings - this.resetQueryString(); - - //reload page list - this.getList(); - }, - //--------------------------------------------------------------------- - resetQueryString: function() - { - this.data.query = this.$vh.clone(this.data.empty.query); - this.data.query.sort = null; - }, - //--------------------------------------------------------------------- - paginate: function(page=1) - { - // set reactive property to query - if(page===1) - { - page = null; - } - this.$set(this.data.query, 'page', page) - this.getList(); - }, - //--------------------------------------------------------------------- - delayedSearch: function() - { - let self = this; - clearTimeout(this.data.search.delay_timer); - this.data.search.delay_timer = setTimeout(function() { - self.getList(); - }, this.data.search.delay_time); - this.data.query.page = 1; - }, - //--------------------------------------------------------------------- - updateList: function (type) { - - if(!type) - { - this.$vh.toastErrors(['Select an action type']); - return false; - } - this.data.action.type = type; - if(this.data.action.items.length < 1) - { - this.$vh.toastErrors(['Select a record']); - return false; - } - - this.$Progress.start(); - let params = this.data.action; - let url = this.ajax_url; - this.$vh.ajax(url, params, this.updateListAfter, 'put'); - }, - //--------------------------------------------------------------------- - updateListAfter: function (data, res) { - if(data) - { - this.data.action = this.$vh.clone(this.data.empty.action); - this.$root.$emit('eReloadItem'); - this.getList(); - } - }, - //--------------------------------------------------------------------- - confirmDelete: function() - { - - if(this.data.action.items.length < 1) - { - this.$vh.toastErrors(['Select a record']); - return false; - } - - let self = this; - this.$buefy.dialog.confirm({ - title: 'Deleting record', - message: 'Are you sure you want to delete the records? This action cannot be undone.', - confirmText: 'Delete', - type: 'is-danger', - hasIcon: true, - onConfirm: function () { - self.deleteList('delete'); - } - }) - }, - //--------------------------------------------------------------------- - deleteList: function (type) { - this.data.action.type = type; - this.$Progress.start(); - let params = this.data.action; - let url = this.ajax_url; - this.$vh.ajax(url, params, this.deleteListAfter, 'delete'); - }, - //--------------------------------------------------------------------- - deleteListAfter: function (data, res) { - if(data) - { - this.data.action = this.$vh.clone(this.data.empty.action); - this.$root.$emit('eReloadItem'); - this.getList(); - } - }, - //--------------------------------------------------------------------- - hasPermission: function(slug) - { - return this.$vaah.hasPermission(this.permissions, slug); - }, - //--------------------------------------------------------------------- - //--------------------------------------------------------------------- - } -} diff --git a/skeletons/vaahcms/crud/Vue/pages/template/View.vue.ejs b/skeletons/vaahcms/crud/Vue/pages/template/View.vue.ejs deleted file mode 100644 index 6017480..0000000 --- a/skeletons/vaahcms/crud/Vue/pages/template/View.vue.ejs +++ /dev/null @@ -1,104 +0,0 @@ - - - - diff --git a/skeletons/vaahcms/crud/Vue/pages/template/ViewJs.js.ejs b/skeletons/vaahcms/crud/Vue/pages/template/ViewJs.js.ejs deleted file mode 100644 index ae1cba5..0000000 --- a/skeletons/vaahcms/crud/Vue/pages/template/ViewJs.js.ejs +++ /dev/null @@ -1,131 +0,0 @@ -let namespace = '<%= controller_name_lower %>'; - -export default { - computed:{ - root() {return this.$store.getters['root/state']}, - ajax_url() {return this.$store.getters[namespace+'/state'].ajax_url}, - assets() {return this.$store.getters[namespace+'/state'].assets}, - data() {return this.$store.getters[namespace+'/state'].data}, - }, - components:{ - - }, - data() - { - return { - namespace: namespace, - } - }, - watch: { - $route(to, from) { - this.$store.dispatch( - this.namespace+'/updateView', - this.$route - ); - this.getItem(); - }, - 'data.item': { - handler: function(newVal, oldValue) { - this.item = newVal; - }, - deep: true - } - }, - mounted() { - //---------------------------------------------------- - this.onLoad(); - //---------------------------------------------------- - this.item = this.data.item; - //---------------------------------------------------- - //---------------------------------------------------- - //---------------------------------------------------- - }, - methods: { - //--------------------------------------------------------------------- - onLoad: function() - { - this.getItem(); - }, - - //--------------------------------------------------------------------- - getItem: function () { - this.$Progress.start(); - this.params = {}; - let url = this.ajax_url+'/'+this.$route.params.id; - this.$vh.ajax(url, this.params, this.getItemAfter); - }, - //--------------------------------------------------------------------- - getItemAfter: function (data, res) { - this.$Progress.finish(); - this.is_content_loading = false; - if(data) - { - this.data.item = data; - } else - { - //if item does not exist or delete then redirect to list - this.data.item = null; - this.$router.push({name: '<%= controller_name_lower %>.list'}); - } - }, - //--------------------------------------------------------------------- - updateItem: function (action) { - this.$set(this.item, 'action', action); - this.$Progress.start(); - let params = this.item; - let url = this.ajax_url+'/'+this.item.id; - this.$vh.ajax(url, params, this.updateItemAfter, 'patch'); - }, - //--------------------------------------------------------------------- - updateItemAfter: function (data, res) { - this.$Progress.finish(); - if(data) - { - this.item = data; - } - this.getItem(); - this.$emit('eReloadList'); - }, - //--------------------------------------------------------------------- - confirmDelete: function() - { - let self = this; - this.$buefy.dialog.confirm({ - title: 'Deleting record', - message: 'Are you sure you want to delete the record? This action cannot be undone.', - confirmText: 'Delete', - type: 'is-danger', - hasIcon: true, - onConfirm: function () { - self.deleteItem(); - } - }) - }, - //--------------------------------------------------------------------- - deleteItem: function () { - this.$Progress.start(); - let params = {}; - let url = this.ajax_url+'/'+this.item.id; - this.$vh.ajax(url, params, this.deleteItemAfter, 'delete'); - }, - //--------------------------------------------------------------------- - deleteItemAfter: function (data, res) { - this.$Progress.finish(); - this.$emit('eReloadList'); - this.resetItem(); - }, - //--------------------------------------------------------------------- - resetItem: function () { - this.data.item = null; - this.$router.push({name:'<%= controller_name_lower %>.list'}); - }, - //--------------------------------------------------------------------- - hasPermission: function(slug) - { - return this.$vaah.hasPermission(this.permissions, slug); - }, - //--------------------------------------------------------------------- - - //--------------------------------------------------------------------- - } -} diff --git a/skeletons/vaahcms/crud/Vue/pages/template/partials/ListTable.vue.ejs b/skeletons/vaahcms/crud/Vue/pages/template/partials/ListTable.vue.ejs deleted file mode 100644 index e5b7090..0000000 --- a/skeletons/vaahcms/crud/Vue/pages/template/partials/ListTable.vue.ejs +++ /dev/null @@ -1,98 +0,0 @@ - - - diff --git a/skeletons/vaahcms/crud/Vue/pages/template/partials/ListTableJs.js.ejs b/skeletons/vaahcms/crud/Vue/pages/template/partials/ListTableJs.js.ejs deleted file mode 100644 index 0092aff..0000000 --- a/skeletons/vaahcms/crud/Vue/pages/template/partials/ListTableJs.js.ejs +++ /dev/null @@ -1,89 +0,0 @@ - -let namespace = '<%= controller_name_lower %>'; -export default { - computed: { - root() {return this.$store.getters['root/state']}, - ajax_url() {return this.$store.getters[namespace+'/state'].ajax_url}, - assets() {return this.$store.getters[namespace+'/state'].assets}, - data() {return this.$store.getters[namespace+'/state'].data}, - }, - components:{ - }, - data() - { - let obj = { - namespace: namespace, - }; - - return obj; - }, - watch: { - - }, - mounted(){ - - }, - methods: { - //--------------------------------------------------------------------- - setRowClass: function(row, index) - { - if(this.data.item && row.id == this.data.item.id) - { - return 'is-selected'; - } - - if(row.deleted_at != null) - { - return 'is-danger'; - } - - }, - //--------------------------------------------------------------------- - setActiveItem: function (item) { - this.data.item = item; - this.$router.push({name: '<%= controller_name_lower %>.read', params:{id:item.id}}) - }, - - //--------------------------------------------------------------------- - copiedData: function (data) { - this.$vaah.toastSuccess(['copied']); - }, - //--------------------------------------------------------------------- - hasPermission: function(slug) - { - return this.$vaah.hasPermission(this.permissions, slug); - }, - //--------------------------------------------------------------------- - isViewLarge: function () - { - if(this.data.view==='large') - { - return true; - } - - return false; - }, - //--------------------------------------------------------------------- - changeStatus: function (item) { - - let params = this.$vh.clone(item); - - if(params.is_active == 1){ - params.is_active = null; - }else{ - params.is_active = 1; - } - - this.$Progress.start(); - - let url = this.ajax_url+'/'+item.id; - this.$vh.ajax(url, params, this.changeStatusAfter, 'put'); - }, - //--------------------------------------------------------------------- - changeStatusAfter: function (data,res) { - this.$emit('eReloadList'); - }, - //--------------------------------------------------------------------- - //--------------------------------------------------------------------- - } -} diff --git a/skeletons/vaahcms/crud/Vue/routes/vue-routes-template.js.ejs b/skeletons/vaahcms/crud/Vue/routes/vue-routes-template.js.ejs deleted file mode 100644 index ead59b2..0000000 --- a/skeletons/vaahcms/crud/Vue/routes/vue-routes-template.js.ejs +++ /dev/null @@ -1,75 +0,0 @@ -import <%= controller_name %>List from "./../pages/<%= controller_name_lower %>/List"; -import <%= controller_name %>View from "./../pages/<%= controller_name_lower %>/View"; -import Form from "./../pages/<%= controller_name_lower %>/Form"; - -import GetAssets from './middleware/GetAssets' - -import LayoutDefault from "./../layouts/Default"; - -let routes_<%= controller_name_lower %>=[]; - -let list = { - path: '/<%= controller_name_lower %>', - component: LayoutDefault, - props: true, - meta: { - middleware: [ - GetAssets - ] - }, - children: [ - { - path: '/', - name: '<%= controller_name_lower %>.list', - component: <%= controller_name %>List, - props: true, - meta: { - middleware: [ - GetAssets - ] - }, - children: [ - { - path: 'create', - name: '<%= controller_name_lower %>.create', - component: Form, - props: true, - meta: { - middleware: [ - GetAssets - ] - }, - }, - { - path: 'read/:id', - name: '<%= controller_name_lower %>.read', - component: <%= controller_name %>View, - props: true, - meta: { - middleware: [ - GetAssets - ] - }, - }, - { - path: 'update/:id', - name: '<%= controller_name_lower %>.update', - component: Form, - props: true, - meta: { - middleware: [ - GetAssets - ] - }, - } - - ] - } - - ] -}; - - -routes_<%= controller_name_lower %>.push(list); - -export default routes_<%= controller_name_lower %>; diff --git a/skeletons/vaahcms/crud/Vue/stores/modules/store-template.js.ejs b/skeletons/vaahcms/crud/Vue/stores/modules/store-template.js.ejs deleted file mode 100644 index d2e0528..0000000 --- a/skeletons/vaahcms/crud/Vue/stores/modules/store-template.js.ejs +++ /dev/null @@ -1,120 +0,0 @@ -import {VhHelper as Vh} from "../../vaahvue/helpers/VhHelper"; - -//---------Variables -let base_url = document.getElementsByTagName('base')[0].getAttribute("href"); -//---------/Variables - -let ajax_url = base_url+"/<%= url+folder_name_lower %>/<%= controller_name_lower %>"; -let query = { - page: null, - q: null, - sort: null, - filter: { - is_active: null, - trashed: null, - }, - include: null, -}; - -let action = { - type: null, - items: [], - inputs: {}, -} - - - -let model_namespace = 'VaahCms\\<%= for_name %>s\\<%= folder_name %>\\Models\\<%= model_name %>'; - -export default { - namespaced: true, - state: { - base_url: base_url, - ajax_url: ajax_url, - assets: null, - data:{ - model: model_namespace, - list: null, - item: null, - fillable:null, - query: Vh.clone(query), - action: Vh.clone(action), - search: { - delay_time: 600, // time delay in milliseconds - delay_timer: 0 // time delay in milliseconds - }, - empty: { - query: Vh.clone(query), - action: Vh.clone(action), - }, - view: 'large', - form: { - type: 'Create', - label_position: 'on-border', - action: null, - is_button_loading: null - }, - show_filters: null, - is_list_loading: null, - count_filters: 0, - }, - - - }, - //========================================================================= - mutations:{ - updateState: function (state, payload) { - state[payload.key] = payload.value; - }, - //----------------------------------------------------------------- - }, - //========================================================================= - actions:{ - //----------------------------------------------------------------- - async getAssets({ state, commit, dispatch, getters }) { - - if(!state.assets) - { - let payload; - let url = state.ajax_url+'/assets'; - let params = {}; - let data = await Vh.ajax(url, params); - payload = { - key: 'assets', - value: data.data.data - }; - commit('updateState', payload); - } - - }, - //----------------------------------------------------------------- - updateView({ state, commit, dispatch, getters }, payload) { - let view ='large'; - let update; - - if(payload.name === '<%= controller_name_lower %>.create' - || payload.name === '<%= controller_name_lower %>.read' - || payload.name === '<%= controller_name_lower %>.update') - { - view = 'small'; - } - - state.data.view = view; - - update = { - key: 'data', - value: state.data - }; - commit('updateState', update); - - }, - //----------------------------------------------------------------- - }, - //========================================================================= - getters:{ - state(state) {return state;}, - assets(state) {return state.assets;}, - data(state) {return state.data;}, - } - -} diff --git a/skeletons/vaahcms/module-crud/Entities/Model.php.ejs b/skeletons/vaahcms/module-crud/Entities/Model.php.ejs deleted file mode 100644 index a068226..0000000 --- a/skeletons/vaahcms/module-crud/Entities/Model.php.ejs +++ /dev/null @@ -1,429 +0,0 @@ -\Entities; - -use Carbon\Carbon; -use Illuminate\Database\Eloquent\Model; -use Illuminate\Database\Eloquent\SoftDeletes; -use Illuminate\Support\Str; -use WebReinvent\VaahCms\Traits\CrudWithUuidObservantTrait; -use WebReinvent\VaahCms\Entities\User; - -class <%= model_name %> extends Model { - - use SoftDeletes; - use CrudWithUuidObservantTrait; - - //------------------------------------------------- - protected $table = '<%= table_name %>'; - //------------------------------------------------- - protected $dates = [ - 'created_at', - 'updated_at', - 'deleted_at' - ]; - //------------------------------------------------- - protected $dateFormat = 'Y-m-d H:i:s'; - //------------------------------------------------- - protected $casts = [ - 'created_at' => 'date:Y-m-d H:i:s', - 'updated_at' => 'date:Y-m-d H:i:s', - 'deleted_at' => 'date:Y-m-d H:i:s', - ]; - //------------------------------------------------- - protected $fillable = [ - 'uuid', - 'name', - 'slug', - 'is_active', - 'created_by', - 'updated_by', - 'deleted_by', - ]; - - //------------------------------------------------- - protected $appends = [ - ]; - //------------------------------------------------- - - public function createdByUser() - { - return $this->belongsTo(User::class, - 'created_by', 'id' - )->select('id', 'uuid', 'first_name', 'last_name', 'email'); - } - - //------------------------------------------------- - public function updatedByUser() - { - return $this->belongsTo(User::class, - 'updated_by', 'id' - )->select('id', 'uuid', 'first_name', 'last_name', 'email'); - } - - //------------------------------------------------- - public function deletedByUser() - { - return $this->belongsTo(User::class, - 'deleted_by', 'id' - )->select('id', 'uuid', 'first_name', 'last_name', 'email'); - } - //------------------------------------------------- - public function getTableColumns() { - return $this->getConnection()->getSchemaBuilder() - ->getColumnListing($this->getTable()); - } - //------------------------------------------------- - public function scopeExclude($query, $columns) - { - return $query->select( array_diff( $this->getTableColumns(),$columns) ); - } - - //------------------------------------------------- - public function scopeBetweenDates($query, $from, $to) - { - - if($from) - { - $from = \Illuminate\Support\Carbon::parse($from) - ->startOfDay() - ->toDateTimeString(); - } - - if($to) - { - $to = Carbon::parse($to) - ->endOfDay() - ->toDateTimeString(); - } - - $query->whereBetween('updated_at',[$from,$to]); - } - //------------------------------------------------- - public static function createItem($request) - { - - $inputs = $request->new_item; - - $validation = static::validation($inputs); - if(isset($validation['status']) && $validation['status'] == 'failed') - { - return $validation; - } - - - // check if name exist - $item = static::where('name',$inputs['name'])->first(); - - if($item) - { - $response['status'] = 'failed'; - $response['errors'][] = "This name is already exist."; - return $response; - } - - - // check if slug exist - $item = static::where('slug',$inputs['slug'])->first(); - - if($item) - { - $response['status'] = 'failed'; - $response['errors'][] = "This slug is already exist."; - return $response; - } - - $item = new static(); - $item->fill($inputs); - $item->slug = Str::slug($inputs['slug']); - $item->save(); - - $response['status'] = 'success'; - $response['data']['item'] = $item; - $response['messages'][] = 'Saved successfully.'; - return $response; - - } - //------------------------------------------------- - public static function getList($request) - { - - - $list = static::orderBy('id', 'desc'); - - if($request['trashed'] == 'true') - { - - $list->withTrashed(); - } - - if(isset($request->from) && isset($request->to)) - { - $list->betweenDates($request['from'],$request['to']); - } - - if($request['filter'] && $request['filter'] == '1') - { - - $list->where('is_active',$request['filter']); - }elseif($request['filter'] == '10'){ - - $list->whereNull('is_active')->orWhere('is_active',0); - } - - if(isset($request->q)) - { - - $list->where(function ($q) use ($request){ - $q->where('name', 'LIKE', '%'.$request->q.'%') - ->orWhere('slug', 'LIKE', '%'.$request->q.'%'); - }); - } - - - $data['list'] = $list->paginate(config('vaahcms.per_page')); - - $response['status'] = 'success'; - $response['data'] = $data; - - return $response; - - - } - //------------------------------------------------- - public static function getItem($id) - { - - $item = static::where('id', $id) - ->with(['createdByUser', 'updatedByUser', 'deletedByUser']) - ->withTrashed() - ->first(); - - $response['status'] = 'success'; - $response['data'] = $item; - - return $response; - - } - //------------------------------------------------- - public static function postStore($request,$id) - { - - $input = $request->item; - - - $validation = static::validation($input); - if(isset($validation['status']) && $validation['status'] == 'failed') - { - return $validation; - } - - // check if name exist - $user = static::where('id','!=',$input['id'])->where('name',$input['name'])->first(); - - if($user) - { - $response['status'] = 'failed'; - $response['errors'][] = "This name is already exist."; - return $response; - } - - - // check if slug exist - $user = static::where('id','!=',$input['id'])->where('slug',$input['slug'])->first(); - - if($user) - { - $response['status'] = 'failed'; - $response['errors'][] = "This slug is already exist."; - return $response; - } - - $update = static::where('id',$id)->withTrashed()->first(); - - $update->name = $input['name']; - $update->slug = Str::slug($input['slug']); - $update->save(); - - - $response['status'] = 'success'; - $response['data'] = []; - $response['messages'][] = 'Data updated.'; - - return $response; - - } - //------------------------------------------------- - public static function bulkStatusChange($request) - { - - if(!$request->has('inputs')) - { - $response['status'] = 'failed'; - $response['errors'][] = 'Select IDs'; - return $response; - } - - if(!$request->has('data')) - { - $response['status'] = 'failed'; - $response['errors'][] = 'Select Status'; - return $response; - } - - foreach($request->inputs as $id) - { - $item = static::where('id',$id)->withTrashed()->first(); - - if($item->deleted_at){ - continue ; - } - - if($request['data']){ - $item->is_active = $request['data']['status']; - }else{ - if($item->is_active == 1){ - $item->is_active = 0; - }else{ - $item->is_active = 1; - } - } - $item->save(); - } - - $response['status'] = 'success'; - $response['data'] = []; - $response['messages'][] = 'Action was successful'; - - return $response; - - } - //------------------------------------------------- - public static function bulkTrash($request) - { - - - if(!$request->has('inputs')) - { - $response['status'] = 'failed'; - $response['errors'][] = 'Select IDs'; - return $response; - } - - - foreach($request->inputs as $id) - { - $item = static::withTrashed()->where('id', $id)->first(); - if($item) - { - $item->delete(); - } - } - - $response['status'] = 'success'; - $response['data'] = []; - $response['messages'][] = 'Action was successful'; - - return $response; - - - } - //------------------------------------------------- - public static function bulkRestore($request) - { - - if(!$request->has('inputs')) - { - $response['status'] = 'failed'; - $response['errors'][] = 'Select IDs'; - return $response; - } - - if(!$request->has('data')) - { - $response['status'] = 'failed'; - $response['errors'][] = 'Select Status'; - return $response; - } - - foreach($request->inputs as $id) - { - $item = static::withTrashed()->where('id', $id)->first(); - if(isset($item) && isset($item->deleted_at)) - { - $item->restore(); - } - } - - $response['status'] = 'success'; - $response['data'] = []; - $response['messages'][] = 'Action was successful'; - - return $response; - - } - //------------------------------------------------- - public static function bulkDelete($request) - { - - if(!$request->has('inputs')) - { - $response['status'] = 'failed'; - $response['errors'][] = 'Select IDs'; - return $response; - } - - if(!$request->has('data')) - { - $response['status'] = 'failed'; - $response['errors'][] = 'Select Status'; - return $response; - } - - foreach($request->inputs as $id) - { - $item = static::where('id', $id)->withTrashed()->first(); - if($item) - { - $item->forceDelete(); - } - } - - $response['status'] = 'success'; - $response['data'] = []; - $response['messages'][] = 'Action was successful'; - - return $response; - - - } - //------------------------------------------------- - - public static function validation($inputs) - { - - $rules = array( - 'name' => 'required|max:150', - 'slug' => 'required|max:150', - ); - - $validator = \Validator::make( $inputs, $rules); - if ( $validator->fails() ) { - - $errors = errorsToArray($validator->errors()); - $response['status'] = 'failed'; - $response['errors'] = $errors; - return $response; - } - - } - //------------------------------------------------- - public static function getActiveItems() - { - $item = static::where('is_active', 1)->get(); - return $item; - } - //------------------------------------------------- - //------------------------------------------------- - //------------------------------------------------- - - -} diff --git a/skeletons/vaahcms/module-crud/Http/Controllers/Backend/Controller.php.ejs b/skeletons/vaahcms/module-crud/Http/Controllers/Backend/Controller.php.ejs deleted file mode 100644 index a5d01fb..0000000 --- a/skeletons/vaahcms/module-crud/Http/Controllers/Backend/Controller.php.ejs +++ /dev/null @@ -1,123 +0,0 @@ -\Http\Controllers\Backend; - -use Carbon\Carbon; -use Illuminate\Http\Request; -use Illuminate\Http\Response; -use Illuminate\Routing\Controller; -use VaahCms\Modules\<%= module_name %>\Entities\<%= model_name %>; - - -class <%= controller_name %>Controller extends Controller -{ - - public $theme; - - //---------------------------------------------------------- - public function __construct() - { - $this->theme = vh_get_backend_theme(); - } - - //---------------------------------------------------------- - - public function getAssets(Request $request) - { - - $data = []; - $data['permission'] = []; - - $response['status'] = 'success'; - $response['data'] = $data; - - return response()->json($response); - } - //---------------------------------------------------------- - - //---------------------------------------------------------- - public function postCreate(Request $request) - { - $response = <%= model_name %>::createItem($request); - return response()->json($response); - } - //---------------------------------------------------------- - public function getList(Request $request) - { - $response = <%= model_name %>::getList($request); - return response()->json($response); - } - //---------------------------------------------------------- - public function getItem(Request $request, $id) - { - $response = <%= model_name %>::getItem($id); - return response()->json($response); - } - - //---------------------------------------------------------- - public function postStore(Request $request,$id) - { - $response = <%= model_name %>::postStore($request,$id); - return response()->json($response); - } - //---------------------------------------------------------- - public function postActions(Request $request, $action) - { - $rules = array( - 'inputs' => 'required', - ); - - $validator = \Validator::make( $request->all(), $rules); - if ( $validator->fails() ) { - - $errors = errorsToArray($validator->errors()); - $response['status'] = 'failed'; - $response['errors'] = $errors; - return response()->json($response); - } - - $response = []; - - $response['status'] = 'success'; - - $inputs = $request->all(); - - switch ($action) - { - - //------------------------------------ - case 'bulk-change-status': - - $response = <%= model_name %>::bulkStatusChange($request); - - break; - //------------------------------------ - case 'bulk-trash': - - $response = <%= model_name %>::bulkTrash($request); - - break; - //------------------------------------ - case 'bulk-restore': - - $response = <%= model_name %>::bulkRestore($request); - - break; - - //------------------------------------ - case 'bulk-delete': - - $response = <%= model_name %>::bulkDelete($request); - - break; - //------------------------------------ - //------------------------------------ - - } - - return response()->json($response); - - } - //---------------------------------------------------------- - //---------------------------------------------------------- - - -} diff --git a/skeletons/vaahcms/module-crud/Routes/backend/routes-template.php.ejs b/skeletons/vaahcms/module-crud/Routes/backend/routes-template.php.ejs deleted file mode 100644 index 18b40b0..0000000 --- a/skeletons/vaahcms/module-crud/Routes/backend/routes-template.php.ejs +++ /dev/null @@ -1,32 +0,0 @@ - 'backend/<%= module_name_lower %>/<%= controller_name_lower %>', - 'middleware' => ['web', 'has.backend.access'], - 'namespace' => 'Backend', -], -function () { - //--------------------------------------------------------- - Route::get('/', '<%= controller_name %>Controller@getIndex') - ->name('vh.backend.<%= module_name_lower %>.<%= controller_name_lower %>'); - //--------------------------------------------------------- - Route::any('/assets', '<%= controller_name %>Controller@getAssets') - ->name('vh.backend.<%= module_name_lower %>.<%= controller_name_lower %>.assets'); - //--------------------------------------------------------- - Route::post('/create', '<%= controller_name %>Controller@postCreate') - ->name('vh.backend.<%= module_name_lower %>.<%= controller_name_lower %>.create'); - //--------------------------------------------------------- - Route::any('/list', '<%= controller_name %>Controller@getList') - ->name('vh.backend.<%= module_name_lower %>.<%= controller_name_lower %>.list'); - //--------------------------------------------------------- - Route::any('/item/{uuid}', '<%= controller_name %>Controller@getItem') - ->name('vh.backend.<%= module_name_lower %>.<%= controller_name_lower %>.item'); - //--------------------------------------------------------- - Route::post('/store/{uuid}', '<%= controller_name %>Controller@postStore') - ->name('vh.backend.<%= module_name_lower %>.<%= controller_name_lower %>.store'); - //--------------------------------------------------------- - Route::post('/actions/{action_name}', '<%= controller_name %>Controller@postActions') - ->name('vh.backend.<%= module_name_lower %>.<%= controller_name_lower %>.actions'); - //--------------------------------------------------------- -}); diff --git a/skeletons/vaahcms/module-crud/Vue/pages/template/Create.vue.ejs b/skeletons/vaahcms/module-crud/Vue/pages/template/Create.vue.ejs deleted file mode 100644 index 1f55779..0000000 --- a/skeletons/vaahcms/module-crud/Vue/pages/template/Create.vue.ejs +++ /dev/null @@ -1,105 +0,0 @@ - - - - diff --git a/skeletons/vaahcms/module-crud/Vue/pages/template/CreateJs.js.ejs b/skeletons/vaahcms/module-crud/Vue/pages/template/CreateJs.js.ejs deleted file mode 100644 index d493a2f..0000000 --- a/skeletons/vaahcms/module-crud/Vue/pages/template/CreateJs.js.ejs +++ /dev/null @@ -1,186 +0,0 @@ -let namespace = '<%= controller_name_lower %>'; - -export default { - computed:{ - root() {return this.$store.getters['root/state']}, - permissions() {return this.$store.getters['root/state'].permissions}, - page() {return this.$store.getters[namespace+'/state']}, - ajax_url() {return this.$store.getters[namespace+'/state'].ajax_url}, - new_item() {return this.$store.getters[namespace+'/state'].new_item}, - new_item_errors() {return this.$store.getters[namespace+'/state'].new_item_errors}, - }, - components:{ - }, - data() - { - return { - namespace: namespace, - is_content_loading: false, - is_btn_loading: null, - labelPosition: 'on-border', - params: {}, - local_action: null, - } - }, - watch: { - $route(to, from) { - this.updateView() - } - }, - mounted() { - - //---------------------------------------------------- - this.onLoad(); - //---------------------------------------------------- - this.resetActiveItem(); - //---------------------------------------------------- - //---------------------------------------------------- - }, - methods: { - //--------------------------------------------------------------------- - //--------------------------------------------------------------------- - update: function(name, value) - { - let update = { - state_name: name, - state_value: value, - namespace: namespace, - }; - this.$vaah.updateState(update); - }, - //--------------------------------------------------------------------- - updateView: function() - { - this.$store.dispatch(namespace+'/updateView', this.$route); - }, - //--------------------------------------------------------------------- - onLoad: function() - { - - this.updateView(); - this.getAssets(); - - }, - //--------------------------------------------------------------------- - async getAssets() { - await this.$store.dispatch(namespace+'/getAssets'); - }, - //--------------------------------------------------------------------- - resetActiveItem: function() - { - this.update('active_item', null); - }, - //--------------------------------------------------------------------- - create: function (action) { - this.is_btn_loading = true; - - // this.$Progress.start(); - - this.params = { - new_item: this.new_item, - action: action - }; - - let url = this.ajax_url+'/create'; - this.$vaah.ajax(url, this.params, this.createAfter); - }, - //--------------------------------------------------------------------- - createAfter: function (data, res) { - this.is_btn_loading = false; - this.$Progress.finish(); - - if(data) - { - - this.$emit('eReloadList'); - - if(this.local_action === 'save-and-close') - { - this.saveAndClose() - } - - if(this.local_action === 'save-and-new') - { - this.saveAndNew() - } - - if(this.local_action === 'save-and-clone') - { - this.saveAndClone() - } - - } - - - }, - //--------------------------------------------------------------------- - updateNewItem: function() - { - this.update('new_item', this.new_item); - }, - //--------------------------------------------------------------------- - //--------------------------------------------------------------------- - setLocalAction: function (action) { - this.local_action = action; - this.create(); - }, - //--------------------------------------------------------------------- - saveAndClose: function () { - this.update('active_item', null); - this.$router.push({name:'<%= controller_name_lower %>.list'}); - }, - //--------------------------------------------------------------------- - saveAndNew: function () { - this.update('active_item', null); - this.resetNewItem(); - }, - //--------------------------------------------------------------------- - saveAndClone: function () { - this.fillNewItem(); - this.$router.push({name:'<%= controller_name_lower %>.create'}); - }, - //--------------------------------------------------------------------- - getNewItem: function() - { - let new_item = { - name: null, - slug: null, - is_active: null, - details: null, - }; - return new_item; - }, - //--------------------------------------------------------------------- - resetNewItem: function() - { - let new_item = this.getNewItem(); - this.update('new_item', new_item); - }, - //--------------------------------------------------------------------- - fillNewItem: function () { - - let new_item = { - name: null, - slug: null, - is_active: null, - details: null, - }; - - for(let key in new_item) - { - new_item[key] = this.new_item[key]; - } - this.update('new_item', new_item); - }, - //--------------------------------------------------------------------- - hasPermission: function(slug) - { - return this.$vaah.hasPermission(this.permissions, slug); - }, - //--------------------------------------------------------------------- - //--------------------------------------------------------------------- - //--------------------------------------------------------------------- - //--------------------------------------------------------------------- - //--------------------------------------------------------------------- - } -} diff --git a/skeletons/vaahcms/module-crud/Vue/pages/template/Edit.vue.ejs b/skeletons/vaahcms/module-crud/Vue/pages/template/Edit.vue.ejs deleted file mode 100644 index 218e711..0000000 --- a/skeletons/vaahcms/module-crud/Vue/pages/template/Edit.vue.ejs +++ /dev/null @@ -1,112 +0,0 @@ - - - - diff --git a/skeletons/vaahcms/module-crud/Vue/pages/template/EditJs.js.ejs b/skeletons/vaahcms/module-crud/Vue/pages/template/EditJs.js.ejs deleted file mode 100644 index 67a94e1..0000000 --- a/skeletons/vaahcms/module-crud/Vue/pages/template/EditJs.js.ejs +++ /dev/null @@ -1,191 +0,0 @@ -let namespace = '<%= controller_name_lower %>'; - -export default { - props: ['id'], - computed:{ - root() {return this.$store.getters['root/state']}, - page() {return this.$store.getters[namespace+'/state']}, - ajax_url() {return this.$store.getters[namespace+'/state'].ajax_url}, - item() {return this.$store.getters[namespace+'/state'].active_item}, - }, - components:{ - }, - data() - { - return { - namespace: namespace, - is_content_loading: false, - is_btn_loading: null, - labelPosition: 'on-border', - params: {}, - local_action: null, - title: null, - } - }, - watch: { - $route(to, from) { - this.updateView() - } - }, - mounted() { - //---------------------------------------------------- - this.onLoad(); - //---------------------------------------------------- - - //---------------------------------------------------- - }, - methods: { - //--------------------------------------------------------------------- - //--------------------------------------------------------------------- - update: function(name, value) - { - let update = { - state_name: name, - state_value: value, - namespace: namespace, - }; - this.$vaah.updateState(update); - }, - //--------------------------------------------------------------------- - updateView: function() - { - this.$store.dispatch(namespace+'/updateView', this.$route); - }, - //--------------------------------------------------------------------- - onLoad: function() - { - this.is_content_loading = true; - - this.updateView(); - this.getAssets(); - this.getItem(); - }, - //--------------------------------------------------------------------- - async getAssets() { - await this.$store.dispatch(namespace+'/getAssets'); - }, - //--------------------------------------------------------------------- - getItem: function () { - this.$Progress.start(); - this.params = {}; - let url = this.ajax_url+'/item/'+this.$route.params.id; - this.$vaah.ajaxGet(url, this.params, this.getItemAfter); - }, - //--------------------------------------------------------------------- - getItemAfter: function (data, res) { - this.$Progress.finish(); - this.is_content_loading = false; - - if(data) - { - this.title = data.name; - this.update('active_item', data); - } else - { - //if item does not exist or delete then redirect to list - this.update('active_item', null); - this.$router.push({name: '<%= controller_name_lower %>.list'}); - } - }, - //--------------------------------------------------------------------- - store: function () { - this.$Progress.start(); - - let params = { - item: this.item, - }; - - let url = this.ajax_url+'/store/'+this.item.id; - this.$vaah.ajax(url, params, this.storeAfter); - }, - //--------------------------------------------------------------------- - storeAfter: function (data, res) { - - this.$Progress.finish(); - - if(data) - { - this.$emit('eReloadList'); - - if(this.local_action === 'save-and-close') - { - this.saveAndClose() - } - - if(this.local_action === 'save-and-new') - { - this.saveAndNew() - } - - if(this.local_action === 'save-and-clone') - { - this.saveAndClone() - } - - if(this.local_action === 'save') - { - this.$router.push({name: '<%= controller_name_lower %>.view', params:{id:this.id}}); - this.$root.$emit('eReloadItem'); - } - - } - - }, - //--------------------------------------------------------------------- - setLocalAction: function (action) { - this.local_action = action; - this.store(); - }, - //--------------------------------------------------------------------- - saveAndClose: function () { - this.update('active_item', null); - this.$router.push({name:'<%= controller_name_lower %>.list'}); - }, - //--------------------------------------------------------------------- - saveAndNew: function () { - this.update('active_item', null); - this.resetNewItem(); - this.$router.push({name:'<%= controller_name_lower %>.create'}); - }, - //--------------------------------------------------------------------- - saveAndClone: function () { - this.fillNewItem(); - this.update('active_item', null); - this.$router.push({name:'<%= controller_name_lower %>.create'}); - }, - //--------------------------------------------------------------------- - getNewItem: function() - { - let new_item = { - name: null, - slug: null, - is_active: null, - details: null, - }; - return new_item; - }, - //--------------------------------------------------------------------- - resetNewItem: function() - { - let new_item = this.getNewItem(); - this.update('new_item', new_item); - }, - //--------------------------------------------------------------------- - fillNewItem: function () { - - let new_item = { - name: null, - slug: null, - is_active: null, - details: null, - }; - - for(let key in new_item) - { - new_item[key] = this.item[key]; - } - this.update('new_item', new_item); - } - //--------------------------------------------------------------------- - } -} diff --git a/skeletons/vaahcms/module-crud/Vue/pages/template/List.vue.ejs b/skeletons/vaahcms/module-crud/Vue/pages/template/List.vue.ejs deleted file mode 100644 index 4c03625..0000000 --- a/skeletons/vaahcms/module-crud/Vue/pages/template/List.vue.ejs +++ /dev/null @@ -1,265 +0,0 @@ - - - - diff --git a/skeletons/vaahcms/module-crud/Vue/pages/template/ListJs.js.ejs b/skeletons/vaahcms/module-crud/Vue/pages/template/ListJs.js.ejs deleted file mode 100644 index 37672aa..0000000 --- a/skeletons/vaahcms/module-crud/Vue/pages/template/ListJs.js.ejs +++ /dev/null @@ -1,324 +0,0 @@ -import ListLargeView from './partials/ListLargeView'; -import ListSmallView from './partials/ListSmallView'; - -let namespace = '<%= controller_name_lower %>'; - -export default { - computed:{ - root() {return this.$store.getters['root/state']}, - permissions() {return this.$store.getters['root/state'].permissions}, - page() {return this.$store.getters[namespace+'/state']}, - ajax_url() {return this.$store.getters[namespace+'/state'].ajax_url}, - query_string() {return this.$store.getters[namespace+'/state'].query_string}, - }, - components:{ - ListLargeView, - ListSmallView, - }, - data() - { - return { - namespace: namespace, - is_content_loading: false, - is_btn_loading: false, - assets: null, - selected_date: null, - search_delay: null, - search_delay_time: 800, - ids: [], - moduleSection: null, - } - }, - watch: { - $route(to, from) { - this.updateView(); - this.updateQueryString(); - this.updateActiveItem(); - } - }, - created() - { - - }, - mounted() { - //---------------------------------------------------- - this.onLoad(); - //---------------------------------------------------- - - //---------------------------------------------------- - }, - methods: { - //--------------------------------------------------------------------- - //--------------------------------------------------------------------- - update: function(name, value) - { - let update = { - state_name: name, - state_value: value, - namespace: namespace, - }; - this.$vaah.updateState(update); - }, - //--------------------------------------------------------------------- - updateView: function() - { - this.$store.dispatch(namespace+'/updateView', this.$route); - }, - //--------------------------------------------------------------------- - onLoad: function() - { - this.updateView(); - this.updateQueryString(); - this.getAssets(); - this.setDateFilter(); - }, - //--------------------------------------------------------------------- - updateQueryString: function() - { - let query = this.$vaah.removeEmpty(this.$route.query); - if(Object.keys(query).length) - { - for(let key in query) - { - this.query_string[key] = query[key]; - } - } - this.update('query_string', this.query_string); - this.$vaah.updateCurrentURL(this.query_string, this.$router); - }, - //--------------------------------------------------------------------- - async getAssets() { - await this.$store.dispatch(namespace+'/getAssets'); - this.getList(); - }, - //--------------------------------------------------------------------- - - //--------------------------------------------------------------------- - toggleFilters: function() - { - if(this.page.show_filters == false) - { - this.page.show_filters = true; - } else - { - this.page.show_filters = false; - } - - this.update('show_filters', this.page.show_filters); - - }, - //--------------------------------------------------------------------- - clearSearch: function () { - this.query_string.q = null; - this.update('query_string', this.query_string); - this.getList(); - }, - //--------------------------------------------------------------------- - setDateFilter: function() - { - if(this.query_string.from){ - let from = new Date(this.query_string.from); - - this.selected_date=[ - from - ]; - } - - if(this.query_string.to){ - let to = new Date(this.query_string.to); - - this.selected_date[1] = to; - } - }, - //--------------------------------------------------------------------- - resetPage: function() - { - - //reset query strings - this.resetQueryString(); - - this.resetSelectedDate(); - - //reset bulk actions - this.resetBulkAction(); - - //reload page list - this.getList(); - - }, - //--------------------------------------------------------------------- - resetSelectedDate: function() - { - this.selected_date = null; - }, - //--------------------------------------------------------------------- - resetQueryString: function() - { - for(let key in this.query_string) - { - if(key == 'page') - { - this.query_string[key] = 1; - } else - { - this.query_string[key] = null; - } - } - - this.update('query_string', this.query_string); - }, - //--------------------------------------------------------------------- - resetBulkAction: function() - { - this.page.bulk_action = { - selected_items: [], - data: {}, - action: null, - }; - this.update('bulk_action', this.page.bulk_action); - }, - //--------------------------------------------------------------------- - paginate: function(page=1) - { - this.query_string.page = page; - this.update('query_string', this.query_string); - this.getList(); - }, - //--------------------------------------------------------------------- - delayedSearch: function() - { - let self = this; - clearTimeout(this.search_delay); - this.search_delay = setTimeout(function() { - self.getList(); - }, this.search_delay_time); - - this.query_string.page = 1; - this.update('query_string', this.query_string); - - }, - //--------------------------------------------------------------------- - //--------------------------------------------------------------------- - getList: function () { - this.$Progress.start(); - this.$vaah.updateCurrentURL(this.query_string, this.$router); - let url = this.ajax_url+'/list'; - this.$vaah.ajaxGet(url, this.query_string, this.getListAfter); - }, - //--------------------------------------------------------------------- - getListAfter: function (data, res) { - - this.update('is_list_loading', false); - this.update('list', data.list); - - this.update('total_permissions', data.totalPermission); - this.update('total_users', data.totalUser); - - if(data.list.total === 0) - { - this.update('list_is_empty', true); - }else{ - this.update('list_is_empty', false); - } - - this.page.query_string.recount = null; - - this.update('query_string', this.page.query_string); - this.$vaah.updateCurrentURL(this.page.query_string, this.$router); - - this.is_btn_loading = false; - this.$Progress.finish(); - - }, - //--------------------------------------------------------------------- - actions: function () { - - if(!this.page.bulk_action.action) - { - this.$vaah.toastErrors(['Select an action']); - return false; - } - - if(this.page.bulk_action.action == 'bulk-change-status'){ - if(!this.page.bulk_action.data.status){ - this.$vaah.toastErrors(['Select a status']); - return false; - } - } - - if(this.page.bulk_action.selected_items.length < 1) - { - this.$vaah.toastErrors(['Select a record']); - return false; - } - - this.$Progress.start(); - this.update('bulk_action', this.page.bulk_action); - let ids = this.$vaah.pluckFromObject(this.page.bulk_action.selected_items, 'id'); - - let params = { - inputs: ids, - data: this.page.bulk_action.data - }; - - console.log('--->params', params); - - let url = this.ajax_url+'/actions/'+this.page.bulk_action.action; - this.$vaah.ajax(url, params, this.actionsAfter); - }, - //--------------------------------------------------------------------- - actionsAfter: function (data, res) { - if(data) - { - this.$root.$emit('eReloadItem'); - this.resetBulkAction(); - this.getList(); - this.$store.dispatch('root/reloadPermissions'); - } else - { - this.$Progress.finish(); - } - }, - //--------------------------------------------------------------------- - sync: function () { - - this.page.query_string.recount = true; - - this.is_btn_loading = true; - - this.update('query_string', this.page.query_string); - this.getList(); - }, - //--------------------------------------------------------------------- - updateActiveItem: function () { - - if(this.$route.fullPath.includes('<%= controller_name_lower %>/?')){ - this.update('active_item', null); - } - }, - //--------------------------------------------------------------------- - hasPermission: function(slug) - { - return this.$vaah.hasPermission(this.permissions, slug); - }, - //--------------------------------------------------------------------- - setDateRange: function() - { - - if(this.selected_date.length > 0){ - let current_datetime = new Date(this.selected_date[0]); - this.query_string.from = current_datetime.getFullYear() + "-" + (current_datetime.getMonth() + 1) + "-" + current_datetime.getDate(); - - current_datetime = new Date(this.selected_date[1]); - this.query_string.to = current_datetime.getFullYear() + "-" + (current_datetime.getMonth() + 1) + "-" + current_datetime.getDate(); - - this.getList(); - } - - - - }, - //--------------------------------------------------------------------- - //--------------------------------------------------------------------- - } -} diff --git a/skeletons/vaahcms/module-crud/Vue/pages/template/View.vue.ejs b/skeletons/vaahcms/module-crud/Vue/pages/template/View.vue.ejs deleted file mode 100644 index 5b38c87..0000000 --- a/skeletons/vaahcms/module-crud/Vue/pages/template/View.vue.ejs +++ /dev/null @@ -1,144 +0,0 @@ - - - - diff --git a/skeletons/vaahcms/module-crud/Vue/pages/template/ViewJs.js.ejs b/skeletons/vaahcms/module-crud/Vue/pages/template/ViewJs.js.ejs deleted file mode 100644 index e4115b0..0000000 --- a/skeletons/vaahcms/module-crud/Vue/pages/template/ViewJs.js.ejs +++ /dev/null @@ -1,204 +0,0 @@ -let namespace = '<%= controller_name_lower %>'; - - - -export default { - computed:{ - root() {return this.$store.getters['root/state']}, - permissions() {return this.$store.getters['root/state'].permissions}, - page() {return this.$store.getters[namespace+'/state']}, - ajax_url() {return this.$store.getters[namespace+'/state'].ajax_url}, - item() {return this.$store.getters[namespace+'/state'].active_item}, - }, - components:{ - - }, - data() - { - return { - namespace: namespace, - is_btn_loading: false, - is_content_loading: false, - } - }, - watch: { - $route(to, from) { - - if (to.query.page) { - this.updateView(); - this.getItem(); - } - - } - }, - mounted() { - //---------------------------------------------------- - this.onLoad(); - //---------------------------------------------------- - this.$root.$on('eReloadItem', this.getItem); - //---------------------------------------------------- - this.$root.$on('eResetBulkActions', this.resetBulkAction); - //---------------------------------------------------- - //---------------------------------------------------- - }, - methods: { - //--------------------------------------------------------------------- - update: function(name, value) - { - let update = { - state_name: name, - state_value: value, - namespace: namespace, - }; - this.$vaah.updateState(update); - }, - //--------------------------------------------------------------------- - updateView: function() - { - this.$store.dispatch(namespace+'/updateView', this.$route); - }, - //--------------------------------------------------------------------- - onLoad: function() - { - this.is_content_loading = true; - - this.updateView(); - this.getAssets(); - this.getItem(); - }, - //--------------------------------------------------------------------- - async getAssets() { - await this.$store.dispatch(namespace+'/getAssets'); - }, - //--------------------------------------------------------------------- - getItem: function () { - this.$Progress.start(); - this.params = {}; - let url = this.ajax_url+'/item/'+this.$route.params.id; - this.$vaah.ajaxGet(url, this.params, this.getItemAfter); - }, - //--------------------------------------------------------------------- - getItemAfter: function (data, res) { - this.$Progress.finish(); - this.is_content_loading = false; - - if(data && data) - { - if(data.is_active == 1){ - data.is_active = 'Yes'; - }else{ - data.is_active = 'No'; - } - this.update('active_item', data); - } else - { - //if item does not exist or delete then redirect to list - this.update('active_item', null); - this.$router.push({name: '<%= controller_name_lower %>.list'}); - } - }, - //--------------------------------------------------------------------- - actions: function (action) { - - console.log('--->action', action); - - this.$Progress.start(); - this.page.bulk_action.action = action; - this.update('bulk_action', this.page.bulk_action); - let params = { - inputs: [this.item.id], - data: null - }; - - let url = this.ajax_url+'/actions/'+this.page.bulk_action.action; - this.$vaah.ajax(url, params, this.actionsAfter); - - }, - //--------------------------------------------------------------------- - actionsAfter: function (data, res) { - let action = this.page.bulk_action.action; - if(data) - { - this.resetBulkAction(); - this.$emit('eReloadList'); - - if(action == 'bulk-delete') - { - this.$router.push({name: '<%= controller_name_lower %>.list'}); - } else - { - this.getItem(); - } - - } else - { - this.$Progress.finish(); - } - }, - //--------------------------------------------------------------------- - //--------------------------------------------------------------------- - resetBulkAction: function() - { - this.page.bulk_action = { - selected_items: [], - data: {}, - action: "", - }; - this.update('bulk_action', this.page.bulk_action); - }, - //--------------------------------------------------------------------- - confirmDelete: function() - { - let self = this; - this.$buefy.dialog.confirm({ - title: 'Deleting record', - message: 'Are you sure you want to delete the record? This action cannot be undone.', - confirmText: 'Delete', - type: 'is-danger', - hasIcon: true, - onConfirm: function () { - self.actions('bulk-delete'); - } - }) - }, - //--------------------------------------------------------------------- - isCopiable: function (label) { - - if( - label == 'id' || label == 'uuid' || label == 'slug' - ) - { - return true; - } - - return false; - - }, - //--------------------------------------------------------------------- - isUpperCase: function (label) { - - if( - label == 'id' || label == 'uuid' - ) - { - return true; - } - - return false; - - }, - //--------------------------------------------------------------------- - resetActiveItem: function () { - this.update('active_item', null); - this.$router.push({name:'<%= controller_name_lower %>.list'}); - }, - //--------------------------------------------------------------------- - hasPermission: function(slug) - { - return this.$vaah.hasPermission(this.permissions, slug); - }, - //--------------------------------------------------------------------- - - //--------------------------------------------------------------------- - } -} diff --git a/skeletons/vaahcms/module-crud/Vue/pages/template/partials/ListLargeView.vue.ejs b/skeletons/vaahcms/module-crud/Vue/pages/template/partials/ListLargeView.vue.ejs deleted file mode 100644 index 81ba3d8..0000000 --- a/skeletons/vaahcms/module-crud/Vue/pages/template/partials/ListLargeView.vue.ejs +++ /dev/null @@ -1,61 +0,0 @@ - - - diff --git a/skeletons/vaahcms/module-crud/Vue/pages/template/partials/ListLargeViewJs.js.ejs b/skeletons/vaahcms/module-crud/Vue/pages/template/partials/ListLargeViewJs.js.ejs deleted file mode 100644 index b36aa44..0000000 --- a/skeletons/vaahcms/module-crud/Vue/pages/template/partials/ListLargeViewJs.js.ejs +++ /dev/null @@ -1,100 +0,0 @@ -let namespace = '<%= controller_name_lower %>'; -export default { - computed: { - root() {return this.$store.getters['root/state']}, - permissions() {return this.$store.getters['root/state'].permissions}, - page() {return this.$store.getters[namespace+'/state']}, - ajax_url() {return this.$store.getters[namespace+'/state'].ajax_url}, - query_string() {return this.$store.getters[namespace+'/state'].query_string}, - }, - components:{ - - }, - - data() - { - let obj = { - namespace: namespace, - icon_copy: "" - }; - - return obj; - }, - created() { - }, - mounted(){ - - }, - - watch: { - - }, - methods: { - //--------------------------------------------------------------------- - update: function(name, value) - { - let update = { - state_name: name, - state_value: value, - namespace: namespace, - }; - this.$vaah.updateState(update); - }, - //--------------------------------------------------------------------- - setRowClass: function(row, index) - { - - if(this.page.active_item && row.id == this.page.active_item.id) - { - return 'is-selected'; - } - - if(row.deleted_at != null) - { - return 'is-danger'; - } - - }, - //--------------------------------------------------------------------- - setActiveItem: function (item) { - this.update('active_item', item); - this.$router.push({name: '<%= controller_name_lower %>.view', params:{id:item.id}}) - }, - //--------------------------------------------------------------------- - changeStatus: function (id) { - this.$Progress.start(); - let url = this.ajax_url+'/actions/bulk-change-status'; - let params = { - inputs: [id], - data: null - }; - this.$vaah.ajax(url, params, this.changeStatusAfter); - }, - //--------------------------------------------------------------------- - changeStatusAfter: function (data,res) { - this.$emit('eReloadList'); - this.update('is_list_loading', false); - - }, - - //--------------------------------------------------------------------- - copiedData: function (data) { - - this.$vaah.toastSuccess(['copied']); - - // alertify.success('copied'); - - this.$vaah.console(data, 'copied data'); - - }, - //--------------------------------------------------------------------- - hasPermission: function(slug) - { - return this.$vaah.hasPermission(this.permissions, slug); - }, - //--------------------------------------------------------------------- - //--------------------------------------------------------------------- - //--------------------------------------------------------------------- - //--------------------------------------------------------------------- - } -} diff --git a/skeletons/vaahcms/module-crud/Vue/pages/template/partials/ListSmallView.vue.ejs b/skeletons/vaahcms/module-crud/Vue/pages/template/partials/ListSmallView.vue.ejs deleted file mode 100644 index b56cb5f..0000000 --- a/skeletons/vaahcms/module-crud/Vue/pages/template/partials/ListSmallView.vue.ejs +++ /dev/null @@ -1,54 +0,0 @@ - - diff --git a/skeletons/vaahcms/module-crud/Vue/pages/template/partials/ListSmallViewJs.js.ejs b/skeletons/vaahcms/module-crud/Vue/pages/template/partials/ListSmallViewJs.js.ejs deleted file mode 100644 index ebddc2f..0000000 --- a/skeletons/vaahcms/module-crud/Vue/pages/template/partials/ListSmallViewJs.js.ejs +++ /dev/null @@ -1,81 +0,0 @@ -let namespace = '<%= controller_name_lower %>'; -export default { - computed: { - root() {return this.$store.getters['root/state']}, - permissions() {return this.$store.getters['root/state'].permissions}, - page() {return this.$store.getters[namespace+'/state']}, - ajax_url() {return this.$store.getters[namespace+'/state'].ajax_url}, - query_string() {return this.$store.getters[namespace+'/state'].query_string}, - }, - components:{ - - }, - - data() - { - let obj = { - namespace: namespace, - }; - - return obj; - }, - created() { - }, - mounted(){ - - }, - - watch: { - - }, - methods: { - //--------------------------------------------------------------------- - update: function(name, value) - { - let update = { - state_name: name, - state_value: value, - namespace: namespace, - }; - this.$vaah.updateState(update); - }, - //--------------------------------------------------------------------- - setRowClass: function(row, index) - { - - if(this.page.active_item && row.id == this.page.active_item.id) - { - return 'is-selected'; - } - - if(row.deleted_at != null) - { - return 'is-danger'; - } - - }, - //--------------------------------------------------------------------- - setActiveItem: function (item) { - this.update('active_item', item); - this.$router.push({name: '<%= controller_name_lower %>.view', params:{id:item.id}}) - }, - - //--------------------------------------------------------------------- - copiedData: function (data) { - - this.$vaah.toastSuccess(['copied']); - - // alertify.success('copied'); - - this.$vaah.console(data, 'copied data'); - - }, - //--------------------------------------------------------------------- - hasPermission: function(slug) - { - return this.$vaah.hasPermission(this.permissions, slug); - }, - //--------------------------------------------------------------------- - //--------------------------------------------------------------------- - } -} diff --git a/skeletons/vaahcms/module-crud/Vue/routes/vue-routes-template.js.ejs b/skeletons/vaahcms/module-crud/Vue/routes/vue-routes-template.js.ejs deleted file mode 100644 index 60156f2..0000000 --- a/skeletons/vaahcms/module-crud/Vue/routes/vue-routes-template.js.ejs +++ /dev/null @@ -1,75 +0,0 @@ -import <%= controller_name %>List from "./../pages/<%= controller_name_lower %>/List"; -import <%= controller_name %>Create from "../pages/<%= controller_name_lower %>/Create"; -import <%= controller_name %>View from "./../pages/<%= controller_name_lower %>/View"; -import <%= controller_name %>Edit from "./../pages/<%= controller_name_lower %>/Edit"; - -import GetAssets from './middleware/GetAssets' -import LayoutBackend from "./../layouts/Backend"; - -let routes_<%= controller_name_lower %>=[]; - -let list = { - path: '/<%= controller_name_lower %>', - component: LayoutBackend, - props: true, - meta: { - middleware: [ - GetAssets - ] - }, - children: [ - { - path: '/', - name: '<%= controller_name_lower %>.list', - component: <%= controller_name %>List, - props: true, - meta: { - middleware: [ - GetAssets - ] - }, - children: [ - { - path: 'create', - name: '<%= controller_name_lower %>.create', - component: <%= controller_name %>Create, - props: true, - meta: { - middleware: [ - GetAssets - ] - }, - }, - { - path: 'view/:id', - name: '<%= controller_name_lower %>.view', - component: <%= controller_name %>View, - props: true, - meta: { - middleware: [ - GetAssets - ] - }, - }, - { - path: 'edit/:id', - name: '<%= controller_name_lower %>.edit', - component: <%= controller_name %>Edit, - props: true, - meta: { - middleware: [ - GetAssets - ] - }, - } - - ] - } - - ] -}; - - -routes_<%= controller_name_lower %>.push(list); - -export default routes_<%= controller_name_lower %>; \ No newline at end of file diff --git a/skeletons/vaahcms/module-crud/Vue/store/modules/store-template.js.ejs b/skeletons/vaahcms/module-crud/Vue/store/modules/store-template.js.ejs deleted file mode 100644 index c7ee8ad..0000000 --- a/skeletons/vaahcms/module-crud/Vue/store/modules/store-template.js.ejs +++ /dev/null @@ -1,120 +0,0 @@ -import {VaahHelper as Vaah} from "../../vaahvue/helpers/VaahHelper"; - -//---------Variables -let base_url = document.getElementsByTagName('base')[0].getAttribute("href"); -let debug = document.getElementById('debug').getAttribute('content'); -//---------/Variables - -let ajax_url = base_url+"/backend/<%= module_name_lower %>/<%= controller_name_lower %>"; - -export default { - namespaced: true, - state: { - debug: debug, - ajax_url: ajax_url, - assets: null, - assets_is_fetching: null, - list: null, - list_is_empty: false, - is_list_loading: false, - list_view: true, - active_item: null, - is_item_loading: false, - show_filters: false, - query_string: { - page: 1, - q: null, - trashed: null, - filter: null, - sort_by: null, - sort_order: 'desc', - }, - bulk_action:{ - selected_items: [], - data: {}, - action: null, - }, - new_item:{ - name: null, - slug: null, - }, - - }, - //========================================================================= - mutations:{ - updateState: function (state, payload) { - state[payload.key] = payload.value; - }, - //----------------------------------------------------------------- - }, - //========================================================================= - actions:{ - //----------------------------------------------------------------- - async getAssets({ state, commit, dispatch, getters }) { - - if(!state.assets_is_fetching || !state.assets) - { - let payload = { - key: 'assets_is_fetching', - value: true - }; - commit('updateState', payload); - - let url = state.ajax_url+'/assets'; - - console.log('--->assets url', url); - - let params = {}; - let data = await Vaah.ajaxGet(url, params); - payload = { - key: 'assets', - value: data.data.data - }; - - commit('updateState', payload); - } - - }, - //----------------------------------------------------------------- - updateView({ state, commit, dispatch, getters }, payload) { - let list_view; - let update; - - if(payload && payload.name && payload.name == '<%= controller_name_lower %>.list') - { - list_view = 'large'; - - update = { - key: 'active_item', - value: null - }; - - commit('updateState', update); - - } - - if(payload.name == '<%= controller_name_lower %>.create' - || payload.name == '<%= controller_name_lower %>.view' - || payload.name == '<%= controller_name_lower %>.edit') - { - list_view = 'medium'; - }; - - let view = { - key: 'list_view', - value: list_view - }; - - commit('updateState', view); - - }, - //----------------------------------------------------------------- - }, - //========================================================================= - getters:{ - state(state) {return state;}, - assets(state) {return state.assets;}, - permissions(state) {return state.permissions;}, - } - -} diff --git a/skeletons/vaahcms/module-files/controller-plain.php.ejs b/skeletons/vaahcms/module-files/controller-plain.php.ejs deleted file mode 100644 index bde925e..0000000 --- a/skeletons/vaahcms/module-files/controller-plain.php.ejs +++ /dev/null @@ -1,10 +0,0 @@ -; - - -use Illuminate\Routing\Controller; - -class <%= name %>Controller extends Controller { - - - -} diff --git a/skeletons/vaahcms/module-files/controller.php.ejs b/skeletons/vaahcms/module-files/controller.php.ejs deleted file mode 100644 index c5118da..0000000 --- a/skeletons/vaahcms/module-files/controller.php.ejs +++ /dev/null @@ -1,76 +0,0 @@ -; - -use Illuminate\Http\Request; -use Illuminate\Http\Response; -use Illuminate\Routing\Controller; - -class <%= name %>Controller extends Controller { - - /** - * Display a listing of the resource. - * @return Response - */ - public function index() - { - return view('index'); - } - - /** - * Show the form for creating a new resource. - * @return Response - */ - public function create(Request $request) - { - return view('create'); - } - - /** - * Store a newly created resource in storage. - * @return Response - */ - public function store(Request $request) - { - return response()->json([]); - } - - /** - * Display the specified resource. - * @param int $id - * @return Response - */ - public function show(Request $request, $id) - { - return view('show'); - } - - /** - * Show the form for editing the specified resource. - * @param int $id - * @return Response - */ - public function edit(Request $request, $id) - { - return view('edit'); - } - - /** - * Update the specified resource in storage. - * @param int $id - * @return Response - */ - public function update(Request $request, $id) - { - return response()->json([]); - } - - /** - * Remove the specified resource from storage. - * @param int $id - * @return Response - */ - public function destroy(Request $request, $id) - { - return response()->json([]); - } - -} diff --git a/skeletons/vaahcms/module-files/event.php.ejs b/skeletons/vaahcms/module-files/event.php.ejs deleted file mode 100644 index 3c6953e..0000000 --- a/skeletons/vaahcms/module-files/event.php.ejs +++ /dev/null @@ -1,30 +0,0 @@ -; - -use Illuminate\Queue\SerializesModels; - -class <%= name %> { - - use SerializesModels; - - /** - * Create a new event instance. - * - * @return void - */ - public function __construct() - { - // - - } - - /** - * Get the channels the event should be broadcast on. - * - * @return array - */ - public function broadcastOn() - { - return []; - } - -} diff --git a/skeletons/vaahcms/module-files/listener.php.ejs b/skeletons/vaahcms/module-files/listener.php.ejs deleted file mode 100644 index a0935dc..0000000 --- a/skeletons/vaahcms/module-files/listener.php.ejs +++ /dev/null @@ -1,26 +0,0 @@ -; - -use Illuminate\Contracts\Queue\ShouldQueue; -use Illuminate\Queue\InteractsWithQueue; - -class <%= name %>Listener { - - /** - * Create the event listener. - * - * @return void - */ - public function __construct() { - // - } - - /** - * Handle the event. - * @return void - */ - public function handle() - { - // - } - -} diff --git a/skeletons/vaahcms/module-files/mail.php.ejs b/skeletons/vaahcms/module-files/mail.php.ejs deleted file mode 100644 index d24d4db..0000000 --- a/skeletons/vaahcms/module-files/mail.php.ejs +++ /dev/null @@ -1,32 +0,0 @@ -; - -use Illuminate\Bus\Queueable; -use Illuminate\Contracts\Queue\ShouldQueue; -use Illuminate\Mail\Mailable; -use Illuminate\Queue\SerializesModels; - -class <%= name %>Mail extends Mailable { - - use Queueable, SerializesModels; - - /** - * Create a new event instance. - * - * @return void - */ - public function __construct() - { - // - } - - /** - * Get the channels the event should be broadcast on. - * - * @return array - */ - public function build() - { - return $this->view('<%= module_lower %>::emails.<%= name_lower %>'); - } - -} diff --git a/skeletons/vaahcms/module-files/mailEmail.php.ejs b/skeletons/vaahcms/module-files/mailEmail.php.ejs deleted file mode 100644 index c284b12..0000000 --- a/skeletons/vaahcms/module-files/mailEmail.php.ejs +++ /dev/null @@ -1,2 +0,0 @@ -

Heading

-

Email Content

\ No newline at end of file diff --git a/skeletons/vaahcms/module-files/middleware.php.ejs b/skeletons/vaahcms/module-files/middleware.php.ejs deleted file mode 100644 index c3a1d53..0000000 --- a/skeletons/vaahcms/module-files/middleware.php.ejs +++ /dev/null @@ -1,19 +0,0 @@ -; - -use Closure; -use Illuminate\Http\Request; - -class <%= name %> -{ - /** - * Handle an incoming request. - * - * @param \Illuminate\Http\Request $request - * @param \Closure $next - * @return mixed - */ - public function handle(Request $request, Closure $next) - { - return $next($request); - } -} diff --git a/skeletons/vaahcms/module-files/migration.php.ejs b/skeletons/vaahcms/module-files/migration.php.ejs deleted file mode 100644 index f663ec8..0000000 --- a/skeletons/vaahcms/module-files/migration.php.ejs +++ /dev/null @@ -1,43 +0,0 @@ - extends Migration -{ - /** - * Run the migrations. - * - * @return void - */ - public function up() - { - - Schema::create('<%= table_name %>', function (Blueprint $table) { - $table->increments('id'); - $table->uuid('uuid')->nullable()->index(); - - //----common fields - $table->text('meta')->nullable(); - $table->integer('created_by')->nullable()->index(); - $table->integer('updated_by')->nullable()->index(); - $table->integer('deleted_by')->nullable()->index(); - $table->timestamps(); - $table->softDeletes(); - $table->index(['created_at', 'updated_at', 'deleted_at']); - //----/common fields - - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('<%= table_name %>'); - } -} diff --git a/skeletons/vaahcms/module-files/model.php.ejs b/skeletons/vaahcms/module-files/model.php.ejs deleted file mode 100644 index 6d63622..0000000 --- a/skeletons/vaahcms/module-files/model.php.ejs +++ /dev/null @@ -1,100 +0,0 @@ -; - -use Illuminate\Database\Eloquent\SoftDeletes; -use WebReinvent\VaahCms\Models\VaahModel; -use WebReinvent\VaahCms\Models\User; -use WebReinvent\VaahCms\Traits\CrudWithUuidObservantTrait; - -class <%= name %> extends VaahModel { - - use SoftDeletes; - use CrudWithUuidObservantTrait; - - //------------------------------------------------- - //protected $table = '<%= name %>'; - //------------------------------------------------- - protected $dates = [ - 'created_at', - 'updated_at', - 'deleted_at' - ]; - //------------------------------------------------- - protected $fillable = [ - 'uuid', - 'name', - 'slug', - 'is_active', - 'created_by', - 'updated_by', - 'deleted_by', - ]; - - //------------------------------------------------- - protected $appends = [ - ]; - //------------------------------------------------- - protected function serializeDate(DateTimeInterface $date) - { - $date_time_format = config('settings.global.datetime_format'); - return $date->format($date_time_format); - } - //------------------------------------------------- - - public function createdByUser() - { - return $this->belongsTo(User::class, - 'created_by', 'id' - )->select('id', 'uuid', 'first_name', 'last_name', 'email'); - } - - //------------------------------------------------- - public function updatedByUser() - { - return $this->belongsTo(User::class, - 'updated_by', 'id' - )->select('id', 'uuid', 'first_name', 'last_name', 'email'); - } - - //------------------------------------------------- - public function deletedByUser() - { - return $this->belongsTo(User::class, - 'deleted_by', 'id' - )->select('id', 'uuid', 'first_name', 'last_name', 'email'); - } - //------------------------------------------------- - public function getTableColumns() - { - return $this->getConnection() - ->getSchemaBuilder() - ->getColumnListing($this->getTable()); - } - - //------------------------------------------------- - public function scopeExclude($query, $columns) - { - return $query->select(array_diff($this->getTableColumns(), $columns)); - } - - //------------------------------------------------- - public function scopeBetweenDates($query, $from, $to) - { - - if ($from) { - $from = \Carbon::parse($from) - ->startOfDay() - ->toDateTimeString(); - } - - if ($to) { - $to = \Carbon::parse($to) - ->endOfDay() - ->toDateTimeString(); - } - - $query->whereBetween('updated_at', [$from, $to]); - } - - //------------------------------------------------- - -} diff --git a/skeletons/vaahcms/module-files/notification.php.ejs b/skeletons/vaahcms/module-files/notification.php.ejs deleted file mode 100644 index f389d92..0000000 --- a/skeletons/vaahcms/module-files/notification.php.ejs +++ /dev/null @@ -1,60 +0,0 @@ -; - -use Illuminate\Bus\Queueable; -use Illuminate\Contracts\Queue\ShouldQueue; -use Illuminate\Notifications\Messages\MailMessage; -use Illuminate\Notifications\Notification; - -class <%= name %>Notification extends Notification { - - use Queueable; - - /** - * Create a new notification instance. - * - * @return void - */ - public function __construct() - { - // - } - - /** - * Get the notification's delivery channels. - * - * @param mixed $notifiable - * @return array - */ - public function via($notifiable) - { - return ['mail']; - } - - /** - * Get the mail representation of the notification. - * - * @param mixed $notifiable - * @return \Illuminate\Notifications\Messages\MailMessage - */ - public function toMail($notifiable) - { - return (new MailMessage) - ->line('The introduction to the notification.') - ->action('Notification Action', url('/')) - ->line('Thank you for using our application!'); - } - - /** - * Get the array representation of the notification. - * - * @param mixed $notifiable - * @return array - */ - public function toArray($notifiable) - { - return [ - // - ]; - } - -} diff --git a/skeletons/vaahcms/module-files/observer.php.ejs b/skeletons/vaahcms/module-files/observer.php.ejs deleted file mode 100644 index 9ba2e39..0000000 --- a/skeletons/vaahcms/module-files/observer.php.ejs +++ /dev/null @@ -1,6 +0,0 @@ -; - -class <%= name %>Observer { - - -} diff --git a/skeletons/vaahcms/module-files/seed.php.ejs b/skeletons/vaahcms/module-files/seed.php.ejs deleted file mode 100644 index 344a810..0000000 --- a/skeletons/vaahcms/module-files/seed.php.ejs +++ /dev/null @@ -1,13 +0,0 @@ -; - -use Faker\Factory as Faker; -use Illuminate\Database\Seeder; - -class <%= name %>TableSeeder extends Seeder { - - public function run() - { - $faker = Faker::create(); - } - -} diff --git a/skeletons/vaahcms/module-files/test.php.ejs b/skeletons/vaahcms/module-files/test.php.ejs deleted file mode 100644 index bfa4f21..0000000 --- a/skeletons/vaahcms/module-files/test.php.ejs +++ /dev/null @@ -1,24 +0,0 @@ -; - -use VaahCms\Modules\<%= module_name %>\Tests\DuskTestCase; -use Laravel\Dusk\Browser; -use Illuminate\Foundation\Testing\DatabaseMigrations; - -class <%= name %>Test extends DuskTestCase -{ - /** - * A basic browser test example. - * - * @return void - */ - public function testBasicExample() - { - $this->browse(function (Browser $browser) { - $this->browse(function (Browser $browser) { - $browser->maximize(); - $browser->visit('/') - ->assertSee('VaahCms'); - }); - }); - } -} diff --git a/skeletons/vaahcms/module-files/trait.php.ejs b/skeletons/vaahcms/module-files/trait.php.ejs deleted file mode 100644 index 0c672b7..0000000 --- a/skeletons/vaahcms/module-files/trait.php.ejs +++ /dev/null @@ -1,9 +0,0 @@ -; - -use Illuminate\Database\Eloquent\Model; - -trait <%= name %> { - - - -} diff --git a/skeletons/vaahcms/module-files/view.php.ejs b/skeletons/vaahcms/module-files/view.php.ejs deleted file mode 100644 index 428416f..0000000 --- a/skeletons/vaahcms/module-files/view.php.ejs +++ /dev/null @@ -1,26 +0,0 @@ -@extends('vaahcms::backend.vaahone.layouts.backend') - -@section('vaahcms_extend_backend_css') - -@endsection - - -@section('vaahcms_extend_backend_js') - -@endsection - -@section('content') - - -
-
-

<% module %>

-

- A simple container to divide your page into sections, like the one you're currently reading -

-
-
- - - -@endsection diff --git a/skeletons/vaahcms/module-vue3/.gitignore.ejs b/skeletons/vaahcms/module-vue3/.gitignore.ejs deleted file mode 100644 index b468330..0000000 --- a/skeletons/vaahcms/module-vue3/.gitignore.ejs +++ /dev/null @@ -1,4 +0,0 @@ -/.git/ -/.idea/ -node_modules -/vendor diff --git a/skeletons/vaahcms/module-vue3/Config/.gitkeep b/skeletons/vaahcms/module-vue3/Config/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/module-vue3/Config/config.php.ejs b/skeletons/vaahcms/module-vue3/Config/config.php.ejs deleted file mode 100644 index 540b03c..0000000 --- a/skeletons/vaahcms/module-vue3/Config/config.php.ejs +++ /dev/null @@ -1,22 +0,0 @@ - "<%= module_name %>", - "title"=> "<%= title %>", - "slug"=> "<%= module_name_lower %>", - "thumbnail"=> "https://img.site/p/300/160", - "is_dev" => env('MODULE_<%= module_name_upper %>_ENV')?true:false, - "excerpt"=> "<%= description %>", - "description"=> "<%= description %>", - "download_link"=> "<%= download_link %>", - "author_name"=> "<%= author_name %>", - "author_website"=> "<%= author_website %>", - "version"=> "0.0.1", - "is_migratable"=> <%= is_migratable %>, - "is_sample_data_available"=> <%= has_sample_data %>, - "db_table_prefix"=> "vh_<%= module_name_lower %>_", - "providers"=> [ - "\\VaahCms\\Modules\\<%= module_name %>\\Providers\\<%= module_name %>ServiceProvider" - ], - "aside-menu-order"=> null -]; diff --git a/skeletons/vaahcms/module-vue3/Database/Migrations/.gitkeep b/skeletons/vaahcms/module-vue3/Database/Migrations/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/module-vue3/Database/Seeds/.gitkeep b/skeletons/vaahcms/module-vue3/Database/Seeds/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/module-vue3/Database/Seeds/DatabaseTableSeeder.php.ejs b/skeletons/vaahcms/module-vue3/Database/Seeds/DatabaseTableSeeder.php.ejs deleted file mode 100644 index b93b384..0000000 --- a/skeletons/vaahcms/module-vue3/Database/Seeds/DatabaseTableSeeder.php.ejs +++ /dev/null @@ -1,30 +0,0 @@ -\Database\Seeds; - - -use Illuminate\Database\Seeder; - -class DatabaseTableSeeder extends Seeder -{ - /** - * Run the database seeds. - * - * @return void - */ - public function run() - { - $this->seeds(); - } - - /** - * Run the database seeds. - * - * @return void - */ - function seeds() - { - - } - - -} diff --git a/skeletons/vaahcms/module-vue3/Database/Seeds/SampleDataTableSeeder.php.ejs b/skeletons/vaahcms/module-vue3/Database/Seeds/SampleDataTableSeeder.php.ejs deleted file mode 100644 index 79e894f..0000000 --- a/skeletons/vaahcms/module-vue3/Database/Seeds/SampleDataTableSeeder.php.ejs +++ /dev/null @@ -1,30 +0,0 @@ -\Database\Seeds; - - -use Illuminate\Database\Seeder; - -class SampleDataTableSeeder extends Seeder -{ - /** - * Run the database seeds. - * - * @return void - */ - public function run() - { - $this->seeds(); - } - - /** - * Run the database seeds. - * - * @return void - */ - function seeds() - { - - } - - -} diff --git a/skeletons/vaahcms/module-vue3/Helpers/.gitkeep b/skeletons/vaahcms/module-vue3/Helpers/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/module-vue3/Http/Controllers/.gitkeep b/skeletons/vaahcms/module-vue3/Http/Controllers/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/module-vue3/Http/Controllers/Backend/BackendController.php.ejs b/skeletons/vaahcms/module-vue3/Http/Controllers/Backend/BackendController.php.ejs deleted file mode 100644 index c6d9e35..0000000 --- a/skeletons/vaahcms/module-vue3/Http/Controllers/Backend/BackendController.php.ejs +++ /dev/null @@ -1,117 +0,0 @@ -\Http\Controllers\Backend; - -use Illuminate\Foundation\Application; -use Illuminate\Http\Request; -use Illuminate\Http\Response; -use Illuminate\Routing\Controller; - -class BackendController extends Controller -{ - - - public function __construct() - { - - } - - public function index(Request $request) - { - - - /** - * Check user has permission else redirect - */ - /* - $permission_slug = 'has-access-<%= module_name_lower %>'; - if(!\Auth::user()->hasPermission($permission_slug)) - { - $error_message = trans("vaahcms::messages.permission_denied"); - if(env('APP_DEBUG')) - { - $error_message .= ' Permission Slug: '.$permission_slug; - } - $response['errors'][] = $error_message; - return redirect('vh.backend')->withErrors($response['errors']); - } - */ - - <% if(is_using_vue == 'true'){ %> - return view('<%= module_name_lower %>::backend.pages.app'); - <% } else{ %> - return view('<%= module_name_lower %>::backend.pages.index'); - <% } %> - - - } - - public function getAssets(Request $request) - { - - /** - * Check user has permission else return permission denied error - */ - - /* - $permission_slug = 'has-access-<%= module_name_lower %>'; - if(!\Auth::user()->hasPermission($permission_slug)) - { - $response['success'] = false; - $error_message = trans("vaahcms::messages.permission_denied"); - if(env('APP_DEBUG')) - { - $error_message .= ' Permission Slug: '.$permission_slug; - } - $response['errors'][] = $error_message; - return vh_response($response); - } - */ - - $data=[]; - - $data['module'] = [ - 'name' => config('<%= module_name_lower %>.name'), - 'version' => config('settings.global.<%= module_name_lower %>_version')??config('<%= module_name_lower %>.version'), - 'is_dev' => config('<%= module_name_lower %>.is_dev'), - ]; - - $v_version = config('vaahcms.version'); - - if(env('VAAHCMS_VERSION')){ - $v_version = env('VAAHCMS_VERSION'); - } - - $data['versions'] = [ - 'laravel_version' => Application::VERSION, - 'php_version' => PHP_VERSION, - 'vaahcms_version' => $v_version, - 'app_version' => config('app.version','0.0.1'), - ]; - - $data['server'] = [ - 'host' => $request->getHost(), - 'current_year' => \Carbon::now()->format('Y'), - 'current_date' => \Carbon::now()->format('Y-m-d'), - 'current_time' => \Carbon::now()->format('H:i:s'), - 'current_date_time' => \Carbon::now()->format('Y-m-d H:i:s'), - 'http' => 'http://', - ]; - - $data['vaahcms'] = [ - 'name' => config('vaahcms.app_name'), - 'slug' => config('vaahcms.app_slug'), - 'version' => $v_version, - 'website' => config('vaahcms.website'), - 'docs' => config('vaahcms.documentation'), - ]; - - $data['timezone'] = env("APP_TIMEZONE"); - $data['server_date_time'] = \Carbon::now(); - - $response['success'] = true; - $response['data'] = $data; - - return vh_response($response); - - } - -} diff --git a/skeletons/vaahcms/module-vue3/Http/Controllers/Backend/ExtendController.php.ejs b/skeletons/vaahcms/module-vue3/Http/Controllers/Backend/ExtendController.php.ejs deleted file mode 100644 index 4cc656a..0000000 --- a/skeletons/vaahcms/module-vue3/Http/Controllers/Backend/ExtendController.php.ejs +++ /dev/null @@ -1,62 +0,0 @@ -\Http\Controllers\Backend; - -use Illuminate\Http\Request; -use Illuminate\Http\Response; -use Illuminate\Routing\Controller; - -class ExtendController extends Controller -{ - - //---------------------------------------------------------- - public function __construct() - { - } - //---------------------------------------------------------- - public static function topLeftMenu() - { - $links = []; - - $response['success'] = true; - $response['data'] = $links; - - return vh_response($response); - - } - //---------------------------------------------------------- - public static function topRightUserMenu() - { - $links = []; - - $response['success'] = true; - $response['data'] = $links; - - return vh_response($response); - } - //---------------------------------------------------------- - public static function sidebarMenu() - { - $links = []; - - - $links[0] = [ - 'icon' => 'table', - 'label'=> '<%= module_name %>', - 'link'=> route('vh.backend.<%= module_name_lower %>') - ]; - - - if(version_compare(config('vaahcms.version'), '2.0.0', '<' )){ - $links[0]['link'] = route('vh.backend.<%= module_name_lower %>'); - } else{ - $links[0]['url'] = route('vh.backend.<%= module_name_lower %>'); - } - - - $response['success'] = true; - $response['data'] = $links; - - return vh_response($response); - } - //---------------------------------------------------------- - -} diff --git a/skeletons/vaahcms/module-vue3/Http/Controllers/Backend/SetupController.php.ejs b/skeletons/vaahcms/module-vue3/Http/Controllers/Backend/SetupController.php.ejs deleted file mode 100644 index 43bcd01..0000000 --- a/skeletons/vaahcms/module-vue3/Http/Controllers/Backend/SetupController.php.ejs +++ /dev/null @@ -1,73 +0,0 @@ -\Http\Controllers\Backend; - -use Illuminate\Http\Request; -use Illuminate\Http\Response; -use Illuminate\Routing\Controller; - -class SetupController extends Controller -{ - - public function __construct() - { - } - - /** - * Run when module is activated - */ - public static function activate($module) - { - $response['success'] = true; - $response['data'] = []; - return vh_response($response); - } - - /** - * Run when module is activated - */ - public static function dependencies() - { - $response['success'] = true; - $response['data']['modules'] = []; - $response['data']['themes'] = []; - - return vh_response($response); - } - - /** - * Run when module is deactivate - */ - public static function deactivate() - { - - $response['success'] = true; - $response['data'] = []; - return vh_response($response); - - } - - /** - * Run when module's sample data link is clicked - */ - public static function importSampleData() - { - - $response['success'] = true; - $response['data'] = []; - return vh_response($response); - - } - - /** - * Run when module is deleted - */ - public static function delete() - { - - $response['success'] = true; - $response['data'] = []; - return vh_response($response); - - } - - -} diff --git a/skeletons/vaahcms/module-vue3/Http/Controllers/Frontend/.gitkeep b/skeletons/vaahcms/module-vue3/Http/Controllers/Frontend/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/module-vue3/Http/Controllers/Frontend/FrontendController.php.ejs b/skeletons/vaahcms/module-vue3/Http/Controllers/Frontend/FrontendController.php.ejs deleted file mode 100644 index c9fc034..0000000 --- a/skeletons/vaahcms/module-vue3/Http/Controllers/Frontend/FrontendController.php.ejs +++ /dev/null @@ -1,21 +0,0 @@ -\Http\Controllers\Frontend; - -use Illuminate\Http\Request; -use Illuminate\Http\Response; -use Illuminate\Routing\Controller; - -class FrontendController extends Controller -{ - - - public function __construct() - { - - } - - public function index() - { - return 'FrontendController - <%= module_name %>'; - } - -} \ No newline at end of file diff --git a/skeletons/vaahcms/module-vue3/Http/Middleware/.gitkeep b/skeletons/vaahcms/module-vue3/Http/Middleware/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/module-vue3/Http/Requests/.gitkeep b/skeletons/vaahcms/module-vue3/Http/Requests/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/module-vue3/Libraries/.gitkeep b/skeletons/vaahcms/module-vue3/Libraries/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/module-vue3/Models/.gitkeep b/skeletons/vaahcms/module-vue3/Models/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/module-vue3/Providers/.gitkeep b/skeletons/vaahcms/module-vue3/Providers/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/module-vue3/Providers/EventServiceProvider.php.ejs b/skeletons/vaahcms/module-vue3/Providers/EventServiceProvider.php.ejs deleted file mode 100644 index 991dc9a..0000000 --- a/skeletons/vaahcms/module-vue3/Providers/EventServiceProvider.php.ejs +++ /dev/null @@ -1,9 +0,0 @@ -\Providers; - -use Illuminate\Support\Facades\Event; -use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider; - -class EventServiceProvider extends ServiceProvider -{ - protected $listen = []; -} diff --git a/skeletons/vaahcms/module-vue3/Providers/RouteServiceProvider.php.ejs b/skeletons/vaahcms/module-vue3/Providers/RouteServiceProvider.php.ejs deleted file mode 100644 index e8aeed8..0000000 --- a/skeletons/vaahcms/module-vue3/Providers/RouteServiceProvider.php.ejs +++ /dev/null @@ -1,82 +0,0 @@ -\Providers; - -use Illuminate\Support\Facades\Route; -use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider; - -class RouteServiceProvider extends ServiceProvider -{ - /** - * The root namespace to assume when generating URLs to actions. - * - * @var string - */ - protected $namespace = '<%= namespace %>\Http\Controllers'; - - /** - * Called before routes are registered. - * - * Register any model bindings or pattern based filters. - * - * @return void - */ - public function boot() - { - parent::boot(); - } - - /** - * Define the routes for the application. - * - * @return void - */ - public function map() - { - $this->mapApiRoutes(); - $this->mapBackendRoutes(); - $this->mapFrontendRoutes(); - } - - /** - * Define the "admin" routes for the application. - * - * These routes all receive session state, CSRF protection, etc. - * - * @return void - */ - protected function mapBackendRoutes() - { - Route::middleware(['web','has.backend.access']) - ->namespace($this->namespace) - ->group(__DIR__ . '/../Routes/backend.php'); - } - - - /** - * Define the "web" routes for the application. - * - * These routes all receive session state, CSRF protection, etc. - * - * @return void - */ - protected function mapFrontendRoutes() - { - Route::middleware('web') - ->namespace($this->namespace) - ->group(__DIR__ . '/../Routes/frontend.php'); - } - - /** - * Define the "api" routes for the application. - * - * These routes are typically stateless. - * - * @return void - */ - protected function mapApiRoutes() - { - Route::prefix('api') - ->middleware('auth:api') - ->namespace($this->namespace) - ->group(__DIR__ . '/../Routes/api.php'); - } -} diff --git a/skeletons/vaahcms/module-vue3/Providers/ServiceProvider.php.ejs b/skeletons/vaahcms/module-vue3/Providers/ServiceProvider.php.ejs deleted file mode 100644 index fad1b6c..0000000 --- a/skeletons/vaahcms/module-vue3/Providers/ServiceProvider.php.ejs +++ /dev/null @@ -1,216 +0,0 @@ -\Providers; - - -use Illuminate\Routing\Router; -use Illuminate\Support\ServiceProvider; -use Illuminate\Database\Eloquent\Factory; -use <%= namespace %>\Providers\RouteServiceProvider; -use <%= namespace %>\Providers\EventServiceProvider; - -class <%= module_name %>ServiceProvider extends ServiceProvider -{ - /** - * Indicates if loading of the provider is deferred. - * - * @var bool - */ - protected $defer = false; - - /** - * Boot the application events. - * - * @return void - */ - public function boot(Router $router) - { - - $this->registerMiddleware($router); - $this->registerTranslations(); - $this->registerConfig(); - $this->registerViews(); - $this->registerAssets(); - $this->loadMigrationsFrom(__DIR__ . '/../Database/Migrations'); - $this->registerSeeders(); - $this->registerBladeDirectives(); - $this->registerBladeComponents(); - } - - - /** - * Register the service provider. - * - * @return void - */ - public function register() - { - - $this->app->register(RouteServiceProvider::class); - $this->app->register(EventServiceProvider::class); - $loader = \Illuminate\Foundation\AliasLoader::getInstance(); - - $this->registerHelpers(); - $this->registerLibraries(); - - } - - /** - * - */ - private function registerMiddleware($router) { - - //register middleware - //$router->aliasMiddleware('sample.middleware', \<%= module_name %>\Http\Middleware\SampleMiddleware::class); - - } - - /** - * - */ - private function registerHelpers() { - - //load all the helpers - foreach (glob(__DIR__.'/../Helpers/*.php') as $filename){ - require_once($filename); - } - - } - - /** - * - */ - private function registerLibraries() - { - //load all the helpers - foreach (glob(__DIR__.'/Libraries/*.php') as $filename){ - require_once($filename); - } - } - - - /** - * - */ - private function registerSeeders() { - - //load all the seeds - foreach (glob(__DIR__.'/../Database/Seeds/*.php') as $filename){ - require_once($filename); - } - - } - - /** - * Register config. - * - * @return void - */ - protected function registerConfig() - { - $this->publishes([ - __DIR__.'/../Config/config.php' => config_path('<%= module_name_lower %>.php'), - ], 'config'); - $this->mergeConfigFrom( - __DIR__.'/../Config/config.php', '<%= module_name_lower %>' - ); - } - - /** - * Register views. - * - * @return void - */ - public function registerViews() - { - $viewPath = resource_path('/views/vaahcms/modules/<%= module_name_lower %>'); - - $sourcePath = __DIR__.'/../Resources/views'; - - $this->publishes([ - $sourcePath => $viewPath - ],'views'); - - $this->loadViewsFrom(array_merge(array_map(function ($path) { - return $path . '/views/vaahcms/modules/<%= module_name_lower %>'; - }, \Config::get('view.paths')), [$sourcePath]), '<%= module_name_lower %>'); - - } - - /** - * Register views. - * - * @return void - */ - public function registerAssets() - { - - $sourcePath = __DIR__.'/../Resources/assets'; - - $desPath = public_path('vaahcms/modules/<%= module_name_lower %>/assets'); - - $this->publishes([ - $sourcePath => $desPath - ],'assets'); - - - } - - - /** - * Register translations. - * - * @return void - */ - public function registerTranslations() - { - $langPath = resource_path('/lang/vaahcms/modules/<%= module_name_lower %>'); - - if (is_dir($langPath)) { - $this->loadTranslationsFrom($langPath, '<%= module_name_lower %>'); - } else { - $this->loadTranslationsFrom(__DIR__ .'/../Resources/lang', '<%= module_name_lower %>'); - } - } - - - /** - * Get the services provided by the provider. - * - * @return array - */ - public function provides() - { - return []; - } - - - /** - * Get the services provided by the provider. - * - * @return array - */ - public function registerBladeDirectives() - { - - /* - \Blade::directive('hello', function ($expression) { - return ""; - }); - */ - - } - - /** - * Get the services provided by the provider. - * - * @return array - */ - public function registerBladeComponents() - { - - /* - \Blade::component('example', Example::class); - */ - - } - -} diff --git a/skeletons/vaahcms/module-vue3/README.md.ejs b/skeletons/vaahcms/module-vue3/README.md.ejs deleted file mode 100644 index 3bf9bbc..0000000 --- a/skeletons/vaahcms/module-vue3/README.md.ejs +++ /dev/null @@ -1,2 +0,0 @@ -# vaahcms-module-<%= module_name_lower %> -<%= module_name %> Module for VaahCMS \ No newline at end of file diff --git a/skeletons/vaahcms/module-vue3/Resources/assets/.gitkeep b/skeletons/vaahcms/module-vue3/Resources/assets/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/module-vue3/Resources/assets/css/.gitkeep b/skeletons/vaahcms/module-vue3/Resources/assets/css/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/module-vue3/Resources/assets/js/.gitkeep b/skeletons/vaahcms/module-vue3/Resources/assets/js/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/module-vue3/Resources/assets/sass/.gitkeep b/skeletons/vaahcms/module-vue3/Resources/assets/sass/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/module-vue3/Resources/lang/.gitkeep b/skeletons/vaahcms/module-vue3/Resources/lang/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/module-vue3/Resources/views/.gitkeep b/skeletons/vaahcms/module-vue3/Resources/views/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/module-vue3/Resources/views/backend/.gitkeep b/skeletons/vaahcms/module-vue3/Resources/views/backend/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/module-vue3/Resources/views/backend/pages/.gitkeep b/skeletons/vaahcms/module-vue3/Resources/views/backend/pages/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/module-vue3/Resources/views/backend/pages/app.blade.php.ejs b/skeletons/vaahcms/module-vue3/Resources/views/backend/pages/app.blade.php.ejs deleted file mode 100644 index a0440d0..0000000 --- a/skeletons/vaahcms/module-vue3/Resources/views/backend/pages/app.blade.php.ejs +++ /dev/null @@ -1,30 +0,0 @@ -@extends(((version_compare(config('vaahcms.version'), '2.0.0', '<' )) ? 'vaahcms::backend.vaahone.layouts.backend' : 'vaahcms::backend.vaahtwo.layouts.backend' )) - - -@section('vaahcms_extend_backend_css') - -{{-- ", "build/index.css")}}" rel="stylesheet" media="screen">--}} - -@endsection - - -@section('vaahcms_extend_backend_js') - - @if(env('MODULE_<%= module_name_upper %>_ENV') == 'develop') - - @else - - @endif - -@endsection - -@section('content') - -
-
- - -
-
- -@endsection diff --git a/skeletons/vaahcms/module-vue3/Resources/views/backend/pages/index.blade.php.ejs b/skeletons/vaahcms/module-vue3/Resources/views/backend/pages/index.blade.php.ejs deleted file mode 100644 index 750d77b..0000000 --- a/skeletons/vaahcms/module-vue3/Resources/views/backend/pages/index.blade.php.ejs +++ /dev/null @@ -1,25 +0,0 @@ -@extends("vaahcms::backend.vaahone.layouts.backend") - -@section('vaahcms_extend_backend_css') - -@endsection - - -@section('vaahcms_extend_backend_js') - -@endsection - -@section('content') - - -
-
-

<%= module_name %>

-

- Your "<%= module_name %>" module's dashboard is ready! -

-
-
- - -@endsection diff --git a/skeletons/vaahcms/module-vue3/Routes/api.php.ejs b/skeletons/vaahcms/module-vue3/Routes/api.php.ejs deleted file mode 100644 index ee42c57..0000000 --- a/skeletons/vaahcms/module-vue3/Routes/api.php.ejs +++ /dev/null @@ -1,23 +0,0 @@ - '<%= module_name_lower %>', - ], - function () { - //------------------------------------------------ - Route::get( '/assets', 'BackendController@getAssets' ) - ->name( 'vh.api.<%= module_name_lower %>.assets' ); - //------------------------------------------------ - }); -*/ \ No newline at end of file diff --git a/skeletons/vaahcms/module-vue3/Routes/backend.php.ejs b/skeletons/vaahcms/module-vue3/Routes/backend.php.ejs deleted file mode 100644 index d90fc95..0000000 --- a/skeletons/vaahcms/module-vue3/Routes/backend.php.ejs +++ /dev/null @@ -1,34 +0,0 @@ -\Http\Controllers\Backend\BackendController; -/* -|-------------------------------------------------------------------------- -| Web Routes -|-------------------------------------------------------------------------- -| -| Here is where you can register web routes for your application. These -| routes are loaded by the RouteServiceProvider within a group which -| contains the "web" middleware group. Now create something great! -| -*/ - -Route::group( - [ - 'prefix' => 'backend/<%= module_name_lower %>', - 'middleware' => ['web', 'has.backend.access'] - ], - function () { - //------------------------------------------------ - Route::get( '/', [BackendController::class, 'index'] ) - ->name( 'vh.backend.<%= module_name_lower %>' ); - //------------------------------------------------ - //------------------------------------------------ - Route::get( '/assets', [BackendController::class, 'getAssets'] ) - ->name( 'vh.backend.<%= module_name_lower %>.assets' ); - //------------------------------------------------ - }); - - -/* - * Include CRUD Routes - */ -//include("backend/routes-example.php"); diff --git a/skeletons/vaahcms/module-vue3/Routes/frontend.php.ejs b/skeletons/vaahcms/module-vue3/Routes/frontend.php.ejs deleted file mode 100644 index 6b0534b..0000000 --- a/skeletons/vaahcms/module-vue3/Routes/frontend.php.ejs +++ /dev/null @@ -1,27 +0,0 @@ - '<%= module_name_lower %>', - 'middleware' => ['web'], - 'namespace' => 'Frontend', - ], - function () { - //------------------------------------------------ - /* - Route::get( '/', 'FrontendController@index' ) - ->name( 'vh.frontend.<%= module_name_lower %>' ); - */ - //------------------------------------------------ - }); diff --git a/skeletons/vaahcms/module-vue3/Vue/README.md b/skeletons/vaahcms/module-vue3/Vue/README.md deleted file mode 100644 index 7839373..0000000 --- a/skeletons/vaahcms/module-vue3/Vue/README.md +++ /dev/null @@ -1,19 +0,0 @@ -# <%= module_name %> - -## Project Setup - -```sh -npm install -``` - -### Compile and Hot-Reload for Development - -```sh -npm run dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -npm run build -``` diff --git a/skeletons/vaahcms/module-vue3/Vue/components/Aside.vue b/skeletons/vaahcms/module-vue3/Vue/components/Aside.vue deleted file mode 100644 index b40c119..0000000 --- a/skeletons/vaahcms/module-vue3/Vue/components/Aside.vue +++ /dev/null @@ -1,58 +0,0 @@ - - - - diff --git a/skeletons/vaahcms/module-vue3/Vue/components/Copyright.vue b/skeletons/vaahcms/module-vue3/Vue/components/Copyright.vue deleted file mode 100644 index e5ece52..0000000 --- a/skeletons/vaahcms/module-vue3/Vue/components/Copyright.vue +++ /dev/null @@ -1,33 +0,0 @@ - - - diff --git a/skeletons/vaahcms/module-vue3/Vue/components/Footer.vue b/skeletons/vaahcms/module-vue3/Vue/components/Footer.vue deleted file mode 100644 index 7592769..0000000 --- a/skeletons/vaahcms/module-vue3/Vue/components/Footer.vue +++ /dev/null @@ -1,11 +0,0 @@ - - - - diff --git a/skeletons/vaahcms/module-vue3/Vue/index.html.ejs b/skeletons/vaahcms/module-vue3/Vue/index.html.ejs deleted file mode 100644 index 0036e70..0000000 --- a/skeletons/vaahcms/module-vue3/Vue/index.html.ejs +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/skeletons/vaahcms/module-vue3/Vue/jsconfig.json.ejs b/skeletons/vaahcms/module-vue3/Vue/jsconfig.json.ejs deleted file mode 100644 index b8890c1..0000000 --- a/skeletons/vaahcms/module-vue3/Vue/jsconfig.json.ejs +++ /dev/null @@ -1,8 +0,0 @@ -{ - "include": [ - "./**/*" - ], - "compilerOptions": { - "allowJs": true - } -} diff --git a/skeletons/vaahcms/module-vue3/Vue/layouts/App.vue b/skeletons/vaahcms/module-vue3/Vue/layouts/App.vue deleted file mode 100644 index 9b1778e..0000000 --- a/skeletons/vaahcms/module-vue3/Vue/layouts/App.vue +++ /dev/null @@ -1,46 +0,0 @@ - - - - diff --git a/skeletons/vaahcms/module-vue3/Vue/layouts/Default.vue b/skeletons/vaahcms/module-vue3/Vue/layouts/Default.vue deleted file mode 100644 index d39c460..0000000 --- a/skeletons/vaahcms/module-vue3/Vue/layouts/Default.vue +++ /dev/null @@ -1,25 +0,0 @@ - - - - diff --git a/skeletons/vaahcms/module-vue3/Vue/main.js b/skeletons/vaahcms/module-vue3/Vue/main.js deleted file mode 100644 index c2cc74e..0000000 --- a/skeletons/vaahcms/module-vue3/Vue/main.js +++ /dev/null @@ -1,95 +0,0 @@ -import {createApp, markRaw} from 'vue'; -import { createPinia, PiniaVuePlugin } from 'pinia' - - -//-------------PrimeVue Imports - -import PrimeVue from "primevue/config"; -import BadgeDirective from "primevue/badgedirective"; -import ConfirmDialog from 'primevue/confirmdialog'; -import ConfirmationService from 'primevue/confirmationservice'; -import DialogService from 'primevue/dialogservice' -import Menu from 'primevue/menu'; -import ProgressBar from 'primevue/progressbar'; -import Ripple from 'primevue/ripple'; -import StyleClass from 'primevue/styleclass'; -import Toast from 'primevue/toast'; -import ToastService from 'primevue/toastservice'; -import Tooltip from 'primevue/tooltip'; -//-------------/PrimeVue Imports - -//-------------CRUD PrimeVue Imports - -import Badge from "primevue/badge"; -import Button from "primevue/button"; -import Panel from "primevue/panel"; -import InputText from "primevue/inputtext"; -import Column from "primevue/column"; -import InputSwitch from "primevue/inputswitch"; -import DataTable from "primevue/datatable"; -import Paginator from "primevue/paginator"; -import Divider from "primevue/divider"; -import RadioButton from "primevue/radiobutton"; -import Message from "primevue/message"; -import Tag from "primevue/tag"; - -//-------------/CRUD PrimeVue Imports - - - -//-------------APP -import App from './layouts/App.vue' -import router from './routes/router' - -const app = createApp(App); - -const pinia = createPinia(); -pinia.use(({ store }) => { - store.$router = markRaw(router) -}); -app.use(pinia); -app.use(PiniaVuePlugin); -app.use(router); -//-------------/APP - - -//-------------PrimeVue Use -app.use(PrimeVue, { ripple: true }); -app.use(ConfirmationService); -app.use(ToastService); -app.use(DialogService); - -app.directive('tooltip', Tooltip); -app.directive('badge', BadgeDirective); -app.directive('ripple', Ripple); -app.directive('styleclass', StyleClass); - - -app.component('ConfirmDialog', ConfirmDialog); -app.component('Menu', Menu); -app.component('ProgressBar', ProgressBar); -app.component('Toast', Toast); -//-------------/PrimeVue Use - -// -------------CRUD PrimeVue Use - -app.component('Badge', Badge); -app.component('Button', Button); -app.component('Panel', Panel); -app.component('RadioButton', RadioButton); -app.component('InputText', InputText); -app.component('InputSwitch', InputSwitch); -app.component('Column', Column); -app.component('Paginator', Paginator); -app.component('Divider', Divider); -app.component('DataTable', DataTable); -app.component('Message', Message); -app.component('Tag', Tag); - -//-------------/CRUD PrimeVue Use - - -app.mount('#app<%= module_name %>') - - -export { app } diff --git a/skeletons/vaahcms/module-vue3/Vue/package.json.ejs b/skeletons/vaahcms/module-vue3/Vue/package.json.ejs deleted file mode 100644 index 986004a..0000000 --- a/skeletons/vaahcms/module-vue3/Vue/package.json.ejs +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "<%= module_name_lower %>", - "scripts": { - "dev-<%= module_name_lower %>": "vite --host", - "build-<%= module_name_lower %>": "vite build --emptyOutDir", - "preview": "vite preview --port <%= webpack_port %>" - }, - "dependencies": { - "@grapoza/vue-tree": "^5.1.0", - "axios": "^1.4.0", - "pinia": "^2.1.6", - "primevue": "3.46.0", - "qs": "^6.11.2", - "quill": "^1.3.7", - "vue": "^3.3.4", - "vue-router": "^4.2.4" - }, - "devDependencies": { - "@vitejs/plugin-vue": "^4.2.3", - "@vue/compiler-sfc": "^3.3.4", - "sass": "^1.64.2", - "unplugin-auto-import": "^0.16.6", - "unplugin-vue-components": "^0.25.1", - "vite-plugin-static-copy": "^0.17.0", - "vite": "^4.4.8" - } -} diff --git a/skeletons/vaahcms/module-vue3/Vue/pages/dashboard/Dashboard.vue b/skeletons/vaahcms/module-vue3/Vue/pages/dashboard/Dashboard.vue deleted file mode 100644 index 8d2a584..0000000 --- a/skeletons/vaahcms/module-vue3/Vue/pages/dashboard/Dashboard.vue +++ /dev/null @@ -1,12 +0,0 @@ - - - - diff --git a/skeletons/vaahcms/module-vue3/Vue/routes/router.js b/skeletons/vaahcms/module-vue3/Vue/routes/router.js deleted file mode 100644 index 40ce3e7..0000000 --- a/skeletons/vaahcms/module-vue3/Vue/routes/router.js +++ /dev/null @@ -1,33 +0,0 @@ -import { createRouter, createWebHashHistory } from 'vue-router' -import qs from 'qs'; - -import routes from "./routes"; -import Default from "../layouts/Default.vue"; - - -const router = createRouter({ - history: createWebHashHistory(), - routes: [ - { - path: '/', - component: Default, - props: true, - children: routes - } - ], - parseQuery(query) { - return qs.parse(query); - }, - stringifyQuery(query) { - let result = qs.stringify(query, - { - arrayFormat: 'brackets', - encode: false, - skipNulls: true - }); - //return result ? ('?' + result) : ''; - return result; - } -}) - -export default router diff --git a/skeletons/vaahcms/module-vue3/Vue/routes/routes.js b/skeletons/vaahcms/module-vue3/Vue/routes/routes.js deleted file mode 100644 index 64316e0..0000000 --- a/skeletons/vaahcms/module-vue3/Vue/routes/routes.js +++ /dev/null @@ -1,7 +0,0 @@ -let routes= []; - -import dashboard from "./vue-routes-dashboard"; - -routes = routes.concat(dashboard); - -export default routes; diff --git a/skeletons/vaahcms/module-vue3/Vue/routes/vue-routes-dashboard.js b/skeletons/vaahcms/module-vue3/Vue/routes/vue-routes-dashboard.js deleted file mode 100644 index a9a48ff..0000000 --- a/skeletons/vaahcms/module-vue3/Vue/routes/vue-routes-dashboard.js +++ /dev/null @@ -1,16 +0,0 @@ -let routes= []; -let routes_list= []; - -import Dashboard from '../pages/dashboard/Dashboard.vue' - -routes_list = { - path: '/', - name: 'dashboard', - component: Dashboard, - props: true, -}; - -routes.push(routes_list); - -export default routes; - diff --git a/skeletons/vaahcms/module-vue3/Vue/stores/root.js b/skeletons/vaahcms/module-vue3/Vue/stores/root.js deleted file mode 100644 index 96cf6d0..0000000 --- a/skeletons/vaahcms/module-vue3/Vue/stores/root.js +++ /dev/null @@ -1,77 +0,0 @@ -import {defineStore, acceptHMRUpdate} from 'pinia'; -import {vaah} from "../vaahvue/pinia/vaah"; - -let base_url = document.getElementsByTagName('base')[0].getAttribute("href"); -let ajax_url = base_url + "/<%= module_name_lower %>"; - -export const useRootStore = defineStore({ - id: 'root', - state: () => ({ - base_url: base_url, - ajax_url: ajax_url, - assets: null, - gutter: 20, - assets_is_fetching: true, - }), - getters: {}, - actions: { - //--------------------------------------------------------------------- - //--------------------------------------------------------------------- - //--------------------------------------------------------------------- - async getAssets() { - if(this.assets_is_fetching === true){ - this.assets_is_fetching = false; - - vaah().ajax( - this.ajax_url+'/assets', - this.afterGetAssets, - ); - } - }, - - //--------------------------------------------------------------------- - afterGetAssets(data, res) - { - if(data) - { - this.assets = data; - - } - }, - async to(path) - { - this.$router.push({path: path}) - }, - //--------------------------------------------------------------------- - showProgress() - { - this.show_progress_bar = true; - }, - //--------------------------------------------------------------------- - hideProgress() - { - this.show_progress_bar = false; - }, - //--------------------------------------------------------------------- - hasPermission(slug) - { - return vaah().hasPermission(this.assets.permissions, slug); - }, - //--------------------------------------------------------------------- - permissionDenied() - { - vaah().toastErrors(['Permission Denied']) - this.$router.push({name: 'dashboard'}) - } - //--------------------------------------------------------------------- - //--------------------------------------------------------------------- - //--------------------------------------------------------------------- - - } -}) - - -// Pinia hot reload -if (import.meta.hot) { - import.meta.hot.accept(acceptHMRUpdate(useRootStore, import.meta.hot)) -} diff --git a/skeletons/vaahcms/module-vue3/Vue/vaahvue/pinia/vaah.js b/skeletons/vaahcms/module-vue3/Vue/vaahvue/pinia/vaah.js deleted file mode 100644 index 8b869dd..0000000 --- a/skeletons/vaahcms/module-vue3/Vue/vaahvue/pinia/vaah.js +++ /dev/null @@ -1,436 +0,0 @@ -import {defineStore, acceptHMRUpdate} from 'pinia' -import axios from 'axios' -import qs from 'qs' - -export const vaah = defineStore({ - id: 'vaah', - state: () => ({ - toast: null, - confirm: null, - show_progress_bar: false, - }), - getters: {}, - actions: { - ajax: async function ( - url, - callback = null, - options = { - params: null, - method: 'get', - query: null, - headers: null, - show_success: true, - }, - ) { - - let self = this - let default_option = { - params: null, - method: 'get', - query: null, - headers: null, - show_success: true, - } - - if (options) { - for (let key in options) { - default_option[key] = options[key] - } - } - - let params = default_option.params - let method = default_option.method.toLowerCase() - let query = default_option.query - let headers = default_option.headers - let show_success = default_option.show_success - - //To make axios request as ajax request - if (headers && headers['Authorization']) { - axios.defaults.headers.common = { - 'Authorization': headers['Authorization'], - } - } else { - axios.defaults.headers.common = { - 'X-Requested-With': 'XMLHttpRequest', - } - } - - let q = {} - - q.params = query - - if (headers) { - q.headers = headers - } - - if (method === 'get') { - params = { - params: query, - } - - q = {} - axios.interceptors.request.use( - function (config) { - config.paramsSerializer = function (params) { - return qs.stringify(params, { - arrayFormat: 'brackets', - encode: false, - skipNulls: true, - }) - } - return config - }, - function (error) { - return Promise.reject(error) - }, - ) - } - - if (method === 'delete') { - params = { - data: params, - } - } - - this.show_progress_bar = true - - let ajax = await axios[method](url, params, q) - .then(function (response) { - self.show_progress_bar = false - self.processResponse(response, show_success) - if (callback) { - if (response.data && response.data.data) { - callback(response.data.data, response) - } else { - callback(false, response) - } - } - return response - }).catch(function (error) { - self.show_progress_bar = false - self.processError(error) - if (callback) { - callback(false, error) - } - return error - }) - - return ajax - }, - - //---------------------------------------------------------- - processResponse: function (response, show_success) { - if ( - response.data.failed || response.data.success === false - ) { - - if (response.data.messages) { - this.toastErrors(response.data.messages) - } - - if (response.data.errors) { - this.toastErrors(response.data.errors) - } - - } - - if ( - response.data.success - && response.data.success === true - && response.data.messages - && show_success === true - ) { - this.toastSuccess(response.data.messages) - } - }, - - //---------------------------------------------------------- - processError: function (error) { - if (error.response - && error.response.status - && error.response.status === 419) { - this.toastErrors(['Session Expired. Please sign in again.']) - location.reload() - return - } - - if (debug === 1) { - this.toastErrors([error]) - } else { - this.toastErrors(['Something went wrong']) - } - }, - //---------------------------------------------------------- - getMessageAndDuration(messages) { - let i = 1 - let list_html = '' - let duration = 3000 - - if (Object.keys(messages).length > 1) { - for (let k in messages) { - list_html += i + ') ' + messages[k] + '
' - i++ - } - } else { - if (messages[0]) { - list_html += messages[0] - } - } - - let chars = list_html.length - let readable = 10 // readable character per second. - - duration = duration * (chars / readable) - - return { - html: list_html, - duration: duration, - } - }, - //---------------------------------------------------------- - setToast: function (prime_toast) { - this.toast = prime_toast - }, - //---------------------------------------------------------- - setConfirm: function (prime_confirm) { - this.confirm = prime_confirm - }, - //---------------------------------------------------------- - toastSuccess(messages) { - let data = this.getMessageAndDuration(messages) - if (data && data.html !== '') { - this.toast.add({ - severity: 'success', - detail: data.html, - life: data.duration, - }) - } - }, - - //---------------------------------------------------------- - toastErrors(messages) { - let data = this.getMessageAndDuration(messages) - if (data && data.html !== '') { - this.toast.add({ - severity: 'error', - detail: data.html, - life: data.duration, - }) - } - }, - //---------------------------------------------------------- - confirmDialog(heading, message, callbackOnAccept, callbackOnReject = null, acceptClass = 'p-button-danger', icon = 'pi pi-info-circle') { - this.confirm.require({ - header: heading, - message: message, - icon: icon, - acceptClass: acceptClass, - accept: () => { - callbackOnAccept() - }, - reject: () => { - if (callbackOnReject) { - callbackOnReject() - } - }, - }) - }, - //---------------------------------------------------------- - confirmDialogDelete(callbackOnAccept) { - this.confirmDialog('Delete Confirmation', 'Do you want to delete record(s)?', callbackOnAccept) - }, - //---------------------------------------------------------- - clone: function (source) { - return JSON.parse(JSON.stringify(source)) - }, - //---------------------------------------------------------- - - //---------------------------------------------------------- - cleanObject: function (obj) { - Object.keys(obj).forEach(key => { - if (obj[key] === null || obj[key] === 'null' || obj[key] === '') { - delete obj[key] - } - }) - - return obj - }, - //---------------------------------------------------------- - copy: function (string) { - if (!navigator.clipboard) { - this.fallbackCopy(string) - return - } - - let self = this - - navigator.clipboard.writeText(string).then(function () { - self.toastSuccess(['Copied']) - }, function (err) { - self.toastErrors(['Could not copied | ' + err]) - }) - - }, - //---------------------------------------------------------- - fallbackCopy: function (string) { - let textArea = document.createElement('textarea') - textArea.value = string - - // Avoid scrolling to bottom - textArea.style.top = '0' - textArea.style.left = '0' - textArea.style.position = 'fixed' - - document.body.appendChild(textArea) - textArea.focus() - textArea.select() - - let self = this - - try { - let successful = document.execCommand('copy') - let msg = successful ? 'successful' : 'unsuccessful' - self.toastSuccess(['Copied']) - } catch (err) { - self.toastErrors(['Could not copied | ' + err]) - } - - document.body.removeChild(textArea) - }, - //---------------------------------------------------------- - toLabel: function (str) { - if (typeof str === 'string') { - str = str.replace(/_/g, ' ') - str = this.toUpperCaseWords(str) - return str - } - - }, - //---------------------------------------------------------- - toUpperCaseWords: function (str) { - if (str) { - return str.charAt(0).toUpperCase() + str.slice(1) - } - }, - //---------------------------------------------------------- - removeInArrayByKey: function (array, element, key) { - - if (!Array.isArray(array)) { - return false - } - - array.map(function (item, index) { - - if (item[key] == element[key]) { - array.splice(index, 1) - } - - }) - - return array - }, - //---------------------------------------------------------- - findInArrayByKey: function (array, key, value) { - - if (!Array.isArray(array)) { - return false - } - - let element = null - - array.map(function (item, index) { - - if (item[key] == value) { - element = item - } - - }) - - return element - }, - //---------------------------------------------------------- - strToSlug: function (title, delimiter = '-') { - let slug = '' - // Change to lower case - let titleLower = title.toLowerCase() - // Letter "e" - slug = titleLower.replace(/e|é|è|ẽ|ẻ|ẹ|ê|ế|ề|ễ|ể|ệ/gi, 'e') - // Letter "a" - slug = slug.replace(/a|á|à|ã|ả|ạ|ă|ắ|ằ|ẵ|ẳ|ặ|â|ấ|ầ|ẫ|ẩ|ậ/gi, 'a') - // Letter "o" - slug = slug.replace(/o|ó|ò|õ|ỏ|ọ|ô|ố|ồ|ỗ|ổ|ộ|ơ|ớ|ờ|ỡ|ở|ợ/gi, 'o') - // Letter "u" - slug = slug.replace(/u|ú|ù|ũ|ủ|ụ|ư|ứ|ừ|ữ|ử|ự/gi, 'u') - // Letter "d" - slug = slug.replace(/đ/gi, 'd') - // Trim the last whitespace - slug = slug.replace(/\s*$/g, '') - // Change whitespace to "-" - slug = slug.replace(/\s+/g, delimiter) - - return slug - }, - //---------------------------------------------------------- - capitalising: function (str) { - let capitalized = [] - str.split(' ').forEach(word => { - capitalized.push( - word.charAt(0).toUpperCase() + - word.slice(1).toLowerCase(), - ) - }) - return capitalized.join(' ') - }, - //--------------------------------------------------------------------- - toLocalTimeShortFormat: function (value) { - - const utcTime = new Date(value) - - const date = utcTime.getDate(); - const dateYear = utcTime.getFullYear(); - - const current = new Date() - - const currentDate = current.getDate(); - const currentYear = current.getFullYear(); - - if (date === currentDate) { - return utcTime.toLocaleTimeString(); - } else if (dateYear === currentYear) { - - return utcTime.toLocaleString('default', { month: 'short' })+ - ' '+utcTime.getDate(); - } else { - return utcTime.toLocaleString('default', { month: 'short' })+ - ' '+utcTime.getDate()+ - ' '+utcTime.getFullYear(); - } - - }, - //---------------------------------------------------------- - hasPermission: function (permissions, slug) { - - if (!permissions) { - return false - } - - if (permissions.length < 1) { - return false - } - - return permissions.indexOf(slug) > -1 - }, - //---------------------------------------------------------- - existInArray: function (array, element) { - const index = array.indexOf(element) - - return index !== -1 - }, - //---------------------------------------------------------- - }, -}) - -// Pinia hot reload -if (import.meta.hot) { - import.meta.hot.accept(acceptHMRUpdate(vaah, import.meta.hot)) -} diff --git a/skeletons/vaahcms/module-vue3/Vue/vaahvue/vue-three/primeflex/VhField.vue b/skeletons/vaahcms/module-vue3/Vue/vaahvue/vue-three/primeflex/VhField.vue deleted file mode 100644 index 8a1dfce..0000000 --- a/skeletons/vaahcms/module-vue3/Vue/vaahvue/vue-three/primeflex/VhField.vue +++ /dev/null @@ -1,25 +0,0 @@ - - diff --git a/skeletons/vaahcms/module-vue3/Vue/vaahvue/vue-three/primeflex/VhFieldVertical.vue b/skeletons/vaahcms/module-vue3/Vue/vaahvue/vue-three/primeflex/VhFieldVertical.vue deleted file mode 100644 index 245172a..0000000 --- a/skeletons/vaahcms/module-vue3/Vue/vaahvue/vue-three/primeflex/VhFieldVertical.vue +++ /dev/null @@ -1,15 +0,0 @@ - - diff --git a/skeletons/vaahcms/module-vue3/Vue/vaahvue/vue-three/primeflex/VhViewRow.vue b/skeletons/vaahcms/module-vue3/Vue/vaahvue/vue-three/primeflex/VhViewRow.vue deleted file mode 100644 index cfcd2a5..0000000 --- a/skeletons/vaahcms/module-vue3/Vue/vaahvue/vue-three/primeflex/VhViewRow.vue +++ /dev/null @@ -1,60 +0,0 @@ - - diff --git a/skeletons/vaahcms/module-vue3/Vue/vite.config.js.ejs b/skeletons/vaahcms/module-vue3/Vue/vite.config.js.ejs deleted file mode 100644 index d5228c3..0000000 --- a/skeletons/vaahcms/module-vue3/Vue/vite.config.js.ejs +++ /dev/null @@ -1,51 +0,0 @@ -import path from 'path' -import { resolve } from 'path' -import {fileURLToPath, URL} from 'url' - -import {defineConfig} from 'vite' -import vue from '@vitejs/plugin-vue' -import { viteStaticCopy } from 'vite-plugin-static-copy' - -const pathSrc = path.resolve(__dirname, './') - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - viteStaticCopy({ - targets: [ - { - src: '../Resources/assets/build/', - dest: '../../../../../../public/vaahcms/modules/<%= module_name_lower %>/assets/', - } - ] - }) - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./', import.meta.url)) - } - }, - - build: { - chunkSizeWarningLimit: 3000, - target: "esnext", - outDir: '../Resources/assets/build/', - rollupOptions: { - output: { - entryFileNames: `[name].js`, - chunkFileNames: `[name].js`, - assetFileNames: `[name].[ext]` - }, - } - }, - server: { - watch: { usePolling: true, }, - port: <%= webpack_port %>, - hmr:{ - protocol: 'ws', - host: 'localhost', - - } - } -}) diff --git a/skeletons/vaahcms/module-vue3/composer.json.ejs b/skeletons/vaahcms/module-vue3/composer.json.ejs deleted file mode 100644 index 878a6d4..0000000 --- a/skeletons/vaahcms/module-vue3/composer.json.ejs +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "vaahcms/<%= module_name_lower %>", - "description": "<%= description %>", - "version": "0.0.1", - "authors": [ - { - "name": "<%= author_name %>", - "email": "<%= author_email %>" - } - ], - "require": { - "php": "^7.0" - }, - "extra": { - "laravel": { - "providers": [ - "VaahCms\\Modules\\<%= module_name %>\\Providers\\<%= module_name %>ServiceProvider" - ], - "aliases": { - } - } - }, - "autoload": { - "psr-4": { - "VaahCms\\Modules\\<%= module_name %>\\": "" - } - } -} diff --git a/skeletons/vaahcms/module/.gitignore.ejs b/skeletons/vaahcms/module/.gitignore.ejs deleted file mode 100644 index 114e509..0000000 --- a/skeletons/vaahcms/module/.gitignore.ejs +++ /dev/null @@ -1,6 +0,0 @@ -/.git/ -/.idea/ -node_modules -/vendor -composer.lock -package-lock.json diff --git a/skeletons/vaahcms/module/Config/.gitkeep b/skeletons/vaahcms/module/Config/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/module/Config/config.php.ejs b/skeletons/vaahcms/module/Config/config.php.ejs deleted file mode 100644 index 2bfce87..0000000 --- a/skeletons/vaahcms/module/Config/config.php.ejs +++ /dev/null @@ -1,21 +0,0 @@ - "<%= module_name %>", - "title"=> "<%= title %>", - "slug"=> "<%= module_name_lower %>", - "thumbnail"=> "https://img.site/p/300/160", - "excerpt"=> "<%= description %>", - "description"=> "<%= description %>", - "download_link"=> "<%= download_link %>", - "author_name"=> "<%= author_name %>", - "author_website"=> "<%= author_website %>", - "version"=> "0.0.1", - "is_migratable"=> <%= is_migratable %>, - "is_sample_data_available"=> <%= has_sample_data %>, - "db_table_prefix"=> "vh_<%= module_name_lower %>_", - "providers"=> [ - "\\VaahCms\\Modules\\<%= module_name %>\\Providers\\<%= module_name %>ServiceProvider" - ], - "aside-menu-order"=> null -]; diff --git a/skeletons/vaahcms/module/Database/Factories/.gitkeep b/skeletons/vaahcms/module/Database/Factories/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/module/Database/Migrations/.gitkeep b/skeletons/vaahcms/module/Database/Migrations/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/module/Database/Seeds/.gitkeep b/skeletons/vaahcms/module/Database/Seeds/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/module/Database/Seeds/DatabaseTableSeeder.php.ejs b/skeletons/vaahcms/module/Database/Seeds/DatabaseTableSeeder.php.ejs deleted file mode 100644 index b93b384..0000000 --- a/skeletons/vaahcms/module/Database/Seeds/DatabaseTableSeeder.php.ejs +++ /dev/null @@ -1,30 +0,0 @@ -\Database\Seeds; - - -use Illuminate\Database\Seeder; - -class DatabaseTableSeeder extends Seeder -{ - /** - * Run the database seeds. - * - * @return void - */ - public function run() - { - $this->seeds(); - } - - /** - * Run the database seeds. - * - * @return void - */ - function seeds() - { - - } - - -} diff --git a/skeletons/vaahcms/module/Database/Seeds/SampleDataTableSeeder.php.ejs b/skeletons/vaahcms/module/Database/Seeds/SampleDataTableSeeder.php.ejs deleted file mode 100644 index 79e894f..0000000 --- a/skeletons/vaahcms/module/Database/Seeds/SampleDataTableSeeder.php.ejs +++ /dev/null @@ -1,30 +0,0 @@ -\Database\Seeds; - - -use Illuminate\Database\Seeder; - -class SampleDataTableSeeder extends Seeder -{ - /** - * Run the database seeds. - * - * @return void - */ - public function run() - { - $this->seeds(); - } - - /** - * Run the database seeds. - * - * @return void - */ - function seeds() - { - - } - - -} diff --git a/skeletons/vaahcms/module/Helpers/.gitkeep b/skeletons/vaahcms/module/Helpers/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/module/Http/Controllers/.gitkeep b/skeletons/vaahcms/module/Http/Controllers/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/module/Http/Controllers/Backend/BackendController.php.ejs b/skeletons/vaahcms/module/Http/Controllers/Backend/BackendController.php.ejs deleted file mode 100644 index c8ac09a..0000000 --- a/skeletons/vaahcms/module/Http/Controllers/Backend/BackendController.php.ejs +++ /dev/null @@ -1,82 +0,0 @@ -\Http\Controllers\Backend; - -use Illuminate\Http\Request; -use Illuminate\Http\Response; -use Illuminate\Routing\Controller; - -class BackendController extends Controller -{ - - - public function __construct() - { - - } - - public function index() - { - - /** - * Check user has permission else redirect - */ - /* - $permission_slug = 'has-access-<%= module_name_lower %>'; - if(!\Auth::user()->hasPermission($permission_slug)) - { - $error_message = trans("vaahcms::messages.permission_denied"); - if(env('APP_DEBUG')) - { - $error_message .= ' Permission Slug: '.$permission_slug; - } - $response['errors'][] = $error_message; - return redirect('vh.backend')->withErrors($response['errors']); - } - */ - - return view('<%= module_name_lower %>::backend.pages.index'); - - // Use following blade file to use vue app - //return view('<%= module_name_lower %>::backend.pages.app'); - } - - public function getAssets(Request $request) - { - - - /** - * Check user has permission else return permission denied error - */ - - /* - $permission_slug = 'has-access-<%= module_name_lower %>'; - if(!\Auth::user()->hasPermission($permission_slug)) - { - $response['status'] = 'failed'; - $error_message = trans("vaahcms::messages.permission_denied"); - if(env('APP_DEBUG')) - { - $error_message .= ' Permission Slug: '.$permission_slug; - } - $response['errors'][] = $error_message; - return response()->json($response); - } - */ - - $data=[]; - - $data['module'] = [ - 'name' => config('<%= module_name_lower %>.name'), - 'version' => config('<%= module_name_lower %>.version') - ]; - - $data['timezone'] = env("APP_TIMEZONE"); - $data['server_date_time'] = \Carbon::now(); - - $response['success'] = true; - $response['data'] = $data; - - return response()->json($response); - - } - -} diff --git a/skeletons/vaahcms/module/Http/Controllers/Backend/ExtendController.php.ejs b/skeletons/vaahcms/module/Http/Controllers/Backend/ExtendController.php.ejs deleted file mode 100644 index 4ce105a..0000000 --- a/skeletons/vaahcms/module/Http/Controllers/Backend/ExtendController.php.ejs +++ /dev/null @@ -1,53 +0,0 @@ -\Http\Controllers\Backend; - -use Illuminate\Http\Request; -use Illuminate\Http\Response; -use Illuminate\Routing\Controller; - -class ExtendController extends Controller -{ - - //---------------------------------------------------------- - public function __construct() - { - } - //---------------------------------------------------------- - public static function topLeftMenu() - { - $links = []; - - $response['status'] = 'success'; - $response['data'] = $links; - - return $response; - - } - //---------------------------------------------------------- - public static function topRightUserMenu() - { - $links = []; - - $response['status'] = 'success'; - $response['data'] = $links; - - return $response; - } - //---------------------------------------------------------- - public static function sidebarMenu() - { - $links = []; - - $links[0] = [ - 'link' => route('vh.backend.<%= module_name_lower %>'), - 'icon' => 'cubes', - 'label'=> '<%= module_name %>' - ]; - - $response['status'] = 'success'; - $response['data'] = $links; - - return $response; - } - //---------------------------------------------------------- - -} diff --git a/skeletons/vaahcms/module/Http/Controllers/Backend/SetupController.php.ejs b/skeletons/vaahcms/module/Http/Controllers/Backend/SetupController.php.ejs deleted file mode 100644 index 9d60e69..0000000 --- a/skeletons/vaahcms/module/Http/Controllers/Backend/SetupController.php.ejs +++ /dev/null @@ -1,73 +0,0 @@ -\Http\Controllers\Backend; - -use Illuminate\Http\Request; -use Illuminate\Http\Response; -use Illuminate\Routing\Controller; - -class SetupController extends Controller -{ - - public function __construct() - { - } - - /** - * Run when module is activated - */ - public static function activate($module) - { - $response['status'] = 'success'; - $response['data'] = []; - return $response; - } - - /** - * Run when module is activated - */ - public static function dependencies() - { - $response['status'] = 'success'; - $response['data']['modules'] = []; - $response['data']['themes'] = []; - - return $response; - } - - /** - * Run when module is deactivate - */ - public static function deactivate() - { - - $response['status'] = 'success'; - $response['data'] = []; - return $response; - - } - - /** - * Run when module's sample data link is clicked - */ - public static function importSampleData() - { - - $response['status'] = 'success'; - $response['data'] = []; - return $response; - - } - - /** - * Run when module is deleted - */ - public static function delete() - { - - $response['status'] = 'success'; - $response['data'] = []; - return $response; - - } - - -} diff --git a/skeletons/vaahcms/module/Http/Controllers/Frontend/.gitkeep b/skeletons/vaahcms/module/Http/Controllers/Frontend/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/module/Http/Controllers/Frontend/FrontendController.php.ejs b/skeletons/vaahcms/module/Http/Controllers/Frontend/FrontendController.php.ejs deleted file mode 100644 index 874cf65..0000000 --- a/skeletons/vaahcms/module/Http/Controllers/Frontend/FrontendController.php.ejs +++ /dev/null @@ -1,21 +0,0 @@ -\Http\Controllers\Frontend; - -use Illuminate\Http\Request; -use Illuminate\Http\Response; -use Illuminate\Routing\Controller; - -class FrontendController extends Controller -{ - - - public function __construct() - { - - } - - public function index(Request $request) - { - return 'FrontendController - <%= module_name %>'; - } - -} \ No newline at end of file diff --git a/skeletons/vaahcms/module/Http/Middleware/.gitkeep b/skeletons/vaahcms/module/Http/Middleware/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/module/Http/Requests/.gitkeep b/skeletons/vaahcms/module/Http/Requests/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/module/Libraries/.gitkeep b/skeletons/vaahcms/module/Libraries/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/module/Models/.gitkeep b/skeletons/vaahcms/module/Models/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/module/Providers/.gitkeep b/skeletons/vaahcms/module/Providers/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/module/Providers/EventServiceProvider.php.ejs b/skeletons/vaahcms/module/Providers/EventServiceProvider.php.ejs deleted file mode 100644 index 991dc9a..0000000 --- a/skeletons/vaahcms/module/Providers/EventServiceProvider.php.ejs +++ /dev/null @@ -1,9 +0,0 @@ -\Providers; - -use Illuminate\Support\Facades\Event; -use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider; - -class EventServiceProvider extends ServiceProvider -{ - protected $listen = []; -} diff --git a/skeletons/vaahcms/module/Providers/RouteServiceProvider.php.ejs b/skeletons/vaahcms/module/Providers/RouteServiceProvider.php.ejs deleted file mode 100644 index e8aeed8..0000000 --- a/skeletons/vaahcms/module/Providers/RouteServiceProvider.php.ejs +++ /dev/null @@ -1,82 +0,0 @@ -\Providers; - -use Illuminate\Support\Facades\Route; -use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider; - -class RouteServiceProvider extends ServiceProvider -{ - /** - * The root namespace to assume when generating URLs to actions. - * - * @var string - */ - protected $namespace = '<%= namespace %>\Http\Controllers'; - - /** - * Called before routes are registered. - * - * Register any model bindings or pattern based filters. - * - * @return void - */ - public function boot() - { - parent::boot(); - } - - /** - * Define the routes for the application. - * - * @return void - */ - public function map() - { - $this->mapApiRoutes(); - $this->mapBackendRoutes(); - $this->mapFrontendRoutes(); - } - - /** - * Define the "admin" routes for the application. - * - * These routes all receive session state, CSRF protection, etc. - * - * @return void - */ - protected function mapBackendRoutes() - { - Route::middleware(['web','has.backend.access']) - ->namespace($this->namespace) - ->group(__DIR__ . '/../Routes/backend.php'); - } - - - /** - * Define the "web" routes for the application. - * - * These routes all receive session state, CSRF protection, etc. - * - * @return void - */ - protected function mapFrontendRoutes() - { - Route::middleware('web') - ->namespace($this->namespace) - ->group(__DIR__ . '/../Routes/frontend.php'); - } - - /** - * Define the "api" routes for the application. - * - * These routes are typically stateless. - * - * @return void - */ - protected function mapApiRoutes() - { - Route::prefix('api') - ->middleware('auth:api') - ->namespace($this->namespace) - ->group(__DIR__ . '/../Routes/api.php'); - } -} diff --git a/skeletons/vaahcms/module/Providers/ServiceProvider.php.ejs b/skeletons/vaahcms/module/Providers/ServiceProvider.php.ejs deleted file mode 100644 index 8ddde3a..0000000 --- a/skeletons/vaahcms/module/Providers/ServiceProvider.php.ejs +++ /dev/null @@ -1,228 +0,0 @@ -\Providers; - - -use Illuminate\Routing\Router; -use Illuminate\Support\ServiceProvider; -use Illuminate\Database\Eloquent\Factory; -use <%= namespace %>\Providers\RouteServiceProvider; -use <%= namespace %>\Providers\EventServiceProvider; - -class <%= module_name %>ServiceProvider extends ServiceProvider -{ - /** - * Indicates if loading of the provider is deferred. - * - * @var bool - */ - protected $defer = false; - - /** - * Boot the application events. - * - * @return void - */ - public function boot(Router $router) - { - - $this->registerMiddleware($router); - $this->registerTranslations(); - $this->registerConfig(); - $this->registerViews(); - $this->registerAssets(); - //$this->registerFactories(); - $this->loadMigrationsFrom(__DIR__ . '/../Database/Migrations'); - $this->registerSeeders(); - $this->registerBladeDirectives(); - $this->registerBladeComponents(); - } - - - /** - * Register the service provider. - * - * @return void - */ - public function register() - { - - $this->app->register(RouteServiceProvider::class); - $this->app->register(EventServiceProvider::class); - $loader = \Illuminate\Foundation\AliasLoader::getInstance(); - - $this->registerHelpers(); - $this->registerLibraries(); - - } - - /** - * - */ - private function registerMiddleware($router) { - - //register middleware - //$router->aliasMiddleware('sample.middleware', \<%= module_name %>\Http\Middleware\SampleMiddleware::class); - - } - - /** - * - */ - private function registerHelpers() { - - //load all the helpers - foreach (glob(__DIR__.'/../Helpers/*.php') as $filename){ - require_once($filename); - } - - } - - /** - * - */ - private function registerLibraries() - { - //load all the helpers - foreach (glob(__DIR__.'/Libraries/*.php') as $filename){ - require_once($filename); - } - } - - - /** - * - */ - private function registerSeeders() { - - //load all the seeds - foreach (glob(__DIR__.'/../Database/Seeds/*.php') as $filename){ - require_once($filename); - } - - } - - /** - * Register config. - * - * @return void - */ - protected function registerConfig() - { - $this->publishes([ - __DIR__.'/../Config/config.php' => config_path('<%= module_name_lower %>.php'), - ], 'config'); - $this->mergeConfigFrom( - __DIR__.'/../Config/config.php', '<%= module_name_lower %>' - ); - } - - /** - * Register views. - * - * @return void - */ - public function registerViews() - { - $viewPath = resource_path('/views/vaahcms/modules/<%= module_name_lower %>'); - - $sourcePath = __DIR__.'/../Resources/views'; - - $this->publishes([ - $sourcePath => $viewPath - ],'views'); - - $this->loadViewsFrom(array_merge(array_map(function ($path) { - return $path . '/views/vaahcms/modules/<%= module_name_lower %>'; - }, \Config::get('view.paths')), [$sourcePath]), '<%= module_name_lower %>'); - - } - - /** - * Register views. - * - * @return void - */ - public function registerAssets() - { - - $sourcePath = __DIR__.'/../Resources/assets'; - - $desPath = public_path('vaahcms/modules/<%= module_name_lower %>/assets'); - - $this->publishes([ - $sourcePath => $desPath - ],'assets'); - - - } - - - /** - * Register translations. - * - * @return void - */ - public function registerTranslations() - { - $langPath = resource_path('/lang/vaahcms/modules/<%= module_name_lower %>'); - - if (is_dir($langPath)) { - $this->loadTranslationsFrom($langPath, '<%= module_name_lower %>'); - } else { - $this->loadTranslationsFrom(__DIR__ .'/../Resources/lang', '<%= module_name_lower %>'); - } - } - - /** - * Register an additional directory of factories. - * - * @return void - */ - public function registerFactories() - { - if (! app()->environment('production')) { - app(Factory::class)->load(__DIR__ . '/../Database/factories'); - } - } - - /** - * Get the services provided by the provider. - * - * @return array - */ - public function provides() - { - return []; - } - - - /** - * Get the services provided by the provider. - * - * @return array - */ - public function registerBladeDirectives() - { - - /* - \Blade::directive('hello', function ($expression) { - return ""; - }); - */ - - } - - /** - * Get the services provided by the provider. - * - * @return array - */ - public function registerBladeComponents() - { - - /* - \Blade::component('example', Example::class); - */ - - } - -} diff --git a/skeletons/vaahcms/module/README.md.ejs b/skeletons/vaahcms/module/README.md.ejs deleted file mode 100644 index a3db478..0000000 --- a/skeletons/vaahcms/module/README.md.ejs +++ /dev/null @@ -1,13 +0,0 @@ -# vaahcms-module-<%= module_name_lower %> -<%= module_name %> Module for VaahCMS - - -#### To Run Modules Dusk Test: -- Change path of dusk in `phpunit.dusk.xml` to following: -```xml -... -./VaahCms/Modules/<%= module_name %>/Tests/Browser -... -``` - -- Then run `php artisan dusk` \ No newline at end of file diff --git a/skeletons/vaahcms/module/Resources/assets/.gitkeep b/skeletons/vaahcms/module/Resources/assets/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/module/Resources/assets/css/.gitkeep b/skeletons/vaahcms/module/Resources/assets/css/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/module/Resources/assets/js/.gitkeep b/skeletons/vaahcms/module/Resources/assets/js/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/module/Resources/assets/sass/.gitkeep b/skeletons/vaahcms/module/Resources/assets/sass/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/module/Resources/lang/.gitkeep b/skeletons/vaahcms/module/Resources/lang/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/module/Resources/views/.gitkeep b/skeletons/vaahcms/module/Resources/views/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/module/Resources/views/backend/.gitkeep b/skeletons/vaahcms/module/Resources/views/backend/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/module/Resources/views/backend/pages/.gitkeep b/skeletons/vaahcms/module/Resources/views/backend/pages/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/module/Resources/views/backend/pages/app.blade.php.ejs b/skeletons/vaahcms/module/Resources/views/backend/pages/app.blade.php.ejs deleted file mode 100644 index ed56565..0000000 --- a/skeletons/vaahcms/module/Resources/views/backend/pages/app.blade.php.ejs +++ /dev/null @@ -1,32 +0,0 @@ -@extends("vaahcms::backend.vaahone.layouts.backend") - -@section('vaahcms_extend_backend_css') - -@endsection - - -@section('vaahcms_extend_backend_js') - - @if(env('MODULE_<%= module_name_upper %>_ENV') == 'develop') - - @else - - @endif - -@endsection - -@section('content') - -
-
-
- - - - - -
-
-
- -@endsection diff --git a/skeletons/vaahcms/module/Resources/views/backend/pages/index.blade.php.ejs b/skeletons/vaahcms/module/Resources/views/backend/pages/index.blade.php.ejs deleted file mode 100644 index 5376bec..0000000 --- a/skeletons/vaahcms/module/Resources/views/backend/pages/index.blade.php.ejs +++ /dev/null @@ -1,27 +0,0 @@ -@extends("vaahcms::backend.vaahone.layouts.backend") - -@section('vaahcms_extend_backend_css') - -@endsection - - -@section('vaahcms_extend_backend_js') - -@endsection - -@section('content') - - -
-
-

<%= module_name %>

-

- Your "<%= module_name %>" module's dashboard is ready! -

-
-
- - - - -@endsection diff --git a/skeletons/vaahcms/module/Routes/api.php.ejs b/skeletons/vaahcms/module/Routes/api.php.ejs deleted file mode 100644 index ee42c57..0000000 --- a/skeletons/vaahcms/module/Routes/api.php.ejs +++ /dev/null @@ -1,23 +0,0 @@ - '<%= module_name_lower %>', - ], - function () { - //------------------------------------------------ - Route::get( '/assets', 'BackendController@getAssets' ) - ->name( 'vh.api.<%= module_name_lower %>.assets' ); - //------------------------------------------------ - }); -*/ \ No newline at end of file diff --git a/skeletons/vaahcms/module/Routes/backend.php.ejs b/skeletons/vaahcms/module/Routes/backend.php.ejs deleted file mode 100644 index d57571b..0000000 --- a/skeletons/vaahcms/module/Routes/backend.php.ejs +++ /dev/null @@ -1,34 +0,0 @@ - 'backend/<%= module_name_lower %>', - 'middleware' => ['web', 'has.backend.access'], - 'namespace' => 'Backend', - ], - function () { - //------------------------------------------------ - Route::get( '/', 'BackendController@index' ) - ->name( 'vh.backend.<%= module_name_lower %>' ); - //------------------------------------------------ - //------------------------------------------------ - Route::post( '/assets', 'BackendController@getAssets' ) - ->name( 'vh.backend.<%= module_name_lower %>.assets' ); - //------------------------------------------------ - }); - -/* - * Include CRUD Routes - */ -//include("backend/routes-example.php"); diff --git a/skeletons/vaahcms/module/Routes/frontend.php.ejs b/skeletons/vaahcms/module/Routes/frontend.php.ejs deleted file mode 100644 index 6b0534b..0000000 --- a/skeletons/vaahcms/module/Routes/frontend.php.ejs +++ /dev/null @@ -1,27 +0,0 @@ - '<%= module_name_lower %>', - 'middleware' => ['web'], - 'namespace' => 'Frontend', - ], - function () { - //------------------------------------------------ - /* - Route::get( '/', 'FrontendController@index' ) - ->name( 'vh.frontend.<%= module_name_lower %>' ); - */ - //------------------------------------------------ - }); diff --git a/skeletons/vaahcms/module/Tests/Browser/ExampleTest.php.ejs b/skeletons/vaahcms/module/Tests/Browser/ExampleTest.php.ejs deleted file mode 100644 index c48d645..0000000 --- a/skeletons/vaahcms/module/Tests/Browser/ExampleTest.php.ejs +++ /dev/null @@ -1,24 +0,0 @@ -\Tests\Browser; - -use <%= namespace %>\Tests\DuskTestCase; -use Laravel\Dusk\Browser; -use Illuminate\Foundation\Testing\DatabaseMigrations; - -class ExampleTest extends DuskTestCase -{ - /** - * A basic browser test example. - * - * @return void - */ - public function testBasicExample() - { - $this->browse(function (Browser $browser) { - $this->browse(function (Browser $browser) { - $browser->maximize(); - $browser->visit('/admin') - ->assertSee('VaahCms'); - }); - }); - } -} diff --git a/skeletons/vaahcms/module/Tests/CreatesApplication.php.ejs b/skeletons/vaahcms/module/Tests/CreatesApplication.php.ejs deleted file mode 100644 index c4b3786..0000000 --- a/skeletons/vaahcms/module/Tests/CreatesApplication.php.ejs +++ /dev/null @@ -1,20 +0,0 @@ -\Tests; - -use Illuminate\Contracts\Console\Kernel; - -trait CreatesApplication -{ - /** - * Creates the application. - * - * @return \Illuminate\Foundation\Application - */ - public function createApplication() - { - $app = require __DIR__.'/../../../../bootstrap/app.php'; - - $app->make(Kernel::class)->bootstrap(); - - return $app; - } -} diff --git a/skeletons/vaahcms/module/Tests/DuskTestCase.php.ejs b/skeletons/vaahcms/module/Tests/DuskTestCase.php.ejs deleted file mode 100644 index ba125ba..0000000 --- a/skeletons/vaahcms/module/Tests/DuskTestCase.php.ejs +++ /dev/null @@ -1,45 +0,0 @@ -\Tests; - -use Laravel\Dusk\TestCase as BaseTestCase; -use Facebook\WebDriver\Chrome\ChromeOptions; -use Facebook\WebDriver\Remote\RemoteWebDriver; -use Facebook\WebDriver\Remote\DesiredCapabilities; - -abstract class DuskTestCase extends BaseTestCase -{ - use CreatesApplication; - - /** - * Prepare for Dusk test execution. - * - * @beforeClass - * @return void - */ - public static function prepare() - { - static::startChromeDriver(); - } - - /** - * Create the RemoteWebDriver instance. - * - * @return \Facebook\WebDriver\Remote\RemoteWebDriver - */ - protected function driver() - { - $options = (new ChromeOptions)->addArguments([ - //'--disable-gpu', - //'--headless', - //"--incognito", - '--window-size=1360,700', - ]); - - $driver = RemoteWebDriver::create( - 'http://localhost:9515', DesiredCapabilities::chrome()->setCapability( - ChromeOptions::CAPABILITY, $options - ) - ); - - return $driver; - } -} diff --git a/skeletons/vaahcms/module/Vue/app.js.ejs b/skeletons/vaahcms/module/Vue/app.js.ejs deleted file mode 100644 index 7ea7f2b..0000000 --- a/skeletons/vaahcms/module/Vue/app.js.ejs +++ /dev/null @@ -1,129 +0,0 @@ -import Vue from 'vue' - -window.Vue = Vue; - -window.$ = require('jquery'); -window.JQuery = require('jquery'); - - - -//---------Package imports -import axios from 'axios'; -import VueAxios from 'vue-axios'; -import VueRouter from 'vue-router'; -import Vuex from 'vuex'; -import VueFuse from 'vue-fuse' -import VueProgressBar from 'vue-progressbar' - - - -import VaahVuePagination from 'vaah-vue-pagination' -import VaahVueClickToCopy from 'vaah-vue-clicktocopy' -//---------/Package imports - -//---------Configs -Vue.config.delimiters = ['@{{', '}}']; -Vue.config.async = false; -//---------Configs - -import vaah from './vaahvue/helpers/VaahHelper'; -import vh from './vaahvue/helpers/VhHelper'; - -//---------Helpers -Vue.use(VueAxios, axios); -Vue.use(VueRouter); -Vue.use(Vuex); -Vue.use(VueFuse); -Vue.use(vaah); -Vue.use(vh); -//---------/Helpers - - - - -//--------Progress -const options = { - color: '#7a58d5', - failedColor: '#7a58d5', - thickness: '2px', - transition: { - speed: '0.2s', - opacity: '0.8s', - termination: 300 - }, - autoRevert: true, - location: 'top', - inverse: false -}; - -Vue.use(VueProgressBar, options); -//--------/Progress - -//--------FontAwesome -import { library } from '@fortawesome/fontawesome-svg-core'; -import { fas } from '@fortawesome/free-solid-svg-icons'; -import { far } from '@fortawesome/free-regular-svg-icons'; -import { fab } from '@fortawesome/free-brands-svg-icons'; -import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome' - -library.add(fas, far, fab); -Vue.component('font-awesome-icon', FontAwesomeIcon); -//--------/FontAwesome - -//---------Buefy -Vue.component('vue-fontawesome', FontAwesomeIcon); -import Buefy from 'buefy'; -Vue.use(Buefy, { - "css": false, - defaultIconPack: 'fas', - defaultIconComponent: 'vue-fontawesome', -}); -//---------/Buefy - - -Vue.component('vh-pagination', VaahVuePagination); -Vue.component('vh-copy', VaahVueClickToCopy); - - -//---------Store -import {store} from './stores/store'; -//---------/Store - -//---------Routes -import router from './routes/config/router'; -//---------/Routes - - -const app<%= module_name %> = new Vue({ - el: '#app<%= module_name %>', - components:{ - - }, - store: store, - router, - data: { - }, - created () { - this.$Progress.start(); - this.$router.beforeEach((to, from, next) => { - // pass meta.hide_progress in route's to hide progress - if (to.meta.hide_progress && to.meta.hide_progress === true) { - next() - } else - { - this.$Progress.start(); - next() - } - }); - - this.$router.afterEach((to, from) => { - this.$Progress.finish() - }); - - }, - mounted() { - this.$Progress.finish() - }, - methods:{ - } -}); diff --git a/skeletons/vaahcms/module/Vue/layouts/Default.vue b/skeletons/vaahcms/module/Vue/layouts/Default.vue deleted file mode 100644 index 91533b4..0000000 --- a/skeletons/vaahcms/module/Vue/layouts/Default.vue +++ /dev/null @@ -1,29 +0,0 @@ - - - - diff --git a/skeletons/vaahcms/module/Vue/layouts/DefaultJs.js b/skeletons/vaahcms/module/Vue/layouts/DefaultJs.js deleted file mode 100644 index b6fdd85..0000000 --- a/skeletons/vaahcms/module/Vue/layouts/DefaultJs.js +++ /dev/null @@ -1,37 +0,0 @@ -import AsideMenu from "./partials/AsideMenu"; -import Footer from "./partials/Footer"; - -export default { - computed:{ - root() {return this.$store.getters['root/state']}, - }, - components:{ - AsideMenu, - Footer, - }, - data() - { - let obj = { - assets: null, - }; - - return obj; - }, - watch: { - - - - }, - mounted() { - //--------------------------------------------------------------------- - - }, - methods: { - //--------------------------------------------------------------------- - - //--------------------------------------------------------------------- - //--------------------------------------------------------------------- - //--------------------------------------------------------------------- - //--------------------------------------------------------------------- - } -} diff --git a/skeletons/vaahcms/module/Vue/layouts/partials/AsideMenu.vue b/skeletons/vaahcms/module/Vue/layouts/partials/AsideMenu.vue deleted file mode 100644 index 05c2596..0000000 --- a/skeletons/vaahcms/module/Vue/layouts/partials/AsideMenu.vue +++ /dev/null @@ -1,45 +0,0 @@ - - - diff --git a/skeletons/vaahcms/module/Vue/layouts/partials/Footer.vue.ejs b/skeletons/vaahcms/module/Vue/layouts/partials/Footer.vue.ejs deleted file mode 100644 index 75e9c2b..0000000 --- a/skeletons/vaahcms/module/Vue/layouts/partials/Footer.vue.ejs +++ /dev/null @@ -1,50 +0,0 @@ - - - diff --git a/skeletons/vaahcms/module/Vue/package.json.ejs b/skeletons/vaahcms/module/Vue/package.json.ejs deleted file mode 100644 index 2ddae1d..0000000 --- a/skeletons/vaahcms/module/Vue/package.json.ejs +++ /dev/null @@ -1,83 +0,0 @@ -{ - "private": true, - "scripts": { - "dev": "npm run development", - "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --config=node_modules/laravel-mix/setup/webpack.config.js", - "watch": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --mode=development --config=node_modules/laravel-mix/setup/webpack.config.js", - "watch-poll": "npm run watch", - "hot": "mix watch --hot", - "prod": "npm run production", - "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --config=node_modules/laravel-mix/setup/webpack.config.js" - }, - "devDependencies": { - "babel-eslint": "^10.0.1", - "cross-env": "^7.0.3", - "crypto-browserify": "^3.12.0", - "crypto-js": "^4.1.1", - "fs": "0.0.1-security", - "fs-extra": "^10.0.0", - "laravel-mix": "^6.0.39", - "lodash": "^4.17.21", - "postcss": "^8.4.4", - "raw-loader": "^4.0.2", - "resolve-url-loader": "^4.0.0", - "sass-loader": "^12.3.0", - "vue-loader": "^15.9.8", - "vue-template-compiler": "^2.6.14", - "webpack-visualizer-plugin": "^0.1.11" - }, - "dependencies": { - "@fortawesome/fontawesome-svg-core": "^1.2.22", - "@fortawesome/free-brands-svg-icons": "^5.12.1", - "@fortawesome/free-regular-svg-icons": "^5.12.1", - "@fortawesome/free-solid-svg-icons": "^5.12.1", - "@fortawesome/vue-fontawesome": "^0.1.6", - "axios": "^0.21.0", - "babel-loader": "^8.2.2", - "buefy": "0.9.8", - "bulma-helpers": "^0.3.12", - "compass-mixins": "^0.12.10", - "copy-to-clipboard": "^3.3.1", - "filepond": "^4.25.1", - "filepond-plugin-file-rename": "^1.1.6", - "filepond-plugin-file-validate-size": "^2.2.2", - "filepond-plugin-file-validate-type": "^1.2.5", - "filepond-plugin-image-crop": "^2.0.3", - "filepond-plugin-image-edit": "^1.6.0", - "filepond-plugin-image-preview": "^4.6.1", - "fuse.js": "^6.4.6", - "highlight.js": "^10.5.0", - "jodit": "^3.6.15", - "jodit-vue": "^2.4.0", - "jquery": "^3.5.1", - "moment-timezone": "^0.5.34", - "laravel-vue-pagination": "^2.3.1", - "moment": "^2.24.0", - "pusher-js": "^7.0.3", - "qs": "^6.10.3", - "slugify": "^1.3.6", - "tiptap": "^1.27.0", - "tiptap-extensions": "^1.29.0", - "v-jsoneditor": "^1.4.1", - "vaah-vue-clicktocopy": "^1.1.5", - "vaah-vue-pagination": "^1.1.5", - "vue": "^2.6.12", - "vue-avatar": "^2.2.0", - "vue-axios": "^3.2.0", - "vue-codemirror": "^4.0.6", - "vue-content-loader": "^0.2.3", - "vue-filepond": "^6.0.3", - "vue-fuse": "^3.0.0", - "vue-highlightjs": "^1.3.3", - "vue-progressbar": "^0.7.5", - "vue-router": "^3.4.9", - "vue-swatches": "^2.1.1", - "vue2-google-maps": "^0.10.7", - "vue2-smooth-scroll": "^1.3.0", - "vuedraggable": "^2.23.2", - "vuex": "^3.6.0" - }, - "browser": { - "crypto": false - } -} diff --git a/skeletons/vaahcms/module/Vue/pages/dashboard/Index.vue b/skeletons/vaahcms/module/Vue/pages/dashboard/Index.vue deleted file mode 100644 index 3dfe535..0000000 --- a/skeletons/vaahcms/module/Vue/pages/dashboard/Index.vue +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/skeletons/vaahcms/module/Vue/pages/dashboard/IndexJs.js b/skeletons/vaahcms/module/Vue/pages/dashboard/IndexJs.js deleted file mode 100644 index 40d8c8f..0000000 --- a/skeletons/vaahcms/module/Vue/pages/dashboard/IndexJs.js +++ /dev/null @@ -1,31 +0,0 @@ -export default { - computed:{ - root() {return this.$store.getters['root/state']}, - }, - components:{ - - }, - data() - { - return { - - } - }, - watch: { - $route(to, from) { - - } - }, - mounted() { - //---------------------------------------------------- - - //---------------------------------------------------- - //---------------------------------------------------- - }, - methods: { - //--------------------------------------------------------------------- - - //--------------------------------------------------------------------- - //--------------------------------------------------------------------- - } -} diff --git a/skeletons/vaahcms/module/Vue/routes/config/middlewarePipeline.js b/skeletons/vaahcms/module/Vue/routes/config/middlewarePipeline.js deleted file mode 100644 index 7ac36b0..0000000 --- a/skeletons/vaahcms/module/Vue/routes/config/middlewarePipeline.js +++ /dev/null @@ -1,18 +0,0 @@ -function middlewarePipeline (context, middleware, index) { - const nextMiddleware = middleware[index]; - - if(!nextMiddleware){ - return context.next - } - - return () => { - const nextPipeline = middlewarePipeline( - context, middleware, index + 1 - ); - - nextMiddleware({ ...context, next: nextPipeline }) - - } -} - -export default middlewarePipeline; diff --git a/skeletons/vaahcms/module/Vue/routes/config/router.js b/skeletons/vaahcms/module/Vue/routes/config/router.js deleted file mode 100644 index e384bf5..0000000 --- a/skeletons/vaahcms/module/Vue/routes/config/router.js +++ /dev/null @@ -1,66 +0,0 @@ -import Vue from 'vue' -import VueRouter from 'vue-router' -import qs from 'qs' -import {store} from '../../stores/store' - -Vue.use(VueRouter) - -import middlewarePipeline from './middlewarePipeline'; - -let allRoutes = []; - -import routes from './../routes'; - -//allRoutes = allRoutes.concat(routes); -allRoutes = routes; - - -const router = new VueRouter({ - base: '/', - //mode: 'history', - linkActiveClass: "", - routes: allRoutes, - parseQuery(query) { - return qs.parse(query); - }, - stringifyQuery(query) { - let result = qs.stringify(query, - { - arrayFormat: 'brackets', - encode: false, - skipNulls: true - }); - return result ? ('?' + result) : ''; - } -}); - -//----PROTECT VUE ROUTES WITH MIDDLEWARE -router.beforeEach(async (to, from, next) => { - - if (!to.meta.middleware) { - return next() - } - - const middleware = to.meta.middleware; - - const context = { - to, - from, - next, - store - }; - - const res = await middleware[0]({ - ...context, - next: middlewarePipeline(context, middleware, 1) - }); - - return res; - -}); -//----END OF PROTECT VUE ROUTES WITH MIDDLEWARE - - - - -export default router; diff --git a/skeletons/vaahcms/module/Vue/routes/middleware/GetAssets.js b/skeletons/vaahcms/module/Vue/routes/middleware/GetAssets.js deleted file mode 100644 index eb1e98e..0000000 --- a/skeletons/vaahcms/module/Vue/routes/middleware/GetAssets.js +++ /dev/null @@ -1,4 +0,0 @@ -export default async function GetAssets ({ to, from, next, store }){ - await store.dispatch('root/getAssets'); - return next() -} diff --git a/skeletons/vaahcms/module/Vue/routes/routes-dashboard.js b/skeletons/vaahcms/module/Vue/routes/routes-dashboard.js deleted file mode 100644 index 6e1c45e..0000000 --- a/skeletons/vaahcms/module/Vue/routes/routes-dashboard.js +++ /dev/null @@ -1,48 +0,0 @@ -let routes=[]; -let routes_list=[]; - - -//----------Middleware -import GetAssets from './middleware/GetAssets' -//----------Middleware - - -/* -|-------------------------------------------------------------------------- -| Admin Routes -|-------------------------------------------------------------------------- -*/ - -import LayoutDefault from './../layouts/Default' -import Index from './../pages/dashboard/Index' - -routes_list = { - path: '/', - component: LayoutDefault, - props: true, - meta: { - middleware: [ - GetAssets - ] - }, - children: [ - { - path: '/', - name: '<%= module_name_lower %>.index', - component: Index, - props: true, - meta: { - middleware: [ - GetAssets - ] - }, - }, - - ] -}; - -routes.push(routes_list); - - - -export default routes; diff --git a/skeletons/vaahcms/module/Vue/routes/routes.js b/skeletons/vaahcms/module/Vue/routes/routes.js deleted file mode 100644 index 3cf426d..0000000 --- a/skeletons/vaahcms/module/Vue/routes/routes.js +++ /dev/null @@ -1,9 +0,0 @@ -let routes=[]; - -import dashboard from "./routes-dashboard"; -//import other from "./routes-other"; - -routes = routes.concat(dashboard); -//routes = routes.concat(other); - -export default routes; diff --git a/skeletons/vaahcms/module/Vue/stores/modules/root.js b/skeletons/vaahcms/module/Vue/stores/modules/root.js deleted file mode 100644 index f0d2824..0000000 --- a/skeletons/vaahcms/module/Vue/stores/modules/root.js +++ /dev/null @@ -1,86 +0,0 @@ -import {VaahHelper as Vaah} from "../../vaahvue/helpers/VaahHelper"; - -//---------Variables -let base_url = document.getElementsByTagName('base')[0].getAttribute("href"); -let current_url = document.getElementById('current_url').getAttribute('content'); -let debug = document.getElementById('debug').getAttribute('content'); -//---------/Variables - - -export default { - namespaced: true, - //========================================================================= - state: { - debug: debug, - base_url: base_url, - current_url: current_url, - assets: null, - assets_reload: null, - permissions: null, - }, - //========================================================================= - mutations:{ - updateState: function (state, payload) { - state[payload.key] = payload.value; - }, - //----------------------------------------------------------------- - }, - //========================================================================= - actions:{ - //----------------------------------------------------------------- - async getAssets({ state, commit, dispatch, getters }) { - - let root_assets = state.assets; - - if(!state.assets || state.assets_reload == true) - { - - let params = {}; - - let url = state.current_url + '/assets'; - let data = await Vaah.ajax(url, params); - - if (!root_assets) { - root_assets = {}; - } - - for (let index in data.data.data) { - root_assets[index] = data.data.data[index]; - } - - let payload = { - key: 'assets', - value: root_assets - }; - - this.commit('root/updateState', payload); - - payload = { - key: 'assets_reload', - value: false - }; - - this.commit('root/updateState', payload); - - } - - }, - //----------------------------------------------------------------- - reloadAssets: function ({ state, commit, dispatch, getters }) { - let payload = { - key: 'assets_reload', - value: true - }; - commit('updateState', payload); - dispatch('getAssets'); - }, - //----------------------------------------------------------------- - }, - //========================================================================= - getters:{ - state(state) {return state;}, - assets(state) {return state.assets;}, - permissions(state) {return state.permissions;}, - } - -} diff --git a/skeletons/vaahcms/module/Vue/stores/store.js b/skeletons/vaahcms/module/Vue/stores/store.js deleted file mode 100644 index b3a3bbf..0000000 --- a/skeletons/vaahcms/module/Vue/stores/store.js +++ /dev/null @@ -1,12 +0,0 @@ -import Vue from 'vue'; -import Vuex from 'vuex'; - -Vue.use(Vuex); - -import root from './modules/root'; - -export const store = new Vuex.Store({ - modules: { - root: root, - } -}); diff --git a/skeletons/vaahcms/module/Vue/vaahvue/helpers/GlobalComponents.js b/skeletons/vaahcms/module/Vue/vaahvue/helpers/GlobalComponents.js deleted file mode 100644 index cbf547d..0000000 --- a/skeletons/vaahcms/module/Vue/vaahvue/helpers/GlobalComponents.js +++ /dev/null @@ -1,11 +0,0 @@ -import Loader from './../reusable/Loader' -import ClickToCopy from './../reusable/ClickToCopy' -import VueErrors from './../reusable/VueErrors' -import VueMessages from './../reusable/VueMessages' - -export default { - Loader, - ClickToCopy, - VueErrors, - VueMessages, -} diff --git a/skeletons/vaahcms/module/Vue/vaahvue/helpers/VaahHelper.js b/skeletons/vaahcms/module/Vue/vaahvue/helpers/VaahHelper.js deleted file mode 100644 index 981da39..0000000 --- a/skeletons/vaahcms/module/Vue/vaahvue/helpers/VaahHelper.js +++ /dev/null @@ -1,1217 +0,0 @@ -import Vue from 'vue'; -import axios from "axios"; -let moment = require('moment-timezone'); -let timezone = document.getElementById('app_timezone').getAttribute("content"); -moment.tz.setDefault(timezone); - -import copy from 'copy-to-clipboard'; - -import {store} from './../../stores/store'; -import {ToastProgrammatic as Toast} from "buefy"; -import {SnackbarProgrammatic as Snackbar} from "buefy"; - - -var debug = document.getElementById('debug').getAttribute('content'); - -const VaahHelper = { - options: {}, - //--------------------------------------------------------------------- - //--------------------------------------------------------------------- - setOptions (options) { - this.options = options; - return this - }, - //--------------------------------------------------------------------- - - async ajaxGet(url, params, callback ) - { - - axios.defaults.headers.common = null; - - let q = { - params: params - }; - - let data = await Vue.axios.get(url, q) - .then(response => { - if(response.data.status) - { - if(response.data.status === 'failed') - { - if(response.data.messages) - { - this.toastErrors(response.data.messages); - } - - if(response.data.errors) - { - this.toastErrors(response.data.errors); - } - } - if(response.data.status === 'success') - { - if(response.data.messages) - { - this.toastSuccess(response.data.messages); - } - } - } - - if(callback) - { - if(response.data && response.data.data) - { - callback(response.data.data, response); - } else - { - callback(false, response); - } - } - - return response; - }) - .catch(error => { - - if(debug == true) - { - console.log('--->error', error); - - this.toastErrors([error]); - } else - { - this.toastErrors(['Something went wrong']); - } - - if(callback) { - callback(false, error); - } - - return error; - }); - - return data; - }, - - //--------------------------------------------------------------------- - async ajax(url, params, callback, query, headers=null ) - { - - //To make axios request as ajax request - axios.defaults.headers.common = { - 'X-Requested-With': 'XMLHttpRequest', - }; - - let q = { - params: query - }; - - if(headers) - { - q.headers = headers; - } - - console.log('--->', params); - - - let data = await Vue.axios.post(url, params, q) - .then(response => { - this.processResponse(response); - if(callback) - { - if(response.data && response.data.data) - { - callback(response.data.data, response); - } else - { - callback(false, response); - } - } - - return response; - - }) - .catch(error => { - - if(error.response && error.response.status - && error.response.status == 401) - { - this.toastErrors(['Session Expired']); - location.reload(); - } - - this.processError(error); - - if(callback) { - callback(false, error); - } - - return error; - }); - - return data; - }, - //--------------------------------------------------------------------- - processResponse: function(response) - { - if(response.data.status) - { - if(response.data.status === 'failed') - { - if(response.data.messages) - { - this.toastErrors(response.data.messages); - } - - if(response.data.errors) - { - this.toastErrors(response.data.errors); - } - } - if(response.data.status === 'success') - { - if(response.data.messages) - { - this.toastSuccess(response.data.messages); - } - } - } - - - - return response; - }, - //--------------------------------------------------------------------- - processError: function(error) - { - if(debug == true) - { - console.log('--->error', error); - this.toastErrors([error]); - } else - { - this.toastErrors(['Something went wrong']); - } - }, - //--------------------------------------------------------------------- - updateRootState: function(state_name, state_value) - { - let payload = { - 'key': state_name, - 'value': state_value, - }; - store.commit('root/updateState', payload) - }, - //--------------------------------------------------------------------- - updateState: function(update) - { - let payload = { - 'key': update.state_name, - 'value': update.state_value, - }; - store.commit(update.namespace+'/updateState', payload) - }, - //--------------------------------------------------------------------- - updateFiltersFromURL: function( state_name, namespace, route) - { - - if(route.query) { - - let query = JSON.parse(JSON.stringify(route.query)); - let store_var = store.getters[namespace+'/state'][state_name]; - - let filters = store_var.filters; - - for(let key in filters) - { - if(query.hasOwnProperty(key)) - { - filters[key] = query[key]; - } - } - - store_var.filters = filters; - - let update = { - state_name: state_name, - state_value: store_var, - namespace: namespace - }; - - this.updateState(update); - } - }, - //--------------------------------------------------------------------- - - - //--------------------------------------------------------------------- - confirmCopiedData: function(data) - { - Toast.open({ - container: '#buefy-snackbar', - message: 'Copied', - type: 'is-success' - }); - }, - //--------------------------------------------------------------------- - toastSuccess(messages){ - - let list_html = ""; - let i = 1; - let duration = 1000; - if(messages.length > 1) - { - messages.forEach(function (error) { - list_html += i+") "+error+"
"; - i++; - }); - } else - { - if(messages[0]) - { - list_html += messages[0]; - } - } - - - - if(list_html != "") - { - Toast.open({ - container: '#buefy-snackbar', - message: list_html, - type: 'is-success', - duration: duration*i - }); - } - - - }, - //----------------------------------------------------------------- - toastErrors(messages){ - let list_html = ""; - let i = 1; - let duration = 2000; - - if(messages.length > 1) - { - messages.forEach(function (error) { - list_html += i+") "+error+"
"; - i++; - }); - duration = duration*i; - } else - { - if(messages[0]) - { - list_html += messages[0]; - let leng = list_html.length; - duration = leng*duration/10; - - - } - - - } - - console.log('duration', duration+' ms'); - console.log('--->', list_html); - - if(list_html != "") - { - Snackbar.open({ - container: '#buefy-snackbar', - message: list_html, - position: 'is-top', - type: 'is-danger', - duration: duration - }); - } - - - - }, - //--------------------------------------------------------------------- - //--------------------------------------------------------------------- - copy: function(data, confirm=true) - { - copy(data); - this.toastSuccess(['Copied']); - }, - //--------------------------------------------------------------------- - console: function (data, label='--->') { - - let debug = document.getElementById('debug') - .getAttribute('content'); - if(debug && debug === true) - { - console.log(label, data); - } - }, - //--------------------------------------------------------------------- - updateCurrentURL: function(query,router) - { - if(query) - { - if(Object.keys(query).length > 0) - { - query = JSON.parse(JSON.stringify(query)); - query = this.removeEmpty(query); - router.replace({ query: query }).catch(err => {}); - } - } - - }, - //--------------------------------------------------------------------- - findAndReplaceString: function (find_string, replace_string, full_string ) { - return full_string.replace(find_string, replace_string); - }, - //--------------------------------------------------------------------- - findAndReplace: function(arr, key, data) { - let index =null; - for (let i = 0; i < arr.length; i++) { - if(arr[i][key] == data[key]) - { - index = i; - } - } - - if(index != null) - { - arr[index] = data; - return arr; - } - - return false; - }, - //--------------------------------------------------------------------- - updateArray: function(array, updatedElement) { - const index = array.indexOf(updatedElement); - array[index] = updatedElement; - return array; - }, - - //--------------------------------------------------------------------- - removeFromArray: function(arr, element) { - let removeIndex = arr.map(function(item) { return item; }).indexOf(element); - console.log('index', removeIndex); - return arr.splice(removeIndex, 1); - }, - - //--------------------------------------------------------------------- - removeEmpty: function(obj) { - let self = this; - Object.keys(obj).forEach(function(key) { - if (obj[key] && typeof obj[key] === 'object'){ - self.removeEmpty(obj[key]); - } - else if (obj[key] == null || obj[key] == '') { - delete obj[key] - } - }); - - return obj; - - }, - - //--------------------------------------------------------------------- - findInArrayByKey: function (array, key, value) { - - if(!Array.isArray(array)) - { - return false; - } - - let element = null; - - array.map(function(item, index) { - - if(item[key] == value) - { - element = item; - } - - }); - - return element; - }, - //--------------------------------------------------------------------- - pluckFromObject: function(obj, key) - { - if(Object.keys(obj).length < 1) - { - return false; - } - - let list = []; - for(let index in obj) - { - console.log('--->', obj[index]); - console.log('--->', obj[index][key]); - - list.push(obj[index][key]); - } - - return list; - }, - //--------------------------------------------------------------------- - toggle: function(item) - { - console.log('--->', item); - if(item == true) - { - return false; - } else - { - return true; - } - }, - //--------------------------------------------------------------------- - testReturn: function() - { - return 'value-----'; - }, - //--------------------------------------------------------------------- - removeInArrayByKey: function (array, element, key) { - - if(!Array.isArray(array)) - { - return false; - } - - array.map(function(item, index) { - - if(item[key] == element[key]) - { - array.splice(index, 1); - } - - - }); - - return array; - }, - //--------------------------------------------------------------------- - existInArray: function(array, element) { - const index = array.indexOf(element); - - if(index == -1) - { - return false; - } else - { - return true; - } - }, - //--------------------------------------------------------------------- - - existInArrayByKey: function (array, element, key) { - let exist = false; - if(!Array.isArray(array)) - { - return false; - } - array.map(function(item) { - - if(item[key] == element[key]) - { - exist = true; - } - - }); - - return exist; - }, - //--------------------------------------------------------------------- - limitString: function (string, characters) { - - if(string != "" && string != null) - { - if(string.length > characters){ - string = string.substring(0,characters)+"..."; - } - } - - return string; - }, - //--------------------------------------------------------------------- - formatDate: function (value) { - if(!value) - { - return ""; - } - return moment(value).format('YYYY-MM-DD'); - }, - //--------------------------------------------------------------------- - formatTime: function (value, format='HH:mm') { - if(!value) - { - return ""; - } - return moment(value).format(format); - }, - //--------------------------------------------------------------------- - formatTimeUnix: function (value, format='HH:mm:ss') { - if(!value) - { - return ""; - } - return moment.unix(value).format(format); - }, - //--------------------------------------------------------------------- - formatTimeUTC: function (value, format='HH:mm') { - if(!value) - { - return ""; - } - return moment.utc(value).format(format); - }, - //--------------------------------------------------------------------- - formatDateTimeUTC: function (value) { - if(!value) - { - return ""; - } - return moment.utc(value).format('YYYY-MM-DD HH:mm:ss') - }, - //--------------------------------------------------------------------- - formatDateTime: function (value, format='YYYY-MM-DD HH:mm:ss') { - if(!value) - { - return ""; - } - return moment(value).format(format) - }, - //--------------------------------------------------------------------- - fromNow: function (value) { - - if(!value) - { - return null; - } - - if(store.getters['root/state'].assets.timezone) - { - let timezone = store.getters['root/state'].assets.timezone; - moment.tz.setDefault(timezone); - } - - return moment(value).fromNow(); - }, - - //--------------------------------------------------------------------- - ago: function (value) { - - if(!value) - { - return null; - } - - if(store.getters['root/state'].assets.timezone) - { - let timezone = store.getters['root/state'].assets.timezone; - moment.tz.setDefault(timezone); - } - - let dt = store.getters['root/state'].assets.server_date_time; - - let server = moment(dt); - let time = moment(value); - - if(time.isAfter(server)){ - return server.from(time); - } - return time.fromNow(); - - }, - //--------------------------------------------------------------------- - currentDate: function () { - return moment().format('YYYY-MM-DD') - }, - //--------------------------------------------------------------------- - currentDateTime: function () { - return moment().format('YYYY-MM-DD HH:mm:ss') - }, - //--------------------------------------------------------------------- - dateForHumans: function (value) { - if(!value) - { - return null; - } - return moment(value).format('ddd, MMM DD, YYYY') - }, - //--------------------------------------------------------------------- - dateTimeForHumans: function (value) { - - if(!value) - { - return null; - } - - return moment(value).format('YYYY-MM-DD hh:mm A') - }, - //--------------------------------------------------------------------- - dateTimeForHumansWithDay: function (value) { - if(!value) - { - return null; - } - return moment(value).format('YYYY MMM DD hh:mm A (dddd)') - }, - //--------------------------------------------------------------------- - hasPermission: function (permissions, slug) { - - if(!permissions) - { - return false; - } - - if(permissions.length < 1) - { - return false; - } - - return permissions.indexOf(slug) > -1 ? true : false; - }, - //--------------------------------------------------------------------- - paginate: function (event, page) { - event.preventDefault(); - this.current_page = page; - this.listLoader(); - }, - //--------------------------------------------------------------------- - makePagination: function (data) { - this.pagination = Pagination.Init(data.last_page, this.current_page, 3); - }, - //--------------------------------------------------------------------- - paginateIsActive: function (page) { - if(page == this.current_page) - { - return true; - } - return false; - }, - //--------------------------------------------------------------------- - toIndianFormat: function (nStr) { - - if(nStr < 0) - { - return nStr; - } - - nStr += ''; - let x = nStr.split('.'); - let x1 = x[0]; - let x2 = x.length > 1 ? '.' + x[1] : ''; - let rgx = /(\d+)(\d{3})/; - let z = 0; - let len = String(x1).length; - let num = parseInt((len/2)-1); - - while (rgx.test(x1)) - { - if(z > 0) - { - x1 = x1.replace(rgx, '$1' + ',' + '$2'); - } - else - { - x1 = x1.replace(rgx, '$1' + ',' + '$2'); - rgx = /(\d+)(\d{2})/; - } - z++; - num--; - if(num == 0) - { - break; - } - } - return x1 + x2; - }, - //--------------------------------------------------------------------- - toLabel: function(str) - { - if(typeof str === 'string' ) - { - str = str.replace(/_/g, " "); - str = this.toUpperCaseWords(str); - return str; - } - - }, - //--------------------------------------------------------------------- - toUpperCaseWords: function(str) - { - if(str) - { - return str.charAt(0).toUpperCase() + str.slice(1); - } - }, - //--------------------------------------------------------------------- - currencyToSymbol: function (currency) { - - if(currency == "USD") - { - return "$"; - } else if(currency == "INR") - { - return "₹"; - } else - { - return currency; - } - }, - //--------------------------------------------------------------------- - setCookies: function (cookie_name, value, expiry_days) { - let exdate = new Date(); - exdate.setDate(exdate.getDate() + expiry_days); - let c_value = escape(value) + ((expiry_days == null) ? "" : "; expires=" + exdate.toUTCString()); - document.cookie = cookie_name + "=" + value; - }, - //--------------------------------------------------------------------- - getCookies: function (cookie_name) { - let i, x, y, ARRcookies = document.cookie.split(";"); - for (i = 0; i < ARRcookies.length; i++) { - x = ARRcookies[i].substr(0, ARRcookies[i].indexOf("=")); - y = ARRcookies[i].substr(ARRcookies[i].indexOf("=") + 1); - x = x.replace(/^\s+|\s+$/g, ""); - if (x == cookie_name) { - return unescape(y); - } - } - }, - //--------------------------------------------------------------------- - deleteCookies: function (cookie_name) { - this.setCookies(cookie_name,undefined,-1); - }, - //--------------------------------------------------------------------- - shiftToTop: function (arr, key, value) - { - let index =null; - for (let i = 0; i < arr.length; i++) { - if(arr[i][key] == value) - { - index = i; - } - } - - if(index != null) - { - let old_index = index; - let new_index = 0; - - if (new_index >= arr.length) { - let k = new_index - arr.length; - while ((k--) + 1) { - arr.push(undefined); - } - } - arr.splice(new_index, 0, arr.splice(old_index, 1)[0]); - return arr; // for testing purposes - } - - - - }, - //--------------------------------------------------------------------- - timeDifferenceInSeconds: function (started_at,ended_at) { - let ms = moment(ended_at,"YYYY-MM-DD HH:mm:ss").diff(moment(started_at, "YYYY-MM-DD HH:mm:ss")); - let seconds = ms/1000; - return seconds; - }, - //--------------------------------------------------------------------- - formatUnixTime: function (timestamp, format=null) { - let time = moment(timestamp) - if(!format) - { - return time.toISOString(); - } else{ - return time.format(format); - } - } - , - //--------------------------------------------------------------------- - timeDifferenceInMSUnix: function (old_timestamp,new_timestamp=null) { - let start = moment(old_timestamp*1000); - let end = moment(new_timestamp*1000); - - let diff = end.diff(start); - - return diff; - }, - //--------------------------------------------------------------------- - timeDifferenceInSecondsUnix: function (started_at,ended_at=null) { - started_at = moment.unix(started_at); - - if(ended_at){ - ended_at = moment.unix(ended_at); - }else{ - ended_at = moment(); // current time - } - - let ms = ended_at.diff(started_at); - let seconds = ms/1000; - return seconds; - }, - //--------------------------------------------------------------------- - timeDifferenceInSecondsUTC: function (started_at,ended_at) { - let ms = moment(ended_at).diff(moment(started_at)); - let seconds = ms/1000; - return seconds; - }, - //--------------------------------------------------------------------- - secondsToHoursMinutsSeconds: function (seconds) { - - let ms = seconds*1000; - let d = moment.duration(ms); - let time = Math.floor(d.asHours()) + moment.utc(ms).format(":mm:ss"); - - return time; - }, - //--------------------------------------------------------------------- - getTimeDifferenceInHHMMSS(started_at, ended_at) - { - let seconds = this.timeDifferenceInSeconds(started_at, ended_at); - let time = this.secondsToHoursMinutsSeconds(seconds); - return time; - }, - //--------------------------------------------------------------------- - secondsToHours: function (seconds) { - - let ms = seconds*1000; - let d = moment.duration(ms); - let time = d.asHours(); - - return time; - }, - //--------------------------------------------------------------------- - getTimeDifferenceInDays(started_at, ended_at) - { - if(!started_at || !ended_at) - { - return null; - } - - let started = moment(started_at,"YYYY-MM-DD"); - let ended = moment(ended_at,"YYYY-MM-DD"); - - let days = started.diff(ended, "days"); - - return days; - }, - //--------------------------------------------------------------------- - addTagToOneSignalUser: function (tag_name, tag_value) { - if(OneSignal) - { - OneSignal.push(function() { - OneSignal.getUserId(function(userId) - { - OneSignal.sendTag(tag_name, tag_value); - }); - }); - } - }, - //--------------------------------------------------------------------- - deleteTagToOneSignalUser: function (tag_name) { - if(OneSignal) - { - OneSignal.push(function() { - OneSignal.getUserId(function(userId) - { - OneSignal.deleteTag(tag_name); - }); - }); - } - }, - //--------------------------------------------------------------------- - openUrl: function (event, url) { - if(event) - { - event.preventDefault(); - } - window.open(url, "_blank"); - }, - //--------------------------------------------------------------------- - openPopup: function (event, url, width=600, height=500) { - - if(event) - { - event.preventDefault(); - } - - window.open(url,'targetWindow', `toolbar=no, - location=no, - status=no, - menubar=no, - scrollbars=yes, - resizable=yes, - width=`+width+`, - height=`+height+``); - }, - //--------------------------------------------------------------------- - //--------------------------------------------------------------------- - remainingCharacters: function (event, min_characters, max_characters, target_show_remaining) { - if (event) { - event.preventDefault(); - } - - let el = event.target; - - let characters = $(el).val().length; - let remaining = max_characters-characters; - - let text = 'min:'+min_characters+' | max:'+max_characters; - - - - if(characters < min_characters) - { - text += ""+" | written: "+characters+' | remaining: '+remaining+"" - $(target_show_remaining).html(text); - } - else if(remaining < 0 ) - { - text += ""+" | written: "+characters+' | remaining: '+remaining+"" - $(target_show_remaining).html(text); - } else - { - text += ""+" | written: "+characters+' | remaining: '+remaining+"" - $(target_show_remaining).html(text); - } - - }, - //--------------------------------------------------------------------- - randomString: function(length=6) { - let text = ""; - - let possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; - for(let i = 0; i < length; i++) { - text += possible.charAt(Math.floor(Math.random() * possible.length)); - } - - return text; - }, - //--------------------------------------------------------------------- - updateDocumentUrlTitle: function (title, url) { - window.history.pushState(null, title, url); - }, - //--------------------------------------------------------------------- - - //--------------------------------------------------------------------- - strToSlug: function (title,delimiter = '-') { - let slug = ""; - // Change to lower case - let titleLower = title.toLowerCase(); - // Letter "e" - slug = titleLower.replace(/e|é|è|ẽ|ẻ|ẹ|ê|ế|ề|ễ|ể|ệ/gi, 'e'); - // Letter "a" - slug = slug.replace(/a|á|à|ã|ả|ạ|ă|ắ|ằ|ẵ|ẳ|ặ|â|ấ|ầ|ẫ|ẩ|ậ/gi, 'a'); - // Letter "o" - slug = slug.replace(/o|ó|ò|õ|ỏ|ọ|ô|ố|ồ|ỗ|ổ|ộ|ơ|ớ|ờ|ỡ|ở|ợ/gi, 'o'); - // Letter "u" - slug = slug.replace(/u|ú|ù|ũ|ủ|ụ|ư|ứ|ừ|ữ|ử|ự/gi, 'u'); - // Letter "d" - slug = slug.replace(/đ/gi, 'd'); - // Trim the last whitespace - slug = slug.replace(/\s*$/g, ''); - // Change whitespace to "-" - slug = slug.replace(/\s+/g, delimiter); - - return slug; - }, - //--------------------------------------------------------------------- - isInt: function (n) { - return Number(n) === n && n % 1 === 0; - }, - //--------------------------------------------------------------------- - isFloat: function (n) { - return Number(n) === n && n % 1 !== 0; - }, - //--------------------------------------------------------------------- - fileNameFromUrl: function (url) { - if (url) - { - var m = url.toString().match(/.*\/(.+?)\./); - if (m && m.length > 1) - { - return m[1]; - } - } - return null; - }, - //--------------------------------------------------------------------- - fileExtensionFromUrl: function (url) { - if (url) - { - let extension = url.split('.').pop(); - return extension; - } - return null; - }, - //--------------------------------------------------------------------- - getClipboardValue: function () { - - let text = (!!e.clipboardData)? e.clipboardData.getData("text/plain") : window.clipboardData.getData("Text"); - - return text; - }, - //--------------------------------------------------------------------- - getNonReactiveObject: function (obj) { - return JSON.parse(JSON.stringify(obj)); - }, - //--------------------------------------------------------------------- - pluck: function (array, key) - { - return array.map(function(obj) { - return obj[key]; - }); - }, - //--------------------------------------------------------------------- - pusherAuth(pusher_auth_url, pusher_key, pusher_cluster, params=null){ - - if(debug === true) { - console.log('params--->', params); - } - - return new Pusher(pusher_key, { - authEndpoint: pusher_auth_url, - cluster: pusher_cluster , - auth: { - headers: { - 'X-CSRF-Token': document.querySelector('meta[name=csrf-token]').getAttribute('content') - }, - params: params, - } - }); - }, - //--------------------------------------------------------------------- - pusherSubscribe: function (pusher_instance, channel_name, callback=null) - { - channel_name = "presence-"+channel_name; - - let channel_instance = pusher_instance.subscribe(channel_name); - - - channel_instance.bind('pusher:subscription_succeeded', function(members) - { - if(debug === true) { - console.log('SubscribedToChannel -->', channel_name); - console.log('LiveMembers -->', members); - } - - if(callback) - { - callback(members); - } - - }); - - return channel_instance; - - }, - //--------------------------------------------------------------------- - pusherListenEvent: function (channel_instance, event_name, callback=null) - { - channel_instance.bind(event_name, function(data) - { - if(debug === true) { - console.log('ReceivedFromPusher | Event--> '+event_name+' | Data --->', data); - } - - if(callback) - { - callback(data); - } - }); - - }, - //--------------------------------------------------------------------- - - - /* - * Return Js Date for specified, month, day, week and time - * Note: if week_no is 0, we get date from last week - * Examples: - * - To get a date for Second Sunday in March at 2:00, use the following - * - * let date = getNthDayOfMonth('March', 'Sunday', 2, '2:00'); - * - * - To get a date for Last Friday in October at 1:00 - * - * let date = getNthDayOfMonth('October', 'Friday', 0, '1:00'); - * */ - //--------------------------------------------------------------------- - getNthDayOfMonth: function(month, day, week_no, time){ - let moment_ref = moment(); - const months = { - January: 0, - February: 1, - March: 2, - April: 3, - May: 4, - June: 5, - July: 6, - August: 7, - September: 8, - October: 9, - November: 10, - December: 11, - }; - const days = { - Monday: 1, - Tuesday: 2, - Wednesday: 3, - Thursday: 4, - Friday: 5, - Saturday: 6, - Sunday: 7 - }; - - // set month - moment_ref.set('month', months[month]); - - // if last week - let date; - if(week_no == 0){ - let m = moment_ref.clone() - .endOf('month') // go to the end of the month - .day(days[day]); - - - if (m.month() !== moment_ref.month()) m.subtract(7, 'd'); - date = m.add(7 * (week_no - 1), 'd'); - } - else{ - let m = moment_ref.clone() - .startOf('month') // go to the beginning of the month - .day(days[day]); - - - if (m.month() !== moment_ref.month()) m.add(7, 'd'); - date = m.add(7 * (week_no - 1), 'd'); - } - - - // get shift time - let arr = time.split(':'); - date.set('hour',arr[0]); - date.set('minute',arr[1]); - - return date.toDate(); - } - //--------------------------------------------------------------------- - - -}; - - -export default { - install: function(Vue, options) { - let vaah = VaahHelper.setOptions(options); - Vue.prototype.$vaah = vaah; - Vue.vaah = vaah; - } -} - -export { - VaahHelper -} diff --git a/skeletons/vaahcms/module/Vue/vaahvue/helpers/VhHelper.js b/skeletons/vaahcms/module/Vue/vaahvue/helpers/VhHelper.js deleted file mode 100644 index 4665f35..0000000 --- a/skeletons/vaahcms/module/Vue/vaahvue/helpers/VhHelper.js +++ /dev/null @@ -1,241 +0,0 @@ -import Vue from 'vue'; -import axios from "vue-axios"; -import qs from 'qs'; -import {ToastProgrammatic as Toast} from "buefy"; -import {SnackbarProgrammatic as Snackbar} from "buefy"; -import {store} from "../../stores/store"; -import moment from "moment-timezone"; - -let debug = document.getElementById('debug').getAttribute('content'); -debug = parseInt(debug); - -const VhHelper = { - - //--------------------------------------------------------------------- - options: {}, - //--------------------------------------------------------------------- - setOptions (options) { - this.options = options; - return this; - }, - - //--------------------------------------------------------------------- - async ajax(url, params, callback=null, - method='get', query=null, - headers=null) - { - - let self = this; - - //To make axios request as ajax request - Vue.axios.defaults.headers.common = { - 'X-Requested-With': 'XMLHttpRequest', - }; - - let q = { - params: query - }; - - if(headers) - { - q.headers = headers; - } - - if(method === 'get') - { - let query = { - params: params - }; - params = query; - q = null; - Vue.axios.interceptors.request.use( - function (config) { - config.paramsSerializer = function (params) { - return qs.stringify(params, { - arrayFormat: 'brackets', - encode: false, - skipNulls: true - }) - } - return config; - }, - function (error) { - return Promise.reject(error) - } - ); - } - - if(method === 'delete') - { - params = { - data: params - }; - } - - let ajax = await Vue.axios[method](url, params, q) - .then(function (response){ - self.processResponse(response); - if(callback) - { - if(response.data && response.data.data) - { - callback(response.data.data, response); - - } else{ - self.log(response, 'response--->'); - callback(false, response); - } - } - return response; - }).catch(function (error){ - self.processError(error); - if(callback) - { - callback(false, error); - } - return error; - }); - - return ajax; - }, - - //--------------------------------------------------------------------- - processResponse: function(response) - { - if(response.data.messages) - { - this.toastSuccess(response.data.messages); - } - - if(response.data.errors) - { - this.toastErrors(response.data.errors); - } - - }, - - //--------------------------------------------------------------------- - processError: function(error) - { - if(error.response - && error.response.status - && error.response.status === 419) - { - this.toastErrors(['Session Expired. Please sign in again.']); - location.reload(); - return; - } - - if(debug === 1) - { - this.toastErrors([error]); - } else - { - this.toastErrors(['Something went wrong']); - } - }, - //--------------------------------------------------------------------- - getMessageAndDuration(messages) - { - let i = 1; - let list_html = ""; - let duration = 1000; - - if(Object.keys(messages).length > 0) - { - for(let k in messages) - { - list_html += i+") "+messages[k]+"
"; - i++; - } - } - - let chars = list_html.length - let readable = 10; // readable character per second. - - duration = duration*(chars/readable); - - return { - html: list_html, - duration: duration - }; - }, - //--------------------------------------------------------------------- - toastSuccess(messages){ - let data = this.getMessageAndDuration(messages); - if(data && data.html !== "") - { - Toast.open({ - position: 'is-top', - message: data.html, - type: 'is-success', - duration: data.duration - }); - } - }, - //--------------------------------------------------------------------- - toastErrors(messages){ - let data = this.getMessageAndDuration(messages); - if(data && data.html !== "") - { - Snackbar.open({ - position: 'is-top', - message: data.html, - type: 'is-danger', - duration: data.duration - }); - } - }, - //--------------------------------------------------------------------- - clone(source) - { - return JSON.parse(JSON.stringify(source)); - }, - //--------------------------------------------------------------------- - ago: function (value) { - - if(!value) - { - return null; - } - - if(store.getters['root/state'].assets.timezone) - { - let timezone = store.getters['root/state'].assets.timezone; - moment.tz.setDefault(timezone); - } - - let dt = store.getters['root/state'].assets.server_date_time; - - let server = moment(dt); - let time = moment(value); - if(time.isAfter(server)){ - return server.from(time); - } - return time.fromNow(); - }, - //--------------------------------------------------------------------- - log(data, label=null) - { - if(debug) - { - console.log(label, data); - } - } - //--------------------------------------------------------------------- - - -}; - - -export default { - install: function(Vue, options) { - let vh = VhHelper.setOptions(options); - Vue.prototype.$vh = vh; - Vue.vh = vh; - } -} - -export { - VhHelper -} diff --git a/skeletons/vaahcms/module/Vue/webpack.mix.js.ejs b/skeletons/vaahcms/module/Vue/webpack.mix.js.ejs deleted file mode 100644 index 99aeb8c..0000000 --- a/skeletons/vaahcms/module/Vue/webpack.mix.js.ejs +++ /dev/null @@ -1,85 +0,0 @@ -const mix = require('laravel-mix'); -var fs = require('fs'); -const fs_extra = require('fs-extra'); - - - -/* - |-------------------------------------------------------------------------- - | Mix Asset Management - |-------------------------------------------------------------------------- - | - | Mix provides a clean, fluent API for defining some Webpack build steps - | for your Laravel application. By default, we are compiling the Sass - | file for the application as well as bundling up all the JS files. - | - */ - -let publish_folder; -let output_folder; -let source_vue_folder = __dirname+'/Vue';; -let source_assets_folder = "Resources/assets/"; - - -if (mix.inProduction()) { - /* - |-------------------------------------------------------------------------- - | Only in Production - |-------------------------------------------------------------------------- - */ - console.log('---------------------'); - console.log('IN PRODUCTION MODE'); - console.log('---------------------'); - - publish_folder = './Resources/assets/'; - output_folder = "./"; - - mix.setPublicPath(publish_folder); - mix.js(source_vue_folder+"/app.js", output_folder+'/build/app.js').vue(); - -} else { - - publish_folder = './../../../public/vaahcms/modules/'; - mix.setPublicPath(publish_folder); - - output_folder = "./<%= module_name_lower %>/assets/"; - - //mix.sass(source_assets_folder+'/scss/build.scss', output_folder+'css/'); - - mix.js(source_vue_folder+"/app.js", output_folder+'/build/app.js').vue(); - -} - -mix.options({ - hmrOptions: { - host: 'localhost', - port: <%= webpack_port %>, - }, -}); - -mix.webpackConfig({ - watchOptions: { - - aggregateTimeout: 2000, - poll: 1000, - ignored: [ - '**/*.php', - '**/node_modules', - '/Config/', - '/Database/', - '/Helpers/', - '/Http/', - '/jobs/', - '/Libraries/', - '/Mails/', - '/Models/', - '/node_modules/', - '/Notifications/', - '/Providers/', - '/Resources/', - '/Routes/', - '/Tests/', - '/Wiki/', - ] - } -}); diff --git a/skeletons/vaahcms/module/composer.json.ejs b/skeletons/vaahcms/module/composer.json.ejs deleted file mode 100644 index 878a6d4..0000000 --- a/skeletons/vaahcms/module/composer.json.ejs +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "vaahcms/<%= module_name_lower %>", - "description": "<%= description %>", - "version": "0.0.1", - "authors": [ - { - "name": "<%= author_name %>", - "email": "<%= author_email %>" - } - ], - "require": { - "php": "^7.0" - }, - "extra": { - "laravel": { - "providers": [ - "VaahCms\\Modules\\<%= module_name %>\\Providers\\<%= module_name %>ServiceProvider" - ], - "aliases": { - } - } - }, - "autoload": { - "psr-4": { - "VaahCms\\Modules\\<%= module_name %>\\": "" - } - } -} diff --git a/skeletons/vaahcms/settings/Database/Seeds/.gitkeep b/skeletons/vaahcms/settings/Database/Seeds/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/settings/Database/Seeds/Seeder.php.ejs b/skeletons/vaahcms/settings/Database/Seeds/Seeder.php.ejs deleted file mode 100644 index 5aaf2e7..0000000 --- a/skeletons/vaahcms/settings/Database/Seeds/Seeder.php.ejs +++ /dev/null @@ -1,73 +0,0 @@ -\Database\Seeds; - -use Illuminate\Support\Facades\DB; -use Illuminate\Database\Seeder; - -class <%= model_name %>TableSeeder extends Seeder -{ - /** - * Run the database seeds. - * - * @return void - */ - public function run() - { - $this->seeds(); - } - - /** - * Run the database seeds. - * - * @return void - */ - function seeds() - { - - $list = $this->getListFromJson("settings.json"); - - $category = 'global'; - - foreach($list as $item) - { - - if(!isset($item['category']) - || (isset($item['category']) && !$item['category'])){ - $item['category'] = $category; - } - - - $exist = DB::table( 'vh_settings' ) - ->where( 'category', $item['category'] ) - ->where( 'key', $item['key'] ) - ->first(); - - - - if (!$exist){ - - if(isset($item['type']) && $item['type']=='json') - { - $item['value']=json_encode($item['value']); - } - - DB::table( 'vh_settings' )->insert( $item ); - } - } - - - } - - - - //--------------------------------------------------------------------- - public function getListFromJson($json_file_name) - { - $json_file = __DIR__."/json/".$json_file_name; - $jsonString = file_get_contents($json_file); - $list = json_decode($jsonString, true); - return $list; - } - - -} diff --git a/skeletons/vaahcms/settings/Database/Seeds/json/settings.json.ejs b/skeletons/vaahcms/settings/Database/Seeds/json/settings.json.ejs deleted file mode 100644 index 4cffd22..0000000 --- a/skeletons/vaahcms/settings/Database/Seeds/json/settings.json.ejs +++ /dev/null @@ -1,7 +0,0 @@ -[ - { - "category": "global", - "key": "<%= folder_name_lower %>_version", - "value": "0.0.1" - } -] diff --git a/skeletons/vaahcms/settings/Http/Controllers/Controller.php.ejs b/skeletons/vaahcms/settings/Http/Controllers/Controller.php.ejs deleted file mode 100644 index b425da3..0000000 --- a/skeletons/vaahcms/settings/Http/Controllers/Controller.php.ejs +++ /dev/null @@ -1,119 +0,0 @@ -\Http\Controllers\<%= section_name %>; - -use Illuminate\Http\JsonResponse; -use Illuminate\Http\Request; -use Illuminate\Routing\Controller; -use Illuminate\Support\Facades\Auth; -use WebReinvent\VaahCms\Models\Setting; -use WebReinvent\VaahExtend\Libraries\VaahArtisan; - -class <%= controller_name %>Controller extends Controller -{ - //---------------------------------------------------------- - public function __construct() - { - } - //---------------------------------------------------------- - public function getAssets(Request $request): JsonResponse - { - /*if (!Auth::user()->hasPermission('has-access-of-<%= controller_name_lower %>-section')) { - $response['success'] = false; - $response['errors'][] = trans("vaahcms::messages.permission_denied"); - - return response()->json($response); - } */ - - try { - $data = []; - - $response['success'] = true; - $response['data'] = $data; - } catch (\Exception $e) { - $response = []; - $response['success'] = false; - - if(env('APP_DEBUG')){ - $response['errors'][] = $e->getMessage(); - $response['hint'][] = $e->getTrace(); - } else { - $response['errors'][] = 'Something went wrong.'; - } - } - - return response()->json($response); - } - //---------------------------------------------------------- - public function getList(Request $request): JsonResponse - { - - try { - $list = Setting::where('category', 'global') - ->get() - ->pluck('value', 'key' ) - ->toArray(); - - $response['success'] = true; - $response['data'] = $list; - - } catch (\Exception $e) { - $response = []; - $response['success'] = false; - - if(env('APP_DEBUG')){ - $response['errors'][] = $e->getMessage(); - $response['hint'][] = $e->getTrace(); - } else { - $response['errors'][] = 'Something went wrong.'; - } - } - return response()->json($response); - } - //---------------------------------------------------------- - public function updateList(Request $request): JsonResponse - { - - try { - foreach ($request->list as $key => $value){ - $setting = Setting::query() - ->where('category', 'global') - ->where('key', $key) - ->first(); - - if (!$setting) { - $setting = new Setting(); - $setting->key = $key; - $setting->value = $value; - $setting->category = 'global'; - $setting->save(); - } else { - Setting::query() - ->where('category', 'global') - ->where('key', $key) - ->update(['value' => $value]); - } - } - - VaahArtisan::clearCache(); - - $response['success'] = true; - $response['data'][] = ''; - $response['messages'][] = 'Settings successful saved'; - } catch (\Exception $e) { - $response = []; - $response['success'] = false; - - if (env('APP_DEBUG')) { - $response['errors'][] = $e->getMessage(); - $response['hint'][] = $e->getTrace(); - } else { - $response['errors'][] = 'Something went wrong.'; - } - } - - return response()->json($response); - } - //---------------------------------------------------------- - - //---------------------------------------------------------- - //---------------------------------------------------------- -} diff --git a/skeletons/vaahcms/settings/Routes/api/api-routes-template.php.ejs b/skeletons/vaahcms/settings/Routes/api/api-routes-template.php.ejs deleted file mode 100644 index dfdca8f..0000000 --- a/skeletons/vaahcms/settings/Routes/api/api-routes-template.php.ejs +++ /dev/null @@ -1,31 +0,0 @@ -/public/api/<%= folder_name_lower %>/<%= controller_name_lower %> - */ -Route::group( - [ - 'prefix' => '<%= folder_name_lower %>/<%= controller_name_lower %>', - 'namespace' => '<%= section_name %>', - ], -function () { - - /** - * Get Assets - */ - Route::get('/assets', '<%= controller_name %>Controller@getAssets') - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.api.<%= controller_name_lower %>.assets'); - /** - * Get List - */ - Route::get('/', '<%= controller_name %>Controller@getList') - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.api.<%= controller_name_lower %>.list'); - /** - * Update List - */ - Route::match(['put', 'patch'], '/', '<%= controller_name %>Controller@updateList') - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.api.<%= controller_name_lower %>.list.update'); - - - -}); diff --git a/skeletons/vaahcms/settings/Routes/backend/routes-template.php.ejs b/skeletons/vaahcms/settings/Routes/backend/routes-template.php.ejs deleted file mode 100644 index ccfed72..0000000 --- a/skeletons/vaahcms/settings/Routes/backend/routes-template.php.ejs +++ /dev/null @@ -1,29 +0,0 @@ - '<%= url+folder_name_lower %>/<%= controller_name_lower %>', - <%if (section_name == 'Backend') { %> - 'middleware' => ['web', 'has.backend.access'], - <% } else{ %> - 'middleware' => ['web'], - <% } %> - 'namespace' => '<%= (namespace_controller) ? namespace_controller+'\\' : '' %><%= section_name %>', -], -function () { - /** - * Get Assets - */ - Route::get('/assets', '<%= controller_name %>Controller@getAssets') - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.<%= controller_name_lower %>.assets'); - /** - * Get List - */ - Route::get('/', '<%= controller_name %>Controller@getList') - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.<%= controller_name_lower %>.list'); - /** - * Update List - */ - Route::match(['put', 'patch'], '/', '<%= controller_name %>Controller@updateList') - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.<%= controller_name_lower %>.list.update'); -}); diff --git a/skeletons/vaahcms/settings/Vue/pages/template/SettingsLayout.vue.ejs b/skeletons/vaahcms/settings/Vue/pages/template/SettingsLayout.vue.ejs deleted file mode 100644 index c1450fa..0000000 --- a/skeletons/vaahcms/settings/Vue/pages/template/SettingsLayout.vue.ejs +++ /dev/null @@ -1,50 +0,0 @@ - - - - - diff --git a/skeletons/vaahcms/settings/Vue/pages/template/general/Index.vue.ejs b/skeletons/vaahcms/settings/Vue/pages/template/general/Index.vue.ejs deleted file mode 100644 index 4833588..0000000 --- a/skeletons/vaahcms/settings/Vue/pages/template/general/Index.vue.ejs +++ /dev/null @@ -1,55 +0,0 @@ - - - diff --git a/skeletons/vaahcms/settings/Vue/pages/template/general/components/ModuleSettings.vue.ejs b/skeletons/vaahcms/settings/Vue/pages/template/general/components/ModuleSettings.vue.ejs deleted file mode 100644 index 82c19e7..0000000 --- a/skeletons/vaahcms/settings/Vue/pages/template/general/components/ModuleSettings.vue.ejs +++ /dev/null @@ -1,40 +0,0 @@ - - - diff --git a/skeletons/vaahcms/settings/Vue/routes/vue-routes-template.js.ejs b/skeletons/vaahcms/settings/Vue/routes/vue-routes-template.js.ejs deleted file mode 100644 index 4921fe8..0000000 --- a/skeletons/vaahcms/settings/Vue/routes/vue-routes-template.js.ejs +++ /dev/null @@ -1,27 +0,0 @@ -let routes= []; -let routes_list= []; - -import SettingsLayout from "../pages/<%= controller_name_lower %>/SettingsLayout.vue"; -import GeneralIndex from "../pages/<%= controller_name_lower %>/general/Index.vue"; - - -routes_list = { - path: '/<%= controller_name_lower %>', - name: '<%= controller_name_lower %>.index', - component: SettingsLayout, - props: true, - children: [ - { - path: 'general', - name: '<%= controller_name_lower %>.general', - component: GeneralIndex, - props: true, - } - - ] -}; - -routes.push(routes_list); - -export default routes; - diff --git a/skeletons/vaahcms/settings/Vue/stores/store-template.js.ejs b/skeletons/vaahcms/settings/Vue/stores/store-template.js.ejs deleted file mode 100644 index a22027d..0000000 --- a/skeletons/vaahcms/settings/Vue/stores/store-template.js.ejs +++ /dev/null @@ -1,109 +0,0 @@ -import { watch } from 'vue' -import { acceptHMRUpdate, defineStore } from 'pinia' -import { vaah } from '../vaahvue/pinia/vaah' -import qs from 'qs' - - -let base_url = document.getElementsByTagName('base')[0].getAttribute("href"); -let ajax_url = base_url + "/<%= folder_name_lower %>/<%= controller_name_lower %>"; - -export const use<%= model_name %>Store = defineStore({ - id: '<%= controller_name_lower %>', - state: () => ({ - base_url: base_url, - ajax_url: ajax_url, - assets_is_fetching: true, - assets: null, - list: null, - - user_roles_menu: null, - meta_content: null, - is_btn_loading: false, - }), - getters: { - - }, - actions: { - //--------------------------------------------------------------------- - async onLoad(route) - { - - }, - //--------------------------------------------------------------------- - async getAssets() { - - if (this.assets_is_fetching === true) { - this.assets_is_fetching = false; - - vaah().ajax( - this.ajax_url+'/assets', - this.afterGetAssets, - ); - } - }, - //--------------------------------------------------------------------- - afterGetAssets(data, res) { - if (data) { - this.assets = data; - } - }, - //--------------------------------------------------------------------- - async getList() { - let options = { - }; - - await vaah().ajax( - this.ajax_url, - await this.afterGetList, - options - ); - }, - //--------------------------------------------------------------------- - async afterGetList (data, res) { - - this.is_btn_loading = false; - - if (data) { - this.list = data; - } - }, - //-------------------------------------------------------------------- - //--------------------------------------------------------------------- - //--------------------------------------------------------------------- - - //--------------------------------------------------------------------- - getCopy(value) - { - let text = "{!! config('settings.global."+value+"'); !!}"; - navigator.clipboard.writeText(text); - vaah().toastSuccess(['Copied']); - }, - //--------------------------------------------------------------------- - async storeSettings() { - let options = { - method: 'put', - params:{ - list: this.list - } - }; - - let ajax_url = this.ajax_url; - await vaah().ajax(ajax_url, this.storeSettingsAfter, options); - }, - //--------------------------------------------------------------------- - storeSettingsAfter(){ - this.getList(); - }, - - } -}); - - - -// Pinia hot reload -if (import.meta.hot) { - import.meta.hot.accept(acceptHMRUpdate(use<%= model_name %>Store, import.meta.hot)) -} - - - diff --git a/skeletons/vaahcms/taxonomies/Database/Migrations/.gitkeep b/skeletons/vaahcms/taxonomies/Database/Migrations/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/skeletons/vaahcms/taxonomies/Database/Migrations/migration-template.php.ejs b/skeletons/vaahcms/taxonomies/Database/Migrations/migration-template.php.ejs deleted file mode 100644 index 55fded2..0000000 --- a/skeletons/vaahcms/taxonomies/Database/Migrations/migration-template.php.ejs +++ /dev/null @@ -1,56 +0,0 @@ - extends Migration -{ - /** - * Run the migrations. - * - * @return void - */ - public function up() - { - if (!Schema::hasTable('<%= table_name_lower %>')) { - Schema::create('<%= table_name_lower %>', function (Blueprint $table) { - - $table->increments('id'); - $table->uuid('uuid')->nullable()->index(); - $table->integer('parent_id')->nullable()->index(); - $table->integer('<%= second_table_name_singular %>_id')->nullable()->index(); - $table->string('name')->nullable()->index(); - $table->string('slug')->nullable()->index(); - - $table->mediumText('excerpt')->nullable(); - $table->mediumText('details')->nullable(); - $table->text('notes')->nullable(); - - $table->boolean('is_active')->nullable()->index(); - - //----common fields - $table->text('meta')->nullable(); - $table->bigInteger('created_by')->nullable()->index(); - $table->bigInteger('updated_by')->nullable()->index(); - $table->bigInteger('deleted_by')->nullable()->index(); - $table->timestamps(); - $table->softDeletes(); - $table->index(['created_at', 'updated_at', 'deleted_at']); - //----/common fields - - }); - } - - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('<%= table_name_lower %>'); - } -} diff --git a/skeletons/vaahcms/taxonomies/Database/Migrations/second-migration-template.php.ejs b/skeletons/vaahcms/taxonomies/Database/Migrations/second-migration-template.php.ejs deleted file mode 100644 index d43ee7c..0000000 --- a/skeletons/vaahcms/taxonomies/Database/Migrations/second-migration-template.php.ejs +++ /dev/null @@ -1,50 +0,0 @@ - extends Migration -{ - /** - * Run the migrations. - * - * @return void - */ - public function up() - { - if (!Schema::hasTable('<%= second_table_name_lower %>')) { - Schema::create('<%= second_table_name_lower %>', function (Blueprint $table) { - - $table->increments('id'); - $table->uuid('uuid')->nullable()->index(); - $table->integer('parent_id')->nullable()->index(); - $table->string('name')->nullable()->index(); - $table->string('slug')->nullable()->index(); - - $table->boolean('is_active')->nullable()->index(); - - //----common fields - $table->text('meta')->nullable(); - $table->bigInteger('created_by')->nullable()->index(); - $table->bigInteger('updated_by')->nullable()->index(); - $table->bigInteger('deleted_by')->nullable()->index(); - $table->timestamps(); - $table->softDeletes(); - $table->index(['created_at', 'updated_at', 'deleted_at']); - //----/common fields - - }); - } - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('<%= second_table_name_lower %>'); - } -} diff --git a/skeletons/vaahcms/taxonomies/Http/Controllers/Controller.php.ejs b/skeletons/vaahcms/taxonomies/Http/Controllers/Controller.php.ejs deleted file mode 100644 index 15b94fc..0000000 --- a/skeletons/vaahcms/taxonomies/Http/Controllers/Controller.php.ejs +++ /dev/null @@ -1,506 +0,0 @@ -\Http\Controllers\<%= section_name %>; - -use Illuminate\Http\JsonResponse; -use Illuminate\Http\Request; -use Illuminate\Routing\Controller; -use Illuminate\Support\Facades\Auth; -use Illuminate\Support\Str; -use <%= namespace %>\Models\<%= model_name %>; -use <%= namespace %>\Models\<%= second_model_name %>; - - -class <%= controller_name %>Controller extends Controller -{ - //---------------------------------------------------------- - public function __construct() - { - } - //---------------------------------------------------------- - public function getAssets(Request $request): JsonResponse - { - /*if (!Auth::user()->hasPermission('has-access-of-<%= controller_name_lower %>-section')) { - $response['success'] = false; - $response['errors'][] = trans("vaahcms::messages.permission_denied"); - - return response()->json($response); - }*/ - - try { - $data = []; - - $data['permission'] = []; - $data['rows'] = config('vaahcms.per_page'); - - $data['fillable']['except'] = [ - 'uuid', - 'created_by', - 'updated_by', - 'deleted_by', - ]; - - $model = new <%= model_name %>(); - $fillable = $model->getFillable(); - $data['fillable']['columns'] = array_diff( - $fillable, $data['fillable']['except'] - ); - - foreach ($fillable as $column) { - if ($column === 'is_active') { - $data['empty_item'][$column] = 0; - continue; - } - - $data['empty_item'][$column] = null; - } - - $taxonomy_types = <%= second_model_name %>::query() - ->whereNotNull('is_active') - ->whereNull('parent_id') - ->select('id', 'id as key', 'name as label', 'slug as data') - ->with(['children']) - ->get(); - - $data['actions'] = []; - $data['countries'] = vh_get_country_list(); - $data['types'] = $taxonomy_types->toArray(); - - $response['success'] = true; - $response['data'] = $data; - } catch (\Exception $e) { - $response = []; - $response['success'] = false; - - if (env('APP_DEBUG')) { - $response['errors'][] = $e->getMessage(); - $response['hint'][] = $e->getTrace(); - } else { - $response['errors'][] = 'Something went wrong.'; - } - } - - return response()->json($response); - } - //---------------------------------------------------------- - public function getList(Request $request): JsonResponse - { - - try { - $response = <%= model_name %>::getList($request); - } catch (\Exception $e) { - $response = []; - $response['success'] = false; - - if (env('APP_DEBUG')) { - $response['errors'][] = $e->getMessage(); - $response['hint'][] = $e->getTrace(); - } else { - $response['errors'][] = 'Something went wrong.'; - } - } - - return response()->json($response); - } - //---------------------------------------------------------- - public function updateList(Request $request): JsonResponse - { - - try { - $response = <%= model_name %>::updateList($request); - } catch (\Exception $e) { - $response = []; - $response['success'] = false; - - if (env('APP_DEBUG')) { - $response['errors'][] = $e->getMessage(); - $response['hint'][] = $e->getTrace(); - } else { - $response['errors'][] = 'Something went wrong.'; - } - } - - return response()->json($response); - } - //---------------------------------------------------------- - public function listAction(Request $request, $type): JsonResponse - { - - try { - $response = <%= model_name %>::listAction($request, $type); - } catch (\Exception $e) { - $response = []; - $response['success'] = false; - - if (env('APP_DEBUG')) { - $response['errors'][] = $e->getMessage(); - $response['hint'][] = $e->getTrace(); - } else { - $response['errors'][] = 'Something went wrong.'; - } - } - - return response()->json($response); - } - //---------------------------------------------------------- - public function deleteList(Request $request): JsonResponse - { - - try { - $response = <%= model_name %>::deleteList($request); - } catch (\Exception $e) { - $response = []; - $response['success'] = false; - - if (env('APP_DEBUG')) { - $response['errors'][] = $e->getMessage(); - $response['hint'][] = $e->getTrace(); - } else { - $response['errors'][] = 'Something went wrong.'; - } - } - - return response()->json($response); - } - //---------------------------------------------------------- - public function createItem(Request $request): JsonResponse - { - - try { - $response = <%= model_name %>::createItem($request); - } catch (\Exception $e) { - $response = []; - $response['success'] = false; - - if (env('APP_DEBUG')) { - $response['errors'][] = $e->getMessage(); - $response['hint'][] = $e->getTrace(); - } else { - $response['errors'][] = 'Something went wrong.'; - } - } - - return response()->json($response); - } - //---------------------------------------------------------- - public function getItem(Request $request, $id): JsonResponse - { - - try { - $response = <%= model_name %>::getItem($id); - } catch (\Exception $e) { - $response = []; - $response['success'] = false; - - if (env('APP_DEBUG')) { - $response['errors'][] = $e->getMessage(); - $response['hint'][] = $e->getTrace(); - } else { - $response['errors'][] = 'Something went wrong.'; - } - } - - return response()->json($response); - } - //---------------------------------------------------------- - public function getListByTypeId(Request $request, $id): JsonResponse - { - $response = []; - - try { - $list = <%= model_name %>::where('<%= second_table_name_singular %>_id',$id) - ->select('id','name','slug','<%= second_table_name_singular %>_id')->get(); - - $response['success'] = true; - $response['data'] = $list; - } catch (\Exception $e) { - $response['success'] = false; - - if (env('APP_DEBUG')) { - $response['errors'][] = $e->getMessage(); - $response['hint'][] = $e->getTrace(); - } else { - $response['errors'][] = 'Something went wrong.'; - } - } - - return response()->json($response); - } - //---------------------------------------------------------- - public function updateItem(Request $request, $id): JsonResponse - { - - try { - $response = <%= model_name %>::updateItem($request, $id); - } catch (\Exception $e) { - $response = []; - $response['success'] = false; - - if (env('APP_DEBUG')) { - $response['errors'][] = $e->getMessage(); - $response['hint'][] = $e->getTrace(); - } else { - $response['errors'][] = 'Something went wrong.'; - } - } - - return response()->json($response); - } - //---------------------------------------------------------- - public function deleteItem(Request $request, $id): JsonResponse - { - - try { - $response = <%= model_name %>::deleteItem($request, $id); - } catch (\Exception $e) { - $response = []; - $response['success'] = false; - - if (env('APP_DEBUG')) { - $response['errors'][] = $e->getMessage(); - $response['hint'][] = $e->getTrace(); - } else { - $response['errors'][] = 'Something went wrong.'; - } - } - - return response()->json($response); - } - //---------------------------------------------------------- - public function itemAction(Request $request, $id, $action): JsonResponse - { - - try { - $response = <%= model_name %>::itemAction($request, $id, $action); - } catch (\Exception $e) { - $response = []; - $response['success'] = false; - - if (env('APP_DEBUG')) { - $response['errors'][] = $e->getMessage(); - $response['hint'][] = $e->getTrace(); - } else { - $response['errors'][] = 'Something went wrong.'; - } - } - - return response()->json($response); - } - //---------------------------------------------------------- - public function createTaxonomyType(Request $request): JsonResponse - { - - try { - if (!$request->has('name') || !$request->name) { - $response['success'] = false; - $response['errors'][] = 'The name field is required.'; - return response()->json($response); - } - - $item = <%= second_model_name %>::withTrashed() - ->where('name',$request->name) - ->first(); - - if ($item) { - $response['success'] = false; - $response['errors'][] = "This name is already exist."; - return response()->json($response); - } - - $add = new <%= second_model_name %>(); - $add->fill($request->all()); - $add->slug = Str::slug($request->name); - $add->is_active = true; - $add->save(); - - $response['success'] = true; - $response['messages'][] = 'Successfully Added.'; - } catch (\Exception $e) { - $response = []; - $response['success'] = false; - - if (env('APP_DEBUG')) { - $response['errors'][] = $e->getMessage(); - $response['hint'][] = $e->getTrace(); - } else { - $response['errors'][] = 'Something went wrong.'; - } - } - - return response()->json($response); - } - //---------------------------------------------------------- - public function deleteTaxonomyType(Request $request): JsonResponse - { - - try { - $item = <%= second_model_name %>::query() - ->where('id',$request->id) - ->with(['childrens']) - ->withTrashed() - ->first(); - - if(count($item->childrens) > 0){ - self::deletechildrens($item->childrens); - } - - $item->forceDelete(); - - $response['success'] = true; - $response['messages'][] = 'Successfully Deleted.'; - } catch (\Exception $e) { - $response = []; - $response['success'] = false; - - if (env('APP_DEBUG')) { - $response['errors'][] = $e->getMessage(); - $response['hint'][] = $e->getTrace(); - } else { - $response['errors'][] = 'Something went wrong.'; - } - } - - return response()->json($response); - } - //---------------------------------------------------------- - public function deletechildrens($types) - { - foreach ($types as $type) { - if (count($type->childrens) > 0) { - self::deletechildrens($type->childrens); - } - - $type->forceDelete(); - } - } - //---------------------------------------------------------- - public function updateTaxonomyType(Request $request): JsonResponse - { - - try { - if (!$request->newName) { - $response['success'] = false; - $response['errors'][] = 'Name is required.'; - return response()->json($response); - } - - $name_exist = <%= second_model_name %>::query() - ->where('id','!=',$request->id) - ->where('name',$request->newName)->first(); - - if ($name_exist) { - $response['success'] = false; - $response['errors'][] = 'Name already exist.'; - return response()->json($response); - } - - - $slug_exist = <%= second_model_name %>::query() - ->where('id','!=',$request->id) - ->where('slug',Str::slug($request->newName)) - ->first(); - - if ($slug_exist){ - $response['success'] = false; - $response['errors'][] = 'Slug already exist.'; - return response()->json($response); - } - - $list = <%= second_model_name %>::where('id',$request->id)->first(); - - $list->name = $request->newName; - $list->slug = Str::slug($request->newName); - $list->save(); - - $response['success'] = true; - $response['messages'][] = 'Updated Successfully.'; - } catch (\Exception $e) { - $response = []; - $response['success'] = false; - - if (env('APP_DEBUG')) { - $response['errors'][] = $e->getMessage(); - $response['hint'][] = $e->getTrace(); - } else { - $response['errors'][] = 'Something went wrong.'; - } - } - - $response['data'] = []; - $response['data']['id'] = $request->id; - - return response()->json($response); - } - //---------------------------------------------------------- - public function updateTaxonomyTypePosition(Request $request): JsonResponse - { - - try { - $parent_id = null; - - if ($request->parent_id && $request->parent_id != 0) { - - $parent_id = $request->parent_id; - } - - $item = <%= second_model_name %>::query() - ->where('id',$request->id) - ->first(); - - $item->parent_id = $parent_id; - $item->save(); - - $response['success'] = true; - $response['messages'][] = 'Updated Successfully.'; - } catch (\Exception $e) { - $response = []; - $response['success'] = false; - - if (env('APP_DEBUG')) { - $response['errors'][] = $e->getMessage(); - $response['hint'][] = $e->getTrace(); - } else { - $response['errors'][] = 'Something went wrong.'; - } - } - - $response['data'] = []; - $response['data']['id'] = $request->id; - - return response()->json($response); - } - //---------------------------------------------------------- - public function getParents(Request $request, $id, $name=null): array - { - $list = <%= model_name %>::query() - ->where(function($q) use ($name){ - $q->where('name', 'LIKE', '%'.$name.'%') - ->orWhere('slug', 'LIKE', '%'.$name.'%'); - })->where('<%= second_table_name_singular %>_id', $id) - ->whereNotNull('is_active') - ->take(10) - ->orderBy('created_at', 'desc') - ->select('id','name','slug')->get(); - - return $list; - - } - //---------------------------------------------------------- - public function getCountryById(Request $request, $id): JsonResponse - { - try { - $response = <%= model_name %>::query()->find($id); - } catch (\Exception $e) { - $response = []; - $response['success'] = false; - - if (env('APP_DEBUG')) { - $response['errors'][] = $e->getMessage(); - $response['hint'][] = $e->getTrace(); - } else { - $response['errors'][] = 'Something went wrong.'; - } - } - - return response()->json($response); - } - //---------------------------------------------------------- -} diff --git a/skeletons/vaahcms/taxonomies/Models/Model.php.ejs b/skeletons/vaahcms/taxonomies/Models/Model.php.ejs deleted file mode 100644 index bac2d5d..0000000 --- a/skeletons/vaahcms/taxonomies/Models/Model.php.ejs +++ /dev/null @@ -1,188 +0,0 @@ -\Models; - -use Illuminate\Support\Str; -use WebReinvent\VaahCms\Models\Taxonomy as TaxonomyBase; - -class <%= model_name %> extends TaxonomyBase -{ - protected $table = '<%= table_name %>'; - - protected $fillable = [ - 'uuid','parent_id','<%= second_table_name_singular %>_id', - 'name','slug', 'excerpt','details', - 'notes','is_active','meta', - 'created_by','updated_by','deleted_by', - ]; - - //------------------------------------------------- - public function type() - { - return $this->belongsTo(<%= second_model_name %>::class, - '<%= second_table_name_singular %>_id', 'id' - ); - } - //------------------------------------------------- - //------------------------------------------------- - public function parent() - { - return $this->belongsTo(self::class, - 'parent_id', 'id' - )->select('id', 'name', 'slug'); - } - - //------------------------------------------------- - public static function getList($request) - { - $list = self::with(['parent', 'type']); - $list->getSorted($request->filter); - $list->isActiveFilter($request->filter); - $list->trashedFilter($request->filter); - $list->searchFilter($request->filter); - - $rows = config('vaahcms.per_page'); - - if ($request->has('rows')) { - $rows = $request->rows; - } - - $list = $list->paginate($rows); - - $response['success'] = true; - $response['data'] = $list; - - return $response; - } - - //------------------------------------------------- - public static function createItem($request) - { - - $inputs = $request->all(); - - $validation = self::validation($inputs); - if (!$validation['success']) { - return $validation; - } - - - // check if name exist - $item = self::where('name', $inputs['name'])->withTrashed()->first(); - - if ($item) { - $response['success'] = false; - $response['errors'][] = "This name is already exist."; - return $response; - } - - // check if slug exist - $item = self::where('slug', $inputs['slug'])->withTrashed()->first(); - - if ($item) { - $response['success'] = false; - $response['errors'][] = "This slug is already exist."; - return $response; - } - - $item = new self(); - $item->fill($inputs); - $item->slug = Str::slug($inputs['slug']); - $item->save(); - - $response = self::getItem($item->id); - $response['messages'][] = 'Saved successfully.'; - return $response; - - } - //------------------------------------------------- - - //------------------------------------------------- - public static function getItem($id) - { - - $item = self::where('id', $id) - ->with(['createdByUser', - 'updatedByUser', - 'deletedByUser', - 'parent', - 'type']) - ->withTrashed() - ->first(); - - - $response['success'] = true; - $response['data'] = $item; - - return $response; - - } - - //------------------------------------------------- - public static function updateItem($request, $id) - { - $inputs = $request->all(); - - $validation = self::validation($inputs); - if (!$validation['success']) { - return $validation; - } - - // check if name exist - $item = self::where('id', '!=', $inputs['id']) - ->withTrashed() - ->where('name', $inputs['name'])->first(); - - if ($item) { - $response['success'] = false; - $response['errors'][] = "This name is already exist."; - return $response; - } - - // check if slug exist - $item = self::where('id', '!=', $inputs['id']) - ->withTrashed() - ->where('slug', $inputs['slug'])->first(); - - if ($item) { - $response['success'] = false; - $response['errors'][] = "This slug is already exist."; - return $response; - } - - $item = self::where('id', $id)->withTrashed()->first(); - $item->fill($inputs); - $item->slug = Str::slug($inputs['slug']); - $item->save(); - - $response = self::getItem($item->id); - $response['messages'][] = 'Saved successfully.'; - return $response; - - } - - //------------------------------------------------- - - public static function validation($inputs) - { - - $rules = array( - '<%= second_table_name_singular %>_id' => 'required|exists:<%= second_table_name %>,id', - 'name' => 'required|max:150', - 'slug' => 'required|max:150' - ); - - $validator = \Validator::make($inputs, $rules); - if ($validator->fails()) { - $messages = $validator->errors(); - $response['success'] = false; - $response['errors'] = $messages->all(); - return $response; - } - - $response['success'] = true; - return $response; - - } - - //------------------------------------------------- - -} diff --git a/skeletons/vaahcms/taxonomies/Models/SecondModel.php.ejs b/skeletons/vaahcms/taxonomies/Models/SecondModel.php.ejs deleted file mode 100644 index 451d9ad..0000000 --- a/skeletons/vaahcms/taxonomies/Models/SecondModel.php.ejs +++ /dev/null @@ -1,22 +0,0 @@ -\Models; - -use Illuminate\Database\Eloquent\Relations\HasMany; -use WebReinvent\VaahCms\Models\TaxonomyType as TaxonomyTypeBase; - -class <%= second_model_name %> extends TaxonomyTypeBase { - - - protected $table = '<%= second_table_name %>'; - - //------------------------------------------------- - public function children(): HasMany - { - return $this->hasMany(self::class, - 'parent_id', 'id') - ->with(['children']) - ->select('id', 'id as key', 'name as label', 'slug as data', 'parent_id'); - } - //------------------------------------------------- - - -} diff --git a/skeletons/vaahcms/taxonomies/Routes/api/api-routes-template.php.ejs b/skeletons/vaahcms/taxonomies/Routes/api/api-routes-template.php.ejs deleted file mode 100644 index 7dbe544..0000000 --- a/skeletons/vaahcms/taxonomies/Routes/api/api-routes-template.php.ejs +++ /dev/null @@ -1,36 +0,0 @@ - '<%= folder_name_lower %>/<%= controller_name_lower %>', - 'middleware' => ['auth:api'], - 'namespace' => '<%= section_name %>', - ], - function () { - //--------------------------------------------------------- - Route::get('/assets', '<%= controller_name %>Controller@getAssets') - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.api.<%= controller_name_lower %>.assets'); - //--------------------------------------------------------- - Route::get('/', '<%= controller_name %>Controller@getList') - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.api.<%= controller_name_lower %>.list'); - //--------------------------------------------------------- - Route::match(['put', 'patch'], '/', '<%= controller_name %>Controller@updateList') - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.api.<%= controller_name_lower %>.list.updates'); - //--------------------------------------------------------- - Route::delete('/', '<%= controller_name %>Controller@deleteList') - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.api.<%= controller_name_lower %>.list.delete'); - //--------------------------------------------------------- - Route::post('/', '<%= controller_name %>Controller@createItem') - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.api.<%= controller_name_lower %>.create'); - //--------------------------------------------------------- - Route::get('/{id}', '<%= controller_name %>Controller@getItem') - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.api.<%= controller_name_lower %>.read'); - //--------------------------------------------------------- - Route::match(['put', 'patch'], '/{id}', '<%= controller_name %>Controller@updateItem') - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.api.<%= controller_name_lower %>.update'); - //--------------------------------------------------------- - Route::delete('/{id}', '<%= controller_name %>Controller@deleteItem') - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.api.<%= controller_name_lower %>.delete'); - //--------------------------------------------------------- - }); diff --git a/skeletons/vaahcms/taxonomies/Routes/backend/routes-template.php.ejs b/skeletons/vaahcms/taxonomies/Routes/backend/routes-template.php.ejs deleted file mode 100644 index ddb3d36..0000000 --- a/skeletons/vaahcms/taxonomies/Routes/backend/routes-template.php.ejs +++ /dev/null @@ -1,112 +0,0 @@ - '<%= url+folder_name_lower %>/<%= controller_name_lower %>', - <%if (section_name == 'Backend') { %> - 'middleware' => ['web', 'has.backend.access'], - <% } else{ %> - 'middleware' => ['web'], - <% } %> - 'namespace' => '<%= section_name %>', -], -function () { - /** - * Get Assets - */ - Route::get('/assets', '<%= controller_name %>Controller@getAssets') - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.<%= controller_name_lower %>.assets'); - /** - * Get List - */ - Route::get('/', '<%= controller_name %>Controller@getList') - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.<%= controller_name_lower %>.list'); - /** - * Update List - */ - Route::match(['put', 'patch'], '/', '<%= controller_name %>Controller@updateList') - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.<%= controller_name_lower %>.list.update'); - /** - * Delete List - */ - Route::delete('/', '<%= controller_name %>Controller@deleteList') - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.<%= controller_name_lower %>.list.delete'); - - - /** - * Create Item - */ - Route::post('/', '<%= controller_name %>Controller@createItem') - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.<%= controller_name_lower %>.create'); - /** - * Get Item - */ - Route::get('/{id}', '<%= controller_name %>Controller@getItem') - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.<%= controller_name_lower %>.read'); - /** - * Get List by type id - */ - Route::get('/type/{id}', '<%= controller_name %>Controller@getListByTypeId') - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.<%= controller_name_lower %>.type.id'); - /** - * Update Item - */ - Route::match(['put', 'patch'], '/{id}', '<%= controller_name %>Controller@updateItem') - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.<%= controller_name_lower %>.update'); - /** - * Delete Item - */ - Route::delete('/{id}', '<%= controller_name %>Controller@deleteItem') - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.<%= controller_name_lower %>.delete'); - - /** - * List Actions - */ - Route::any('/action/{action}', '<%= controller_name %>Controller@listAction') - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.<%= controller_name_lower %>.list.actions'); - - /** - * Item actions - */ - Route::any('/{id}/action/{action}', '<%= controller_name %>Controller@itemAction') - ->name('vh.<%= section_name_lower %>.<%= folder_name_lower %>.<%= controller_name_lower %>.item.action'); - - - /** - * Create taxonomy type - */ - Route::post( '/create-taxonomy-type', '<%= controller_name %>Controller@createTaxonomyType' ) - ->name( 'vh.<%= section_name_lower %>.<%= folder_name_lower %>.<%= controller_name_lower %>.createTaxonomyType' ); - - /** - * Delete taxonomy type - */ - Route::post( '/delete-taxonomy-type', '<%= controller_name %>Controller@deleteTaxonomyType' ) - ->name( 'vh.<%= section_name_lower %>.<%= folder_name_lower %>.<%= controller_name_lower %>.deleteTaxonomyType' ); - - /** - * Update taxonomy type - */ - Route::post( '/update-taxonomy-type', '<%= controller_name %>Controller@updateTaxonomyType' ) - ->name( 'vh.<%= section_name_lower %>.<%= folder_name_lower %>.<%= controller_name_lower %>.updateTaxonomyType' ); - - /** - * Update taxonomy type positions - */ - Route::post( 'update-taxonomy-type-position', '<%= controller_name %>Controller@updateTaxonomyTypePosition' ) - ->name( 'vh.<%= section_name_lower %>.<%= folder_name_lower %>.<%= controller_name_lower %>.updateTaxonomyTypePosition' ); - - /** - * Get parent - */ - Route::get('/json/parents/{id}/{name?}', '<%= controller_name %>Controller@getParents' ) - ->name( 'vh.<%= section_name_lower %>.<%= folder_name_lower %>.<%= controller_name_lower %>.countries' ); - - /** - * Get country by ID - */ - Route::get( 'json/getCountryById/{id}', '<%= controller_name %>Controller@getCountryById' ) - ->name( 'vh.<%= section_name_lower %>.<%= folder_name_lower %>.<%= controller_name_lower %>.getCountryById' ); - //--------------------------------------------------------- - -}); diff --git a/skeletons/vaahcms/taxonomies/Vue/pages/template/Form.vue.ejs b/skeletons/vaahcms/taxonomies/Vue/pages/template/Form.vue.ejs deleted file mode 100644 index ec5883a..0000000 --- a/skeletons/vaahcms/taxonomies/Vue/pages/template/Form.vue.ejs +++ /dev/null @@ -1,206 +0,0 @@ - -