From 9d6e71a78386372b49b058981cd6128040489f27 Mon Sep 17 00:00:00 2001 From: Peter Joles Date: Fri, 22 May 2020 13:57:22 -0700 Subject: [PATCH] Swap out Travis with CircleCI - Change .env to a commented js file --- .circleci/config.yml | 63 ++ .env | 30 - .gitignore | 4 +- .travis.yml | 43 -- azure-pipelines.yml | 21 - config/default.js | 106 +++ package-lock.json | 849 +++++++++++++----------- package.json | 28 +- src/store.js | 4 +- src/teneo-assets/ExtensionHelper.groovy | 15 +- src/utils/buildConfig.js | 62 ++ src/utils/environmentVariables.js | 14 + src/utils/leopardConfig.js | 68 +- vue.config.js | 64 +- 14 files changed, 765 insertions(+), 606 deletions(-) create mode 100644 .circleci/config.yml delete mode 100644 .env delete mode 100644 .travis.yml delete mode 100644 azure-pipelines.yml create mode 100644 config/default.js create mode 100644 src/utils/buildConfig.js create mode 100644 src/utils/environmentVariables.js diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 00000000..84085f09 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,63 @@ +version: 2.1 +orbs: + node: circleci/node@2.1.1 + gh-pages: sugarshin/gh-pages@0.0.6 +executors: + buildpack_deps: + docker: + - image: circleci/buildpack-deps +jobs: + build: + executor: node/default + steps: + - checkout + - node/install: + node-version: 12.16.3 + - run: | + node --version + mkdir -p config && touch $_/local.js + echo $FULL_CONFIG > ./config/local.js + - node/install-packages + - run: npm run build + - persist_to_workspace: + root: . + paths: + - dist + deploy-artisol: + working_directory: ~/leopard + docker: + - image: instrumentisto/rsync-ssh + steps: + - add_ssh_keys: + fingerprints: + - "5b:02:54:8b:a5:25:c3:91:88:6e:82:d5:1d:4a:43:4a" + - attach_workspace: + at: ~/leopard/dist + - deploy: + command: | + rsync -va -r -e "ssh -o StrictHostKeyChecking=no" --delete-after ./dist/ $SSH_USER@$SSH_HOST:$TARGET_DIR + deploy-gh-pages: + executor: buildpack_deps + working_directory: ~/leopard + steps: + - run: | + mkdir -p ~/.ssh + echo "Host *" > ~/.ssh/config + echo " StrictHostKeyChecking no" >> ~/.ssh/config + - attach_workspace: + at: ~/leopard/dist + - gh-pages/deploy: + ssh-fingerprints: "5b:02:54:8b:a5:25:c3:91:88:6e:82:d5:1d:4a:43:4a" + +workflows: + build-deploy: + jobs: + - build: + context: leopard-presales-ctx + - deploy-artisol: + context: leopard-presales-ctx + requires: + - build + - deploy-gh-pages: + requires: + - build diff --git a/.env b/.env deleted file mode 100644 index 8063924e..00000000 --- a/.env +++ /dev/null @@ -1,30 +0,0 @@ -VUE_APP_BUILD_COMPRESS_JAVASCRIPT_ASSETS=true -VUE_APP_BUILD_COMPRESS_CSS_ASSETS=true -VUE_APP_EMBED_KILL_SESSION_ON_CLOSE=false -VUE_APP_FIREBASE_AUTH_PROVIDERS=microsoft,facebook,google,github -VUE_APP_FIREBASE_API_KEY= -VUE_APP_FIREBASE_AUTH_DOMAIN= -VUE_APP_FIREBASE_DATABASE_URL= -VUE_APP_FIREBASE_MESSAGING_SENDER_ID= -VUE_APP_FIREBASE_PROJECT_ID= -VUE_APP_FIREBASE_STORAGE_BUCKET= -VUE_APP_GET_STATIC_DEFAULT_CONFIG=false -VUE_APP_HIDE_CONFIG_MENU=false -VUE_APP_LIVE_CHAT_AGENT_ASSIST_SERVER= -VUE_APP_LIVE_CHAT_INC_KEY= -VUE_APP_LOAD_FRESH_CONFIG_FOR_NEW_SESSIONS=false -VUE_APP_LOCATION_IQ_KEY= -VUE_APP_LOG_ROCKET= -VUE_APP_PUSHER_KEY= -VUE_APP_SENTRY_DSN= -VUE_APP_SOLUTION_CONFIG_FILE=.env.solution.json -VUE_APP_SOURCE_MAP=false -VUE_APP_HIDE_AS_BRANDING=false -VUE_APP_KUTT_IT_API_KEY= -VUE_APP_SEND_LOCATION_LOGIN=true -VUE_APP_AUTH_MS_TENANT= -VUE_APP_AUTH_MS_DOMAIN_HINT= -VUE_APP_IP_URL= -VUE_APP_GEO_URL= -VUE_APP_EMBED_INITIAL_STATE_OPEN=false -VUE_APP_EMBED_SHOW_CLOSE_BUTTON=true diff --git a/.gitignore b/.gitignore index ba6e43c6..56154492 100644 --- a/.gitignore +++ b/.gitignore @@ -25,4 +25,6 @@ secrets.tar deploy_rsa deploy_rsa.pub -backup \ No newline at end of file +backup + +config/local.js \ No newline at end of file diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index d2541657..00000000 --- a/.travis.yml +++ /dev/null @@ -1,43 +0,0 @@ -language: node_js -dist: bionic -os: linux -node_js: - - 12.13.1 -notifications: - slack: - secure: NzGl8ZGdDYH0M5dnmMDK5djurdN7hXFRTGrIDJCsD8BmBA2sH2d/PS1rmtlpvQJ0SoE+1LP2ZMmnpRSKV3HhY6a5IgKPu/Tqu42YTA0MncGf377CyrMrOagaL6KFdsqxKvibRkgcux8sGZKX9ZXq59Zjb5ihgRHsUbQkXoibn+/y4zG3A7tcyfSJuNi62DO1bN31Ji56BX2mTc91iYpzb3p/KOSc0yS4NgWT3yXPzdvZuNg2zR01tzhNv92G73tyYDykLw2KBcCUkWopj1uIrFPXgFDEonQ8Qp3gVuIa8vEkh+hhyu4lPfkAB1zLQBowzrDNKdIQln5/orTVhgQIHxLvUNFFmBAGKKDscAOTKWr6mOvW6xGreVfBvhcJ+W7wwPdU3g8BtT5+85y+vCUmbiwMFWLTjSnrwjGlgBfY6GisdIa/XysrURxOyYdweG1S9/TdNRwBj8QRPrYYkb+X1M3Z9gFa3PWAIEDFgHX7SywreRfIPksRHKuYO1XGzOl5RLWgfa32733wl/cAtbwMmJmXX3kFbIQavhgmlEsKVyDqbgZwbvXD8yip3ZXRW5KavuljK6UYJwhcGql/e4tB76Qm69HtspYTFMsEzbpx1h9q41CAd4tm3ZokYxPW/cfTHJm4u5B8K0Bv6nsQInFhabnaHTzRk3WjfaFNkXZVP8E= -branches: - only: - - master -env: - global: - - secure: Fb0DilEJ862wobrfbO/9tqCfap7gmmUQyUZLx6g9QDsCv/pq7yEeBmOWZT1ld8Praw0rdPSs7r+sgoLqvfYyaBA58bvCkk7HtP6ANuDVH+LKG9z6ThL3ehuS0FBbXTCrgaT77ZA5SJu1ReDlEWRl6SU/lnCyDeV+ZJxOG2lRduDAuYGT9aKH6YVbsjT7mAuQMZPyfp3mjMxeNDtu6Vs07hXbqyv70Usdert3X/NXIMeN2L+jWSBXXYAsLvhQNJ/uGG3mEgqcJInaCI68DIlNGkbgmymBrkbDj7Ii4K3nKu4mV4naTRScF5++eu7nHrzZ+aP3heBCLKY967aNZZiXh9nazvMXpMsSjFb2h4DCeMfMfMmsxIYM/FDtIZa5NxeggRe/8DgahHSaNyw9k60ur40dte8K+ef438jDAsXrIGWTUZlqf5KVOXiOHWOQ0uC0bB3t0heSpvbwvqsaXeU50Hmxn4mqGK4aGuPpGeU7EAFLXZdPvxRa0Zjaw1EAXBpmK430foTxmrcEIaTvjg+jM/b59wLFYcbACnHoouWos4CWKp5kMw2b1HX1Q0bBod3oJAZJL59lwC9nFpQj3p56M5wK9Ptd6VRSGuv8Lw2xiYtnN3fCYP/gsxpqeZFTFsH3MiSGwU7+9RF+4cS5RlXdiCwb7vjLV9qVeAIImL7m1Cw= - - secure: DUK7mtuIPxnjWlFkZJs1kMpqIgQwQtdee3HPBKRSvLLx99eHv5gFxJDfBjllJ5zJ6UqkTPuRFq23Z69m6ButxDgL4vJ0LKGXr1p/EOpB6LizKH7NKdH/A1ha6HLmkJI39w13uZGZUZ0BjF1KKlKEa79Jile+DiYJGgoayjhyJxVHubJ/0eJx0XdCr3mmFoHet85GncIqf77ohRyVi2dzzY1cFRS6hHb6nxkX6/8wLQmShuB2tuZNOFNA/EnB1D9NhQ1LOEiZLViCweHzt98la02tKH8e08wKA4RurxMkvNaYeVlQlBBDtQ1H/LXJbrQmMjLcNkncyAXWdvig51X5IF4xWHoKtLzK864t87X0PPBuIbZoWfxh3EX1FAdC9+XYIrHGZdbbwewB5QqJz4CYs1CdWrEiIlLO0LVKfxr0kJMR25Gu91Z1y78xlQc06Hc9skmmALNMpPDUQ1vHlzkvlLkgd4Alm6rinzYfJW2PWdAQOB6iNKd+pIH1qN7QWUBU0FKtKN3Z6iwzV6P0Z0FnH3RYC42g6pY+XmPKY1lgfkSlBw9IS3lvpcL2ddv3rXb2nN0o4hFvOl5o1SeDYWNqdeUOmqLDc2kOvrKYHTBoFaVF4T/0YmvUK+CdwKhn1nwqsUjQzoY41leD7Hqa73UWyQZ3i/Jf8lpTaCBjvf9zWu0= -before_install: - - openssl aes-256-cbc -K $encrypted_e0272ac8690c_key -iv $encrypted_e0272ac8690c_iv - -in secrets.tar.enc -out secrets.tar -d - - tar xvf secrets.tar -install: - - echo 'Build starting...' - - echo 'Installing Dependencies...' - - npm ci -cache: - directories: - - "$HOME/.npm" -script: - - npm run build -before_deploy: - - eval "$(ssh-agent -s)" - - chmod 600 deploy_rsa - - ssh-add deploy_rsa -deploy: - - provider: script - script: - rsync -r -e "ssh -o StrictHostKeyChecking=no" --delete-after --quiet ./dist/ - ${SSH_USER}@${SSH_HOST}:/var/www/leopard-chat - edge: true - - provider: pages:git - token: $GITHUB_TOKEN - keep_history: false - local_dir: ./dist/ - edge: true diff --git a/azure-pipelines.yml b/azure-pipelines.yml deleted file mode 100644 index 13920ce3..00000000 --- a/azure-pipelines.yml +++ /dev/null @@ -1,21 +0,0 @@ -# Node.js with Vue -# Build a Node.js project that uses Vue. -# Add steps that analyze code, save build artifacts, deploy, and more: -# https://docs.microsoft.com/azure/devops/pipelines/languages/javascript - -trigger: - - master - -pool: - vmImage: "ubuntu-latest" - -steps: - - task: NodeTool@0 - inputs: - versionSpec: "12.13.1" - displayName: "Build Leopard Chat UI" - - - script: | - npm ci - npm run build - displayName: "npm install and build" diff --git a/config/default.js b/config/default.js new file mode 100644 index 00000000..c1235db8 --- /dev/null +++ b/config/default.js @@ -0,0 +1,106 @@ +const config = { + assets: { + compressCss: true, // gzip and brotli compress CSS + compressJavascript: true, // gzip and brotli compress JavaScript + produceSourceMap: false // in production you probably want to disable + }, + demoMode: true, // true = stores configs in local storage. In production it should be false + /** + * https://www.livechat.com/ integration - live chat handover + */ + liveChatInc: { + agentAssist: { + /** + * Server URL for creating agent assist canned responses - + * https://github.com/jolzee/agent-assist-livechat-server-leopard + */ + serverUrl: "" + }, + key: "" // livechat.com license key + }, + location: { + /** + * if you want to capture location information from the user then + * provide a https://locationiq.com/ api key + * https://jolzee.gitbook.io/leopard/configuration/response-options/field-types#location-information + */ + locationIq: { + key: "" + }, + login: { + /** + * Capture and send geo location information at login. + * Uses both https://ipapi.co/ip/ & http://www.geoplugin.net + * This setting can be costly on first run. + */ + sendAtLogin: false, // false = diabled, true = tries to obtain geo before greeting + /** + * Jaguar provides rest endpoint to proxy both the acquisition of the user's + * IP and their geo location. This speeds up the whole process and deals with + * any potential CORS issues. + * https://github.com/jolzee/jaguar + */ + serviceUrls: { + geo: "", // https://my-jaguar.com/utils/geo + ip: "" // https://my-jaguar.com/utils/ip + } + } + }, + /** + * Leopard can send debug information to both Log Rocket and Sentry. + * If let absent nothing is sent. + */ + logging: { + logRocket: { + key: "" // https://logrocket.com/ + }, + sentry: { + key: "" // https://sentry.io/ + } + }, + /** + * Only applies when Leopard is embedded in production: + * https://jolzee.gitbook.io/leopard/embedding + */ + productionEmbed: { + initialStateOpen: false, // should leopard automatically open on first load + killSessionWhenClosed: false, // should the conversational session be closed when x is clicked + showCloseButton: true // allows you to hide the close button + }, + /** + * Social Authentication is provided through https://firebase.google.com/ + * Empty values signals no authentication + */ + socialAuthentication: { + firebase: { + apiKey: "", + authDomain: "", + databaseUrl: "", // Firebase Realtime Database + messagingSenderId: "", + microsoft: { + domainHint: "", // mydomain.com + tenant: "" // Azure AD Tenant ID + }, + projectId: "", // firebase project id + providers: ["microsoft", "facebook", "google", "github"], // login and register will only show buttons for these providers + storageBucket: "" + } + }, + solution: { + location: { + placeInStaticFolder: false, // false = loaded client side via JavaScript ; true = .env.solution.json is placed in /static/config.json + sourceFile: ".env.solution.json" // relavtive path to your solution(s) config file - probably don't need to change + } + }, + ui: { + configArea: { + shareLink: { + kuttItApiKey: "" // Optional - URL Shorener https://kutt.it/ can shortner shared links generated in the config area + } + }, + hideConfigMenu: false, // true = Set in production | false when in demo/development mode + hideTeneoBranding: false // optionally hide Teneo Branding + } +}; + +module.exports = config; diff --git a/package-lock.json b/package-lock.json index 3b150636..1653a434 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,5 +1,5 @@ { - "name": "leopard-chat-teneo-vue", + "name": "leopard-chat-ui-teneo", "version": "2.1.0", "lockfileVersion": 1, "requires": true, @@ -1320,15 +1320,15 @@ } }, "@firebase/analytics": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.3.3.tgz", - "integrity": "sha512-Mj4lufHCnDqI2e8jAFqWmo9r2ejBJiGbI0MUvoiKVMxQm0kddQxUwmxfE6ozOAZ2HjB6OZ0iiAO+XU+0w/BnlA==", + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.3.4.tgz", + "integrity": "sha512-x5Hxj3B9Zm4H6CEjMD/J86WjmiX9C6AhBBltaYzWMtqkqa/WvvWMicl4MpwZXjOdBbOd286oGgJPFqQMUYI/WQ==", "requires": { "@firebase/analytics-types": "0.3.0", - "@firebase/component": "0.1.10", - "@firebase/installations": "0.4.8", - "@firebase/logger": "0.2.2", - "@firebase/util": "0.2.45", + "@firebase/component": "0.1.11", + "@firebase/installations": "0.4.9", + "@firebase/logger": "0.2.3", + "@firebase/util": "0.2.46", "tslib": "1.11.1" } }, @@ -1338,14 +1338,14 @@ "integrity": "sha512-0AJ6xn53Qn0D/YOVHHvlWFfnzzRSdd98Lr8Oqe1PJ2HPIN+o7qf03YmOG7fLpR1uplcWd+7vGKmxUrN3jKUBwg==" }, "@firebase/app": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.6.2.tgz", - "integrity": "sha512-rAxc90+82GAPpUxS02EO0dys4+TeQ6XjFjCwQz/OVptGeLgxN9ZoXYAf/bxyeYOdLxJW0kbEKE/0xXaJDt5gsg==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.6.3.tgz", + "integrity": "sha512-59Q/XNi+QyV1GOvxN+BusoKjqDKUjDupePDhlT6SqvFdvb03TjG03fSfurhXGXmTk6f500aOIyVJ8UlYpTYrsg==", "requires": { "@firebase/app-types": "0.6.0", - "@firebase/component": "0.1.10", - "@firebase/logger": "0.2.2", - "@firebase/util": "0.2.45", + "@firebase/component": "0.1.11", + "@firebase/logger": "0.2.3", + "@firebase/util": "0.2.46", "dom-storage": "2.1.0", "tslib": "1.11.1", "xmlhttprequest": "1.8.0" @@ -1357,9 +1357,9 @@ "integrity": "sha512-ld6rzjXk/SUauHiQZJkeuSJpxIZ5wdnWuF5fWBFQNPaxsaJ9kyYg9GqEvwZ1z2e6JP5cU9gwRBlfW1WkGtGDYA==" }, "@firebase/auth": { - "version": "0.14.4", - "resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-0.14.4.tgz", - "integrity": "sha512-cjYdSZQZ73jiI8De8Vw4L4LooXanc7HaYu4pEbq81Aag8fNy3oitfi0qTcrGLB7a/VLEAt1RtWo+lWotwCU2Ow==", + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-0.14.5.tgz", + "integrity": "sha512-76ejEQrJ81s2ZI2RV/AoZnw3sDl7dZSpaJJtPlhqlahymtQ2sSeAZJAmECcTB27PF6EeCdRhB9qOIKGAEAhbJg==", "requires": { "@firebase/auth-types": "0.10.0" } @@ -1375,24 +1375,24 @@ "integrity": "sha512-VuW7c+RAk3AYPU0Hxmun3RzXn7fbJDdjQbxvvpRMnQ9zrhk8mH42cY466M0n4e/UGQ+0smlx5BqZII8aYQ5XPg==" }, "@firebase/component": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.1.10.tgz", - "integrity": "sha512-Iy1+f8wp6mROz19oxWUd31NxMlGxtW1IInGHITnVa6eZtXOg0lxcbgYeLp9W3PKzvvNfshHU0obDkcMY97zRAw==", + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.1.11.tgz", + "integrity": "sha512-HZ0fwtv8/b3KV4NUOqlcIr03+CpBKW0F1Jo6/HJ39AutS6XXbM2jtpXOd1wMq9lbhBHgEwt1sMPNKoPR1bFflQ==", "requires": { - "@firebase/util": "0.2.45", + "@firebase/util": "0.2.46", "tslib": "1.11.1" } }, "@firebase/database": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@firebase/database/-/database-0.6.1.tgz", - "integrity": "sha512-7XqUbj3nK2vEdFjGOXBfKISmpLrM0caIwwfDPxhn6i7X/g6AIH+D1limH+Jit4QeKMh/IJZDNqO7P+Fz+e8q1Q==", + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/@firebase/database/-/database-0.6.2.tgz", + "integrity": "sha512-0D0WOqYlNg3NMi0hJPx18tun6FMfr31d1dZB0Lai0K5jScBhPr2h4Fy7yp5lyOklwDSAoBYxmpX4nzHuDheL9Q==", "requires": { "@firebase/auth-interop-types": "0.1.4", - "@firebase/component": "0.1.10", + "@firebase/component": "0.1.11", "@firebase/database-types": "0.5.0", - "@firebase/logger": "0.2.2", - "@firebase/util": "0.2.45", + "@firebase/logger": "0.2.3", + "@firebase/util": "0.2.46", "faye-websocket": "0.11.3", "tslib": "1.11.1" } @@ -1406,15 +1406,15 @@ } }, "@firebase/firestore": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-1.14.2.tgz", - "integrity": "sha512-gUTQHiR1LN/g+iHfPZS+GJgDHK866xtAXcodSAOU4dt7k4B0oXllwuQmhjwQP0Gh7Lc/m+cK7dw/bmoHI6oWqQ==", + "version": "1.14.4", + "resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-1.14.4.tgz", + "integrity": "sha512-TQUNXOy5WZKNp/o7mRijo5+AbR5Q0s5GTeKjRXBDtYYbDYPTJ/jktvCDI4N39hACl5829819kqhCZ510F3B5nw==", "requires": { - "@firebase/component": "0.1.10", + "@firebase/component": "0.1.11", "@firebase/firestore-types": "1.10.1", - "@firebase/logger": "0.2.2", - "@firebase/util": "0.2.45", - "@firebase/webchannel-wrapper": "0.2.39", + "@firebase/logger": "0.2.3", + "@firebase/util": "0.2.46", + "@firebase/webchannel-wrapper": "0.2.40", "@grpc/grpc-js": "0.8.1", "@grpc/proto-loader": "^0.5.0", "tslib": "1.11.1" @@ -1426,11 +1426,11 @@ "integrity": "sha512-vyKdm+AYUFT8XeUX62IOqaqPFCs/mAMoSEsqIz9HnSVsqCw/IocNjtjSa+3M80kRw4V8fI7JI+Xz6Wg5VJXLqA==" }, "@firebase/functions": { - "version": "0.4.42", - "resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.4.42.tgz", - "integrity": "sha512-7L2l0NvWCL1z2vWqvxE7srQ64XCIzgMTIM2uANPT1yh+bMcZPxl3SuP4LoDhXbfmLtpzGKTygsxP4WKt5z7ctg==", + "version": "0.4.43", + "resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.4.43.tgz", + "integrity": "sha512-9cBGRr5JPcshtdUPpWuzsRIVPcWWNncK97QWBoFakVymPjvFNS3r0ZxD3hSUr9i05VrZdrqJfdljTNm8eEmJiA==", "requires": { - "@firebase/component": "0.1.10", + "@firebase/component": "0.1.11", "@firebase/functions-types": "0.3.16", "@firebase/messaging-types": "0.4.4", "isomorphic-fetch": "2.2.1", @@ -1443,13 +1443,13 @@ "integrity": "sha512-kHhBvSYiY2prY4vNQCALYs1+OruTdylvGemHG6G6Bs/rj3qw7ui3WysBsDU/rInJitHIcsZ35qrtanoJeQUIXQ==" }, "@firebase/installations": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/@firebase/installations/-/installations-0.4.8.tgz", - "integrity": "sha512-J3tyKCdZ07LR0Bw3rs4CIsWia5exGt77fdbvqnhYa6K8YfIUPFLzsGRvlFJkoIhOMXfujfnC3O/DakROOgOltg==", + "version": "0.4.9", + "resolved": "https://registry.npmjs.org/@firebase/installations/-/installations-0.4.9.tgz", + "integrity": "sha512-5oY3iycidoK2MhNl4GiFYn/B9rbW69VLpH54EGEFl1UruGk464WyqC7RhJxYl8bUkFwZ4gg99MXMq/JhF0vcJA==", "requires": { - "@firebase/component": "0.1.10", + "@firebase/component": "0.1.11", "@firebase/installations-types": "0.3.3", - "@firebase/util": "0.2.45", + "@firebase/util": "0.2.46", "idb": "3.0.2", "tslib": "1.11.1" } @@ -1460,19 +1460,19 @@ "integrity": "sha512-XvWhPPAGeZlc+CfCA8jTt2pv19Jovi/nUV73u30QbjBbk5xci9bp5I29aBZukHsR6YNBjFCLSkLPbno4m/bLUg==" }, "@firebase/logger": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/@firebase/logger/-/logger-0.2.2.tgz", - "integrity": "sha512-MbEy17Ha1w/DlLtvxG89ScQ+0+yoElGKJ1nUCQHHLjeMNsRwd2wnUPOVCsZvtBzQp8Z0GaFmD4a2iG2v91lEbA==" + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@firebase/logger/-/logger-0.2.3.tgz", + "integrity": "sha512-PrYcr1bWF+QpVnFxvNSZYBAzgL1WJFWIOvoLAfvRoXiinwqh1jbePN6lXbX7c8THaNUelEYIUOzDPdJ4IZ5+Sw==" }, "@firebase/messaging": { - "version": "0.6.14", - "resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.6.14.tgz", - "integrity": "sha512-OuXbSGrNxhWYuHTGAjM55uTUMwsxd+S+fxj6OOyY26ezBOGj0tdPAHnAq+9wFwaItgAx8RUMjJF98Cc08PQqPA==", + "version": "0.6.15", + "resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.6.15.tgz", + "integrity": "sha512-WswV3JtxAgqc0LPQtIBdMWJdMhVZu7gKF6MO5ETIpNaLZZ0QayYNu5+G9btoZz218HB/gvUp2NFX43OWAsqdZw==", "requires": { - "@firebase/component": "0.1.10", - "@firebase/installations": "0.4.8", + "@firebase/component": "0.1.11", + "@firebase/installations": "0.4.9", "@firebase/messaging-types": "0.4.4", - "@firebase/util": "0.2.45", + "@firebase/util": "0.2.46", "idb": "3.0.2", "tslib": "1.11.1" } @@ -1483,15 +1483,15 @@ "integrity": "sha512-JGtkr+1A1Dw7+yCqQigqBfGKtq0gTCruFScBD4MVjqZHiqGIYpnQisWnpGbkzPR6aOt6iQxgwxUhHG1ulUQGeg==" }, "@firebase/performance": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@firebase/performance/-/performance-0.3.2.tgz", - "integrity": "sha512-awtqXas+Z0aud73pjvf1fAXMYe8Q+TSKNKnwyeMLqAWwHMwoywKGgksqGvOeg5hGQl5H7lzcnFHJ0HybMy1b9w==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@firebase/performance/-/performance-0.3.3.tgz", + "integrity": "sha512-YcoMnJWnlSQwi+eL1BDLWK7/sMlFoT7+TSJjN/C5loOZ3HWLATziGzevQSZkpajyXZ8nOylVhEGHABLHM0qqNA==", "requires": { - "@firebase/component": "0.1.10", - "@firebase/installations": "0.4.8", - "@firebase/logger": "0.2.2", + "@firebase/component": "0.1.11", + "@firebase/installations": "0.4.9", + "@firebase/logger": "0.2.3", "@firebase/performance-types": "0.0.12", - "@firebase/util": "0.2.45", + "@firebase/util": "0.2.46", "tslib": "1.11.1" } }, @@ -1501,9 +1501,9 @@ "integrity": "sha512-eIDF7CHetOE5sc+hCaUebEn/2Aiaju7UkgZDTl7lNQHz5fK9wJ/11HaE8WdnDr//ngS3lQAGC2RB4lAZeEWraA==" }, "@firebase/polyfill": { - "version": "0.3.34", - "resolved": "https://registry.npmjs.org/@firebase/polyfill/-/polyfill-0.3.34.tgz", - "integrity": "sha512-6EN02vwhX6cmyB4YswKhHkS3kMeNDxjCgf4vR3L9wYv+A5QVgAM85ifzf3mZT0tq3f2LfIsTsCIr/mlz2Swl1A==", + "version": "0.3.35", + "resolved": "https://registry.npmjs.org/@firebase/polyfill/-/polyfill-0.3.35.tgz", + "integrity": "sha512-O04KLyrHFXnA8Xsx+zEBlHu6iHWWhXNtOIE9WhWZO+D9onVjNEY3l7KtXvwpH/b+R1PE0Uyxy0cSGK9f5el6HQ==", "requires": { "core-js": "3.6.5", "promise-polyfill": "8.1.3", @@ -1518,15 +1518,15 @@ } }, "@firebase/remote-config": { - "version": "0.1.19", - "resolved": "https://registry.npmjs.org/@firebase/remote-config/-/remote-config-0.1.19.tgz", - "integrity": "sha512-2n6bavDGO+cQsS3fs+yHthnkp5TKh8sqSD89dztt/b3/KKRb4C89r3apb6QIcQw/AlyToM+NyU6WIZyXfVAhqQ==", + "version": "0.1.20", + "resolved": "https://registry.npmjs.org/@firebase/remote-config/-/remote-config-0.1.20.tgz", + "integrity": "sha512-7ib4YhhQ/yjEhMiFsYEt4lId+9mzv5CGhGccArmgCyTNSkeImS/BqAeqcOtveyFXHSv9RDHaA4/L6066LsudRQ==", "requires": { - "@firebase/component": "0.1.10", - "@firebase/installations": "0.4.8", - "@firebase/logger": "0.2.2", + "@firebase/component": "0.1.11", + "@firebase/installations": "0.4.9", + "@firebase/logger": "0.2.3", "@firebase/remote-config-types": "0.1.8", - "@firebase/util": "0.2.45", + "@firebase/util": "0.2.46", "tslib": "1.11.1" } }, @@ -1536,13 +1536,13 @@ "integrity": "sha512-K12IBHO7OD4gCW0FEqZL9zMqVAfS4+joC4YIn3bHezZfu3RL+Bw1wCb0cAD7RfDPcQxWJjxOHpce4YhuqSxPFA==" }, "@firebase/storage": { - "version": "0.3.32", - "resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.3.32.tgz", - "integrity": "sha512-mwWI03VbTd1jP7mmeNBv7mJ96i8GUX1fSxVept5aV2FQb2pAWTKXr7Gmxg06w642I0T1+qZTRVXs8G5m8vuTjg==", + "version": "0.3.33", + "resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.3.33.tgz", + "integrity": "sha512-pFhsy+LglBjyVAYd6LlyUTeHTXR4yV24eL+fLZCYOE3W23Ago/3RpkX+MaEP5ZSpdFmnV/H6R6qDClSFx1EEYA==", "requires": { - "@firebase/component": "0.1.10", + "@firebase/component": "0.1.11", "@firebase/storage-types": "0.3.11", - "@firebase/util": "0.2.45", + "@firebase/util": "0.2.46", "tslib": "1.11.1" } }, @@ -1552,17 +1552,17 @@ "integrity": "sha512-EMOo5aeiJIa8eQ/VqjIa/DYlDcEJX1V84FOxmLfNWZIlmCSvcqx9E9mcNlOnoUB4iePqQjTMQRtKlIBvvEVhVg==" }, "@firebase/util": { - "version": "0.2.45", - "resolved": "https://registry.npmjs.org/@firebase/util/-/util-0.2.45.tgz", - "integrity": "sha512-k3IqXaIgwlPg7m5lXmMUtkqA/p+LMFkFQIqBuDtdT0iyWB6kQDokyjw2Sgd3GoTybs6tWqUKFZupZpV6r73UHw==", + "version": "0.2.46", + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-0.2.46.tgz", + "integrity": "sha512-rKzQRc7YAbve+MECliis5ac6lRB1AZgOyZdoAbXaEtmGWUwnlM99uNhCekA963CaBkzlHwQG2inLf3WGW7nLFA==", "requires": { "tslib": "1.11.1" } }, "@firebase/webchannel-wrapper": { - "version": "0.2.39", - "resolved": "https://registry.npmjs.org/@firebase/webchannel-wrapper/-/webchannel-wrapper-0.2.39.tgz", - "integrity": "sha512-V5oQjtYxHlEpWdQr68ZFo8T+3NVccrTieRy8RnzYIasCeptxOxwYUG0cAAKmalgrrrfRJdXup8h5ybi3XSW9Hw==" + "version": "0.2.40", + "resolved": "https://registry.npmjs.org/@firebase/webchannel-wrapper/-/webchannel-wrapper-0.2.40.tgz", + "integrity": "sha512-f0jc79nQvwcwhOGFAD9b5K55Cb/a0A7LKBdRyQgVFLBGm+MuSFF5Rm/5Ll8/u72hJhbdICQj+xYl2uIuCMdXFQ==" }, "@grpc/grpc-js": { "version": "0.8.1", @@ -2480,9 +2480,9 @@ } }, "vfile": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.1.0.tgz", - "integrity": "sha512-BaTPalregj++64xbGK6uIlsurN3BCRNM/P2Pg8HezlGzKd1O9PrwIac6bd9Pdx2uTb0QHoioZ+rXKolbVXEgJg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.1.1.tgz", + "integrity": "sha512-lRjkpyDGjVlBA7cDQhQ+gNcvB1BGaTHYuSOcY3S7OhDmBtnzX95FhtZZDecSTDm6aajFymyve6S5DN4ZHGezdQ==", "dev": true, "requires": { "@types/unist": "^2.0.0", @@ -6531,6 +6531,16 @@ "capture-stack-trace": "^1.0.0" } }, + "create-file-webpack": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/create-file-webpack/-/create-file-webpack-1.0.2.tgz", + "integrity": "sha512-+J6kQTE+Wcobc6gHP8E2zmoeIC+J+p6IXqjFrzoxCl1VYlimWoincPUABAhODuXAJGrZcNZ/Up0PTqq1ISiwvA==", + "dev": true, + "requires": { + "path": "^0.12.7", + "write": "^1.0.3" + } + }, "create-hash": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", @@ -6886,9 +6896,9 @@ } }, "dayjs": { - "version": "1.8.26", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.8.26.tgz", - "integrity": "sha512-KqtAuIfdNfZR5sJY1Dixr2Is4ZvcCqhb0dZpCOt5dGEFiMzoIbjkTSzUb4QKTCsP+WNpGwUjAFIZrnZvUxxkhw==" + "version": "1.8.27", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.8.27.tgz", + "integrity": "sha512-Jpa2acjWIeOkg8KURUHICk0EqnEFSSF5eMEscsOgyJ92ZukXwmpmRkPSUka7KHSfbj5eKH30ieosYip+ky9emQ==" }, "de-indent": { "version": "1.0.2", @@ -8188,9 +8198,9 @@ "dev": true }, "eventemitter3": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz", - "integrity": "sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", + "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", "dev": true }, "events": { @@ -8585,9 +8595,9 @@ } }, "fibers": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/fibers/-/fibers-4.0.2.tgz", - "integrity": "sha512-FhICi1K4WZh9D6NC18fh2ODF3EWy1z0gzIdV9P7+s2pRjfRBnCkMDJ6x3bV1DkVymKH8HGrQa/FNOBjYvnJ/tQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/fibers/-/fibers-5.0.0.tgz", + "integrity": "sha512-UpGv/YAZp7mhKHxDvC1tColrroGRX90sSvh8RMZV9leo+e5+EkRVgCEZPlmXeo3BUNQTZxUaVdLskq1Q2FyCPg==", "dev": true, "requires": { "detect-libc": "^1.0.3" @@ -8758,24 +8768,24 @@ } }, "firebase": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/firebase/-/firebase-7.14.2.tgz", - "integrity": "sha512-B06h1sXe9ODcoHv0EjF4+CEcm2Gl+8eSL35iAYn8ZRi5Qzivlge312iSROLwGeIIO2QOA+2ap9D6/X52eLIAOg==", + "version": "7.14.4", + "resolved": "https://registry.npmjs.org/firebase/-/firebase-7.14.4.tgz", + "integrity": "sha512-BeI+Jfyg1QyNPY8tD+P0LeVbSqivQm3fEVPCoqVC/oYVusNplZD1LmMI5Swk3Wvh0G0BrSM1nhtv0/nF98fSUg==", "requires": { - "@firebase/analytics": "0.3.3", - "@firebase/app": "0.6.2", + "@firebase/analytics": "0.3.4", + "@firebase/app": "0.6.3", "@firebase/app-types": "0.6.0", - "@firebase/auth": "0.14.4", - "@firebase/database": "0.6.1", - "@firebase/firestore": "1.14.2", - "@firebase/functions": "0.4.42", - "@firebase/installations": "0.4.8", - "@firebase/messaging": "0.6.14", - "@firebase/performance": "0.3.2", - "@firebase/polyfill": "0.3.34", - "@firebase/remote-config": "0.1.19", - "@firebase/storage": "0.3.32", - "@firebase/util": "0.2.45" + "@firebase/auth": "0.14.5", + "@firebase/database": "0.6.2", + "@firebase/firestore": "1.14.4", + "@firebase/functions": "0.4.43", + "@firebase/installations": "0.4.9", + "@firebase/messaging": "0.6.15", + "@firebase/performance": "0.3.3", + "@firebase/polyfill": "0.3.35", + "@firebase/remote-config": "0.1.20", + "@firebase/storage": "0.3.33", + "@firebase/util": "0.2.46" } }, "flat": { @@ -9845,20 +9855,12 @@ "dev": true }, "gonzales-pe": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.2.4.tgz", - "integrity": "sha512-v0Ts/8IsSbh9n1OJRnSfa7Nlxi4AkXIsWB6vPept8FDbL4bXn3FNuxjYtO/nmBGu7GDkL9MFeGebeSu6l55EPQ==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.3.0.tgz", + "integrity": "sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==", "dev": true, "requires": { - "minimist": "1.1.x" - }, - "dependencies": { - "minimist": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.1.3.tgz", - "integrity": "sha1-O+39kaktOQFvz6ocaB6Pqhoe/ag=", - "dev": true - } + "minimist": "^1.2.5" } }, "good-listener": { @@ -10388,9 +10390,9 @@ "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=" }, "http-proxy": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.0.tgz", - "integrity": "sha512-84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ==", + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", "dev": true, "requires": { "eventemitter3": "^4.0.0", @@ -10709,12 +10711,6 @@ "loose-envify": "^1.0.0" } }, - "invert-kv": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", - "dev": true - }, "ip": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", @@ -11487,15 +11483,6 @@ } } }, - "lcid": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", - "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", - "dev": true, - "requires": { - "invert-kv": "^2.0.0" - } - }, "leopard-tie-client": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/leopard-tie-client/-/leopard-tie-client-3.0.4.tgz", @@ -11546,19 +11533,19 @@ } }, "lint-staged": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-10.2.2.tgz", - "integrity": "sha512-78kNqNdDeKrnqWsexAmkOU3Z5wi+1CsQmUmfCuYgMTE8E4rAIX8RHW7xgxwAZ+LAayb7Cca4uYX4P3LlevzjVg==", + "version": "10.2.4", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-10.2.4.tgz", + "integrity": "sha512-doTMGKXQAT34c3S3gwDrTnXmCZp/z1/92D8suPqqh755sKPT18ew1NoPNHxJdrvv1D4WrJ7CEnx79Ns3EdEFbg==", "dev": true, "requires": { "chalk": "^4.0.0", - "commander": "^5.0.0", + "commander": "^5.1.0", "cosmiconfig": "^6.0.0", "debug": "^4.1.1", "dedent": "^0.7.0", - "execa": "^4.0.0", - "listr2": "1.3.8", - "log-symbols": "^3.0.0", + "execa": "^4.0.1", + "listr2": "^2.0.2", + "log-symbols": "^4.0.0", "micromatch": "^4.0.2", "normalize-path": "^3.0.0", "please-upgrade-node": "^3.2.0", @@ -11650,9 +11637,9 @@ } }, "execa": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.0.0.tgz", - "integrity": "sha512-JbDUxwV3BoT5ZVXQrSVbAiaXhXUkIwvbhPIwZ0N13kX+5yCzOhUNdocxB/UQRuYOHRYYwAxKYwJYc0T4D12pDA==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.0.1.tgz", + "integrity": "sha512-SCjM/zlBdOK8Q5TIjOn6iEHZaPHFsMoTxXQ2nvUvtPnuohz3H2dIozSg+etNR98dGoYUp2ENSKLL/XaMmbxVgw==", "dev": true, "requires": { "cross-spawn": "^7.0.0", @@ -11713,64 +11700,12 @@ "dev": true }, "log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", + "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": "^2.4.2" - }, - "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 - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "chalk": "^4.0.0" } }, "micromatch": { @@ -11864,23 +11799,23 @@ } }, "listr2": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-1.3.8.tgz", - "integrity": "sha512-iRDRVTgSDz44tBeBBg/35TQz4W+EZBWsDUq7hPpqeUHm7yLPNll0rkwW3lIX9cPAK7l+x95mGWLpxjqxftNfZA==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-2.0.4.tgz", + "integrity": "sha512-oJaAcplPsa72rKW0eg4P4LbEJjhH+UO2I8uqR/I2wzHrVg16ohSfUy0SlcHS21zfYXxtsUpL8YXGHjyfWMR0cg==", "dev": true, "requires": { "@samverschueren/stream-to-observable": "^0.3.0", - "chalk": "^3.0.0", + "chalk": "^4.0.0", "cli-cursor": "^3.1.0", "cli-truncate": "^2.1.0", "elegant-spinner": "^2.0.0", - "enquirer": "^2.3.4", + "enquirer": "^2.3.5", "figures": "^3.2.0", "indent-string": "^4.0.0", "log-update": "^4.0.0", "p-map": "^4.0.0", "pad": "^3.2.0", - "rxjs": "^6.3.3", + "rxjs": "^6.5.5", "through": "^2.3.8", "uuid": "^7.0.2" }, @@ -11896,9 +11831,9 @@ } }, "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", + "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -11972,6 +11907,15 @@ "signal-exit": "^3.0.2" } }, + "rxjs": { + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz", + "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, "supports-color": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", @@ -11980,6 +11924,12 @@ "requires": { "has-flag": "^4.0.0" } + }, + "uuid": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", + "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==", + "dev": true } } }, @@ -12097,8 +12047,7 @@ "lodash": { "version": "4.17.15", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", - "dev": true + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" }, "lodash.camelcase": { "version": "4.3.0", @@ -12693,6 +12642,14 @@ "to-regex": "^3.0.2" } }, + "mikro-config": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/mikro-config/-/mikro-config-2.0.3.tgz", + "integrity": "sha512-kDVc++gZAgpp9ecuMkEwmjYwXJMyVdyx4jtfZl7DG6bc7EAV/4ZjIYkRWhfQ+AONn+wJXDYET0HHYR1+zaO7qA==", + "requires": { + "lodash": "^4.17.15" + } + }, "miller-rabin": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", @@ -13575,17 +13532,6 @@ "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", "dev": true }, - "os-locale": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", - "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", - "dev": true, - "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" - } - }, "os-name": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/os-name/-/os-name-3.1.0.tgz", @@ -13876,6 +13822,33 @@ "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", "dev": true }, + "path": { + "version": "0.12.7", + "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", + "integrity": "sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8=", + "dev": true, + "requires": { + "process": "^0.11.1", + "util": "^0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "dev": true, + "requires": { + "inherits": "2.0.3" + } + } + } + }, "path-browserify": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", @@ -17634,9 +17607,9 @@ "dev": true }, "replace-string": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/replace-string/-/replace-string-3.0.0.tgz", - "integrity": "sha512-jE5X/k3p2v8p6+wxhM1Ti0Oj9lYtwPbMj0ty8iSFpAFIihkiNpl6uHgYW1De/r9DG3vA7HGIgIBMjlwJZXL02w==" + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/replace-string/-/replace-string-3.1.0.tgz", + "integrity": "sha512-yPpxc4ZR2makceA9hy/jHNqc7QVkd4Je/N0WRHm6bs3PtivPuPynxE5ejU/mp5EhnCv8+uZL7vhz8rkluSlx+Q==" }, "request": { "version": "2.88.2", @@ -18404,13 +18377,14 @@ } }, "sockjs": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", - "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==", + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.20.tgz", + "integrity": "sha512-SpmVOVpdq0DJc0qArhF3E5xsxvaiqGNb73XfgBpK1y3UD5gs8DSo8aCTsuT5pX8rssdc2NDIzANwP9eCAiSdTA==", "dev": true, "requires": { "faye-websocket": "^0.10.0", - "uuid": "^3.0.1" + "uuid": "^3.4.0", + "websocket-driver": "0.6.5" }, "dependencies": { "faye-websocket": { @@ -18427,6 +18401,15 @@ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", "dev": true + }, + "websocket-driver": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz", + "integrity": "sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY=", + "dev": true, + "requires": { + "websocket-extensions": ">=0.1.1" + } } } }, @@ -18957,9 +18940,9 @@ } }, "stylelint": { - "version": "13.3.3", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-13.3.3.tgz", - "integrity": "sha512-j8Oio2T1YNiJc6iXDaPYd74Jg4zOa1bByNm/g9/Nvnq4tDPsIjMi46jhRZyPPktGPwjJ5FwcmCqIRlH6PVP8mA==", + "version": "13.5.0", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-13.5.0.tgz", + "integrity": "sha512-+Jy7ieKAWKTf2tmcAE7jgScxH39Urb87i0bjK/enScFaGWWaFn4kAPwepGOSk2b7CLUDVt/O6kwA0x0p/V7moQ==", "dev": true, "requires": { "@stylelint/postcss-css-in-js": "^0.37.1", @@ -18971,7 +18954,7 @@ "debug": "^4.1.1", "execall": "^2.0.0", "file-entry-cache": "^5.0.1", - "get-stdin": "^7.0.0", + "get-stdin": "^8.0.0", "global-modules": "^2.0.0", "globby": "^11.0.0", "globjoin": "^0.1.4", @@ -18979,15 +18962,15 @@ "ignore": "^5.1.4", "import-lazy": "^4.0.0", "imurmurhash": "^0.1.4", - "known-css-properties": "^0.18.0", + "known-css-properties": "^0.19.0", "leven": "^3.1.0", "lodash": "^4.17.15", - "log-symbols": "^3.0.0", + "log-symbols": "^4.0.0", "mathml-tag-names": "^2.1.3", - "meow": "^6.1.0", + "meow": "^7.0.1", "micromatch": "^4.0.2", "normalize-selector": "^0.2.0", - "postcss": "^7.0.27", + "postcss": "^7.0.30", "postcss-html": "^0.36.0", "postcss-less": "^3.1.4", "postcss-media-query-parser": "^0.2.3", @@ -18998,7 +18981,7 @@ "postcss-scss": "^2.0.0", "postcss-selector-parser": "^6.0.2", "postcss-syntax": "^0.36.2", - "postcss-value-parser": "^4.0.3", + "postcss-value-parser": "^4.1.0", "resolve-from": "^5.0.0", "slash": "^3.0.0", "specificity": "^0.4.1", @@ -19040,6 +19023,12 @@ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true }, + "arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", + "dev": true + }, "braces": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", @@ -19050,9 +19039,9 @@ } }, "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.0.0.tgz", + "integrity": "sha512-8KMDF1Vz2gzOq54ONPJS65IvTUaB1cHJ2DMM7MbPmLZljDH1qpzzLsWdiN9pHh6qvkRVDTi/07+eNGch/oLU4w==", "dev": true }, "camelcase-keys": { @@ -19064,6 +19053,14 @@ "camelcase": "^5.3.1", "map-obj": "^4.0.0", "quick-lru": "^4.0.1" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + } } }, "chalk": { @@ -19174,9 +19171,9 @@ } }, "get-stdin": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-7.0.0.tgz", - "integrity": "sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", + "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", "dev": true }, "glob-parent": { @@ -19266,9 +19263,9 @@ "dev": true }, "known-css-properties": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.18.0.tgz", - "integrity": "sha512-69AgJ1rQa7VvUsd2kpvVq+VeObDuo3zrj0CzM5Slmf6yduQFAI2kXPDQJR2IE/u6MSAUOJrwSzjg5vlz8qcMiw==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.19.0.tgz", + "integrity": "sha512-eYboRV94Vco725nKMlpkn3nV2+96p9c3gKXRsYqAJSswSENvBhN7n5L+uDhY58xQa0UukWsDMTGELzmD8Q+wTA==", "dev": true }, "locate-path": { @@ -19281,64 +19278,12 @@ } }, "log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", + "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": "^2.4.2" - }, - "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 - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "chalk": "^4.0.0" } }, "map-obj": { @@ -19348,12 +19293,14 @@ "dev": true }, "meow": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-6.1.1.tgz", - "integrity": "sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-7.0.1.tgz", + "integrity": "sha512-tBKIQqVrAHqwit0vfuFPY3LlzJYkEOFyKa3bPgxzNl6q/RtN8KQ+ALYEASYuFayzSAsjlhXj/JZ10rH85Q6TUw==", "dev": true, "requires": { "@types/minimist": "^1.2.0", + "arrify": "^2.0.1", + "camelcase": "^6.0.0", "camelcase-keys": "^6.2.2", "decamelize-keys": "^1.1.0", "hard-rejection": "^2.1.0", @@ -19377,13 +19324,22 @@ } }, "minimist-options": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.0.2.tgz", - "integrity": "sha512-seq4hpWkYSUh1y7NXxzucwAN9yVlBc3Upgdjz8vLCP97jG8kaOmzYrVH/m7tQ1NYD1wdtZbSLfdy4zFmRWuc/w==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", "dev": true, "requires": { "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0" + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "dependencies": { + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + } } }, "p-limit": { @@ -19422,6 +19378,80 @@ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true }, + "postcss": { + "version": "7.0.30", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.30.tgz", + "integrity": "sha512-nu/0m+NtIzoubO+xdAlwZl/u5S5vi/y6BCsoL8D+8IxsD3XvBS8X4YEADNIVXKVuQvduiucnRv+vPIqj56EGMQ==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.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" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "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 + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "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" + } + } + } + }, "postcss-less": { "version": "3.1.4", "resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-3.1.4.tgz", @@ -19524,12 +19554,12 @@ } }, "postcss-scss": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-2.0.0.tgz", - "integrity": "sha512-um9zdGKaDZirMm+kZFKKVsnKPF7zF7qBAtIfTSnZXD1jZ0JNZIxdB6TxQOjCnlSzLRInVl2v3YdBh/M881C4ug==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-2.1.1.tgz", + "integrity": "sha512-jQmGnj0hSGLd9RscFw9LyuSVAa5Bl1/KBPqG1NQw9w8ND55nY4ZEsdlVuYJvLPpV+y0nwTV5v/4rHPzZRihQbA==", "dev": true, "requires": { - "postcss": "^7.0.0" + "postcss": "^7.0.6" } }, "quick-lru": { @@ -19673,6 +19703,14 @@ "requires": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + } } } } @@ -21017,9 +21055,9 @@ "dev": true }, "uuid": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.2.tgz", - "integrity": "sha512-vy9V/+pKG+5ZTYKf+VcphF5Oc6EFiu3W8Nv3P3zIh0EqVI80ZxOzuPfe9EHjkFNvf8+xuTHVeei4Drydlx4zjw==" + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.1.0.tgz", + "integrity": "sha512-CI18flHDznR0lq54xBycOVmphdCYnQLKn8abKn7PXUiKUGdEd+/l9LWNJmugXel4hXq7S+RMNl34ecyC9TntWg==" }, "v8-compile-cache": { "version": "2.1.0", @@ -21167,9 +21205,9 @@ "integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==" }, "vue-loader": { - "version": "15.9.1", - "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.1.tgz", - "integrity": "sha512-IaPU2KOPjs/QjMlxFs/TiTtQUSbftQ7lsAvoxe21rtcQohsMhx+1AltXCNhZIpIn46PtODiAgz+o8RbMpKtmJw==", + "version": "15.9.2", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.2.tgz", + "integrity": "sha512-oXBubaY//CYEISBlHX+c2YPJbmOH68xXPXjFv4MAgPqQvUsnjrBAjCJi8HXZ/r/yfn0tPL5VZj1Zcp8mJPI8VA==", "requires": { "@vue/component-compiler-utils": "^3.1.0", "hash-sum": "^1.0.2", @@ -21198,9 +21236,9 @@ "integrity": "sha512-0N9CNuQu+36CJpdsZHrhdq7d18oBvjVMjawyKdIr8xuzFWLfdxECZQYbFaYoopPBg3SvkEEMtkhYqdgTQl5Y+A==" }, "vue-router": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.1.6.tgz", - "integrity": "sha512-GYhn2ynaZlysZMkFE5oCHRUTqE8BWs/a9YbKpNLi0i7xD6KG1EzDqpHQmv1F5gXjr8kL5iIVS8EOtRaVUEXTqA==" + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.2.0.tgz", + "integrity": "sha512-khkrcUIzMcI1rDcNtqkvLwfRFzB97GmJEsPAQdj7t/VvpGhmXLOkUfhc+Ah8CvpSXGXwuWuQO+x8Sy/xDhXZIA==" }, "vue-shortkey": { "version": "3.1.7", @@ -21251,9 +21289,9 @@ "integrity": "sha512-/wM6+wVxwqbCzB/5ZDOZeEHnCmYBFMAyPJ+syqpTWyhBshvf7P+PRhHLyITZ8kzkh+a2Q+YaZcemTP4F1ieH9g==" }, "vuetify": { - "version": "2.2.27", - "resolved": "https://registry.npmjs.org/vuetify/-/vuetify-2.2.27.tgz", - "integrity": "sha512-vcCrcoUEdveXgM9BVq5ZWTiWlJZo/J7ZQCpvOD8+VtkrBNbCeTsJAygoGB+6rRDy3TBQqxdCvi42IDNwJVqiJg==" + "version": "2.2.29", + "resolved": "https://registry.npmjs.org/vuetify/-/vuetify-2.2.29.tgz", + "integrity": "sha512-UI1i8kEdV+s7tNQe2yJJMPlvxGTE8cZfUAXEGV2yO4owHmeybn6p5YzFpJqimoKkfX6ok+zV29+6yIKfkyUDAA==" }, "vuetify-loader": { "version": "1.4.3", @@ -21270,9 +21308,9 @@ "integrity": "sha512-i4rd+XBFjhesm1GyuwgeSP5moKfBMFOmhkoPRru+DxkVSyD1fAn1W+zko5XyLRAAfIunR3WsFRYWTvZoCwVI9g==" }, "vuex": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/vuex/-/vuex-3.3.0.tgz", - "integrity": "sha512-1MfcBt+YFd20DPwKe0ThhYm1UEXZya4gVKUvCy7AtS11YAOUR+9a6u4fsv1Rr6ePZCDNxW/M1zuIaswp6nNv8Q==" + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/vuex/-/vuex-3.4.0.tgz", + "integrity": "sha512-ajtqwEW/QhnrBZQsZxCLHThZZaa+Db45c92Asf46ZDXu6uHXgbfVuBaJ4gzD2r4UX0oMJHstFwd2r2HM4l8umg==" }, "vuex-i18n": { "version": "1.13.1", @@ -21504,9 +21542,9 @@ } }, "webpack-dev-server": { - "version": "3.10.3", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.10.3.tgz", - "integrity": "sha512-e4nWev8YzEVNdOMcNzNeCN947sWJNd43E5XvsJzbAL08kGc2frm1tQ32hTJslRS+H65LCb/AaUCYU7fjHCpDeQ==", + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz", + "integrity": "sha512-PUxZ+oSTxogFQgkTtFndEtJIPNmml7ExwufBZ9L2/Xyyd5PnOL5UreWe5ZT7IU25DSdykL9p1MLQzmLh2ljSeg==", "dev": true, "requires": { "ansi-html": "0.0.7", @@ -21517,37 +21555,37 @@ "debug": "^4.1.1", "del": "^4.1.1", "express": "^4.17.1", - "html-entities": "^1.2.1", + "html-entities": "^1.3.1", "http-proxy-middleware": "0.19.1", "import-local": "^2.0.0", "internal-ip": "^4.3.0", "ip": "^1.1.5", "is-absolute-url": "^3.0.3", "killable": "^1.0.1", - "loglevel": "^1.6.6", + "loglevel": "^1.6.8", "opn": "^5.5.0", "p-retry": "^3.0.1", - "portfinder": "^1.0.25", + "portfinder": "^1.0.26", "schema-utils": "^1.0.0", "selfsigned": "^1.10.7", "semver": "^6.3.0", "serve-index": "^1.9.1", - "sockjs": "0.3.19", + "sockjs": "0.3.20", "sockjs-client": "1.4.0", - "spdy": "^4.0.1", + "spdy": "^4.0.2", "strip-ansi": "^3.0.1", "supports-color": "^6.1.0", "url": "^0.11.0", "webpack-dev-middleware": "^3.7.2", "webpack-log": "^2.0.0", "ws": "^6.2.1", - "yargs": "12.0.5" + "yargs": "^13.3.2" }, "dependencies": { "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true }, "camelcase": { @@ -21557,23 +21595,23 @@ "dev": true }, "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", "dev": true, "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" }, "dependencies": { "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "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": "^3.0.0" + "ansi-regex": "^4.1.0" } } } @@ -21587,6 +21625,12 @@ "ms": "^2.1.1" } }, + "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", @@ -21596,6 +21640,12 @@ "locate-path": "^3.0.0" } }, + "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 + }, "is-absolute-url": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", @@ -21618,6 +21668,12 @@ "path-exists": "^3.0.0" } }, + "loglevel": { + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.8.tgz", + "integrity": "sha512-bsU7+gc9AJ2SqpzxwU3+1fedl8zAntbtC5XYlt3s2j1hJcn2PsXSmgN8TaLG/J1/2mod4+cE/3vNL70/c1RNCA==", + "dev": true + }, "p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", @@ -21642,6 +21698,12 @@ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "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 + }, "schema-utils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", @@ -21660,50 +21722,77 @@ "dev": true }, "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "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": "^4.0.0" + "strip-ansi": "^5.1.0" }, "dependencies": { "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "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": "^3.0.0" + "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" + }, + "dependencies": { + "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" + } + } + } + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, "yargs": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", - "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", "dev": true, "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.2.0", + "cliui": "^5.0.0", "find-up": "^3.0.0", - "get-caller-file": "^1.0.1", - "os-locale": "^3.0.0", + "get-caller-file": "^2.0.1", "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", + "require-main-filename": "^2.0.0", "set-blocking": "^2.0.0", - "string-width": "^2.0.0", + "string-width": "^3.0.0", "which-module": "^2.0.0", - "y18n": "^3.2.1 || ^4.0.0", - "yargs-parser": "^11.1.1" + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" } }, "yargs-parser": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", - "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", + "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", @@ -21790,9 +21879,9 @@ "optional": true }, "wicg-inert": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/wicg-inert/-/wicg-inert-3.0.2.tgz", - "integrity": "sha512-L2eSi1fx1M+WLLUccwzAulgK5hZtllRDvYk3UB/fe1ZqdkZS6dz718o6xfe3JUtBEJJnqvI6NF8m1bAHlg3JUg==" + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/wicg-inert/-/wicg-inert-3.0.3.tgz", + "integrity": "sha512-XwXf8K0NN4cpagjBlZ2/j/5Sjf6dW3HNbfywEy1y6Z8PJKvSHVGiuc5Id/9RZ6EmGq+GQCGTo7B2SK0Misbr6g==" }, "wide-align": { "version": "1.1.3", diff --git a/package.json b/package.json index d724a3bc..e2ff04e3 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "prettier": "prettier --write **/*.{ts,js,css,html,json,vue}", "release:dry-run": "release-it --dry-run", "release": "release-it", - "serve": "cross-env LOCAL=true cross-env VUE_APP_GET_STATIC_DEFAULT_CONFIG=false vue-cli-service serve --mode development --open" + "serve": "cross-env LOCAL=true vue-cli-service serve --mode development --open" }, "lint-staged": { "*.{js,vue}": [ @@ -49,9 +49,9 @@ "copy-to-clipboard": "^3.3.1", "core-js": "^3.6.5", "custom-event-polyfill": "^1.0.7", - "dayjs": "^1.8.26", + "dayjs": "^1.8.27", "element-matches": "^0.1.2", - "firebase": "^7.14.2", + "firebase": "^7.14.4", "gravatar": "^1.8.0", "is-html": "^2.0.0", "is-mobile": "^2.2.1", @@ -64,31 +64,32 @@ "plyr": "^3.6.2", "prismjs": "^1.20.0", "promised-location": "^1.0.1", - "replace-string": "^3.0.0", + "replace-string": "^3.1.0", "smoothscroll-polyfill": "^0.4.4", "striptags": "^3.1.1", "superagent": "^5.2.2", "ttl-localstorage": "^1.5.3", "url-parse": "^1.4.7", "url-regex": "^5.0.0", - "uuid": "^7.0.2", + "uuid": "^8.1.0", "vee-validate": "^3.3.0", "vue": "^2.6.11", "vue-directive-long-press": "^1.1.0", - "vue-loader": "^15.9.1", + "vue-loader": "^15.9.2", "vue-loaders": "^3.3.0", "vue-plyr": "^6.0.4", "vue-prism-component": "^1.2.0", - "vue-router": "^3.1.6", + "vue-router": "^3.2.0", "vue-shortkey": "^3.1.7", "vue-snotify": "^3.2.1", "vue-the-mask": "^0.11.1", "vue2-animate": "^2.1.3", - "vuetify": "^2.2.27", + "vuetify": "^2.2.29", "vuetify-upload-button": "^2.0.2", - "vuex": "^3.3.0", + "vuex": "^3.4.0", "vuex-i18n": "^1.13.1", - "wicg-inert": "^3.0.2" + "wicg-inert": "^3.0.3", + "mikro-config": "^2.0.3" }, "devDependencies": { "@babel/plugin-syntax-dynamic-import": "^7.8.3", @@ -102,13 +103,14 @@ "babel-eslint": "^10.1.0", "brotli-webpack-plugin": "^1.1.0", "compression-webpack-plugin": "^3.1.0", + "create-file-webpack": "^1.0.2", "cross-env": "^7.0.2", "eslint": "^6.8.0", "eslint-plugin-prettier": "^3.1.3", "eslint-plugin-vue": "^6.2.2", - "fibers": "^4.0.2", + "fibers": "^5.0.0", "filemanager-webpack-plugin": "^2.0.5", - "lint-staged": "^10.2.2", + "lint-staged": "^10.2.4", "postcss-html": "^0.36.0", "prettier": "^2.0.5", "prettier-eslint": "^9.0.1", @@ -116,7 +118,7 @@ "release-it": "^13.5.8", "sass": "^1.26.5", "sass-loader": "^8.0.2", - "stylelint": "^13.3.3", + "stylelint": "^13.5.0", "stylelint-config-prettier": "7.0.0", "stylelint-order": "^4.0.0", "terser-webpack-plugin": "^3.0.1", diff --git a/src/store.js b/src/store.js index 2b9f7e4c..73711c5d 100644 --- a/src/store.js +++ b/src/store.js @@ -2107,7 +2107,9 @@ async function handleTeneoResponse(currentUserInput, context, params, vuetify) { }; if (response.teneoResponse) { let ttsText = stripHtml(cleanEmptyChunks(response.teneoAnswer)); - if (tResp.hasParameter("tts")) { + if (tResp.hasParameter("tts") && tResp.getParameter("tts").indexOf("") !== -1) { + ttsText = tResp.getParameter("tts"); + } else if (tResp.hasParameter("tts")) { ttsText = stripHtml(tResp.getParameter("tts")); } context.commit("SET_ACCESSIBLE_ANNOUNCEMENT", "Chat Bot Said. " + ttsText + "."); diff --git a/src/teneo-assets/ExtensionHelper.groovy b/src/teneo-assets/ExtensionHelper.groovy index 8ff3bf9c..67400abf 100644 --- a/src/teneo-assets/ExtensionHelper.groovy +++ b/src/teneo-assets/ExtensionHelper.groovy @@ -8,13 +8,14 @@ import java.util.regex.PatternSyntaxException class ExtensionHelper { static String setUploadConfig(Map config) { - Map params = ['postUrl' : config.postUrl, - 'postFileNameParam' : config.get('postFileNameParam', 'file'), - 'postParams' : config.get('postParams', [:]), - 'teneoSuccessQuery' : config.get('teneoSuccessQuery', ''), - 'teneoFailureQuery' : config.get('teneoFailureQuery', ''), - 'reqUserInputSuccess': config.get('reqUserInputSuccess', 'I have uploaded my file'), - 'reqUserInputFailure': config.get('reqUserInputFailure', 'I tried uploading but it didn\'t work')] + Map params = [ + 'postUrl' : config.postUrl, + 'postFileNameParam' : config.get('postFileNameParam', 'file'), + 'postParams' : config.get('postParams', [:]), + 'teneoSuccessQuery' : config.get('teneoSuccessQuery', ''), + 'teneoFailureQuery' : config.get('teneoFailureQuery', ''), + 'reqUserInputSuccess': config.get('reqUserInputSuccess', 'I have uploaded my file'), + 'reqUserInputFailure': config.get('reqUserInputFailure', 'I tried uploading but it didn\'t work')] JsonOutput.toJson(['name': 'uploadConfig', 'parameters': params] as java.util.Map) } diff --git a/src/utils/buildConfig.js b/src/utils/buildConfig.js new file mode 100644 index 00000000..064dc607 --- /dev/null +++ b/src/utils/buildConfig.js @@ -0,0 +1,62 @@ +const fs = require("fs"); +const { getEnvValue } = require("./environmentVariables"); +const config = require("mikro-config").default; +let rawData = fs.readFileSync(`${config.get("solution.location.sourceFile")}`); +let solutionConfig = JSON.parse(rawData); + +let leopardConfig = { + isLocalDev: getEnvValue("LOCAL", false), + isDev: process.env.NODE_ENV === "development", + isProduction: process.env.NODE_ENV ? process.env.NODE_ENV === "production" : false, + embed: { + isInitialStateOpen: config.get("productionEmbed.initialStateOpen", false), + showCloseButton: config.get("productionEmbed.showCloseButton", true), + killSessionOnCloseEmbed: config.get("productionEmbed.killSessionWhenClosed", false) + }, + solutionConfig: { + buildConfig: solutionConfig + }, + mustSendLocationAtLogin: config.get("location.login.sendAtLogin", true), + ipUrl: config.get("location.login.serviceUrls.ip"), + geoUrl: config.get("location.login.serviceUrls.geo"), + hideConfigMenu: config.get("ui.hideConfigMenu", true), + hideArtificialSolutionsBranding: config.get("ui.hideTeneoBranding", false), + loadFreshConfigForNewSessions: !config.get("demoMode", false), + mustGetStaticDefaultConfig: getEnvValue("LOCAL", false) + ? false + : config.get("solution.location.placeInStaticFolder", false), + requestParams: "", + liveChat: { + licenseKey: config.get("liveChatInc.key"), + agentAssistServerUrl: config.get("liveChatInc.agentAssist.serverUrl") + }, + kuttItKey: config.get("ui.configArea.shareLink.kuttItApiKey"), + pusherKey: "", + locationIqKey: config.get("location.locationIq.key"), + firebase: { + authProviders: config.get("socialAuthentication.firebase.providers"), + apiKey: config.get("socialAuthentication.firebase.apiKey"), + authDomain: config.get("socialAuthentication.firebase.authDomain"), + databaseUrl: config.get("socialAuthentication.firebase.databaseUrl"), + projectId: config.get("socialAuthentication.firebase.projectId"), + storageBucket: config.get("socialAuthentication.firebase.storageBucket"), + messagingSenderId: config.get("socialAuthentication.firebase.messagingSenderId") + }, + auth: { + microsoft: { + tenant: config.get("socialAuthentication.firebase.microsoft.tenant"), + domainHint: config.get("socialAuthentication.firebase.microsoft.domainHint") + } + }, + logging: { + sentryDsn: config.get("logging.sentry.key"), + logRocket: config.get("logging.logRocket.key") + }, + build: { + compressJavascript: config.get("assets.compressJavascript", false), + compressCss: config.get("assets.compressCss", true) + } +}; + +exports.config = config; +exports.leopardConfig = leopardConfig; diff --git a/src/utils/environmentVariables.js b/src/utils/environmentVariables.js new file mode 100644 index 00000000..f92e756f --- /dev/null +++ b/src/utils/environmentVariables.js @@ -0,0 +1,14 @@ +const environmentVariables = process.env; +const getEnvValue = (name, fallback = "") => { + let result = fallback; + if (name in environmentVariables && environmentVariables[name] !== "") { + result = environmentVariables[name]; + if (result === "true") { + result = true; + } else if (result === "false") { + result = false; + } + } + return result; +}; +exports.getEnvValue = getEnvValue; diff --git a/src/utils/leopardConfig.js b/src/utils/leopardConfig.js index 2074da61..18d7e6d2 100644 --- a/src/utils/leopardConfig.js +++ b/src/utils/leopardConfig.js @@ -1,67 +1 @@ -const environmentVariables = process.env; - -const getEnvValue = (name, fallback = "") => { - let result = fallback; - if (name in environmentVariables && environmentVariables[name] !== "") { - result = environmentVariables[name]; - if (result === "true") { - result = true; - } else if (result === "false") { - result = false; - } - } - return result; -}; - -export default { - isProduction: getEnvValue("NODE_ENV", "production") === "production", - embed: { - isInitialStateOpen: getEnvValue("VUE_APP_EMBED_INITIAL_STATE_OPEN", false), - showCloseButton: getEnvValue("VUE_APP_EMBED_SHOW_CLOSE_BUTTON", true), - killSessionOnCloseEmbed: getEnvValue("VUE_APP_EMBED_KILL_SESSION_ON_CLOSE", false) - }, - solutionConfig: { - buildConfig: getEnvValue("VUE_APP_SOLUTION_CONFIG", {}) - }, - mustSendLocationAtLogin: getEnvValue("VUE_APP_SEND_LOCATION_LOGIN", true), - ipUrl: getEnvValue("VUE_APP_IP_URL"), - geoUrl: getEnvValue("VUE_APP_GEO_URL"), - hideConfigMenu: getEnvValue("VUE_APP_HIDE_CONFIG_MENU", true), - hideArtificialSolutionsBranding: getEnvValue("VUE_APP_HIDE_AS_BRANDING", false), - loadFreshConfigForNewSessions: getEnvValue("VUE_APP_LOAD_FRESH_CONFIG_FOR_NEW_SESSIONS", false), - mustGetStaticDefaultConfig: getEnvValue("VUE_APP_GET_STATIC_DEFAULT_CONFIG", false), - requestParams: - getEnvValue("VUE_APP_REQUEST_PARAMS").indexOf("CURL") !== -1 - ? "" - : getEnvValue("VUE_APP_REQUEST_PARAMS"), - liveChat: { - licenseKey: getEnvValue("VUE_APP_LIVE_CHAT_INC_KEY"), - agentAssistServerUrl: getEnvValue("VUE_APP_LIVE_CHAT_AGENT_ASSIST_SERVER") - }, - kuttItKey: getEnvValue("VUE_APP_KUTT_IT_API_KEY"), - pusherKey: getEnvValue("VUE_APP_PUSHER_KEY"), - locationIqKey: getEnvValue("VUE_APP_LOCATION_IQ_KEY"), - firebase: { - authProviders: getEnvValue("VUE_APP_FIREBASE_AUTH_PROVIDERS"), - apiKey: getEnvValue("VUE_APP_FIREBASE_API_KEY"), - authDomain: getEnvValue("VUE_APP_FIREBASE_AUTH_DOMAIN"), - databaseUrl: getEnvValue("VUE_APP_FIREBASE_DATABASE_URL"), - projectId: getEnvValue("VUE_APP_FIREBASE_PROJECT_ID"), - storageBucket: getEnvValue("VUE_APP_FIREBASE_STORAGE_BUCKET"), - messagingSenderId: getEnvValue("VUE_APP_FIREBASE_MESSAGING_SENDER_ID") - }, - auth: { - microsoft: { - tenant: getEnvValue("VUE_APP_AUTH_MS_TENANT"), - domainHint: getEnvValue("VUE_APP_AUTH_MS_DOMAIN_HINT") - } - }, - logging: { - sentryDsn: getEnvValue("VUE_APP_SENTRY_DSN"), - logRocket: getEnvValue("VUE_APP_LOG_ROCKET") - }, - build: { - compressJavascript: getEnvValue("VUE_APP_BUILD_COMPRESS_JAVASCRIPT_ASSETS", false), - compressCss: getEnvValue("VUE_APP_BUILD_COMPRESS_CSS_ASSETS", true) - } -}; +export default process.env.LEOPARD_CONFIG; diff --git a/vue.config.js b/vue.config.js index b3841d04..21d46600 100644 --- a/vue.config.js +++ b/vue.config.js @@ -1,3 +1,4 @@ +const { config, leopardConfig } = require("./src/utils/buildConfig"); const path = require("path"); const fs = require("fs"); const CompressionPlugin = require("compression-webpack-plugin"); @@ -6,43 +7,31 @@ const FileManagerPlugin = require("filemanager-webpack-plugin"); const WebpackDeletePlugin = require("webpack-delete-plugin"); const TerserPlugin = require("terser-webpack-plugin"); -// devtool: isLocalDev ? "source-map" : produceSourceMaps ? "source-map" : "", - -const environmentVariables = process.env; -const getEnvValue = (name, fallback = "") => { - let result = fallback; - if (name in environmentVariables && environmentVariables[name] !== "") { - result = environmentVariables[name]; - if (result === "true") { - result = true; - } else if (result === "false") { - result = false; - } - } - return result; -}; - -const isDev = process.env.NODE_ENV === "development"; -const isLocalDev = getEnvValue("LOCAL", false); +const isDev = leopardConfig.isDev; +const isLocalDev = leopardConfig.isLocalDev; let produceSourceMaps = false; -if (!isLocalDev && process.env.VUE_APP_SOURCE_MAP === "true") { +if (!isLocalDev && config.get("assets.produceSourceMap", true)) { produceSourceMaps = true; } else { produceSourceMaps = false; } -const enableCssCompression = getEnvValue("VUE_APP_BUILD_COMPRESS_CSS_ASSETS", true); -const enableJavaScriptCompression = getEnvValue("VUE_APP_BUILD_COMPRESS_JAVASCRIPT_ASSETS", true); +const enableCssCompression = config.get("assets.compressCss", true); +const enableJavaScriptCompression = config.get("assets.compressJavascript", true); console.log(`NODE_ENV = ${process.env.NODE_ENV}`); + if (isLocalDev) { - console.log(`Local Development - npm run serve: ${isLocalDev}`); + console.log(`Local Development Mode`); +} + +if (!isLocalDev) { + console.log(`Produce Source Maps: ${produceSourceMaps}`); + console.log(`Enable CSS Compression: ${enableCssCompression}`); + console.log(`Enable JavaScript Compression: ${enableJavaScriptCompression}`); } -console.log(`Produce Source Maps: ${produceSourceMaps}`); -console.log(`Enable CSS Compression: ${enableCssCompression}`); -console.log(`Enable JavaScript Compression: ${enableJavaScriptCompression}`); const compressionPluginTest = () => { let test = /\.css$|\.html$/; @@ -64,28 +53,17 @@ const brotliPluginTest = () => { return test; }; -const useStaticSolutionConfig = getEnvValue("VUE_APP_GET_STATIC_DEFAULT_CONFIG", false); +let useStaticSolutionConfig = isLocalDev ? false : leopardConfig.mustGetStaticDefaultConfig; +console.log("useStaticSolutionConfig", useStaticSolutionConfig); if (!useStaticSolutionConfig) { console.log( - `Solutions Config ${process.env.VUE_APP_SOLUTION_CONFIG_FILE} being ported to /dist/assets/js/leopardConfig.*.js` + `Solutions Config ${config.get( + "solution.location.sourceFile" + )} being ported to /dist/assets/js/leopardConfig.*.js` ); } -const solutionConfigFile = getEnvValue("VUE_APP_SOLUTION_CONFIG_FILE", "./env.solution.json"); - -let rawData = fs.readFileSync(`${process.env.VUE_APP_SOLUTION_CONFIG_FILE}`); -let solutionConfig = JSON.parse(rawData); -// if (useStaticSolutionConfig) { -// const vueVariables = {}; -// for (let [key, value] of Object.entries(environmentVariables)) { -// if (key.startsWith("VUE_APP")) { -// vueVariables[key] = value; -// } -// } -// solutionConfig.env = vueVariables; -// } -// let data = JSON.stringify(solutionConfig,null, 2); -// fs.writeFileSync("config.json", data); +const solutionConfigFile = config.get("solution.location.sourceFile", "./env.solution.json"); let buildConfig = { css: { @@ -117,7 +95,7 @@ let buildConfig = { }); config.plugin("define").tap(definitions => { Object.assign(definitions[0]["process.env"], { - VUE_APP_SOLUTION_CONFIG: JSON.stringify(solutionConfig) + LEOPARD_CONFIG: JSON.stringify(leopardConfig) }); return definitions; });