diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 42105047..4d0e3aa6 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -4,7 +4,7 @@ Describe the big picture of your changes here to communicate to the maintainers ## Types of changes -What types of changes does your code introduce to Appium? +What types of changes does your code introduce to the Chapter Website? _Put an `x` in the boxes that apply_ - [ ] Bugfix (non-breaking change which fixes an issue) diff --git a/.github/labeler.yml b/.github/labeler.yml index 6cba65a3..f069c6c2 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -1,26 +1,26 @@ # Add 'test' label to any change to *.spec.js files within the source dir -test: - - src/**/*.spec.js - - e2e/* +test: + - src/**/*.spec.js + - e2e/* # Add 'workflows' label to any new or updated GitHub action workflow -workflows: - - .github/workflows/* +workflows: + - .github/workflows/* # Add 'actions' label to any new or updated GitHub action workflow -actions: - - .github/actions/* +actions: + - .github/actions/* # Add 'angular' label to any changes done to the React application angular: - - src/* + - src/* # Add 'angular' label to any changes done to the React application ngrx: - - src/app/root-store + - src/app/root-store/* # Add the 'documentation' label to any changes in either of the documented files documentation: - - README.md - - LICENSE - - CODE_OF_CONDUCT.md \ No newline at end of file + - README.md + - LICENSE + - CODE_OF_CONDUCT.md diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 08fa6f42..163e97e6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,40 +1,40 @@ name: Build CI -on: - pull_request: - branches: - - develop +on: + pull_request: + branches: + - develop jobs: - build: - name: Test application and make sure it runs on ${{ matrix.os }} - runs-on: ${{ matrix.os }} - - strategy: - matrix: - node-version: [11.x] - os: [ubuntu-latest] - - steps: - - name: Checkout to current branch - uses: actions/checkout@v2 - - - name: Configure Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v1 - with: - node-version: ${{ matrix.node-version }} - - - name: Ensure a clean branch - run: | - echo 'Cleaning repo before executing build script...' - yarn clean - - - name: Install Dependencies - run: | - echo 'Running Setup...' - yarn install - - - name: Build Angular Application - run: | - echo 'Building Angular Application...' - yarn build \ No newline at end of file + build: + name: Test application and make sure it runs on ${{ matrix.os }} + runs-on: ${{ matrix.os }} + + strategy: + matrix: + node-version: [11.x] + os: [ubuntu-latest] + + steps: + - name: Checkout to current branch + uses: actions/checkout@v2 + + - name: Configure Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + + - name: Ensure a clean branch + run: | + echo 'Cleaning repo before executing build script...' + yarn clean + + - name: Install Dependencies + run: | + echo 'Running Setup...' + yarn install + + - name: Build Angular Application + run: | + echo 'Building Angular Application...' + yarn build diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml index 02ab8536..e44d3ec3 100644 --- a/.github/workflows/labeler.yml +++ b/.github/workflows/labeler.yml @@ -3,9 +3,9 @@ name: "Pull Request Labeler" on: [pull_request] jobs: - triage: - runs-on: ubuntu-latest - steps: - - uses: actions/labeler@v2 - with: - repo-token: "${{ secrets.GITHUB_TOKEN }}" \ No newline at end of file + triage: + runs-on: ubuntu-latest + steps: + - uses: actions/labeler@v2 + with: + repo-token: "${{ secrets.GITHUB_TOKEN }}" diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 4292cd44..86b6b5e4 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -1,41 +1,41 @@ name: Lint CI -on: - pull_request: - branches: - - develop - - master +on: + pull_request: + branches: + - develop + - master jobs: - build: - name: Test application and make sure it runs on ${{ matrix.os }} - runs-on: ${{ matrix.os }} - - strategy: - matrix: - node-version: [11.x] - os: [ubuntu-latest] - - steps: - - name: Checkout to current branch - uses: actions/checkout@v2 - - - name: Configure Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v1 - with: - node-version: ${{ matrix.node-version }} - - - name: Ensure a clean branch - run: | - echo 'Cleaning repo before executing lint script...' - yarn clean - - - name: Install Dependencies - run: | - echo 'Running Setup...' - yarn install - - - name: Lint Angular Application - run: | - echo 'Linting Angular Application...' - yarn lint \ No newline at end of file + build: + name: Test application and make sure it runs on ${{ matrix.os }} + runs-on: ${{ matrix.os }} + + strategy: + matrix: + node-version: [11.x] + os: [ubuntu-latest] + + steps: + - name: Checkout to current branch + uses: actions/checkout@v2 + + - name: Configure Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + + - name: Ensure a clean branch + run: | + echo 'Cleaning repo before executing lint script...' + yarn clean + + - name: Install Dependencies + run: | + echo 'Running Setup...' + yarn install + + - name: Lint Angular Application + run: | + echo 'Linting Angular Application...' + yarn lint diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a6e04053..91dd7f15 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,85 +1,85 @@ name: Deploy and Update Release Notes on: - push: - branches: - - master # Successful Merge on master branch + push: + branches: + - master # Successful Merge on master branch jobs: - deploy: - name: Deploy Angular Application - runs-on: ${{ matrix.os }} + deploy: + name: Deploy Angular Application + runs-on: ${{ matrix.os }} - strategy: - matrix: - node-version: [12.x] - os: [ubuntu-latest] + strategy: + matrix: + node-version: [12.x] + os: [ubuntu-latest] - steps: - - name: Checkout to current branch - uses: actions/checkout@v2 - with: - persist-credentials: false + steps: + - name: Checkout to current branch + uses: actions/checkout@v2 + with: + persist-credentials: false - - name: Configure Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v1 - with: - node-version: ${{ matrix.node-version }} + - name: Configure Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} - - name: Install Dependencies - run: | - echo 'Running Setup...' - yarn install - npm install -g @angular/cli + - name: Install Dependencies + run: | + echo 'Running Setup...' + yarn install + npm install -g @angular/cli - - name: Building Production Environment - run: | - echo 'Building and Compiling...' - rm -rf dist - yarn build - echo ${{ secrets. ACCESS_TOKEN }} + - name: Building Production Environment + run: | + echo 'Building and Compiling...' + rm -rf dist + yarn build + echo ${{ secrets. ACCESS_TOKEN }} - - name: Angular Deploy gh-pages Actions - uses: JamesIves/github-pages-deploy-action@releases/v3 - with: - ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }} # see the Configuration section for how you can create secrets - COMMIT_MESSAGE: Release ${{ github.event.pull_request.head.ref }} - BRANCH: gh-pages # The branch the action should deploy to. - BASE_BRANCH: master - FOLDER: dist + - name: Angular Deploy gh-pages Actions + uses: JamesIves/github-pages-deploy-action@releases/v3 + with: + ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }} # see the Configuration section for how you can create secrets + COMMIT_MESSAGE: Release ${{ github.event.pull_request.head.ref }} + BRANCH: gh-pages # The branch the action should deploy to. + BASE_BRANCH: master + FOLDER: dist - - name: Tag Deployment - run: | - echo 'Tagging Deployment...' - git tag -l ${{ github.event.pull_request.head.ref }} + - name: Tag Deployment + run: | + echo 'Tagging Deployment...' + git tag -l ${{ github.event.pull_request.head.ref }} - release: - name: Update Release notes and Changelog - runs-on: ${{ matrix.os }} - needs: deploy + release: + name: Update Release notes and Changelog + runs-on: ${{ matrix.os }} + needs: deploy - strategy: - matrix: - node-version: [12.x] - os: [ubuntu-latest] + strategy: + matrix: + node-version: [12.x] + os: [ubuntu-latest] - steps: - - name: Checkout to current branch - uses: actions/checkout@v2 - with: - persist-credentials: false + steps: + - name: Checkout to current branch + uses: actions/checkout@v2 + with: + persist-credentials: false - - name: Configure Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v1 - with: - node-version: ${{ matrix.node-version }} + - name: Configure Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} - - name: Install Dependencies - run: | - echo 'Running Setup...' - yarn install + - name: Install Dependencies + run: | + echo 'Running Setup...' + yarn install - - name: Update Release notes - run: | - echo 'Update Release Notes...' - npm run gren -- --token=${{ secrets.GREN_GITHUB_TOKEN }} + - name: Update Release notes + run: | + echo 'Update Release Notes...' + npm run gren -- --token=${{ secrets.GREN_GITHUB_TOKEN }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 66e7d5c9..e7df5387 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,46 +1,45 @@ name: Test CI -on: - pull_request: - branches: - - develop - - master +on: + pull_request: + branches: + - develop + - master jobs: - build: - name: Test application and make sure it runs on ${{ matrix.os }} - runs-on: ${{ matrix.os }} - - strategy: - matrix: - node-version: [11.x] - os: [ubuntu-latest] - - steps: - - name: Checkout to current branch - uses: actions/checkout@v2 - - - name: Configure Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v1 - with: - node-version: ${{ matrix.node-version }} - - - name: Ensure a clean branch - run: | - echo 'Cleaning repo before executing test scripts...' - yarn clean - - - name: Install Dependencies - run: | - echo 'Running Setup...' - yarn install - - - name: Running Protractor on Angular Application - run: | - echo 'Running Protractor on Angular Application...' - yarn e2e - - # - name: Running Test Script on Angular Application - # run: | - # echo 'Running Test Script on Angular Application...' - # yarn test \ No newline at end of file + build: + name: Test application and make sure it runs on ${{ matrix.os }} + runs-on: ${{ matrix.os }} + + strategy: + matrix: + node-version: [11.x] + os: [ubuntu-latest] + + steps: + - name: Checkout to current branch + uses: actions/checkout@v2 + + - name: Configure Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + + - name: Ensure a clean branch + run: | + echo 'Cleaning repo before executing test scripts...' + yarn clean + + - name: Install Dependencies + run: | + echo 'Running Setup...' + yarn install + + - name: Running Protractor on Angular Application + run: | + echo 'Running Protractor on Angular Application...' + yarn e2e + # - name: Running Test Script on Angular Application + # run: | + # echo 'Running Test Script on Angular Application...' + # yarn test diff --git a/.grenrc.js b/.grenrc.js index 5d52b881..d135e0b6 100644 --- a/.grenrc.js +++ b/.grenrc.js @@ -1,37 +1,37 @@ module.exports = { - dataSource: "prs", - prefix: "Release ", - ignoreLabels: [ - "actions", - "angular", - "dependencies", - "documentation", - "duplicate", - "help wanted", - "invalid", - "question", - "test", - "wontfix", - "workflows" - ], - template: { - commit: ({ message, url, author, name }) => - `- [${message}](${url}) - ${author ? `@${author}` : name}`, - issue: "- {{labels}} {{name}} [{{text}}]({{url}})", - label: "[**{{label}}**]", - noLabel: "closed", - group: "\n#### {{heading}}\n", - changelogTitle: "# Changelog\n\n", - release: function(placeholders, body) { - var fDate = new Date(placeholders.date); - return `## ${placeholders.release} ${fDate}\n${placeholders.body}`; + dataSource: "prs", + prefix: "Release ", + ignoreLabels: [ + "actions", + "angular", + "dependencies", + "documentation", + "duplicate", + "help wanted", + "invalid", + "question", + "test", + "wontfix", + "workflows", + ], + template: { + commit: ({ message, url, author, name }) => + `- [${message}](${url}) - ${author ? `@${author}` : name}`, + issue: "- {{labels}} {{name}} [{{text}}]({{url}})", + label: "[**{{label}}**]", + noLabel: "closed", + group: "\n#### {{heading}}\n", + changelogTitle: "# Changelog\n\n", + release: function (placeholders, body) { + var fDate = new Date(placeholders.date); + return `## ${placeholders.release} ${fDate}\n${placeholders.body}`; + }, + releaseSeparator: "\n---\n\n", }, - releaseSeparator: "\n---\n\n" - }, - onlyMilestones: false, - groupBy: { - "Features:": ["enhancement"], - "Bug Fixes:": ["bug"] - }, - changelogFilename: "CHANGELOG.md" + onlyMilestones: false, + groupBy: { + "Features:": ["enhancement"], + "Bug Fixes:": ["bug"], + }, + changelogFilename: "CHANGELOG.md", }; diff --git a/Dockerfile b/Dockerfile index 785e1605..193b9b6d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,10 @@ # base image FROM node:12.16.1 +LABEL maintainer="UCM ACM Chapter" +LABEL maintainer.email="acm@ucmerced.edu" +LABEL version="0.3.1" + # install chrome for protractor tests ENV APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=DontWarn RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - @@ -8,19 +12,16 @@ RUN sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable RUN apt-get update RUN apt-get install -yq google-chrome-stable -# set working directory -WORKDIR /app - -# add `/app/node_modules/.bin` to $PATH -ENV PATH /app/node_modules/.bin:$PATH +# use changes to package.json to force Docker not to use the cache +# when we change our application's angular dependencies: +COPY package.json /tmp/package.json +RUN cd /tmp && yarn install --silent +# RUN yarn global add --silent @angular/cli@8.3.14 +RUN mkdir -p /app && cp -a /tmp/node_modules /app/ -# install and cache app dependencies -COPY package.json /app/package.json -RUN yarn add node-sass -RUN yarn install -RUN yarn global add @angular/cli@8.3.14 - -# add app +# From here we load our application's code in, therefore the previous docker +# "layer" thats been cached will be used if possible +WORKDIR /app COPY . /app # Expose the port the app runs in @@ -28,3 +29,6 @@ EXPOSE 4200 # Serve the app CMD ["yarn", "docker"] + +HEALTHCHECK --interval=5m --timeout=3s \ + CMD curl -f http://localhost/ || exit 1 diff --git a/angular.json b/angular.json index 5380cb69..258c00a5 100644 --- a/angular.json +++ b/angular.json @@ -1,121 +1,121 @@ { - "$schema": "./node_modules/@angular/cli/lib/config/schema.json", - "version": 1, - "newProjectRoot": "projects", - "projects": { - "client": { - "projectType": "application", - "schematics": { - "@schematics/angular:component": { - "style": "scss" - } - }, - "root": "", - "sourceRoot": "src", - "prefix": "app", - "architect": { - "build": { - "builder": "@angular-devkit/build-angular:browser", - "options": { - "outputPath": "dist", - "index": "src/index.html", - "main": "src/main.ts", - "polyfills": "src/polyfills.ts", - "tsConfig": "tsconfig.app.json", - "aot": false, - "assets": ["src/favicon.ico", "src/assets"], - "styles": ["src/styles.scss"], - "scripts": [] - }, - "configurations": { - "production": { - "fileReplacements": [ - { - "replace": "src/environments/environment.ts", - "with": "src/environments/environment.prod.ts" + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "newProjectRoot": "projects", + "projects": { + "client": { + "projectType": "application", + "schematics": { + "@schematics/angular:component": { + "style": "scss" } - ], - "optimization": true, - "outputHashing": "all", - "sourceMap": false, - "extractCss": true, - "namedChunks": false, - "aot": true, - "extractLicenses": true, - "vendorChunk": false, - "buildOptimizer": true, - "budgets": [ - { - "type": "initial", - "maximumWarning": "2mb", - "maximumError": "5mb" + }, + "root": "", + "sourceRoot": "src", + "prefix": "app", + "architect": { + "build": { + "builder": "@angular-devkit/build-angular:browser", + "options": { + "outputPath": "dist", + "index": "src/index.html", + "main": "src/main.ts", + "polyfills": "src/polyfills.ts", + "tsConfig": "tsconfig.app.json", + "aot": false, + "assets": ["src/favicon.ico", "src/assets"], + "styles": ["src/styles.scss"], + "scripts": [] + }, + "configurations": { + "production": { + "fileReplacements": [ + { + "replace": "src/environments/environment.ts", + "with": "src/environments/environment.prod.ts" + } + ], + "optimization": true, + "outputHashing": "all", + "sourceMap": false, + "extractCss": true, + "namedChunks": false, + "aot": true, + "extractLicenses": true, + "vendorChunk": false, + "buildOptimizer": true, + "budgets": [ + { + "type": "initial", + "maximumWarning": "2mb", + "maximumError": "5mb" + }, + { + "type": "anyComponentStyle", + "maximumWarning": "6kb", + "maximumError": "10kb" + } + ] + } + } + }, + "serve": { + "builder": "@angular-devkit/build-angular:dev-server", + "options": { + "browserTarget": "client:build" + }, + "configurations": { + "production": { + "browserTarget": "client:build:production" + } + } + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n", + "options": { + "browserTarget": "client:build" + } + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "main": "src/test.ts", + "polyfills": "src/polyfills.ts", + "tsConfig": "tsconfig.spec.json", + "karmaConfig": "karma.conf.js", + "assets": ["src/favicon.ico", "src/assets"], + "styles": ["src/styles.scss"], + "scripts": [] + } }, - { - "type": "anyComponentStyle", - "maximumWarning": "6kb", - "maximumError": "10kb" + "lint": { + "builder": "@angular-devkit/build-angular:tslint", + "options": { + "tsConfig": [ + "tsconfig.app.json", + "tsconfig.spec.json", + "e2e/tsconfig.json" + ], + "exclude": ["**/node_modules/**"] + } + }, + "e2e": { + "builder": "@angular-devkit/build-angular:protractor", + "options": { + "protractorConfig": "e2e/protractor.conf.js", + "devServerTarget": "client:serve" + }, + "configurations": { + "production": { + "devServerTarget": "client:serve:production" + } + } } - ] - } - } - }, - "serve": { - "builder": "@angular-devkit/build-angular:dev-server", - "options": { - "browserTarget": "client:build" - }, - "configurations": { - "production": { - "browserTarget": "client:build:production" - } - } - }, - "extract-i18n": { - "builder": "@angular-devkit/build-angular:extract-i18n", - "options": { - "browserTarget": "client:build" - } - }, - "test": { - "builder": "@angular-devkit/build-angular:karma", - "options": { - "main": "src/test.ts", - "polyfills": "src/polyfills.ts", - "tsConfig": "tsconfig.spec.json", - "karmaConfig": "karma.conf.js", - "assets": ["src/favicon.ico", "src/assets"], - "styles": ["src/styles.scss"], - "scripts": [] - } - }, - "lint": { - "builder": "@angular-devkit/build-angular:tslint", - "options": { - "tsConfig": [ - "tsconfig.app.json", - "tsconfig.spec.json", - "e2e/tsconfig.json" - ], - "exclude": ["**/node_modules/**"] - } - }, - "e2e": { - "builder": "@angular-devkit/build-angular:protractor", - "options": { - "protractorConfig": "e2e/protractor.conf.js", - "devServerTarget": "client:serve" - }, - "configurations": { - "production": { - "devServerTarget": "client:serve:production" } - } } - } + }, + "defaultProject": "client", + "cli": { + "defaultCollection": "@ngrx/schematics" } - }, - "defaultProject": "client", - "cli": { - "defaultCollection": "@ngrx/schematics" - } } diff --git a/e2e/protractor.conf.js b/e2e/protractor.conf.js index cc08c41f..10ea77d2 100644 --- a/e2e/protractor.conf.js +++ b/e2e/protractor.conf.js @@ -8,32 +8,30 @@ const { SpecReporter } = require("jasmine-spec-reporter"); * @type { import("protractor").Config } */ exports.config = { - allScriptsTimeout: 11000, - specs: ["./src/**/*.e2e-spec.ts"], - capabilities: { - browserName: "chrome", - 'chromeOptions': { - 'args': [ - '--no-sandbox', - '--headless', - '--window-size=1024,768' - ] - } - }, - directConnect: true, - baseUrl: "http://localhost:4200/", - framework: "jasmine", - jasmineNodeOpts: { - showColors: true, - defaultTimeoutInterval: 30000, - print: function() {} - }, - onPrepare() { - require("ts-node").register({ - project: require("path").join(__dirname, "./tsconfig.json") - }); - jasmine - .getEnv() - .addReporter(new SpecReporter({ spec: { displayStacktrace: true } })); - } + allScriptsTimeout: 11000, + specs: ["./src/**/*.e2e-spec.ts"], + capabilities: { + browserName: "chrome", + chromeOptions: { + args: ["--no-sandbox", "--headless", "--window-size=1024,768"], + }, + }, + directConnect: true, + baseUrl: "http://localhost:4200/", + framework: "jasmine", + jasmineNodeOpts: { + showColors: true, + defaultTimeoutInterval: 30000, + print: function () {}, + }, + onPrepare() { + require("ts-node").register({ + project: require("path").join(__dirname, "./tsconfig.json"), + }); + jasmine + .getEnv() + .addReporter( + new SpecReporter({ spec: { displayStacktrace: true } }) + ); + }, }; diff --git a/e2e/src/app.e2e-spec.ts b/e2e/src/app.e2e-spec.ts index d7fc25a0..102c2881 100644 --- a/e2e/src/app.e2e-spec.ts +++ b/e2e/src/app.e2e-spec.ts @@ -2,27 +2,24 @@ import { AppPage } from "./app.po"; import { browser, logging } from "protractor"; describe("workspace-project App", () => { - let page: AppPage; + let page: AppPage; - beforeEach(() => { - page = new AppPage(); - }); + beforeEach(() => { + page = new AppPage(); + }); - it("should display welcome message", () => { - page.navigateTo(); - expect(page.getTitleText()).toEqual("ACM @ UCM"); - }); + it("should display welcome message", () => { + page.navigateTo(); + expect(page.getTitleText()).toEqual("ACM @ UCM"); + }); - afterEach(async () => { - // Assert that there are no errors emitted from the browser - const logs = await browser - .manage() - .logs() - .get(logging.Type.BROWSER); - expect(logs).not.toContain( - jasmine.objectContaining({ - level: logging.Level.SEVERE - } as logging.Entry) - ); - }); + afterEach(async () => { + // Assert that there are no errors emitted from the browser + const logs = await browser.manage().logs().get(logging.Type.BROWSER); + expect(logs).not.toContain( + jasmine.objectContaining({ + level: logging.Level.SEVERE, + } as logging.Entry) + ); + }); }); diff --git a/e2e/src/app.po.ts b/e2e/src/app.po.ts index 91695707..dc14107b 100644 --- a/e2e/src/app.po.ts +++ b/e2e/src/app.po.ts @@ -1,13 +1,11 @@ import { browser, by, element } from "protractor"; export class AppPage { - navigateTo() { - return browser.get(browser.baseUrl) as Promise; - } + navigateTo() { + return browser.get(browser.baseUrl) as Promise; + } - getTitleText() { - return browser.getTitle() as Promise< - string - >; - } + getTitleText() { + return browser.getTitle() as Promise; + } } diff --git a/e2e/tsconfig.json b/e2e/tsconfig.json index 677f30ff..5baa08a0 100644 --- a/e2e/tsconfig.json +++ b/e2e/tsconfig.json @@ -1,9 +1,9 @@ { - "extends": "../tsconfig.json", - "compilerOptions": { - "outDir": "../out-tsc/e2e", - "module": "commonjs", - "target": "es5", - "types": ["jasmine", "jasminewd2", "node"] - } + "extends": "../tsconfig.json", + "compilerOptions": { + "outDir": "../out-tsc/e2e", + "module": "commonjs", + "target": "es5", + "types": ["jasmine", "jasminewd2", "node"] + } } diff --git a/karma.conf.js b/karma.conf.js index 2e4d0489..32ba6639 100644 --- a/karma.conf.js +++ b/karma.conf.js @@ -2,42 +2,42 @@ // https://karma-runner.github.io/1.0/config/configuration-file.html module.exports = function (config) { - config.set({ - basePath: '', - frameworks: ['jasmine', '@angular-devkit/build-angular'], - plugins: [ - require('karma-jasmine'), - require('karma-chrome-launcher'), - require('karma-jasmine-html-reporter'), - require('karma-coverage-istanbul-reporter'), - require('@angular-devkit/build-angular/plugins/karma') - ], - client: { - clearContext: false // leave Jasmine Spec Runner output visible in browser - }, - coverageIstanbulReporter: { - dir: require('path').join(__dirname, './coverage/client'), - reports: ['html', 'lcovonly', 'text-summary'], - fixWebpackSourcePaths: true - }, - reporters: ['progress', 'kjhtml'], - port: 9876, - colors: true, - logLevel: config.LOG_INFO, - autoWatch: true, - browsers: ['ChromeHeadless'], - customLaunchers: { - 'ChromeHeadless': { - base: 'Chrome', - flags: [ - '--no-sandbox', - '--headless', - '--disable-gpu', - '--remote-debugging-port=9222' - ] - } - }, - singleRun: false, - restartOnFileChange: true - }); + config.set({ + basePath: "", + frameworks: ["jasmine", "@angular-devkit/build-angular"], + plugins: [ + require("karma-jasmine"), + require("karma-chrome-launcher"), + require("karma-jasmine-html-reporter"), + require("karma-coverage-istanbul-reporter"), + require("@angular-devkit/build-angular/plugins/karma"), + ], + client: { + clearContext: false, // leave Jasmine Spec Runner output visible in browser + }, + coverageIstanbulReporter: { + dir: require("path").join(__dirname, "./coverage/client"), + reports: ["html", "lcovonly", "text-summary"], + fixWebpackSourcePaths: true, + }, + reporters: ["progress", "kjhtml"], + port: 9876, + colors: true, + logLevel: config.LOG_INFO, + autoWatch: true, + browsers: ["ChromeHeadless"], + customLaunchers: { + ChromeHeadless: { + base: "Chrome", + flags: [ + "--no-sandbox", + "--headless", + "--disable-gpu", + "--remote-debugging-port=9222", + ], + }, + }, + singleRun: false, + restartOnFileChange: true, + }); }; diff --git a/ng-tailwind.js b/ng-tailwind.js index 18ba8b5d..062bb6d3 100644 --- a/ng-tailwind.js +++ b/ng-tailwind.js @@ -1,19 +1,19 @@ module.exports = { - // Tailwind Paths - configJS: "tailwind.config.js", - sourceCSS: "src/tailwind.css", - outputCSS: "src/styles.css", - // Sass - sass: false, - // PurgeCSS Settings - purge: false, - keyframes: false, - fontFace: false, - rejected: false, - whitelist: [], - whitelistPatterns: [], - whitelistPatternsChildren: [], - extensions: [".ts", ".html", ".js"], - extractors: [], - content: [] + // Tailwind Paths + configJS: "tailwind.config.js", + sourceCSS: "src/tailwind.css", + outputCSS: "src/styles.css", + // Sass + sass: false, + // PurgeCSS Settings + purge: false, + keyframes: false, + fontFace: false, + rejected: false, + whitelist: [], + whitelistPatterns: [], + whitelistPatternsChildren: [], + extensions: [".ts", ".html", ".js"], + extractors: [], + content: [], }; diff --git a/package.json b/package.json index e4b16630..a3ca7253 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "chapter-website", - "version": "0.1.2", + "version": "0.3.1", "private": true, "contributors": [ "Adrian Darian", @@ -11,7 +11,7 @@ "build": "ngtw build && ng build --prod --base-href=https://ucmercedacm.github.io/Chapter-Website/", "clean": "rm -rf node_modules/ yarn.lock package-lock.json", "deploy": "yarn build && ngh --branch=gh-pages --no-silent", - "docker": "ng serve --host 0.0.0.0 --port 4200 & ngtw watch", + "docker" : "ng serve --host 0.0.0.0 --port 4200 & ngtw watch", "e2e": "ng e2e", "gren": "gren release --override --tags=all --config=.grenrc.js", "lint": "ng lint", @@ -55,8 +55,6 @@ "@ngrx/store": "~8.5.2", "@ngrx/store-devtools": "~8.5.2", "@popperjs/core": "~2.0.4", - "angular-cli-ghpages": "~0.6.2", - "github-release-notes": "^0.17.1", "jwt-decode": "~2.2.0", "rxjs": "~6.5.3", "tslib": "~1.10.0", @@ -71,7 +69,9 @@ "@types/jasmine": "~3.5.0", "@types/jasminewd2": "~2.0.3", "@types/node": "~12.12.14", + "angular-cli-ghpages": "~0.6.2", "codelyzer": "~5.0.0", + "github-release-notes": "^0.17.1", "jasmine-core": "~3.5.0", "jasmine-spec-reporter": "~4.2.1", "karma": "~4.4.1", @@ -80,6 +80,7 @@ "karma-jasmine": "~2.0.1", "karma-jasmine-html-reporter": "~1.4.0", "ng-tailwindcss": "~2.1.1", + "node-sass": "^4.14.1", "protractor": "~5.4.0", "tailwindcss": "~1.2.0", "ts-node": "~8.5.4", diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index ffa814cf..bdbd4484 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -2,68 +2,78 @@ import { NgModule } from "@angular/core"; import { Routes, RouterModule } from "@angular/router"; import { - HomeComponent, - CoffeeNCodeComponent, - ProjectsComponent, - WorkshopsComponent, - MembersComponent, - NotFoundComponent, - LoginComponent, - SignUpComponent, - EventsComponent, - DashboardComponent + HomeComponent, + CoffeeNCodeComponent, + ProjectsComponent, + WorkshopsComponent, + MembersComponent, + NotFoundComponent, + LoginComponent, + SignUpComponent, + EventsComponent, + DashboardComponent, + CTFComponent, + LanComponent, } from "./containers"; const routes: Routes = [ - { - path: "home", - component: HomeComponent - }, - { - path: "events", - component: EventsComponent - }, - { - path: "coffee-n-code", - component: CoffeeNCodeComponent - }, - { - path: "projects", - component: ProjectsComponent - }, - { - path: "workshops", - component: WorkshopsComponent - }, - { - path: "members", - component: MembersComponent - }, - { - path: "login", - component: LoginComponent - }, - { - path: "sign-up", - component: SignUpComponent - }, - { - path: "dashboard/:id", - component: DashboardComponent - }, - { - path: "", - redirectTo: "/home", - pathMatch: "full" - }, - { - path: "**", - component: NotFoundComponent - } + { + path: "home", + component: HomeComponent, + }, + { + path: "events", + component: EventsComponent, + }, + { + path: "coffee-n-code", + component: CoffeeNCodeComponent, + }, + { + path: "projects", + component: ProjectsComponent, + }, + { + path: "workshops", + component: WorkshopsComponent, + }, + { + path: "members", + component: MembersComponent, + }, + { + path: "capture-the-flag", + component: CTFComponent, + }, + { + path: "lan", + component: LanComponent, + }, + { + path: "login", + component: LoginComponent, + }, + { + path: "sign-up", + component: SignUpComponent, + }, + { + path: "dashboard/:id", + component: DashboardComponent, + }, + { + path: "", + redirectTo: "/home", + pathMatch: "full", + }, + { + path: "**", + component: NotFoundComponent, + }, ]; @NgModule({ - imports: [RouterModule.forRoot(routes)], - exports: [RouterModule] + imports: [RouterModule.forRoot(routes)], + exports: [RouterModule], }) export class AppRoutingModule {} diff --git a/src/app/app.component.html b/src/app/app.component.html index a78eb370..64655963 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -1,297 +1,307 @@
-
- - - - - - - -
-
- Copyright 2020 -
-
-
- Written and Coded with ❤️ by ACM @ UCM +
+ + + + + + + +
+
+ Copyright 2020 +
+
+
+ Written and Coded with ❤️ by ACM @ UCM +
-
diff --git a/src/app/app.component.scss b/src/app/app.component.scss index 2799abd3..242a84da 100644 --- a/src/app/app.component.scss +++ b/src/app/app.component.scss @@ -1,31 +1,32 @@ .navbar { - &-button { - &:focus { - background-color: #f9a826; + &-button { + &:focus { + background-color: #f9a826; + } } - } - &-items { - .navbar-item { - &:focus { - background-color: #f9a826; - } + &-items { + .navbar-item { + &:focus { + background-color: #f9a826; + } - &:hover { - background-color: #f9a826; - cursor: pointer; - } + &:hover { + background-color: #f9a826; + cursor: pointer; + } + } } - } } .notifcation-icon { - &:hover { - color: #f9a826; - } + &:hover { + color: #f9a826; + } } .social { - background: #f9a826; - box-shadow: -12px -12px 12px 0 rgba(255, 255, 255, 1), 12px 12px 12px 0 rgba(0, 0, 0, 0.05); + background: #f9a826; + box-shadow: -12px -12px 12px 0 rgba(255, 255, 255, 1), + 12px 12px 12px 0 rgba(0, 0, 0, 0.05); } diff --git a/src/app/app.component.spec.ts b/src/app/app.component.spec.ts index 874d834c..020f8920 100644 --- a/src/app/app.component.spec.ts +++ b/src/app/app.component.spec.ts @@ -3,31 +3,31 @@ import { RouterTestingModule } from "@angular/router/testing"; import { AppComponent } from "./app.component"; describe("AppComponent", () => { - beforeEach(async(() => { - TestBed.configureTestingModule({ - imports: [RouterTestingModule], - declarations: [AppComponent] - }).compileComponents(); - })); + beforeEach(async(() => { + TestBed.configureTestingModule({ + imports: [RouterTestingModule], + declarations: [AppComponent], + }).compileComponents(); + })); - it("should create the app", () => { - const fixture = TestBed.createComponent(AppComponent); - const app = fixture.debugElement.componentInstance; - expect(app).toBeTruthy(); - }); + it("should create the app", () => { + const fixture = TestBed.createComponent(AppComponent); + const app = fixture.debugElement.componentInstance; + expect(app).toBeTruthy(); + }); - it(`should have as title 'client'`, () => { - const fixture = TestBed.createComponent(AppComponent); - const app = fixture.debugElement.componentInstance; - expect(app.title).toEqual("client"); - }); + it(`should have as title 'client'`, () => { + const fixture = TestBed.createComponent(AppComponent); + const app = fixture.debugElement.componentInstance; + expect(app.title).toEqual("client"); + }); - it("should render title", () => { - const fixture = TestBed.createComponent(AppComponent); - fixture.detectChanges(); - const compiled = fixture.debugElement.nativeElement; - expect(compiled.querySelector(".content span").textContent).toContain( - "client app is running!" - ); - }); + it("should render title", () => { + const fixture = TestBed.createComponent(AppComponent); + fixture.detectChanges(); + const compiled = fixture.debugElement.nativeElement; + expect(compiled.querySelector(".content span").textContent).toContain( + "client app is running!" + ); + }); }); diff --git a/src/app/app.component.ts b/src/app/app.component.ts index d34d0b04..b3f62e3d 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -1,64 +1,59 @@ import { Component, OnInit } from "@angular/core"; import { select, Store } from "@ngrx/store"; import { - faTwitter, - faLinkedinIn, - faFacebookF, - faGithub, - faDiscord, - faSlack, - faInstagram + faTwitter, + faLinkedinIn, + faFacebookF, + faGithub, + faDiscord, + faSlack, + faInstagram, } from "@fortawesome/free-brands-svg-icons"; import { faCopyright } from "@fortawesome/free-regular-svg-icons"; import {} from "@fortawesome/free-solid-svg-icons"; import { Member } from "./models"; -import { - RootStoreState, - MemberStoreActions, - MemberStoreSelectors, - MemberStoreState -} from "src/app/root-store"; +import { RootStoreState, MemberStoreSelectors } from "src/app/root-store"; @Component({ - selector: "app-root", - templateUrl: "./app.component.html", - styleUrls: ["./app.component.scss"] + selector: "app-root", + templateUrl: "./app.component.html", + styleUrls: ["./app.component.scss"], }) export class AppComponent implements OnInit { - isLoggedIn$: boolean; - navbarExtend = false; - professionalOpen = true; - profileOpen = true; - faTwitter = faTwitter; - faLinkedinIn = faLinkedinIn; - faFacebookF = faFacebookF; - faGithub = faGithub; - faDiscord = faDiscord; - faSlack = faSlack; - faCopyright = faCopyright; - faInstagram = faInstagram; - memberId$: number; + isLoggedIn$: boolean; + navbarExtend = false; + professionalOpen = true; + profileOpen = true; + faTwitter = faTwitter; + faLinkedinIn = faLinkedinIn; + faFacebookF = faFacebookF; + faGithub = faGithub; + faDiscord = faDiscord; + faSlack = faSlack; + faCopyright = faCopyright; + faInstagram = faInstagram; + memberId$: number; - constructor(private store$: Store) { - this.store$ - .pipe(select(MemberStoreSelectors.selectMemberIsLoggedIn)) - .subscribe(data => { - this.isLoggedIn$ = data; - }); - } + constructor(private store$: Store) { + this.store$ + .pipe(select(MemberStoreSelectors.selectMemberIsLoggedIn)) + .subscribe((data) => { + this.isLoggedIn$ = data; + }); + } - ngOnInit() {} + ngOnInit() {} - onLoggedIn() { - if (this.isLoggedIn$ === true) { - this.store$ - .pipe(select(MemberStoreSelectors.selectSelectedMemberId)) - .subscribe(data => { - this.memberId$ = data; - }); + onLoggedIn() { + if (this.isLoggedIn$ === true) { + this.store$ + .pipe(select(MemberStoreSelectors.selectSelectedMemberId)) + .subscribe((data) => { + this.memberId$ = data; + }); - this.profileOpen = !this.profileOpen; + this.profileOpen = !this.profileOpen; + } } - } } diff --git a/src/app/app.module.ts b/src/app/app.module.ts index b7c10ff9..f7b809df 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -11,41 +11,13 @@ import { AppComponent } from "./app.component"; // Main app import // Component Imports import { - TitleComponent, - CoffeeComponent, - TerminalComponent + TitleComponent, + CoffeeComponent, + TerminalComponent, } from "./components"; // Container Imports import { - CoffeeNCodeComponent, - HomeComponent, - ProjectsComponent, - WorkshopsComponent, - DashboardComponent, - LanComponent, - CodeEditorComponent, - CalendarComponent, - MembersComponent, - LoginComponent, - SignUpComponent, - EventsComponent, - NotFoundComponent -} from "./containers"; - -// NgRx Store Imports -import { - RootStoreModule, -} from "./root-store"; - -// Data Services -import { DataService } from "./services/data.service"; - -@NgModule({ - declarations: [ - AppComponent, - TitleComponent, - CoffeeComponent, CoffeeNCodeComponent, HomeComponent, ProjectsComponent, @@ -53,48 +25,93 @@ import { DataService } from "./services/data.service"; DashboardComponent, LanComponent, CodeEditorComponent, - CalendarComponent, MembersComponent, LoginComponent, - LoginComponent, SignUpComponent, - TerminalComponent, EventsComponent, - NotFoundComponent - ], - imports: [ - HttpClientModule, + NotFoundComponent, + CTFComponent, +} from "./containers"; + +// NgRx Store Imports +import { RootStoreModule } from "./root-store"; + +// Data Services +import { + MemberService, + WorkshopService, + EventService, + CoffeeNCodeService, + KodingKataService, + ProjectService, + LANService, + CTFService, +} from "./services"; + +@NgModule({ + declarations: [ + AppComponent, + TitleComponent, + CoffeeComponent, + CoffeeNCodeComponent, + HomeComponent, + ProjectsComponent, + WorkshopsComponent, + DashboardComponent, + LanComponent, + CodeEditorComponent, + MembersComponent, + LoginComponent, + LoginComponent, + SignUpComponent, + TerminalComponent, + EventsComponent, + NotFoundComponent, + CTFComponent, + ], + imports: [ + HttpClientModule, - // Angular - BrowserModule, + // Angular Browser + BrowserModule, - // Application - AppRoutingModule, + // Application + AppRoutingModule, - // NgRx - RootStoreModule, + // NgRx + RootStoreModule, - // Fontawesome - FontAwesomeModule, + // Fontawesome + FontAwesomeModule, - ReactiveFormsModule, + // Reactive Forms + ReactiveFormsModule, - /** - * Store devtools instrument the store retaining past versions of state - * and recalculating new states. This enables powerful time-travel - * debugging. - * - * To use the debugger, install the Redux Devtools extension for either - * Chrome or Firefox - * - * See: https://github.com/zalmoxisus/redux-devtools-extension - */ - StoreDevtoolsModule.instrument({ - name: "NgRx ACM App", - maxAge: 25 // Retains last 25 states - }) - ], - providers: [DataService], - bootstrap: [AppComponent] + /** + * Store devtools instrument the store retaining past versions of state + * and recalculating new states. This enables powerful time-travel + * debugging. + * + * To use the debugger, install the Redux Devtools extension for either + * Chrome or Firefox + * + * See: https://github.com/zalmoxisus/redux-devtools-extension + */ + StoreDevtoolsModule.instrument({ + name: "NgRx || ACM Chapter Website", + maxAge: 25, // Retains last 25 states + }), + ], + providers: [ + MemberService, + WorkshopService, + EventService, + CoffeeNCodeService, + KodingKataService, + ProjectService, + LANService, + CTFService, + ], + bootstrap: [AppComponent], }) export class AppModule {} diff --git a/src/app/components/Coffee/coffee.component.html b/src/app/components/Coffee/coffee.component.html index f9bbe9f4..4f7ca49f 100644 --- a/src/app/components/Coffee/coffee.component.html +++ b/src/app/components/Coffee/coffee.component.html @@ -1,67 +1,67 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
\ No newline at end of file +
diff --git a/src/app/components/Coffee/coffee.component.scss b/src/app/components/Coffee/coffee.component.scss index a8851175..c8c6de48 100644 --- a/src/app/components/Coffee/coffee.component.scss +++ b/src/app/components/Coffee/coffee.component.scss @@ -1,11 +1,11 @@ /* Variables */ -$bg: #FFC26F; -$yellow-1: #FFE7B6; -$yellow-2: #FFD599; -$orange: #FF7861; +$bg: #ffc26f; +$yellow-1: #ffe7b6; +$yellow-2: #ffd599; +$orange: #ff7861; $white: #ffffff; $blue: #333351; -$shadow: #FFA265; +$shadow: #ffa265; /* Generic */ #coffee { @@ -54,7 +54,12 @@ $shadow: #FFA265; width: 125px; height: 125px; border-radius: 50%; - background-image: radial-gradient($blue 40%, $white 40% ,$white 50% ,$orange 50%); + background-image: radial-gradient( + $blue 40%, + $white 40%, + $white 50%, + $orange 50% + ); } &__top { @@ -72,7 +77,7 @@ $shadow: #FFA265; width: 155px; height: 20px; border-radius: 50%; - background-image: linear-gradient(93deg, $yellow-1 78% , $yellow-2 78%); + background-image: linear-gradient(93deg, $yellow-1 78%, $yellow-2 78%); } &__shadow { @@ -106,7 +111,7 @@ $shadow: #FFA265; background-color: $yellow-1; &::before { - content: ''; + content: ""; position: absolute; width: 40px; height: 18px; @@ -118,7 +123,7 @@ $shadow: #FFA265; } &::after { - content: ''; + content: ""; position: absolute; top: 12px; left: 13px; @@ -135,7 +140,7 @@ $shadow: #FFA265; } } -.smoke{ +.smoke { width: 90%; margin-right: 5%; z-index: -1; @@ -151,23 +156,29 @@ $shadow: #FFA265; border-radius: 50px; background-color: $white; z-index: -100; - opacity: .015; + opacity: 0.015; } /* */ @for $i from 0 through 50 { .s-#{$i} { - animation: s 2s ease infinite #{$i * .15}s, s-2 2s ease infinite #{$i * .15}s; + animation: s 2s ease infinite #{$i * 0.15}s, + s-2 2s ease infinite #{$i * 0.15}s; } } @keyframes smoke { - 0%{ transform: scaleY(1) scaleX(1.05) skewX(-3deg);} - 100%{ transform: scaleY(.94) scaleX(1) skewX(3deg);} + 0% { + transform: scaleY(1) scaleX(1.05) skewX(-3deg); + } + 100% { + transform: scaleY(0.94) scaleX(1) skewX(3deg); + } } @keyframes s { - 0%,10% { + 0%, + 10% { top: 0; left: 40%; width: 0; @@ -189,7 +200,7 @@ $shadow: #FFA265; top: -75px; left: 20%; width: 80%; - opacity: .4; + opacity: 0.4; } 60% { @@ -202,30 +213,30 @@ $shadow: #FFA265; width: 50%; top: -125px; left: 35%; - opacity: .5; + opacity: 0.5; } 80% { width: 40%; top: -150px; left: 40%; - opacity: .1; + opacity: 0.1; } - + 100% { width: 30%; top: -125px; left: 60%; - opacity: .5; + opacity: 0.5; } } @keyframes s-2 { - 0%{ + 0% { transform: skewY(5deg); border-radius: 50px; } - 100%{ + 100% { transform: skewY(-5deg); border-radius: 45px; } diff --git a/src/app/components/Coffee/coffee.component.spec.ts b/src/app/components/Coffee/coffee.component.spec.ts index 8d77b99a..3ca3fc45 100644 --- a/src/app/components/Coffee/coffee.component.spec.ts +++ b/src/app/components/Coffee/coffee.component.spec.ts @@ -3,22 +3,22 @@ import { async, ComponentFixture, TestBed } from "@angular/core/testing"; import { CoffeeComponent } from "./coffee.component"; describe("CoffeeComponent", () => { - let component: CoffeeComponent; - let fixture: ComponentFixture; + let component: CoffeeComponent; + let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [CoffeeComponent] - }).compileComponents(); - })); + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [CoffeeComponent], + }).compileComponents(); + })); - beforeEach(() => { - fixture = TestBed.createComponent(CoffeeComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); + beforeEach(() => { + fixture = TestBed.createComponent(CoffeeComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); - it("should create", () => { - expect(component).toBeTruthy(); - }); + it("should create", () => { + expect(component).toBeTruthy(); + }); }); diff --git a/src/app/components/Coffee/coffee.component.ts b/src/app/components/Coffee/coffee.component.ts index 989702b7..451a2c77 100644 --- a/src/app/components/Coffee/coffee.component.ts +++ b/src/app/components/Coffee/coffee.component.ts @@ -1,12 +1,12 @@ import { Component, OnInit } from "@angular/core"; @Component({ - selector: "app-coffee", - templateUrl: "./coffee.component.html", - styleUrls: ["./coffee.component.scss"] + selector: "app-coffee", + templateUrl: "./coffee.component.html", + styleUrls: ["./coffee.component.scss"], }) export class CoffeeComponent implements OnInit { - constructor() {} + constructor() {} - ngOnInit() {} + ngOnInit() {} } diff --git a/src/app/components/Terminal/terminal.component.html b/src/app/components/Terminal/terminal.component.html index e4405a1e..4679500e 100644 --- a/src/app/components/Terminal/terminal.component.html +++ b/src/app/components/Terminal/terminal.component.html @@ -1,33 +1,33 @@
-
-
-
-
-
-

Terminal

-
+
+
+
+
+
+

Terminal

+
+
+
+

Last login: Wed Sep 25 09:11:04 on ttys002

+

Laraben:Devprojects laraben$

+
-
-

Last login: Wed Sep 25 09:11:04 on ttys002

-

Laraben:Devprojects laraben$

-
-
diff --git a/src/app/components/Terminal/terminal.component.spec.ts b/src/app/components/Terminal/terminal.component.spec.ts index 9687719d..34b74eed 100644 --- a/src/app/components/Terminal/terminal.component.spec.ts +++ b/src/app/components/Terminal/terminal.component.spec.ts @@ -3,22 +3,22 @@ import { async, ComponentFixture, TestBed } from "@angular/core/testing"; import { TerminalComponent } from "./terminal.component"; describe("TitleComponent", () => { - let component: TerminalComponent; - let fixture: ComponentFixture; + let component: TerminalComponent; + let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [TerminalComponent] - }).compileComponents(); - })); + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [TerminalComponent], + }).compileComponents(); + })); - beforeEach(() => { - fixture = TestBed.createComponent(TerminalComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); + beforeEach(() => { + fixture = TestBed.createComponent(TerminalComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); - it("should create", () => { - expect(component).toBeTruthy(); - }); + it("should create", () => { + expect(component).toBeTruthy(); + }); }); diff --git a/src/app/components/Terminal/terminal.component.ts b/src/app/components/Terminal/terminal.component.ts index 25623fb4..bccbe6d4 100644 --- a/src/app/components/Terminal/terminal.component.ts +++ b/src/app/components/Terminal/terminal.component.ts @@ -1,12 +1,12 @@ import { Component, OnInit } from "@angular/core"; @Component({ - selector: "app-title", - templateUrl: "./terminal.component.html", - styleUrls: ["./terminal.component.scss"] + selector: "app-title", + templateUrl: "./terminal.component.html", + styleUrls: ["./terminal.component.scss"], }) export class TerminalComponent implements OnInit { - constructor() {} + constructor() {} - ngOnInit() {} + ngOnInit() {} } diff --git a/src/app/components/Title/title.component.html b/src/app/components/Title/title.component.html index d792e8b9..e6446a79 100644 --- a/src/app/components/Title/title.component.html +++ b/src/app/components/Title/title.component.html @@ -1,131 +1,138 @@
-
-
A -
A
-
A
-
A
-
A
-
A
-
A
-
A
-
A
-
A
-
A
-
A
-
A
+
+
+ A +
A
+
A
+
A
+
A
+
A
+
A
+
A
+
A
+
A
+
A
+
A
+
A
+
+
+ C +
C
+
C
+
C
+
C
+
C
+
C
+
C
+
C
+
C
+
C
+
C
+
C
+
+
+ M +
M
+
M
+
M
+
M
+
M
+
M
+
M
+
M
+
M
+
M
+
M
+
M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @ +
@
+
@
+
@
+
@
+
@
+
@
+
@
+
@
+
@
+
@
+
@
+
@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ U +
U
+
U
+
U
+
U
+
U
+
U
+
U
+
U
+
U
+
U
+
U
+
U
+
+
+ C +
C
+
C
+
C
+
C
+
C
+
C
+
C
+
C
+
C
+
C
+
C
+
C
+
+
+ M +
M
+
M
+
M
+
M
+
M
+
M
+
M
+
M
+
M
+
M
+
M
+
M
+
-
C -
C
-
C
-
C
-
C
-
C
-
C
-
C
-
C
-
C
-
C
-
C
-
C
-
-
M -
M
-
M
-
M
-
M
-
M
-
M
-
M
-
M
-
M
-
M
-
M
-
M
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@ -
@
-
@
-
@
-
@
-
@
-
@
-
@
-
@
-
@
-
@
-
@
-
@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
U -
U
-
U
-
U
-
U
-
U
-
U
-
U
-
U
-
U
-
U
-
U
-
U
-
-
C -
C
-
C
-
C
-
C
-
C
-
C
-
C
-
C
-
C
-
C
-
C
-
C
-
-
M -
M
-
M
-
M
-
M
-
M
-
M
-
M
-
M
-
M
-
M
-
M
-
M
-
-
-
\ No newline at end of file +
diff --git a/src/app/components/Title/title.component.scss b/src/app/components/Title/title.component.scss index 966bce3f..352fc7e6 100644 --- a/src/app/components/Title/title.component.scss +++ b/src/app/components/Title/title.component.scss @@ -2,62 +2,64 @@ $density: 12; $size: 30vmin; #title { - display: grid; - place-items: center; - height: 100vh; - // background: #323133; - font-family: "Quicksand", sans-serif; - font-weight: 700; - perspective: 60rem; - perspective-origin: 50% 50%; - overflow: hidden; - - #user-button { - --user-button-background: #434a54; - --user-button-text: white; - } - - .text { - user-select: none; - - > div { - display: inline-block; - position: relative; - font-size: $size; - color: transparent; - transform-origin: center center; - transform-style: preserve-3d; - animation: float 4s infinite; - - @for $i from 1 through 4 { - &:nth-child(#{$i}) { - animation-delay: (-$i + 10) * -0.5s; - } - } - - > div { - position: absolute; - top: 0; - left: 0; - color: #323133; - text-shadow: 0 0 1px white; //Fill in gaps a little - $thickness: 3; //Thickness of ends - - //&:last-child, &:first-child //Just does first and last - &:not(:nth-child(n + #{$thickness})), - &:not(:nth-last-child(n + #{$thickness})) { - color: #3294e4; - text-shadow: 0 0 1px #3294e4; - } - - @for $i from 1 through $density { - &:nth-child(#{$i}) { - transform: translateZ(($i - ($density/2)) * ($size / ($density * 5))); - } + display: grid; + place-items: center; + height: 100vh; + // background: #323133; + font-family: "Quicksand", sans-serif; + font-weight: 700; + perspective: 60rem; + perspective-origin: 50% 50%; + overflow: hidden; + + #user-button { + --user-button-background: #434a54; + --user-button-text: white; + } + + .text { + user-select: none; + + > div { + display: inline-block; + position: relative; + font-size: $size; + color: transparent; + transform-origin: center center; + transform-style: preserve-3d; + animation: float 4s infinite; + + @for $i from 1 through 4 { + &:nth-child(#{$i}) { + animation-delay: (-$i + 10) * -0.5s; + } + } + + > div { + position: absolute; + top: 0; + left: 0; + color: #323133; + text-shadow: 0 0 1px white; //Fill in gaps a little + $thickness: 3; //Thickness of ends + + //&:last-child, &:first-child //Just does first and last + &:not(:nth-child(n + #{$thickness})), + &:not(:nth-last-child(n + #{$thickness})) { + color: #3294e4; + text-shadow: 0 0 1px #3294e4; + } + + @for $i from 1 through $density { + &:nth-child(#{$i}) { + transform: translateZ( + ($i - ($density/2)) * ($size / ($density * 5)) + ); + } + } + } } - } } - } } // Uncomment the following to enable rotation @@ -66,59 +68,59 @@ $pi: 3.14159265359; $_precision: 10; @function pow($base, $exp) { - $value: $base; + $value: $base; - @if $exp > 1 { - @for $i from 2 through $exp { - $value: $value * $base; + @if $exp > 1 { + @for $i from 2 through $exp { + $value: $value * $base; + } } - } - @if $exp < 1 { - @for $i from 0 through -$exp { - $value: $value / $base; + @if $exp < 1 { + @for $i from 0 through -$exp { + $value: $value / $base; + } } - } - @return $value; + @return $value; } @function fact($num) { - $fact: 1; + $fact: 1; - @if $num > 0 { - @for $i from 1 through $num { - $fact: $fact * $i; + @if $num > 0 { + @for $i from 1 through $num { + $fact: $fact * $i; + } } - } - @return $fact; + @return $fact; } @function sin($a) { - $sin: $a; + $sin: $a; - @for $n from 1 through $_precision { - $sin: $sin + (pow(-1, $n) / fact(2 * $n + 1)) * pow($a, (2 * $n + 1)); - } + @for $n from 1 through $_precision { + $sin: $sin + (pow(-1, $n) / fact(2 * $n + 1)) * pow($a, (2 * $n + 1)); + } - @return $sin; + @return $sin; } @function cos($a) { - $cos: 1; + $cos: 1; - @for $n from 1 through $_precision { - $cos: $cos + (pow(-1, $n) / fact(2 * $n)) * pow($a, 2 * $n); - } - - @return $cos; + @for $n from 1 through $_precision { + $cos: $cos + (pow(-1, $n) / fact(2 * $n)) * pow($a, 2 * $n); + } + + @return $cos; } @keyframes float { - @for $i from 0 through 100 { - #{$i*1%} { - transform: rotate3d(sin($i * $pi/50), cos($i * $pi/50), 0, 30deg); + @for $i from 0 through 100 { + #{$i*1%} { + transform: rotate3d(sin($i * $pi/50), cos($i * $pi/50), 0, 30deg); + } } - } } diff --git a/src/app/components/Title/title.component.spec.ts b/src/app/components/Title/title.component.spec.ts index 852fd2e7..77dffba5 100644 --- a/src/app/components/Title/title.component.spec.ts +++ b/src/app/components/Title/title.component.spec.ts @@ -3,22 +3,22 @@ import { async, ComponentFixture, TestBed } from "@angular/core/testing"; import { TitleComponent } from "./title.component"; describe("TitleComponent", () => { - let component: TitleComponent; - let fixture: ComponentFixture; + let component: TitleComponent; + let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [TitleComponent] - }).compileComponents(); - })); + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [TitleComponent], + }).compileComponents(); + })); - beforeEach(() => { - fixture = TestBed.createComponent(TitleComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); + beforeEach(() => { + fixture = TestBed.createComponent(TitleComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); - it("should create", () => { - expect(component).toBeTruthy(); - }); + it("should create", () => { + expect(component).toBeTruthy(); + }); }); diff --git a/src/app/components/Title/title.component.ts b/src/app/components/Title/title.component.ts index d9b402ff..d4cca722 100644 --- a/src/app/components/Title/title.component.ts +++ b/src/app/components/Title/title.component.ts @@ -1,12 +1,12 @@ import { Component, OnInit } from "@angular/core"; @Component({ - selector: "app-title", - templateUrl: "./title.component.html", - styleUrls: ["./title.component.scss"] + selector: "app-title", + templateUrl: "./title.component.html", + styleUrls: ["./title.component.scss"], }) export class TitleComponent implements OnInit { - constructor() {} + constructor() {} - ngOnInit() {} + ngOnInit() {} } diff --git a/src/app/components/index.ts b/src/app/components/index.ts index 249e9bf4..c5ee238c 100644 --- a/src/app/components/index.ts +++ b/src/app/components/index.ts @@ -2,8 +2,4 @@ import { TitleComponent } from "./Title/title.component"; import { CoffeeComponent } from "./Coffee/coffee.component"; import { TerminalComponent } from "./Terminal/terminal.component"; -export { - TitleComponent, - CoffeeComponent, - TerminalComponent -}; +export { TitleComponent, CoffeeComponent, TerminalComponent }; diff --git a/src/app/containers/Calendar/calendar.component.html b/src/app/containers/Calendar/calendar.component.html deleted file mode 100644 index 401b981b..00000000 --- a/src/app/containers/Calendar/calendar.component.html +++ /dev/null @@ -1,2 +0,0 @@ -

Contains npm angular calendar that is dynamically updated from the database with RSVP features for loggedin users

-

diff --git a/src/app/containers/Calendar/calendar.component.spec.ts b/src/app/containers/Calendar/calendar.component.spec.ts deleted file mode 100644 index 29e6a356..00000000 --- a/src/app/containers/Calendar/calendar.component.spec.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { async, ComponentFixture, TestBed } from "@angular/core/testing"; - -import { CalendarComponent } from "./calendar.component"; - -describe("CalendarComponent", () => { - let component: CalendarComponent; - let fixture: ComponentFixture; - - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [CalendarComponent] - }).compileComponents(); - })); - - beforeEach(() => { - fixture = TestBed.createComponent(CalendarComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it("should create", () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/src/app/containers/Calendar/calendar.component.ts b/src/app/containers/Calendar/calendar.component.ts deleted file mode 100644 index baee578f..00000000 --- a/src/app/containers/Calendar/calendar.component.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { Component, OnInit } from "@angular/core"; - -@Component({ - selector: "app-calendar", - templateUrl: "./calendar.component.html", - styleUrls: ["./calendar.component.scss"] -}) -export class CalendarComponent implements OnInit { - constructor() {} - - ngOnInit() {} -} diff --git a/src/app/containers/CaptureTheFlag/capture-the-flag.component.html b/src/app/containers/CaptureTheFlag/capture-the-flag.component.html new file mode 100644 index 00000000..9d563f6c --- /dev/null +++ b/src/app/containers/CaptureTheFlag/capture-the-flag.component.html @@ -0,0 +1 @@ +

CTF works!

diff --git a/src/app/containers/Calendar/calendar.component.scss b/src/app/containers/CaptureTheFlag/capture-the-flag.component.scss similarity index 100% rename from src/app/containers/Calendar/calendar.component.scss rename to src/app/containers/CaptureTheFlag/capture-the-flag.component.scss diff --git a/src/app/containers/CaptureTheFlag/capture-the-flag.component.spec.ts b/src/app/containers/CaptureTheFlag/capture-the-flag.component.spec.ts new file mode 100644 index 00000000..0cb9c1fb --- /dev/null +++ b/src/app/containers/CaptureTheFlag/capture-the-flag.component.spec.ts @@ -0,0 +1,24 @@ +import { async, ComponentFixture, TestBed } from "@angular/core/testing"; + +import { CTFComponent } from "./capture-the-flag.component"; + +describe("CTFComponent", () => { + let component: CTFComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [CTFComponent], + }).compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(CTFComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it("should create", () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/containers/CaptureTheFlag/capture-the-flag.component.ts b/src/app/containers/CaptureTheFlag/capture-the-flag.component.ts new file mode 100644 index 00000000..7abdc839 --- /dev/null +++ b/src/app/containers/CaptureTheFlag/capture-the-flag.component.ts @@ -0,0 +1,12 @@ +import { Component, OnInit } from "@angular/core"; + +@Component({ + selector: "app-capture-the-flag", + templateUrl: "./capture-the-flag.component.html", + styleUrls: ["./capture-the-flag.component.scss"], +}) +export class CTFComponent implements OnInit { + constructor() {} + + ngOnInit() {} +} diff --git a/src/app/containers/CodeEditor/code-editor.component.spec.ts b/src/app/containers/CodeEditor/code-editor.component.spec.ts index bcdbc64c..0e27d9ac 100644 --- a/src/app/containers/CodeEditor/code-editor.component.spec.ts +++ b/src/app/containers/CodeEditor/code-editor.component.spec.ts @@ -3,22 +3,22 @@ import { async, ComponentFixture, TestBed } from "@angular/core/testing"; import { CodeEditorComponent } from "./code-editor.component"; describe("CodeEditorComponent", () => { - let component: CodeEditorComponent; - let fixture: ComponentFixture; + let component: CodeEditorComponent; + let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [CodeEditorComponent] - }).compileComponents(); - })); + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [CodeEditorComponent], + }).compileComponents(); + })); - beforeEach(() => { - fixture = TestBed.createComponent(CodeEditorComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); + beforeEach(() => { + fixture = TestBed.createComponent(CodeEditorComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); - it("should create", () => { - expect(component).toBeTruthy(); - }); + it("should create", () => { + expect(component).toBeTruthy(); + }); }); diff --git a/src/app/containers/CodeEditor/code-editor.component.ts b/src/app/containers/CodeEditor/code-editor.component.ts index 1c257807..9d497f31 100644 --- a/src/app/containers/CodeEditor/code-editor.component.ts +++ b/src/app/containers/CodeEditor/code-editor.component.ts @@ -1,12 +1,12 @@ import { Component, OnInit } from "@angular/core"; @Component({ - selector: "app-code-editor", - templateUrl: "./code-editor.component.html", - styleUrls: ["./code-editor.component.scss"] + selector: "app-code-editor", + templateUrl: "./code-editor.component.html", + styleUrls: ["./code-editor.component.scss"], }) export class CodeEditorComponent implements OnInit { - constructor() {} + constructor() {} - ngOnInit() {} + ngOnInit() {} } diff --git a/src/app/containers/CoffeeAndCode/coffee-n-code.component.html b/src/app/containers/CoffeeAndCode/coffee-n-code.component.html index 85c059ec..53d66ca4 100644 --- a/src/app/containers/CoffeeAndCode/coffee-n-code.component.html +++ b/src/app/containers/CoffeeAndCode/coffee-n-code.component.html @@ -1,325 +1,400 @@
-
-

- Coffee and Code -

-

- Tuesday and Thursday from 12 PM to 4 PM -

- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ Coffee and Code + +

+ Tuesday and Thursday from 12 PM to 4 PM +

+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-

Resources

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Name - - Description - - Course/Field - - URL - - Date Added -
-
-
-
- Java Programming Basics -
-
- Credits to Geeks for Geeks -
-
-
-
-
Java is one of the most popular and widely used programming language...
-
- CSE 20 - - Read More... - - 3/22/2020 -
-
-
-
- Python Beginners Guide -
-
- Credits to Python -
-
-
-
-
New to programming? Python is free and easy to learn if you know where to start! This guide will help you to get started quickly....
-
- CSE 15 - - Read More... - - 4/1/2020 -
-
-
-
- GitHub Learning Lab -
-
- Credits to GitHub -
-
-
-
-
With GitHub Learning Lab, grow your skills by completing fun, realistic projects. Get advice and helpful feedback from our friendly Learning Lab bot...
-
- Version Control - - Read More... - - 4/1/2020 -
-
-
-
- Python Data Science -
-
- Credits to learnpython.org -
-
-
-
-
Get started learning Python with DataCamp's free Intro to Python tutorial. Learn Data Science by completing interactive coding challenges and watching videos by expert instructors...
-
- CSE 15 - - Read More... - - 4/1/2020 -
-
-
-
- RESTful API Status Codes -
-
- Credits to restfulapi.net -
-
-
-
-
REST APIs use the Status-Line part of an HTTP response message to inform clients of their request’s overarching result. RFC 2616 defines the Status-Line syntax as shown below:...
-
- CSE 160 - - Read More... - - 3/30/2020 -
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Name + + Description + + Course/Field + + URL + + Date Added +
+
+
+
+ Java Programming Basics +
+
+ Credits to Geeks for Geeks +
+
+
+
+
+ Java is one of the most popular and widely used + programming language... +
+
+ CSE 20 + + Read More... + + 3/22/2020 +
+
+
+
+ Python Beginners Guide +
+
+ Credits to Python +
+
+
+
+
+ New to programming? Python is free and easy to + learn if you know where to start! This guide + will help you to get started quickly.... +
+
+ CSE 15 + + Read More... + + 4/1/2020 +
+
+
+
+ GitHub Learning Lab +
+
+ Credits to GitHub +
+
+
+
+
+ With GitHub Learning Lab, grow your skills by + completing fun, realistic projects. Get advice + and helpful feedback from our friendly Learning + Lab bot... +
+
+ Version Control + + Read More... + + 4/1/2020 +
+
+
+
+ Python Data Science +
+
+ Credits to learnpython.org +
+
+
+
+
+ Get started learning Python with DataCamp's free + Intro to Python tutorial. Learn Data Science by + completing interactive coding challenges and + watching videos by expert instructors... +
+
+ CSE 15 + + Read More... + + 4/1/2020 +
+
+
+
+ RESTful API Status Codes +
+
+ Credits to restfulapi.net +
+
+
+
+
+ REST APIs use the Status-Line part of an HTTP + response message to inform clients of their + request’s overarching result. RFC 2616 defines + the Status-Line syntax as shown below:... +
+
+ CSE 160 + + Read More... + + 3/30/2020 +
+
-
diff --git a/src/app/containers/CoffeeAndCode/coffee-n-code.component.scss b/src/app/containers/CoffeeAndCode/coffee-n-code.component.scss index 4bf30931..e83ab2f3 100644 --- a/src/app/containers/CoffeeAndCode/coffee-n-code.component.scss +++ b/src/app/containers/CoffeeAndCode/coffee-n-code.component.scss @@ -1,11 +1,11 @@ /* Variables */ -$bg: #FFC26F; -$yellow-1: #FFE7B6; -$yellow-2: #FFD599; -$orange: #FF7861; +$bg: #ffc26f; +$yellow-1: #ffe7b6; +$yellow-2: #ffd599; +$orange: #ff7861; $white: #ffffff; $blue: #333351; -$shadow: #FFA265; +$shadow: #ffa265; /* Generic */ #coffee { @@ -68,7 +68,12 @@ $shadow: #FFA265; width: 125px; height: 125px; border-radius: 50%; - background-image: radial-gradient($blue 40%, $white 40% ,$white 50% ,$orange 50%); + background-image: radial-gradient( + $blue 40%, + $white 40%, + $white 50%, + $orange 50% + ); } &__top { @@ -86,7 +91,7 @@ $shadow: #FFA265; width: 155px; height: 20px; border-radius: 50%; - background-image: linear-gradient(93deg, $yellow-1 78% , $yellow-2 78%); + background-image: linear-gradient(93deg, $yellow-1 78%, $yellow-2 78%); } &__shadow { @@ -124,7 +129,7 @@ $shadow: #FFA265; background-color: $yellow-1; &::before { - content: ''; + content: ""; position: absolute; width: 40px; height: 18px; @@ -136,7 +141,7 @@ $shadow: #FFA265; } &::after { - content: ''; + content: ""; position: absolute; top: 12px; left: 13px; @@ -153,7 +158,7 @@ $shadow: #FFA265; } } -.smoke{ +.smoke { width: 90%; margin-right: 5%; z-index: -1; @@ -169,23 +174,29 @@ $shadow: #FFA265; border-radius: 50px; background-color: $white; z-index: -100; - opacity: .015; + opacity: 0.015; } /* */ @for $i from 0 through 50 { .s-#{$i} { - animation: s 2s ease infinite #{$i * .15}s, s-2 2s ease infinite #{$i * .15}s; + animation: s 2s ease infinite #{$i * 0.15}s, + s-2 2s ease infinite #{$i * 0.15}s; } } @keyframes smoke { - 0%{ transform: scaleY(1) scaleX(1.05) skewX(-3deg);} - 100%{ transform: scaleY(.94) scaleX(1) skewX(3deg);} + 0% { + transform: scaleY(1) scaleX(1.05) skewX(-3deg); + } + 100% { + transform: scaleY(0.94) scaleX(1) skewX(3deg); + } } @keyframes s { - 0%,10% { + 0%, + 10% { top: 0; left: 40%; width: 0; @@ -207,7 +218,7 @@ $shadow: #FFA265; top: -75px; left: 20%; width: 80%; - opacity: .4; + opacity: 0.4; } 60% { @@ -220,30 +231,30 @@ $shadow: #FFA265; width: 50%; top: -125px; left: 35%; - opacity: .5; + opacity: 0.5; } 80% { width: 40%; top: -150px; left: 40%; - opacity: .1; + opacity: 0.1; } - + 100% { width: 30%; top: -125px; left: 60%; - opacity: .5; + opacity: 0.5; } } @keyframes s-2 { - 0%{ + 0% { transform: skewY(5deg); border-radius: 50px; } - 100%{ + 100% { transform: skewY(-5deg); border-radius: 45px; } diff --git a/src/app/containers/CoffeeAndCode/coffee-n-code.component.spec.ts b/src/app/containers/CoffeeAndCode/coffee-n-code.component.spec.ts index 792b46d3..7fa21fcc 100644 --- a/src/app/containers/CoffeeAndCode/coffee-n-code.component.spec.ts +++ b/src/app/containers/CoffeeAndCode/coffee-n-code.component.spec.ts @@ -3,22 +3,22 @@ import { async, ComponentFixture, TestBed } from "@angular/core/testing"; import { CoffeeNCodeComponent } from "./coffee-n-code.component"; describe("CoffeeNCodeComponent", () => { - let component: CoffeeNCodeComponent; - let fixture: ComponentFixture; + let component: CoffeeNCodeComponent; + let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [CoffeeNCodeComponent] - }).compileComponents(); - })); + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [CoffeeNCodeComponent], + }).compileComponents(); + })); - beforeEach(() => { - fixture = TestBed.createComponent(CoffeeNCodeComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); + beforeEach(() => { + fixture = TestBed.createComponent(CoffeeNCodeComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); - it("should create", () => { - expect(component).toBeTruthy(); - }); + it("should create", () => { + expect(component).toBeTruthy(); + }); }); diff --git a/src/app/containers/CoffeeAndCode/coffee-n-code.component.ts b/src/app/containers/CoffeeAndCode/coffee-n-code.component.ts index 3913b606..3c5b2bf4 100644 --- a/src/app/containers/CoffeeAndCode/coffee-n-code.component.ts +++ b/src/app/containers/CoffeeAndCode/coffee-n-code.component.ts @@ -1,12 +1,12 @@ import { Component, OnInit } from "@angular/core"; @Component({ - selector: "app-coffee-n-code", - templateUrl: "./coffee-n-code.component.html", - styleUrls: ["./coffee-n-code.component.scss"] + selector: "app-coffee-n-code", + templateUrl: "./coffee-n-code.component.html", + styleUrls: ["./coffee-n-code.component.scss"], }) export class CoffeeNCodeComponent implements OnInit { - constructor() {} + constructor() {} - ngOnInit() {} + ngOnInit() {} } diff --git a/src/app/containers/Dashboard/dashboard.component.spec.ts b/src/app/containers/Dashboard/dashboard.component.spec.ts index f6032017..b16050ab 100644 --- a/src/app/containers/Dashboard/dashboard.component.spec.ts +++ b/src/app/containers/Dashboard/dashboard.component.spec.ts @@ -3,22 +3,22 @@ import { async, ComponentFixture, TestBed } from "@angular/core/testing"; import { DashboardComponent } from "./dashboard.component"; describe("DashboardComponent", () => { - let component: DashboardComponent; - let fixture: ComponentFixture; + let component: DashboardComponent; + let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [DashboardComponent] - }).compileComponents(); - })); + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [DashboardComponent], + }).compileComponents(); + })); - beforeEach(() => { - fixture = TestBed.createComponent(DashboardComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); + beforeEach(() => { + fixture = TestBed.createComponent(DashboardComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); - it("should create", () => { - expect(component).toBeTruthy(); - }); + it("should create", () => { + expect(component).toBeTruthy(); + }); }); diff --git a/src/app/containers/Dashboard/dashboard.component.ts b/src/app/containers/Dashboard/dashboard.component.ts index 3b77f2d0..7991b787 100644 --- a/src/app/containers/Dashboard/dashboard.component.ts +++ b/src/app/containers/Dashboard/dashboard.component.ts @@ -5,14 +5,14 @@ import { Member } from "../../models"; import { RootStoreState, MemberStoreActions } from "src/app/root-store"; @Component({ - selector: "app-account", - templateUrl: "./dashboard.component.html", - styleUrls: ["./dashboard.component.scss"] + selector: "app-account", + templateUrl: "./dashboard.component.html", + styleUrls: ["./dashboard.component.scss"], }) export class DashboardComponent implements OnInit { - member: Member; + member: Member; - constructor(private store: Store) {} + constructor(private store: Store) {} - ngOnInit() {} + ngOnInit() {} } diff --git a/src/app/containers/Events/events.component.html b/src/app/containers/Events/events.component.html index 75130ca1..84e8bb49 100644 --- a/src/app/containers/Events/events.component.html +++ b/src/app/containers/Events/events.component.html @@ -1,25 +1,27 @@
-
-
-
-
-

- Events -

-

- Did you know ACM hosts at minimum 3 events a week? -

-
- -
- +
+ +
+
+
-
-
-
- +
-
-

- Latest News -

-

- Upcoming Events -

-
-
-
- +
+

+ Latest News +

+

+ Upcoming Events +

-
-

- {{ images[i].title }} -
- {{ images[i].description }} -
- Date: {{ images[i].date }} -
- Time: {{ images[i].time }} -

- -
- +
+ +
+ +
- - -
- -
- - - - - -
+ +
+ + + + + +
diff --git a/src/app/containers/Events/events.component.scss b/src/app/containers/Events/events.component.scss index 35095275..88eb239d 100644 --- a/src/app/containers/Events/events.component.scss +++ b/src/app/containers/Events/events.component.scss @@ -1,31 +1,31 @@ .events-subscribe-btn { - background-color: #0093d0; + background-color: #0093d0; - &:hover { - background-color: #039ed4; - } + &:hover { + background-color: #039ed4; + } } .events-download-btn { - color: #005dab; + color: #005dab; } .events-subscribe-btn, .events-download-btn { - box-shadow: -12px -12px 12px 0 rgba(255, 255, 255, 1), - 12px 12px 12px 0 rgba(0, 0, 0, 0.05); + box-shadow: -12px -12px 12px 0 rgba(255, 255, 255, 1), + 12px 12px 12px 0 rgba(0, 0, 0, 0.05); } @media (min-width: 1024px) { - .events-img { - top: 10rem; - right: 4rem; - } + .events-img { + top: 10rem; + right: 4rem; + } } @media (min-width: 1280px) { - .events-img { - top: 10rem; - right: 10rem; - } + .events-img { + top: 10rem; + right: 10rem; + } } diff --git a/src/app/containers/Events/events.component.spec.ts b/src/app/containers/Events/events.component.spec.ts index 9b819eee..8298f5c6 100644 --- a/src/app/containers/Events/events.component.spec.ts +++ b/src/app/containers/Events/events.component.spec.ts @@ -3,22 +3,22 @@ import { async, ComponentFixture, TestBed } from "@angular/core/testing"; import { EventsComponent } from "./events.component"; describe("EventsComponent", () => { - let component: EventsComponent; - let fixture: ComponentFixture; + let component: EventsComponent; + let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [EventsComponent] - }).compileComponents(); - })); + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [EventsComponent], + }).compileComponents(); + })); - beforeEach(() => { - fixture = TestBed.createComponent(EventsComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); + beforeEach(() => { + fixture = TestBed.createComponent(EventsComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); - it("should create", () => { - expect(component).toBeTruthy(); - }); + it("should create", () => { + expect(component).toBeTruthy(); + }); }); diff --git a/src/app/containers/Events/events.component.ts b/src/app/containers/Events/events.component.ts index 043c7fcb..8458b837 100644 --- a/src/app/containers/Events/events.component.ts +++ b/src/app/containers/Events/events.component.ts @@ -1,81 +1,81 @@ import { Component, OnInit } from "@angular/core"; @Component({ - selector: "app-code-editor", - templateUrl: "./events.component.html", - styleUrls: ["./events.component.scss"] + selector: "app-code-editor", + templateUrl: "./events.component.html", + styleUrls: ["./events.component.scss"], }) export class EventsComponent implements OnInit { - i = 0; - images: any[] = [ - { - url: "assets/img/undraw_coffee_break.svg", - alt: "Coffee n Code", - title: "Coffee and Code", - description: - "In need of help with a course or a project? We have just the resource for you! Stop by and get help with anything.", - date: "Every Tuesday and Thursday", - time: "12 to 4 PM" - }, - { - url: "assets/img/undraw_conversation.svg", - alt: "General Meeting", - title: "General Meeting", - description: - "All the upcoming events, news, and secret projects we have been working on in one place!", - date: "April 2nd", - time: "6 PM" - }, - { - url: "assets/img/undraw_conference_call.svg", - alt: "Alumni Panel", - title: "Alumni Panel", - description: - "Come ask questions to alumni who have made their stakes in enterprise companies and have gained professional industry experience", - date: "April 2nd", - time: "7 PM" - }, - { - url: "assets/img/undraw_interview.svg", - alt: "Koding Kata", - title: "Koding Kata", - description: - "Technical Interview prep at your finger tips, join us weekly for at least 3 different questions that could be on your next interview!", - date: "Every Wednesday", - time: "3 to 5 PM" - }, - { - url: "assets/img/undraw_calculator.svg", - alt: "Web Dev Workshop", - title: "Web Dev Workshop", - description: - "Introductory level web development class where you will learn how to program a simple calculator using HTML/CSS and JavaScript", - date: "April 9th", - time: "7 PM" - } - ]; + i = 0; + images: any[] = [ + { + url: "assets/img/undraw_coffee_break.svg", + alt: "Coffee n Code", + title: "Coffee and Code", + description: + "In need of help with a course or a project? We have just the resource for you! Stop by and get help with anything.", + date: "Every Tuesday and Thursday", + time: "12 to 4 PM", + }, + { + url: "assets/img/undraw_conversation.svg", + alt: "General Meeting", + title: "General Meeting", + description: + "All the upcoming events, news, and secret projects we have been working on in one place!", + date: "April 2nd", + time: "6 PM", + }, + { + url: "assets/img/undraw_conference_call.svg", + alt: "Alumni Panel", + title: "Alumni Panel", + description: + "Come ask questions to alumni who have made their stakes in enterprise companies and have gained professional industry experience", + date: "April 2nd", + time: "7 PM", + }, + { + url: "assets/img/undraw_interview.svg", + alt: "Koding Kata", + title: "Koding Kata", + description: + "Technical Interview prep at your finger tips, join us weekly for at least 3 different questions that could be on your next interview!", + date: "Every Wednesday", + time: "3 to 5 PM", + }, + { + url: "assets/img/undraw_calculator.svg", + alt: "Web Dev Workshop", + title: "Web Dev Workshop", + description: + "Introductory level web development class where you will learn how to program a simple calculator using HTML/CSS and JavaScript", + date: "April 9th", + time: "7 PM", + }, + ]; - constructor() {} + constructor() {} - ngOnInit() {} + ngOnInit() {} - openNewsletter() { - window.open("src/assets/Newsletter.pdf"); - } + openNewsletter() { + window.open("src/assets/Newsletter.pdf"); + } - getNextEvent() { - if (this.i === this.images.length - 1) { - this.i = 0; - } else { - this.i += 1; + getNextEvent() { + if (this.i === this.images.length - 1) { + this.i = 0; + } else { + this.i += 1; + } } - } - getPreviousEvent() { - if (this.i === 0) { - this.i = this.images.length - 1; - } else { - this.i--; + getPreviousEvent() { + if (this.i === 0) { + this.i = this.images.length - 1; + } else { + this.i--; + } } - } } diff --git a/src/app/containers/Home/home.component.html b/src/app/containers/Home/home.component.html index 1d17571f..a4207105 100644 --- a/src/app/containers/Home/home.component.html +++ b/src/app/containers/Home/home.component.html @@ -1,29 +1,29 @@
-
-
-
-
-

- Association for Computing Machinery -
- @ UC Merced -

-

- ACM, the world’s largest educational and scientific computing - society, delivers resources that advance computing as a science and - a profession. We're just your friendly neighborhood student chapter - at UC Merced. -

- +
+
-
- - +
-
-
-

- About Us -

-

- Our Goals -

-
+
+
+

+ About Us +

+

+ Our Goals +

+
-
-
    -
  • -
    -
    -
    - - - -
    -
    -
    -
    - Technical Excellence -
    -

    - Preparing the club and its members for work in the industry, ath - the highest quality of effciency and scalability. -

    -
    -
    -
  • -
  • -
    -
    -
    - - - -
    -
    -
    -
    - Educational Transparency -
    -

    - Allowing ease of access for all academic topics related to - computer science and in our course materials. -

    -
    -
    -
  • -
  • -
    -
    -
    - - - -
    -
    -
    -
    - Community -
    -

    - Providing a welcoming environment for computer scientists from - all areas of technical knowledge and tying that back to a sense - of campus culture. -

    -
    -
    -
  • -
  • -
    -
    -
    - - - -
    -
    -
    -
    - Social Responsibility -
    -

    - Ensuring that our members are involved in social and corporate - environments that uphold high standards of ethical and moral - responsibility. -

    -
    -
    -
  • -
+
+
    +
  • +
    +
    +
    + + + +
    +
    +
    +
    + Technical Excellence +
    +

    + Preparing the club and its members for work in + the industry, ath the highest quality of + effciency and scalability. +

    +
    +
    +
  • +
  • +
    +
    +
    + + + +
    +
    +
    +
    + Educational Transparency +
    +

    + Allowing ease of access for all academic topics + related to computer science and in our course + materials. +

    +
    +
    +
  • +
  • +
    +
    +
    + + + +
    +
    +
    +
    + Community +
    +

    + Providing a welcoming environment for computer + scientists from all areas of technical knowledge + and tying that back to a sense of campus + culture. +

    +
    +
    +
  • +
  • +
    +
    +
    + + + +
    +
    +
    +
    + Social Responsibility +
    +

    + Ensuring that our members are involved in social + and corporate environments that uphold high + standards of ethical and moral responsibility. +

    +
    +
    +
  • +
+
-
-

- Top 3 Provided Resources -

-

- What We Offer -

+

+ Top 3 Provided Resources +

+

+ What We Offer +

-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
- -
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
- -
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
- -
-
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-

- Contact Us -

-

- Questions or Concerns -

+

+ Contact Us +

+

+ Questions or Concerns +

-
-
- - -
-
- First name is required and needs to be at least 3 characters long. +
+
+ + +
+
+ First name is required and needs to be at least 3 characters + long. +
+
-
-
-
- - -
-
- Last name is required and needs to be at least 3 characters long. +
+ + +
+
+ Last name is required and needs to be at least 3 characters + long. +
+
-
-
-
-
- - -
-
Needs to be a valid email.
-
+
+
+ + +
+
+ Needs to be a valid email. +
+
+
-
-
-
- - -
-
Your message is required!
-
+
+
+ + +
+
+ Your message is required! +
+
+
-
-
-
- +
+
+ +
-
diff --git a/src/app/containers/Home/home.component.scss b/src/app/containers/Home/home.component.scss index ffa54453..9010fa6a 100644 --- a/src/app/containers/Home/home.component.scss +++ b/src/app/containers/Home/home.component.scss @@ -1,361 +1,361 @@ .uc-merced { - color: #f9a826; + color: #f9a826; } .home-login-btn { - background-color: #0093d0; + background-color: #0093d0; - &:hover { - background-color: #039ed4; - } + &:hover { + background-color: #039ed4; + } } .home-sign-up-btn { - color: #005dab; + color: #005dab; } .home-login-btn, .home-sign-up-btn { - box-shadow: -12px -12px 12px 0 rgba(255, 255, 255, 1), - 12px 12px 12px 0 rgba(0, 0, 0, 0.05); + box-shadow: -12px -12px 12px 0 rgba(255, 255, 255, 1), + 12px 12px 12px 0 rgba(0, 0, 0, 0.05); } @media (min-width: 1024px) { - .home-img { - top: 10rem; - right: 4rem; - } + .home-img { + top: 10rem; + right: 4rem; + } } @media (min-width: 1280px) { - .home-img { - top: 10rem; - right: 10rem; - } + .home-img { + top: 10rem; + right: 10rem; + } } .about-us-title { - color: #f9a826; + color: #f9a826; } .about-us-icons { - background-color: #f9a826; + background-color: #f9a826; } .what-we-offer { - position: relative; - display: flex; - width: 100%; - height: 100vh; - justify-content: center; - align-items: center; - - .smiley__face { - padding: 10px; - position: absolute; + position: relative; display: flex; - align-items: flex-start; + width: 100%; + height: 100vh; justify-content: center; - width: 170px; - height: 190px; - border: 12px solid #2c3e50; - background: #ffffff; - border-radius: 15px; - overflow: hidden; - transition: all 0.2s ease-in-out; - - .face { - background: #f1c40f; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - width: 100%; - height: 120px; - border-radius: 5px; - position: relative; - overflow: hidden; - z-index: 1; - - .event { - font: Roboto; - position: relative; - } + align-items: center; - .eyes { + .smiley__face { + padding: 10px; + position: absolute; display: flex; - justify-content: space-between; - align-items: center; - height: 20px; - width: 60%; - - .eye { - background: #2c3e50; - display: block; - width: 15px; - height: 15px; - border-radius: 50px; - } - } - - .mouth { - display: block; - width: 32px; - height: 20px; - background: #2c3e50; - border-top-left-radius: 15px; - border-top-right-radius: 15px; - border-bottom-left-radius: 50px; - border-bottom-right-radius: 50px; - position: relative; + align-items: flex-start; + justify-content: center; + width: 170px; + height: 190px; + border: 12px solid #2c3e50; + background: #ffffff; + border-radius: 15px; overflow: hidden; - - &::before { - content: ""; - display: block; - width: 20px; - height: 10px; - border-radius: 50%; - background: #e74c3c; - position: absolute; - left: 50%; - bottom: 2px; - transform: translateX(-50%); + transition: all 0.2s ease-in-out; + + .face { + background: #f1c40f; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + width: 100%; + height: 120px; + border-radius: 5px; + position: relative; + overflow: hidden; + z-index: 1; + + .event { + font: Roboto; + position: relative; + } + + .eyes { + display: flex; + justify-content: space-between; + align-items: center; + height: 20px; + width: 60%; + + .eye { + background: #2c3e50; + display: block; + width: 15px; + height: 15px; + border-radius: 50px; + } + } + + .mouth { + display: block; + width: 32px; + height: 20px; + background: #2c3e50; + border-top-left-radius: 15px; + border-top-right-radius: 15px; + border-bottom-left-radius: 50px; + border-bottom-right-radius: 50px; + position: relative; + overflow: hidden; + + &::before { + content: ""; + display: block; + width: 20px; + height: 10px; + border-radius: 50%; + background: #e74c3c; + position: absolute; + left: 50%; + bottom: 2px; + transform: translateX(-50%); + } + } } - } - } - &.smiley__face--01 { - z-index: 3; - } - - &.smiley__face--01:hover { - transform: scale(1.5); - } - - &.smiley__face--02:hover, - &.smiley__face--03:hover { - transform: scale(1.5); - z-index: 4; - } - - &.smiley__face--02, - &.smiley__face--03 { - z-index: 2; - } - - &.smiley__face--02 { - transform: rotate(-25deg) translate(-100px, -8px) scale(0.9); - - .face { - background: #3498db; - - &::before { - content: ""; - position: absolute; - left: 0; - top: 0; - display: block; - width: 70%; - height: 100%; - background: #0abde3; - z-index: -1; - transform: skewX(-25deg) translateX(-30%); + &.smiley__face--01 { + z-index: 3; } - } - } - &.smiley__face--03 { - transform: rotate(25deg) translate(100px, -8px) scale(0.9); - .face { - background: #ff7f50; - &::before { - content: ""; - position: absolute; - left: 0; - top: 0; - display: block; - width: 70%; - height: 100%; - background: #ff6348; - z-index: -1; - transform: skewX(25deg) translateX(-30%); + &.smiley__face--01:hover { + transform: scale(1.5); } - } - } - .wwo-pill { - width: 80%; - align-items: center; - justify-content: center; - border-radius: 0.5em; - background-color: #ebf4ff; - color: #005dab; - margin-top: 0.3rem; - box-shadow: 12px 12px 16px 0 rgba(0, 0, 0, 0.25), - -8px -8px 12px 0 rgba(255, 255, 255, 0.3); - } - } - - .underground { - display: block; - width: 200px; - margin: 0 auto; - height: 1px; - border: 6px solid #2c3e50; - position: relative; - transform: translateY(180px); - border-radius: 50px; - } - - .sparkles { - position: absolute; - display: block; - width: 500px; - height: 80%; - - .star { - display: block; - width: 50px; - height: 50px; - margin: 20px; - position: absolute; - overflow: hidden; - - &::before { - content: ""; - display: block; - width: 80%; - position: absolute; - left: 0; - top: 50%; - transform: translate(0, -50%); - border: 4px solid #2c3e50; - border-radius: 50px; - } - - &::after { - content: ""; - display: block; - height: 80%; - position: absolute; - left: 50%; - top: 50%; - transform: translate(-50%, -50%); - border: 4px solid #2c3e50; - border-radius: 50px; - } - - &.star--01 { - top: 10%; - left: 30%; - transform: translate(-30%, -10%) scale(0.4); - - &::before { - border-color: #f1c40f; - } - - &::after { - border-color: #f1c40f; + &.smiley__face--02:hover, + &.smiley__face--03:hover { + transform: scale(1.5); + z-index: 4; } - &::before, - &::after { - border-width: 6px; + &.smiley__face--02, + &.smiley__face--03 { + z-index: 2; } - } - &.star--02 { - top: 20%; - left: 90%; - transform: translate(-90%, -20%) scale(0.3); - - &::before { - border-color: #3498db; + &.smiley__face--02 { + transform: rotate(-25deg) translate(-100px, -8px) scale(0.9); + + .face { + background: #3498db; + + &::before { + content: ""; + position: absolute; + left: 0; + top: 0; + display: block; + width: 70%; + height: 100%; + background: #0abde3; + z-index: -1; + transform: skewX(-25deg) translateX(-30%); + } + } } - &::after { - border-color: #3498db; + &.smiley__face--03 { + transform: rotate(25deg) translate(100px, -8px) scale(0.9); + .face { + background: #ff7f50; + &::before { + content: ""; + position: absolute; + left: 0; + top: 0; + display: block; + width: 70%; + height: 100%; + background: #ff6348; + z-index: -1; + transform: skewX(25deg) translateX(-30%); + } + } } - &::before, - &::after { - border-width: 6px; + .wwo-pill { + width: 80%; + align-items: center; + justify-content: center; + border-radius: 0.5em; + background-color: #ebf4ff; + color: #005dab; + margin-top: 0.3rem; + box-shadow: 12px 12px 16px 0 rgba(0, 0, 0, 0.25), + -8px -8px 12px 0 rgba(255, 255, 255, 0.3); } - } + } - &.star--03 { - top: 2%; - left: 60%; - transform: translate(-60%, -2%) scale(0.7); + .underground { + display: block; + width: 200px; + margin: 0 auto; + height: 1px; + border: 6px solid #2c3e50; + position: relative; + transform: translateY(180px); + border-radius: 50px; + } - &::before { - border-color: #ff7f50; - } + .sparkles { + position: absolute; + display: block; + width: 500px; + height: 80%; - &::after { - border-color: #ff7f50; + .star { + display: block; + width: 50px; + height: 50px; + margin: 20px; + position: absolute; + overflow: hidden; + + &::before { + content: ""; + display: block; + width: 80%; + position: absolute; + left: 0; + top: 50%; + transform: translate(0, -50%); + border: 4px solid #2c3e50; + border-radius: 50px; + } + + &::after { + content: ""; + display: block; + height: 80%; + position: absolute; + left: 50%; + top: 50%; + transform: translate(-50%, -50%); + border: 4px solid #2c3e50; + border-radius: 50px; + } + + &.star--01 { + top: 10%; + left: 30%; + transform: translate(-30%, -10%) scale(0.4); + + &::before { + border-color: #f1c40f; + } + + &::after { + border-color: #f1c40f; + } + + &::before, + &::after { + border-width: 6px; + } + } + + &.star--02 { + top: 20%; + left: 90%; + transform: translate(-90%, -20%) scale(0.3); + + &::before { + border-color: #3498db; + } + + &::after { + border-color: #3498db; + } + + &::before, + &::after { + border-width: 6px; + } + } + + &.star--03 { + top: 2%; + left: 60%; + transform: translate(-60%, -2%) scale(0.7); + + &::before { + border-color: #ff7f50; + } + + &::after { + border-color: #ff7f50; + } + + &::before, + &::after { + border-width: 5px; + } + } } - &::before, - &::after { - border-width: 5px; + .circle { + display: block; + width: 50px; + height: 50px; + border-radius: 50px; + background: #f1c40f; + position: absolute; + + &.circle--01 { + border: 10px solid #f1c40f; + background: transparent; + top: 10%; + left: 15%; + transform: translate(-15%, -10%) scale(0.5); + } + + &.circle--02 { + background: transparent; + border: 15px solid #3498db; + top: 40%; + left: 100%; + transform: translate(-100%, -40%) scale(0.2); + } + + &.circle--03 { + background: #ff7f50; + top: 30%; + left: 8%; + transform: translate(8%, -30%) scale(0.3); + } + + &.circle--04 { + top: 70%; + left: 0%; + transform: translate(0%, -70%) scale(0.2); + } } - } } - - .circle { - display: block; - width: 50px; - height: 50px; - border-radius: 50px; - background: #f1c40f; - position: absolute; - - &.circle--01 { - border: 10px solid #f1c40f; - background: transparent; - top: 10%; - left: 15%; - transform: translate(-15%, -10%) scale(0.5); - } - - &.circle--02 { - background: transparent; - border: 15px solid #3498db; - top: 40%; - left: 100%; - transform: translate(-100%, -40%) scale(0.2); - } - - &.circle--03 { - background: #ff7f50; - top: 30%; - left: 8%; - transform: translate(8%, -30%) scale(0.3); - } - - &.circle--04 { - top: 70%; - left: 0%; - transform: translate(0%, -70%) scale(0.2); - } - } - } } .contact-us { - margin-left: 7%; + margin-left: 7%; - @media (min-width: 640px) { - margin-left: 15%; - } + @media (min-width: 640px) { + margin-left: 15%; + } - @media (min-width: 768px) { - margin-left: 30%; - } + @media (min-width: 768px) { + margin-left: 30%; + } - &-submit { - background-color: #0093d0; - } + &-submit { + background-color: #0093d0; + } } diff --git a/src/app/containers/Home/home.component.spec.ts b/src/app/containers/Home/home.component.spec.ts index 80ef4167..e2a891a0 100644 --- a/src/app/containers/Home/home.component.spec.ts +++ b/src/app/containers/Home/home.component.spec.ts @@ -3,22 +3,22 @@ import { async, ComponentFixture, TestBed } from "@angular/core/testing"; import { HomeComponent } from "./home.component"; describe("HomeComponent", () => { - let component: HomeComponent; - let fixture: ComponentFixture; + let component: HomeComponent; + let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [HomeComponent] - }).compileComponents(); - })); + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [HomeComponent], + }).compileComponents(); + })); - beforeEach(() => { - fixture = TestBed.createComponent(HomeComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); + beforeEach(() => { + fixture = TestBed.createComponent(HomeComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); - it("should create", () => { - expect(component).toBeTruthy(); - }); + it("should create", () => { + expect(component).toBeTruthy(); + }); }); diff --git a/src/app/containers/Home/home.component.ts b/src/app/containers/Home/home.component.ts index a3169de9..161ed1da 100644 --- a/src/app/containers/Home/home.component.ts +++ b/src/app/containers/Home/home.component.ts @@ -2,40 +2,40 @@ import { Component, OnInit } from "@angular/core"; import { FormBuilder, FormGroup, Validators } from "@angular/forms"; @Component({ - selector: "app-home", - templateUrl: "./home.component.html", - styleUrls: ["./home.component.scss"] + selector: "app-home", + templateUrl: "./home.component.html", + styleUrls: ["./home.component.scss"], }) export class HomeComponent implements OnInit { - contactForm: FormGroup; - submitted = false; - - constructor(private formBuilder: FormBuilder) {} - - ngOnInit() { - this.contactForm = this.formBuilder.group({ - firstName: ["", [Validators.required, Validators.minLength(3)]], - lastName: ["", [Validators.required, Validators.minLength(3)]], - email: ["", [Validators.required, Validators.email]], - body: ["", [Validators.required, Validators.minLength(20)]] - }); - } - - // convenience getter for easy access to form fields - get f() { - return this.contactForm.controls; - } - - onSubmit() { - this.submitted = true; - - // stop here if form is invalid - if (this.contactForm.invalid) { - return; + contactForm: FormGroup; + submitted = false; + + constructor(private formBuilder: FormBuilder) {} + + ngOnInit() { + this.contactForm = this.formBuilder.group({ + firstName: ["", [Validators.required, Validators.minLength(3)]], + lastName: ["", [Validators.required, Validators.minLength(3)]], + email: ["", [Validators.required, Validators.email]], + body: ["", [Validators.required, Validators.minLength(20)]], + }); } - const { firstName, lastName, email, body } = this.contactForm.value; + // convenience getter for easy access to form fields + get f() { + return this.contactForm.controls; + } + + onSubmit() { + this.submitted = true; + + // stop here if form is invalid + if (this.contactForm.invalid) { + return; + } - window.location.href = `mailto:acm@ucmerced.edu?subject=[ACM Website Contact Form] Questions&body=Hello ACM,%0D%0A${body}%0D%0A%0D%0AFrom,%0D%0A${firstName} ${lastName}&CC=${email}`; - } + const { firstName, lastName, email, body } = this.contactForm.value; + + window.location.href = `mailto:acm@ucmerced.edu?subject=[ACM Website Contact Form] Questions&body=Hello ACM,%0D%0A${body}%0D%0A%0D%0AFrom,%0D%0A${firstName} ${lastName}&CC=${email}`; + } } diff --git a/src/app/containers/LAN/lan.component.spec.ts b/src/app/containers/LAN/lan.component.spec.ts index df6757c1..90c44063 100644 --- a/src/app/containers/LAN/lan.component.spec.ts +++ b/src/app/containers/LAN/lan.component.spec.ts @@ -3,22 +3,22 @@ import { async, ComponentFixture, TestBed } from "@angular/core/testing"; import { LanComponent } from "./lan.component"; describe("LanComponent", () => { - let component: LanComponent; - let fixture: ComponentFixture; + let component: LanComponent; + let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [LanComponent] - }).compileComponents(); - })); + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [LanComponent], + }).compileComponents(); + })); - beforeEach(() => { - fixture = TestBed.createComponent(LanComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); + beforeEach(() => { + fixture = TestBed.createComponent(LanComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); - it("should create", () => { - expect(component).toBeTruthy(); - }); + it("should create", () => { + expect(component).toBeTruthy(); + }); }); diff --git a/src/app/containers/LAN/lan.component.ts b/src/app/containers/LAN/lan.component.ts index 45bda217..711c6f58 100644 --- a/src/app/containers/LAN/lan.component.ts +++ b/src/app/containers/LAN/lan.component.ts @@ -1,12 +1,12 @@ import { Component, OnInit } from "@angular/core"; @Component({ - selector: "app-lan", - templateUrl: "./lan.component.html", - styleUrls: ["./lan.component.scss"] + selector: "app-lan", + templateUrl: "./lan.component.html", + styleUrls: ["./lan.component.scss"], }) export class LanComponent implements OnInit { - constructor() {} + constructor() {} - ngOnInit() {} + ngOnInit() {} } diff --git a/src/app/containers/Login/login.component.html b/src/app/containers/Login/login.component.html index b2e41fdc..2b54f197 100644 --- a/src/app/containers/Login/login.component.html +++ b/src/app/containers/Login/login.component.html @@ -1,102 +1,104 @@
-
-
- Temporary Image for Login Page -

- Sign in to your account -

-

- Or - -

-
-
- -
+
- -
-
- + Temporary Image for Login Page +

+ Sign in to your account +

+

+ Or + +

-
+ + +
+
+ +
+
+ +
+
-
-
- - -
+
+
+ + +
- -
+ +
-
- -
- -
+
+ +
+ +
diff --git a/src/app/containers/Login/login.component.scss b/src/app/containers/Login/login.component.scss index edf54b1e..3f1f9242 100644 --- a/src/app/containers/Login/login.component.scss +++ b/src/app/containers/Login/login.component.scss @@ -1,22 +1,22 @@ .sign-up-now, .forgot-password { - color: #0093d0; + color: #0093d0; - &:hover { - color: #005dab; - cursor: pointer; - text-decoration: none; - } + &:hover { + color: #005dab; + cursor: pointer; + text-decoration: none; + } } .login-submit-btn { - background-color: #0093d0; + background-color: #0093d0; - &:hover { - background-color: #dbf0f9; - } + &:hover { + background-color: #dbf0f9; + } } .login-lock { - color: #005dab; + color: #005dab; } diff --git a/src/app/containers/Login/login.component.spec.ts b/src/app/containers/Login/login.component.spec.ts index 45de4944..9cde3df4 100644 --- a/src/app/containers/Login/login.component.spec.ts +++ b/src/app/containers/Login/login.component.spec.ts @@ -3,22 +3,22 @@ import { async, ComponentFixture, TestBed } from "@angular/core/testing"; import { LoginComponent } from "./login.component"; describe("LoginComponent", () => { - let component: LoginComponent; - let fixture: ComponentFixture; + let component: LoginComponent; + let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [LoginComponent] - }).compileComponents(); - })); + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [LoginComponent], + }).compileComponents(); + })); - beforeEach(() => { - fixture = TestBed.createComponent(LoginComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); + beforeEach(() => { + fixture = TestBed.createComponent(LoginComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); - it("should create", () => { - expect(component).toBeTruthy(); - }); + it("should create", () => { + expect(component).toBeTruthy(); + }); }); diff --git a/src/app/containers/Login/login.component.ts b/src/app/containers/Login/login.component.ts index ae0dbd43..ec4eed5f 100644 --- a/src/app/containers/Login/login.component.ts +++ b/src/app/containers/Login/login.component.ts @@ -3,30 +3,27 @@ import { Store } from "@ngrx/store"; import { FormControl, FormGroup } from "@angular/forms"; import { Member } from "../../models"; -import { - RootStoreState, - MemberStoreActions -} from "src/app/root-store"; +import { RootStoreState, MemberStoreActions } from "src/app/root-store"; @Component({ - selector: "app-login", - templateUrl: "./login.component.html", - styleUrls: ["./login.component.scss"] + selector: "app-login", + templateUrl: "./login.component.html", + styleUrls: ["./login.component.scss"], }) export class LoginComponent implements OnInit { - member$: Member; - loginForm = new FormGroup({ - email: new FormControl(""), - password: new FormControl("") - }); + member$: Member; + loginForm = new FormGroup({ + email: new FormControl(""), + password: new FormControl(""), + }); - constructor(private store$: Store) {} + constructor(private store$: Store) {} - ngOnInit() {} + ngOnInit() {} - onSubmit() { - this.store$.dispatch( - MemberStoreActions.loginAuthentication(this.loginForm.value) - ); - } + onSubmit() { + this.store$.dispatch( + MemberStoreActions.loginAuthentication(this.loginForm.value) + ); + } } diff --git a/src/app/containers/Members/members.component.html b/src/app/containers/Members/members.component.html index f2ae97d5..d3dbedba 100644 --- a/src/app/containers/Members/members.component.html +++ b/src/app/containers/Members/members.component.html @@ -1,3 +1,7 @@ -

A directory for every ACM Member, with individualized pages for each member

+

+ A directory for every ACM Member, with individualized pages for each member +

Also includes officers and their position in the club

-

Will have tags for interests so you can find members with similar interests

+

+ Will have tags for interests so you can find members with similar interests +

diff --git a/src/app/containers/Members/members.component.spec.ts b/src/app/containers/Members/members.component.spec.ts index 601e15e5..44972fc3 100644 --- a/src/app/containers/Members/members.component.spec.ts +++ b/src/app/containers/Members/members.component.spec.ts @@ -3,22 +3,22 @@ import { async, ComponentFixture, TestBed } from "@angular/core/testing"; import { MembersComponent } from "./members.component"; describe("MembersComponent", () => { - let component: MembersComponent; - let fixture: ComponentFixture; + let component: MembersComponent; + let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [MembersComponent] - }).compileComponents(); - })); + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [MembersComponent], + }).compileComponents(); + })); - beforeEach(() => { - fixture = TestBed.createComponent(MembersComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); + beforeEach(() => { + fixture = TestBed.createComponent(MembersComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); - it("should create", () => { - expect(component).toBeTruthy(); - }); + it("should create", () => { + expect(component).toBeTruthy(); + }); }); diff --git a/src/app/containers/Members/members.component.ts b/src/app/containers/Members/members.component.ts index fb55336c..03c7e04f 100644 --- a/src/app/containers/Members/members.component.ts +++ b/src/app/containers/Members/members.component.ts @@ -1,12 +1,12 @@ import { Component, OnInit } from "@angular/core"; @Component({ - selector: "app-members", - templateUrl: "./members.component.html", - styleUrls: ["./members.component.scss"] + selector: "app-members", + templateUrl: "./members.component.html", + styleUrls: ["./members.component.scss"], }) export class MembersComponent implements OnInit { - constructor() {} + constructor() {} - ngOnInit() {} + ngOnInit() {} } diff --git a/src/app/containers/NotFound/not-found.component.html b/src/app/containers/NotFound/not-found.component.html index 9e1c74fe..513fd424 100644 --- a/src/app/containers/NotFound/not-found.component.html +++ b/src/app/containers/NotFound/not-found.component.html @@ -1,7 +1,7 @@
- Page Not Found + Page Not Found
diff --git a/src/app/containers/NotFound/not-found.component.scss b/src/app/containers/NotFound/not-found.component.scss index d6ab8477..a81cb5f0 100644 --- a/src/app/containers/NotFound/not-found.component.scss +++ b/src/app/containers/NotFound/not-found.component.scss @@ -1,4 +1,4 @@ .error-404 { - width: 80vw; - margin: 15vh 0 15vh 10vw; + width: 80vw; + margin: 15vh 0 15vh 10vw; } diff --git a/src/app/containers/NotFound/not-found.component.spec.ts b/src/app/containers/NotFound/not-found.component.spec.ts index 67562916..8b84624e 100644 --- a/src/app/containers/NotFound/not-found.component.spec.ts +++ b/src/app/containers/NotFound/not-found.component.spec.ts @@ -3,22 +3,22 @@ import { async, ComponentFixture, TestBed } from "@angular/core/testing"; import { NotFoundComponent } from "./not-found.component"; describe("NotFoundComponent", () => { - let component: NotFoundComponent; - let fixture: ComponentFixture; + let component: NotFoundComponent; + let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [NotFoundComponent] - }).compileComponents(); - })); + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [NotFoundComponent], + }).compileComponents(); + })); - beforeEach(() => { - fixture = TestBed.createComponent(NotFoundComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); + beforeEach(() => { + fixture = TestBed.createComponent(NotFoundComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); - it("should create", () => { - expect(component).toBeTruthy(); - }); + it("should create", () => { + expect(component).toBeTruthy(); + }); }); diff --git a/src/app/containers/NotFound/not-found.component.ts b/src/app/containers/NotFound/not-found.component.ts index 0d400a78..30249bf0 100644 --- a/src/app/containers/NotFound/not-found.component.ts +++ b/src/app/containers/NotFound/not-found.component.ts @@ -2,13 +2,12 @@ import { Component, OnInit } from "@angular/core"; import { Store } from "@ngrx/store"; @Component({ - selector: "app-not-found", - templateUrl: "./not-found.component.html", - styleUrls: ["./not-found.component.scss"] + selector: "app-not-found", + templateUrl: "./not-found.component.html", + styleUrls: ["./not-found.component.scss"], }) export class NotFoundComponent implements OnInit { + constructor() {} - constructor() {} - - ngOnInit() {} + ngOnInit() {} } diff --git a/src/app/containers/Projects/projects.component.html b/src/app/containers/Projects/projects.component.html index e07f2b97..59b6a63e 100644 --- a/src/app/containers/Projects/projects.component.html +++ b/src/app/containers/Projects/projects.component.html @@ -1,404 +1,426 @@
-
+
+
+
+
+

+ Projects +

+

+ ACM @ UCM is dedicated to provided project based + Research and Development free and with nore + prerequirements to all UC Merced Students! +

+
+
+
+
-
-
-

- Projects -

-

- ACM @ UCM is dedicated to provided project based - Research and Development free and with nore prerequirements - to all UC Merced Students! -

-
-
+ progressive app
-
-
-
-
-

- How to Join -

-

- Are you interested in joining a project? -

-

- Setup the Following 4 tools to get started! -

-
+
+
+

+ How to Join +

+

+ Are you interested in joining a project? +

+

+ Setup the Following 4 tools to get started! +

+
-
-
    -
  • -
    -
    -
    - - - -
    -
    -
    -
    - GitHub -
    -

    - Make sure you have a GitHub account and either have - GitHub Desktop, - GitKraken - (the recommended software), or - Git CLI installed on your - machine. -

    -
    -
    -
  • -
  • -
    -
    -
    - - - -
    -
    -
    -
    - Asana -
    -

    - Create an Asana account, - because all tasks will be placed onto our SCRUM board. -

    -
    -
    -
  • -
  • -
    -
    -
    - - - -
    -
    -
    -
    - Text Editor -
    -

    - For which IDE you want to work in is completely optional. - However, we strongly recommend - Visual Studio Code, - especially if you are working with multiple languages. -

    -
    -
    -
  • -
  • -
    -
    -
    - - - -
    -
    -
    -
    - Communications -
    -

    - All conversations between project teams will exist on - Slack - and - discord - in their respective team channels. -

    -
    -
    -
  • -
+
+
    +
  • +
    +
    +
    + + + +
    +
    +
    +
    + GitHub +
    +

    + Make sure you have a GitHub account and either + have + GitHub Desktop, + GitKraken + (the recommended software), or + Git CLI + installed on your machine. +

    +
    +
    +
  • +
  • +
    +
    +
    + + + +
    +
    +
    +
    + Asana +
    +

    + Create an + Asana account, + because all tasks will be placed onto our SCRUM + board. +

    +
    +
    +
  • +
  • +
    +
    +
    + + + +
    +
    +
    +
    + Text Editor +
    +

    + For which IDE you want to work in is completely + optional. However, we strongly recommend + Visual Studio Code, especially if you are working with multiple + languages. +

    +
    +
    +
  • +
  • +
    +
    +
    + + + +
    +
    +
    +
    + Communications +
    +

    + All conversations between project teams will + exist on + Slack + and + discord + in their respective team channels. +

    +
    +
    +
  • +
+
-
-

- Project Gallery -

-

- On Going Projects -

+

+ Project Gallery +

+

+ On Going Projects +

-
-
-
- -
- - Chapter Website - -
- UC Merced's Official ACM Chapter Website -
- +
+
+
+ +
+ + Chapter Website + +
+ UC Merced's Official ACM Chapter Website +
+ +
+
-
-
-
-
- -
- - Video Game CNN - -
- 🐦Build a controlled neural network to allow an ai to win every time - at flappy bird, pacman, space invaders 🐤 -
-
- CNN - Tensorflow -
+
+
+ +
+ + Video Game CNN + +
+ 🐦Build a controlled neural network to allow an ai to + win every time at flappy bird, pacman, space invaders 🐤 +
+
+ CNN + Tensorflow +
+
+
-
-
-
-
- -
- - Handwriting ML - -
- Determining what written text says regardless of the language it is - written in. -
- +
+
+ +
+ + Handwriting ML + +
+ Determining what written text says regardless of the + language it is written in. +
+ +
+
-
-
-

- Project Gallery -

-

- Archived Projects -

+

+ Project Gallery +

+

+ Archived Projects +

-
-
-
- -
- - GPA Calculator - -
- Improving the old GPA calculator system used by advisors at UC - Merced -
- +
+
+
+ +
+ + GPA Calculator + +
+ Improving the old GPA calculator system used by advisors + at UC Merced +
+ +
+
-
-
diff --git a/src/app/containers/Projects/projects.component.scss b/src/app/containers/Projects/projects.component.scss index 18dbe7fb..5b909e97 100644 --- a/src/app/containers/Projects/projects.component.scss +++ b/src/app/containers/Projects/projects.component.scss @@ -1,43 +1,43 @@ .uc-merced { - color: #f9a826; + color: #f9a826; } .projects-login-btn { - background-color: #0093d0; + background-color: #0093d0; - &:hover { - background-color: #039ed4; - } + &:hover { + background-color: #039ed4; + } } .projects-sign-up-btn { - color: #005dab; + color: #005dab; } .projects-login-btn, .projects-sign-up-btn { - box-shadow: -12px -12px 12px 0 rgba(255, 255, 255, 1), - 12px 12px 12px 0 rgba(0, 0, 0, 0.05); + box-shadow: -12px -12px 12px 0 rgba(255, 255, 255, 1), + 12px 12px 12px 0 rgba(0, 0, 0, 0.05); } @media (min-width: 1024px) { - .projects-img { - top: 10rem; - right: 4rem; - } + .projects-img { + top: 10rem; + right: 4rem; + } } @media (min-width: 1280px) { - .projects-img { - top: 10rem; - right: 10rem; - } + .projects-img { + top: 10rem; + right: 10rem; + } } .about-us-title { - color: #f9a826; + color: #f9a826; } .about-us-icons { - background-color: #f9a826; + background-color: #f9a826; } diff --git a/src/app/containers/Projects/projects.component.spec.ts b/src/app/containers/Projects/projects.component.spec.ts index c62b0b22..e037a21c 100644 --- a/src/app/containers/Projects/projects.component.spec.ts +++ b/src/app/containers/Projects/projects.component.spec.ts @@ -3,22 +3,22 @@ import { async, ComponentFixture, TestBed } from "@angular/core/testing"; import { ProjectsComponent } from "./projects.component"; describe("ProjectsComponent", () => { - let component: ProjectsComponent; - let fixture: ComponentFixture; + let component: ProjectsComponent; + let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [ProjectsComponent] - }).compileComponents(); - })); + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ProjectsComponent], + }).compileComponents(); + })); - beforeEach(() => { - fixture = TestBed.createComponent(ProjectsComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); + beforeEach(() => { + fixture = TestBed.createComponent(ProjectsComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); - it("should create", () => { - expect(component).toBeTruthy(); - }); + it("should create", () => { + expect(component).toBeTruthy(); + }); }); diff --git a/src/app/containers/Projects/projects.component.ts b/src/app/containers/Projects/projects.component.ts index 040ab20d..018c020b 100644 --- a/src/app/containers/Projects/projects.component.ts +++ b/src/app/containers/Projects/projects.component.ts @@ -1,12 +1,12 @@ import { Component, OnInit } from "@angular/core"; @Component({ - selector: "app-projects", - templateUrl: "./projects.component.html", - styleUrls: ["./projects.component.scss"] + selector: "app-projects", + templateUrl: "./projects.component.html", + styleUrls: ["./projects.component.scss"], }) export class ProjectsComponent implements OnInit { - constructor() {} + constructor() {} - ngOnInit() {} + ngOnInit() {} } diff --git a/src/app/containers/SignUp/sign-up.component.spec.ts b/src/app/containers/SignUp/sign-up.component.spec.ts index 51ead23b..0afdee7f 100644 --- a/src/app/containers/SignUp/sign-up.component.spec.ts +++ b/src/app/containers/SignUp/sign-up.component.spec.ts @@ -3,22 +3,22 @@ import { async, ComponentFixture, TestBed } from "@angular/core/testing"; import { SignUpComponent } from "./sign-up.component"; describe("SignUpComponent", () => { - let component: SignUpComponent; - let fixture: ComponentFixture; + let component: SignUpComponent; + let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [SignUpComponent] - }).compileComponents(); - })); + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [SignUpComponent], + }).compileComponents(); + })); - beforeEach(() => { - fixture = TestBed.createComponent(SignUpComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); + beforeEach(() => { + fixture = TestBed.createComponent(SignUpComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); - it("should create", () => { - expect(component).toBeTruthy(); - }); + it("should create", () => { + expect(component).toBeTruthy(); + }); }); diff --git a/src/app/containers/SignUp/sign-up.component.ts b/src/app/containers/SignUp/sign-up.component.ts index b90dae8a..d12456d4 100644 --- a/src/app/containers/SignUp/sign-up.component.ts +++ b/src/app/containers/SignUp/sign-up.component.ts @@ -4,25 +4,25 @@ import { FormControl, FormGroup } from "@angular/forms"; import { Member } from "../../models"; @Component({ - selector: "app-sign-up", - templateUrl: "./sign-up.component.html", - styleUrls: ["./sign-up.component.scss"] + selector: "app-sign-up", + templateUrl: "./sign-up.component.html", + styleUrls: ["./sign-up.component.scss"], }) export class SignUpComponent implements OnInit { - member: Member; - signUpForm = new FormGroup({ - id: new FormControl(""), - firstName: new FormControl(""), - lastName: new FormControl(""), - email: new FormControl(""), - password: new FormControl("") - }); + member: Member; + signUpForm = new FormGroup({ + id: new FormControl(""), + firstName: new FormControl(""), + lastName: new FormControl(""), + email: new FormControl(""), + password: new FormControl(""), + }); - constructor() {} + constructor() {} - ngOnInit() {} + ngOnInit() {} - onSubmit() { - console.log(this.signUpForm.value); - } + onSubmit() { + console.log(this.signUpForm.value); + } } diff --git a/src/app/containers/Workshops/workshops.component.html b/src/app/containers/Workshops/workshops.component.html index a7631db6..cd5b3013 100644 --- a/src/app/containers/Workshops/workshops.component.html +++ b/src/app/containers/Workshops/workshops.component.html @@ -2,7 +2,4 @@

Grid layout system that has subpages with procedural walkthroughs and github links to the workshop's repository

Read from the database the info and dynamically display it on the grid system

--> -
- -
- +
diff --git a/src/app/containers/Workshops/workshops.component.scss b/src/app/containers/Workshops/workshops.component.scss index 8f65e9d1..523d38eb 100644 --- a/src/app/containers/Workshops/workshops.component.scss +++ b/src/app/containers/Workshops/workshops.component.scss @@ -1,6 +1,6 @@ .container { - // margin: 0; + // margin: 0; height: calc(100vh / 2); width: 100%; background-color: #333333; -} \ No newline at end of file +} diff --git a/src/app/containers/Workshops/workshops.component.spec.ts b/src/app/containers/Workshops/workshops.component.spec.ts index 86d8aa5d..3c7c1684 100644 --- a/src/app/containers/Workshops/workshops.component.spec.ts +++ b/src/app/containers/Workshops/workshops.component.spec.ts @@ -3,22 +3,22 @@ import { async, ComponentFixture, TestBed } from "@angular/core/testing"; import { WorkshopsComponent } from "./workshops.component"; describe("WorkshopsComponent", () => { - let component: WorkshopsComponent; - let fixture: ComponentFixture; + let component: WorkshopsComponent; + let fixture: ComponentFixture; - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [WorkshopsComponent] - }).compileComponents(); - })); + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [WorkshopsComponent], + }).compileComponents(); + })); - beforeEach(() => { - fixture = TestBed.createComponent(WorkshopsComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); + beforeEach(() => { + fixture = TestBed.createComponent(WorkshopsComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); - it("should create", () => { - expect(component).toBeTruthy(); - }); + it("should create", () => { + expect(component).toBeTruthy(); + }); }); diff --git a/src/app/containers/Workshops/workshops.component.ts b/src/app/containers/Workshops/workshops.component.ts index 98d2e3a9..1e8c0fcb 100644 --- a/src/app/containers/Workshops/workshops.component.ts +++ b/src/app/containers/Workshops/workshops.component.ts @@ -1,12 +1,12 @@ import { Component, OnInit } from "@angular/core"; @Component({ - selector: "app-workshops", - templateUrl: "./workshops.component.html", - styleUrls: ["./workshops.component.scss"] + selector: "app-workshops", + templateUrl: "./workshops.component.html", + styleUrls: ["./workshops.component.scss"], }) export class WorkshopsComponent implements OnInit { - constructor() {} + constructor() {} - ngOnInit() {} + ngOnInit() {} } diff --git a/src/app/containers/index.ts b/src/app/containers/index.ts index 777e73ee..0a061d03 100644 --- a/src/app/containers/index.ts +++ b/src/app/containers/index.ts @@ -5,7 +5,7 @@ import { WorkshopsComponent } from "./Workshops/workshops.component"; import { DashboardComponent } from "./Dashboard/dashboard.component"; import { LanComponent } from "./LAN/lan.component"; import { CodeEditorComponent } from "./CodeEditor/code-editor.component"; -import { CalendarComponent } from "./Calendar/calendar.component"; +import { CTFComponent } from "./CaptureTheFlag/capture-the-flag.component"; import { MembersComponent } from "./Members/members.component"; import { LoginComponent } from "./Login/login.component"; import { SignUpComponent } from "./SignUp/sign-up.component"; @@ -13,17 +13,17 @@ import { EventsComponent } from "./Events/events.component"; import { NotFoundComponent } from "./NotFound/not-found.component"; export { - CoffeeNCodeComponent, - HomeComponent, - ProjectsComponent, - WorkshopsComponent, - DashboardComponent, - LanComponent, - CodeEditorComponent, - CalendarComponent, - MembersComponent, - LoginComponent, - SignUpComponent, - EventsComponent, - NotFoundComponent + CoffeeNCodeComponent, + HomeComponent, + ProjectsComponent, + WorkshopsComponent, + DashboardComponent, + LanComponent, + CodeEditorComponent, + CTFComponent, + MembersComponent, + LoginComponent, + SignUpComponent, + EventsComponent, + NotFoundComponent, }; diff --git a/src/app/models/attendee.ts b/src/app/models/attendee.ts new file mode 100644 index 00000000..68c6905b --- /dev/null +++ b/src/app/models/attendee.ts @@ -0,0 +1,6 @@ +export interface Attendee { + studentId?: number; + name: string; + email: string; + year?: string; +} diff --git a/src/app/models/auth.ts b/src/app/models/auth.ts new file mode 100644 index 00000000..3a1174f6 --- /dev/null +++ b/src/app/models/auth.ts @@ -0,0 +1,6 @@ +export interface Auth { + tokenType: string; + accessToken: string; + refreshToken: string; + expiresIn: string; +} diff --git a/src/app/models/capture-the-flag.ts b/src/app/models/capture-the-flag.ts new file mode 100644 index 00000000..2c4d439a --- /dev/null +++ b/src/app/models/capture-the-flag.ts @@ -0,0 +1,4 @@ +export interface CTFMeetings { + name: string; + string: string; +} diff --git a/src/app/models/coffee-n-code.ts b/src/app/models/coffee-n-code.ts new file mode 100644 index 00000000..4294f296 --- /dev/null +++ b/src/app/models/coffee-n-code.ts @@ -0,0 +1,4 @@ +export interface Resources { + name: string; + source: string; +} diff --git a/src/app/models/event.ts b/src/app/models/event.ts new file mode 100644 index 00000000..46b5529a --- /dev/null +++ b/src/app/models/event.ts @@ -0,0 +1,17 @@ +import { Attendee } from "./attendee"; + +export interface Event { + id: number; + name: string; + description: string; + location?: Geolocation; + time: Date; + date: Date; + attendees?: Attendee[]; + hostedBy: string; + tags?: []; + series?: string; + image?: string; + flyer?: string; + active: boolean; +} diff --git a/src/app/models/index.ts b/src/app/models/index.ts index 00d0ecc1..e774bdc2 100644 --- a/src/app/models/index.ts +++ b/src/app/models/index.ts @@ -1,2 +1,9 @@ export * from "./member"; +export * from "./auth"; export * from "./workshops"; +export * from "./event"; +export * from "./project"; +export * from "./coffee-n-code"; +export * from "./koding-kata"; +export * from "./lan"; +export * from "./capture-the-flag"; diff --git a/src/app/models/koding-kata.ts b/src/app/models/koding-kata.ts new file mode 100644 index 00000000..1fa34039 --- /dev/null +++ b/src/app/models/koding-kata.ts @@ -0,0 +1,4 @@ +export interface TechnicalInterviewQuestions { + name: string; + source: string; +} diff --git a/src/app/models/lan.ts b/src/app/models/lan.ts new file mode 100644 index 00000000..1bb148d3 --- /dev/null +++ b/src/app/models/lan.ts @@ -0,0 +1,4 @@ +export interface LAN { + name: string; + date: string; +} diff --git a/src/app/models/member.ts b/src/app/models/member.ts index b0a7eafa..117e3f5a 100644 --- a/src/app/models/member.ts +++ b/src/app/models/member.ts @@ -1,34 +1,29 @@ import { Url } from "url"; export interface Members { - members: Member[]; + members: Member[]; } export interface Member { - id: number; - studentId: number; - firstName: string; - lastName: string; - email: string; - password: string; - year?: string; - github?: Url; - linkedin?: Url; - personalWebsite?: Url; - stackOverflow?: Url; - portfolium?: Url; - handshake?: Url; - slack?: string; - discord?: string; - thumbnail?: string; - active: boolean; - banned: boolean; - privilege: string; - joined?: Date; - token: string; -} - -export interface FullName { - firstName: string; - lastName: string; + id: number; + studentId: number; + firstName: string; + lastName: string; + email: string; + password: string; + year?: string; + github?: Url; + linkedin?: Url; + personalWebsite?: Url; + stackOverflow?: Url; + portfolium?: Url; + handshake?: Url; + slack?: string; + discord?: string; + thumbnail?: string; + active: boolean; + banned: boolean; + privilege: string; + joined?: Date; + token: string; } diff --git a/src/app/models/project.ts b/src/app/models/project.ts new file mode 100644 index 00000000..a8f89b8d --- /dev/null +++ b/src/app/models/project.ts @@ -0,0 +1,15 @@ +import { Url } from "url"; + +export interface Project { + id: number; + name: string; + time: Date; + location: Geolocation; + description: string; + github: Url; + hostedBy: string; + tags: []; + series: string; + difficulty: number; + image: string; +} diff --git a/src/app/models/projects.ts b/src/app/models/projects.ts deleted file mode 100644 index 1f7a6f31..00000000 --- a/src/app/models/projects.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { Url } from "url"; - - - -export interface Projects { - id: number; - name: string; - time: Date; - location: Geolocation; - description: string; - github: Url; - hostedBy: string; - tags: []; - series: string; - difficulty: number; - image: string; -} - diff --git a/src/app/models/workshops.ts b/src/app/models/workshops.ts index 9cffaa3f..cfd7f894 100644 --- a/src/app/models/workshops.ts +++ b/src/app/models/workshops.ts @@ -1,30 +1,21 @@ import { Url } from "url"; +import { Attendee } from "./attendee"; -export interface Workshops { - id: number; - name: string; - description: string; - location: Geolocation; - time: Date; - date: Date; - github: Url; - googleSlide: Url; - attendees: Attendee[]; - hostedBy: string; - tags?: []; - series?: string; - difficulty?: number; - image: string; - flyer: string; - active: boolean; +export interface Workshop { + id: number; + name: string; + description: string; + location?: Geolocation; + time: Date; + date: Date; + github?: Url; + googleSlide?: Url; + attendees?: Attendee[]; + hostedBy: string; + tags?: []; + series?: string; + difficulty?: number; + image?: string; + flyer?: string; + active: boolean; } - -export interface Attendee { - name: string; - email: string; - year: string; -} - - - - diff --git a/src/app/root-store/auth/actions.ts b/src/app/root-store/auth/actions.ts new file mode 100644 index 00000000..f0f8f95d --- /dev/null +++ b/src/app/root-store/auth/actions.ts @@ -0,0 +1,27 @@ +import { createAction, props } from "@ngrx/store"; + +import { Auth } from "src/app/models"; + +export const Authentication = createAction( + "[Auth] Store Auth Token", + props<{ + tokenType: string; + accessToken: string; + refreshToken: string; + expiresIn: string; + }>() +); + +export const AuthenticationSuccess = createAction( + "[Auth] Authentication Success", + props<{ data: Auth }>() +); + +export const AuthenticationFailure = createAction( + "[Auth] Authentication Failure", + props<{ error: any }>() +); + +// Update Access Token Actions + +// Update refresh Token Actions diff --git a/src/app/root-store/auth/auth.module.ts b/src/app/root-store/auth/auth.module.ts new file mode 100644 index 00000000..bfe5064e --- /dev/null +++ b/src/app/root-store/auth/auth.module.ts @@ -0,0 +1,17 @@ +import { CommonModule } from "@angular/common"; +import { NgModule } from "@angular/core"; +import { EffectsModule } from "@ngrx/effects"; +import { StoreModule } from "@ngrx/store"; + +import { AuthStoreEffects } from "./effects"; +import { reducer } from "./reducer"; + +@NgModule({ + imports: [ + CommonModule, + StoreModule.forFeature("auth", reducer), + EffectsModule.forFeature([AuthStoreEffects]), + ], + providers: [AuthStoreEffects], +}) +export class AuthStoreModule {} diff --git a/src/app/root-store/auth/effects.ts b/src/app/root-store/auth/effects.ts new file mode 100644 index 00000000..6e2d3079 --- /dev/null +++ b/src/app/root-store/auth/effects.ts @@ -0,0 +1,19 @@ +import { Injectable } from "@angular/core"; +import { Actions, createEffect, ofType } from "@ngrx/effects"; +import { of } from "rxjs"; +import { catchError, map, exhaustMap } from "rxjs/operators"; + +import * as AuthActions from "./actions"; + +@Injectable() +export class AuthStoreEffects { + constructor(private actions: Actions) {} + + authUser$ = createEffect(() => { + return this.actions.pipe( + ofType(AuthActions.Authentication), + map((data) => AuthActions.AuthenticationSuccess({ data })), + catchError((error) => of(AuthActions.AuthenticationFailure({ error }))) + ); + }); +} diff --git a/src/app/root-store/auth/index.ts b/src/app/root-store/auth/index.ts new file mode 100644 index 00000000..fa4a3e44 --- /dev/null +++ b/src/app/root-store/auth/index.ts @@ -0,0 +1,7 @@ +import * as AuthStoreActions from "./actions"; +import * as AuthStoreSelectors from "./selectors"; +import * as AuthStoreState from "./state"; + +export { AuthStoreModule } from "./auth.module"; + +export { AuthStoreActions, AuthStoreSelectors, AuthStoreState }; diff --git a/src/app/root-store/auth/reducer.ts b/src/app/root-store/auth/reducer.ts new file mode 100644 index 00000000..f0c62636 --- /dev/null +++ b/src/app/root-store/auth/reducer.ts @@ -0,0 +1,34 @@ +import { Action, createReducer, on } from "@ngrx/store"; + +import { initialState } from "./state"; +import * as AuthActions from "./actions"; +import { Auth } from "src/app/models"; + +const authReducer = createReducer( + initialState, + + on(AuthActions.Authentication, (state, action) => { + return { ...state, isLoading: true, error: null }; + }), + + on(AuthActions.AuthenticationSuccess, (state, action) => { + return { + ...state, + ...action.data, + isLoading: false, + error: null, + }; + }), + + on(AuthActions.AuthenticationFailure, (state, action) => { + return { + ...state, + isLoading: false, + error: action.error, + }; + }) +); + +export function reducer(state: Auth | undefined, action: Action) { + return authReducer(state, action); +} diff --git a/src/app/root-store/auth/selectors.ts b/src/app/root-store/auth/selectors.ts new file mode 100644 index 00000000..d352826f --- /dev/null +++ b/src/app/root-store/auth/selectors.ts @@ -0,0 +1,33 @@ +import { + createFeatureSelector, + createSelector, + ActionReducerMap, +} from "@ngrx/store"; + +import { reducer } from "./reducer"; +import { Auth } from "src/app/models"; + +export interface State { + auth: Auth; +} + +export const reducers: ActionReducerMap = { + auth: reducer, +}; + +export const selectAuthState = createFeatureSelector("auth"); + +export const getAccessToken = (state: Auth): string => state.accessToken; +export const selectAccessToken = createSelector( + selectAuthState, + getAccessToken +); + +export const getRefreshToken = (state: Auth): string => state.refreshToken; +export const selectRefreshToken = createSelector( + selectAuthState, + getRefreshToken +); + +export const getExpiresIn = (state: Auth): string => state.expiresIn; +export const selectExpiresIn = createSelector(selectAuthState, getExpiresIn); diff --git a/src/app/root-store/auth/state.ts b/src/app/root-store/auth/state.ts new file mode 100644 index 00000000..cafe1ea3 --- /dev/null +++ b/src/app/root-store/auth/state.ts @@ -0,0 +1,10 @@ +import { Auth } from "src/app/models"; + +export const initialState: Auth & { isLoading?: boolean; error?: any } = { + tokenType: "", + accessToken: "", + refreshToken: "", + expiresIn: "", + isLoading: false, + error: null, +}; diff --git a/src/app/root-store/capture-the-flag/actions.ts b/src/app/root-store/capture-the-flag/actions.ts new file mode 100644 index 00000000..0842e715 --- /dev/null +++ b/src/app/root-store/capture-the-flag/actions.ts @@ -0,0 +1,13 @@ +import { createAction, props } from "@ngrx/store"; + +import { CTFMeetings } from "src/app/models"; + +export const loadCTFMeetingsSuccess = createAction( + "[CTF] Load CTF Meetings Success", + props<{ data: CTFMeetings[] }>() +); + +export const loadCTFMeetingsFailure = createAction( + "[CTF] Load CTF Meetings Failure", + props<{ error: any }>() +); diff --git a/src/app/root-store/capture-the-flag/capture-the-flag.module.ts b/src/app/root-store/capture-the-flag/capture-the-flag.module.ts new file mode 100644 index 00000000..7417b7e2 --- /dev/null +++ b/src/app/root-store/capture-the-flag/capture-the-flag.module.ts @@ -0,0 +1,17 @@ +import { CommonModule } from "@angular/common"; +import { NgModule } from "@angular/core"; +import { EffectsModule } from "@ngrx/effects"; +import { StoreModule } from "@ngrx/store"; + +import { CTFStoreEffects } from "./effects"; +import { reducer } from "./reducer"; + +@NgModule({ + imports: [ + CommonModule, + StoreModule.forFeature("ctf", reducer), + EffectsModule.forFeature([CTFStoreEffects]), + ], + providers: [CTFStoreEffects], +}) +export class CTFStoreModule {} diff --git a/src/app/root-store/capture-the-flag/effects.ts b/src/app/root-store/capture-the-flag/effects.ts new file mode 100644 index 00000000..2fae73bb --- /dev/null +++ b/src/app/root-store/capture-the-flag/effects.ts @@ -0,0 +1,31 @@ +import { Injectable } from "@angular/core"; +import { + Actions, + createEffect, + ofType, + ROOT_EFFECTS_INIT, +} from "@ngrx/effects"; +import { of } from "rxjs"; +import { catchError, map, concatMap } from "rxjs/operators"; + +import { CTFService } from "../../services"; +import * as CTFActions from "./actions"; + +@Injectable() +export class CTFStoreEffects { + constructor(private ctfService: CTFService, private actions: Actions) {} + + loadCTFMeetingStores$ = createEffect(() => { + return this.actions.pipe( + ofType(ROOT_EFFECTS_INIT), + concatMap(() => + this.ctfService.getCTFMeetings().pipe( + map((data) => CTFActions.loadCTFMeetingsSuccess({ data })), + catchError((error) => + of(CTFActions.loadCTFMeetingsFailure({ error })) + ) + ) + ) + ); + }); +} diff --git a/src/app/root-store/capture-the-flag/index.ts b/src/app/root-store/capture-the-flag/index.ts new file mode 100644 index 00000000..c3d11078 --- /dev/null +++ b/src/app/root-store/capture-the-flag/index.ts @@ -0,0 +1,7 @@ +import * as CTFStoreActions from "./actions"; +import * as CTFStoreSelectors from "./selectors"; +import * as CTFStoreState from "./state"; + +export { CTFStoreModule } from "./capture-the-flag.module"; + +export { CTFStoreActions, CTFStoreSelectors, CTFStoreState }; diff --git a/src/app/root-store/capture-the-flag/reducer.ts b/src/app/root-store/capture-the-flag/reducer.ts new file mode 100644 index 00000000..1b2e9eb9 --- /dev/null +++ b/src/app/root-store/capture-the-flag/reducer.ts @@ -0,0 +1,26 @@ +import { Action, createReducer, on } from "@ngrx/store"; + +import { initialState, ctfAdapter, CTFState } from "./state"; +import * as CTFActions from "./actions"; + +const ctfReducer = createReducer( + initialState, + + on(CTFActions.loadCTFMeetingsSuccess, (state, action) => { + return ctfAdapter.addAll(action.data, { + ...state, + error: null, + }); + }), + + on(CTFActions.loadCTFMeetingsFailure, (state, action) => { + return { + ...state, + error: action.error, + }; + }) +); + +export function reducer(state: CTFState | undefined, action: Action) { + return ctfReducer(state, action); +} diff --git a/src/app/root-store/capture-the-flag/selectors.ts b/src/app/root-store/capture-the-flag/selectors.ts new file mode 100644 index 00000000..cd5fddc0 --- /dev/null +++ b/src/app/root-store/capture-the-flag/selectors.ts @@ -0,0 +1,38 @@ +import { + createFeatureSelector, + createSelector, + ActionReducerMap, +} from "@ngrx/store"; + +import { CTFMeetings } from "../../models"; +import { ctfAdapter, CTFState } from "./state"; +import { reducer } from "./reducer"; + +export interface State { + events: CTFState; +} + +export const reducers: ActionReducerMap = { + events: reducer, +}; + +export const selectCTFState = createFeatureSelector("ctf"); + +export const selectAllCTFMeetingItems: ( + state: object +) => CTFMeetings[] = ctfAdapter.getSelectors(selectCTFState).selectAll; + +export const selectCTFMeetingById = (name: string) => + createSelector( + this.selectAllCTFMeetingItems, + (allCTFMeetings: CTFMeetings[]) => { + if (allCTFMeetings) { + return allCTFMeetings.find((p) => p.name === name); + } else { + return null; + } + } + ); + +export const getError = (state: CTFState): any => state.error; +export const selectCTFError = createSelector(selectCTFState, getError); diff --git a/src/app/root-store/capture-the-flag/state.ts b/src/app/root-store/capture-the-flag/state.ts new file mode 100644 index 00000000..31b3d911 --- /dev/null +++ b/src/app/root-store/capture-the-flag/state.ts @@ -0,0 +1,18 @@ +import { createEntityAdapter, EntityAdapter, EntityState } from "@ngrx/entity"; +import { CTFMeetings } from "../../models"; + +export interface CTFState extends EntityState { + error?: any; +} + +export function sortByName(a: CTFMeetings, b: CTFMeetings): number { + return a.name.localeCompare(b.name); +} + +export const ctfAdapter: EntityAdapter = createEntityAdapter({ + sortComparer: sortByName, +}); + +export const initialState: CTFState = ctfAdapter.getInitialState({ + error: null, +}); diff --git a/src/app/root-store/coffee-n-code/actions.ts b/src/app/root-store/coffee-n-code/actions.ts new file mode 100644 index 00000000..e72a764c --- /dev/null +++ b/src/app/root-store/coffee-n-code/actions.ts @@ -0,0 +1,13 @@ +import { createAction, props } from "@ngrx/store"; + +import { Resources } from "src/app/models"; + +export const loadResourcesSuccess = createAction( + "[CoffeeNCode] Load Resources Success", + props<{ data: Resources[] }>() +); + +export const loadResourcesFailure = createAction( + "[CoffeeNCode] Load Resources Failure", + props<{ error: any }>() +); diff --git a/src/app/root-store/coffee-n-code/coffee-n-code.module.ts b/src/app/root-store/coffee-n-code/coffee-n-code.module.ts new file mode 100644 index 00000000..8fb6cc21 --- /dev/null +++ b/src/app/root-store/coffee-n-code/coffee-n-code.module.ts @@ -0,0 +1,17 @@ +import { CommonModule } from "@angular/common"; +import { NgModule } from "@angular/core"; +import { EffectsModule } from "@ngrx/effects"; +import { StoreModule } from "@ngrx/store"; + +import { CoffeeNCodeStoreEffects } from "./effects"; +import { reducer } from "./reducer"; + +@NgModule({ + imports: [ + CommonModule, + StoreModule.forFeature("coffee-n-code", reducer), + EffectsModule.forFeature([CoffeeNCodeStoreEffects]), + ], + providers: [CoffeeNCodeStoreEffects], +}) +export class CoffeeNCodeStoreModule {} diff --git a/src/app/root-store/coffee-n-code/effects.ts b/src/app/root-store/coffee-n-code/effects.ts new file mode 100644 index 00000000..3b5745dc --- /dev/null +++ b/src/app/root-store/coffee-n-code/effects.ts @@ -0,0 +1,36 @@ +import { Injectable } from "@angular/core"; +import { + Actions, + createEffect, + ofType, + ROOT_EFFECTS_INIT, +} from "@ngrx/effects"; +import { of } from "rxjs"; +import { catchError, map, concatMap } from "rxjs/operators"; + +import { CoffeeNCodeService } from "../../services"; +import * as CoffeeNCodeActions from "./actions"; + +@Injectable() +export class CoffeeNCodeStoreEffects { + constructor( + private coffeeNCodeService: CoffeeNCodeService, + private actions: Actions + ) {} + + loadCoffeeNCodeStores$ = createEffect(() => { + return this.actions.pipe( + ofType(ROOT_EFFECTS_INIT), + concatMap(() => + this.coffeeNCodeService.getResources().pipe( + map((data) => + CoffeeNCodeActions.loadResourcesSuccess({ data }) + ), + catchError((error) => + of(CoffeeNCodeActions.loadResourcesFailure({ error })) + ) + ) + ) + ); + }); +} diff --git a/src/app/root-store/coffee-n-code/index.ts b/src/app/root-store/coffee-n-code/index.ts new file mode 100644 index 00000000..48b71792 --- /dev/null +++ b/src/app/root-store/coffee-n-code/index.ts @@ -0,0 +1,11 @@ +import * as CoffeeNCodeStoreActions from "./actions"; +import * as CoffeeNCodeStoreSelectors from "./selectors"; +import * as CoffeeNCodeStoreState from "./state"; + +export { CoffeeNCodeStoreModule } from "./coffee-n-code.module"; + +export { + CoffeeNCodeStoreActions, + CoffeeNCodeStoreSelectors, + CoffeeNCodeStoreState, +}; diff --git a/src/app/root-store/coffee-n-code/reducer.ts b/src/app/root-store/coffee-n-code/reducer.ts new file mode 100644 index 00000000..223ace9d --- /dev/null +++ b/src/app/root-store/coffee-n-code/reducer.ts @@ -0,0 +1,26 @@ +import { Action, createReducer, on } from "@ngrx/store"; + +import { initialState, coffeeNCodeAdapter, CoffeeNCodeState } from "./state"; +import * as CoffeeNCodeActions from "./actions"; + +const coffeeNCodeReducer = createReducer( + initialState, + + on(CoffeeNCodeActions.loadResourcesSuccess, (state, action) => { + return coffeeNCodeAdapter.addAll(action.data, { + ...state, + error: null, + }); + }), + + on(CoffeeNCodeActions.loadResourcesFailure, (state, action) => { + return { + ...state, + error: action.error, + }; + }) +); + +export function reducer(state: CoffeeNCodeState | undefined, action: Action) { + return coffeeNCodeReducer(state, action); +} diff --git a/src/app/root-store/coffee-n-code/selectors.ts b/src/app/root-store/coffee-n-code/selectors.ts new file mode 100644 index 00000000..9b6f1224 --- /dev/null +++ b/src/app/root-store/coffee-n-code/selectors.ts @@ -0,0 +1,44 @@ +import { + createFeatureSelector, + createSelector, + ActionReducerMap, +} from "@ngrx/store"; + +import { Resources } from "../../models"; +import { coffeeNCodeAdapter, CoffeeNCodeState } from "./state"; +import { reducer } from "./reducer"; + +export interface State { + resources: CoffeeNCodeState; +} + +export const reducers: ActionReducerMap = { + resources: reducer, +}; + +export const selectCoffeeNCodeState = createFeatureSelector( + "coffee-n-code" +); + +export const selectAllCoffeeNCodeItems: ( + state: object +) => Resources[] = coffeeNCodeAdapter.getSelectors(selectCoffeeNCodeState) + .selectAll; + +export const selectCoffeeNCodeByName = (name: string) => + createSelector( + this.selectAllCoffeeNCodeItems, + (allResources: Resources[]) => { + if (allResources) { + return allResources.find((p) => p.name === name); + } else { + return null; + } + } + ); + +export const getError = (state: CoffeeNCodeState): any => state.error; +export const selectCoffeeNCodeError = createSelector( + selectCoffeeNCodeState, + getError +); diff --git a/src/app/root-store/coffee-n-code/state.ts b/src/app/root-store/coffee-n-code/state.ts new file mode 100644 index 00000000..2aea94b0 --- /dev/null +++ b/src/app/root-store/coffee-n-code/state.ts @@ -0,0 +1,22 @@ +import { createEntityAdapter, EntityAdapter, EntityState } from "@ngrx/entity"; +import { Resources } from "../../models"; + +export interface CoffeeNCodeState extends EntityState { + error?: any; +} + +export function sortByName(a: Resources, b: Resources): number { + return a.name.localeCompare(b.name); +} + +export const coffeeNCodeAdapter: EntityAdapter = createEntityAdapter< + Resources +>({ + sortComparer: sortByName, +}); + +export const initialState: CoffeeNCodeState = coffeeNCodeAdapter.getInitialState( + { + error: null, + } +); diff --git a/src/app/root-store/event/actions.ts b/src/app/root-store/event/actions.ts new file mode 100644 index 00000000..766e133a --- /dev/null +++ b/src/app/root-store/event/actions.ts @@ -0,0 +1,13 @@ +import { createAction, props } from "@ngrx/store"; + +import { Event } from "src/app/models"; + +export const loadEventsSuccess = createAction( + "[Event] Load Events Success", + props<{ data: Event[] }>() +); + +export const loadEventsFailure = createAction( + "[Event] Load Events Failure", + props<{ error: any }>() +); diff --git a/src/app/root-store/event/effects.ts b/src/app/root-store/event/effects.ts new file mode 100644 index 00000000..4020ef9a --- /dev/null +++ b/src/app/root-store/event/effects.ts @@ -0,0 +1,31 @@ +import { Injectable } from "@angular/core"; +import { + Actions, + createEffect, + ofType, + ROOT_EFFECTS_INIT, +} from "@ngrx/effects"; +import { of } from "rxjs"; +import { catchError, map, concatMap } from "rxjs/operators"; + +import { EventService } from "../../services"; +import * as EventActions from "./actions"; + +@Injectable() +export class EventStoreEffects { + constructor(private eventService: EventService, private actions: Actions) {} + + loadMemberStores$ = createEffect(() => { + return this.actions.pipe( + ofType(ROOT_EFFECTS_INIT), + concatMap(() => + this.eventService.getEvents().pipe( + map((data) => EventActions.loadEventsSuccess({ data })), + catchError((error) => + of(EventActions.loadEventsFailure({ error })) + ) + ) + ) + ); + }); +} diff --git a/src/app/root-store/event/event.module.ts b/src/app/root-store/event/event.module.ts new file mode 100644 index 00000000..1f075dca --- /dev/null +++ b/src/app/root-store/event/event.module.ts @@ -0,0 +1,17 @@ +import { CommonModule } from "@angular/common"; +import { NgModule } from "@angular/core"; +import { EffectsModule } from "@ngrx/effects"; +import { StoreModule } from "@ngrx/store"; + +import { EventStoreEffects } from "./effects"; +import { reducer } from "./reducer"; + +@NgModule({ + imports: [ + CommonModule, + StoreModule.forFeature("event", reducer), + EffectsModule.forFeature([EventStoreEffects]), + ], + providers: [EventStoreEffects], +}) +export class EventStoreModule {} diff --git a/src/app/root-store/event/index.ts b/src/app/root-store/event/index.ts new file mode 100644 index 00000000..5e812c13 --- /dev/null +++ b/src/app/root-store/event/index.ts @@ -0,0 +1,7 @@ +import * as EventStoreActions from "./actions"; +import * as EventStoreSelectors from "./selectors"; +import * as EventStoreState from "./state"; + +export { EventStoreModule } from "./event.module"; + +export { EventStoreActions, EventStoreSelectors, EventStoreState }; diff --git a/src/app/root-store/event/reducer.ts b/src/app/root-store/event/reducer.ts new file mode 100644 index 00000000..69a37a5c --- /dev/null +++ b/src/app/root-store/event/reducer.ts @@ -0,0 +1,26 @@ +import { Action, createReducer, on } from "@ngrx/store"; + +import { initialState, eventAdapter, EventState } from "./state"; +import * as EventActions from "./actions"; + +const eventReducer = createReducer( + initialState, + + on(EventActions.loadEventsSuccess, (state, action) => { + return eventAdapter.addAll(action.data, { + ...state, + error: null, + }); + }), + + on(EventActions.loadEventsFailure, (state, action) => { + return { + ...state, + error: action.error, + }; + }) +); + +export function reducer(state: EventState | undefined, action: Action) { + return eventReducer(state, action); +} diff --git a/src/app/root-store/event/selectors.ts b/src/app/root-store/event/selectors.ts new file mode 100644 index 00000000..3d67dac4 --- /dev/null +++ b/src/app/root-store/event/selectors.ts @@ -0,0 +1,35 @@ +import { + createFeatureSelector, + createSelector, + ActionReducerMap, +} from "@ngrx/store"; + +import { Event } from "../../models"; +import { eventAdapter, EventState } from "./state"; +import { reducer } from "./reducer"; + +export interface State { + events: EventState; +} + +export const reducers: ActionReducerMap = { + events: reducer, +}; + +export const selectEventState = createFeatureSelector("event"); + +export const selectAllEventItems: ( + state: object +) => Event[] = eventAdapter.getSelectors(selectEventState).selectAll; + +export const selectEventById = (id: number) => + createSelector(this.selectAllEventItems, (allEvents: Event[]) => { + if (allEvents) { + return allEvents.find((p) => p.id === id); + } else { + return null; + } + }); + +export const getError = (state: EventState): any => state.error; +export const selectEventError = createSelector(selectEventState, getError); diff --git a/src/app/root-store/event/state.ts b/src/app/root-store/event/state.ts new file mode 100644 index 00000000..faecebf6 --- /dev/null +++ b/src/app/root-store/event/state.ts @@ -0,0 +1,18 @@ +import { createEntityAdapter, EntityAdapter, EntityState } from "@ngrx/entity"; +import { Event } from "../../models"; + +export interface EventState extends EntityState { + error?: any; +} + +export function sortByName(a: Event, b: Event): number { + return a.name.localeCompare(b.name); +} + +export const eventAdapter: EntityAdapter = createEntityAdapter({ + sortComparer: sortByName, +}); + +export const initialState: EventState = eventAdapter.getInitialState({ + error: null, +}); diff --git a/src/app/root-store/koding-kata/actions.ts b/src/app/root-store/koding-kata/actions.ts new file mode 100644 index 00000000..7cc8cec9 --- /dev/null +++ b/src/app/root-store/koding-kata/actions.ts @@ -0,0 +1,13 @@ +import { createAction, props } from "@ngrx/store"; + +import { TechnicalInterviewQuestions } from "src/app/models"; + +export const loadTechnicalInterviewQuestionsSuccess = createAction( + "[Koding Kata] Load Technical Interview Questions Success", + props<{ data: TechnicalInterviewQuestions[] }>() +); + +export const loadTechnicalInterviewQuestionsFailure = createAction( + "[Koding Kata] Load Technical Interview Questions Failure", + props<{ error: any }>() +); diff --git a/src/app/root-store/koding-kata/effects.ts b/src/app/root-store/koding-kata/effects.ts new file mode 100644 index 00000000..d8cec372 --- /dev/null +++ b/src/app/root-store/koding-kata/effects.ts @@ -0,0 +1,34 @@ +import { Injectable } from "@angular/core"; +import { + Actions, + createEffect, + ofType, + ROOT_EFFECTS_INIT, +} from "@ngrx/effects"; +import { of } from "rxjs"; +import { catchError, map, concatMap } from "rxjs/operators"; + +import { KodingKataService } from "../../services"; +import * as KodingKataActions from "./actions"; + +@Injectable() +export class KodingKataStoreEffects { + constructor( + private kodingKataService: KodingKataService, + private actions: Actions + ) {} + + loadTechnicalInterviewQuestionsStores$ = createEffect(() => { + return this.actions.pipe( + ofType(ROOT_EFFECTS_INIT), + concatMap(() => + this.kodingKataService.getTechnicalInterviewQuestions().pipe( + map((data) => KodingKataActions.loadTechnicalInterviewQuestionsSuccess({ data })), + catchError((error) => + of(KodingKataActions.loadTechnicalInterviewQuestionsFailure({ error })) + ) + ) + ) + ); + }); +} diff --git a/src/app/root-store/koding-kata/index.ts b/src/app/root-store/koding-kata/index.ts new file mode 100644 index 00000000..75403b97 --- /dev/null +++ b/src/app/root-store/koding-kata/index.ts @@ -0,0 +1,7 @@ +import * as KodingKataStoreActions from "./actions"; +import * as KodingKataStoreSelectors from "./selectors"; +import * as KodingKataStoreState from "./state"; + +export { KodingKataStoreModule } from "./koding-kata.module"; + +export { KodingKataStoreActions, KodingKataStoreSelectors, KodingKataStoreState }; diff --git a/src/app/root-store/koding-kata/koding-kata.module.ts b/src/app/root-store/koding-kata/koding-kata.module.ts new file mode 100644 index 00000000..20e7ecb9 --- /dev/null +++ b/src/app/root-store/koding-kata/koding-kata.module.ts @@ -0,0 +1,17 @@ +import { CommonModule } from "@angular/common"; +import { NgModule } from "@angular/core"; +import { EffectsModule } from "@ngrx/effects"; +import { StoreModule } from "@ngrx/store"; + +import { KodingKataStoreEffects } from "./effects"; +import { reducer } from "./reducer"; + +@NgModule({ + imports: [ + CommonModule, + StoreModule.forFeature("koding-kata", reducer), + EffectsModule.forFeature([KodingKataStoreEffects]), + ], + providers: [KodingKataStoreEffects], +}) +export class KodingKataStoreModule {} diff --git a/src/app/root-store/koding-kata/reducer.ts b/src/app/root-store/koding-kata/reducer.ts new file mode 100644 index 00000000..606442c1 --- /dev/null +++ b/src/app/root-store/koding-kata/reducer.ts @@ -0,0 +1,32 @@ +import { Action, createReducer, on } from "@ngrx/store"; + +import { initialState, kodingKataAdapter, KodingKataState } from "./state"; +import * as KodingKataActions from "./actions"; + +const kodingKataReducer = createReducer( + initialState, + + on( + KodingKataActions.loadTechnicalInterviewQuestionsSuccess, + (state, action) => { + return kodingKataAdapter.addAll(action.data, { + ...state, + error: null, + }); + } + ), + + on( + KodingKataActions.loadTechnicalInterviewQuestionsFailure, + (state, action) => { + return { + ...state, + error: action.error, + }; + } + ) +); + +export function reducer(state: KodingKataState | undefined, action: Action) { + return kodingKataReducer(state, action); +} diff --git a/src/app/root-store/koding-kata/selectors.ts b/src/app/root-store/koding-kata/selectors.ts new file mode 100644 index 00000000..97daf6e5 --- /dev/null +++ b/src/app/root-store/koding-kata/selectors.ts @@ -0,0 +1,47 @@ +import { + createFeatureSelector, + createSelector, + ActionReducerMap, +} from "@ngrx/store"; + +import { TechnicalInterviewQuestions } from "../../models"; +import { kodingKataAdapter, KodingKataState } from "./state"; +import { reducer } from "./reducer"; + +export interface State { + technicalInterviewQuestions: KodingKataState; +} + +export const reducers: ActionReducerMap = { + technicalInterviewQuestions: reducer, +}; + +export const selectKodingKataState = createFeatureSelector( + "koding-kata" +); + +export const selectAllTechnicalInterviewQuestionItems: ( + state: object +) => TechnicalInterviewQuestions[] = kodingKataAdapter.getSelectors( + selectKodingKataState +).selectAll; + +export const selectTechnicalInterviewQuestionByName = (name: string) => + createSelector( + this.selectAllKodingKataItems, + (allTechnicalInterviewQuestions: TechnicalInterviewQuestions[]) => { + if (allTechnicalInterviewQuestions) { + return allTechnicalInterviewQuestions.find( + (p) => p.name === name + ); + } else { + return null; + } + } + ); + +export const getError = (state: KodingKataState): any => state.error; +export const selectKodingKataError = createSelector( + selectKodingKataState, + getError +); diff --git a/src/app/root-store/koding-kata/state.ts b/src/app/root-store/koding-kata/state.ts new file mode 100644 index 00000000..a4db24b7 --- /dev/null +++ b/src/app/root-store/koding-kata/state.ts @@ -0,0 +1,24 @@ +import { createEntityAdapter, EntityAdapter, EntityState } from "@ngrx/entity"; +import { TechnicalInterviewQuestions } from "../../models"; + +export interface KodingKataState + extends EntityState { + error?: any; +} + +export function sortByName( + a: TechnicalInterviewQuestions, + b: TechnicalInterviewQuestions +): number { + return a.name.localeCompare(b.name); +} + +export const kodingKataAdapter: EntityAdapter = createEntityAdapter< + TechnicalInterviewQuestions +>({ + sortComparer: sortByName, +}); + +export const initialState: KodingKataState = kodingKataAdapter.getInitialState({ + error: null, +}); diff --git a/src/app/root-store/lan/actions.ts b/src/app/root-store/lan/actions.ts new file mode 100644 index 00000000..34371b23 --- /dev/null +++ b/src/app/root-store/lan/actions.ts @@ -0,0 +1,13 @@ +import { createAction, props } from "@ngrx/store"; + +import { LAN } from "src/app/models"; + +export const loadLANPartySuccess = createAction( + "[LAN] Load LAN Party Success", + props<{ data: LAN[] }>() +); + +export const loadLANPartyFailure = createAction( + "[LAN] Load LAN Party Failure", + props<{ error: any }>() +); diff --git a/src/app/root-store/lan/effects.ts b/src/app/root-store/lan/effects.ts new file mode 100644 index 00000000..1ca906f2 --- /dev/null +++ b/src/app/root-store/lan/effects.ts @@ -0,0 +1,31 @@ +import { Injectable } from "@angular/core"; +import { + Actions, + createEffect, + ofType, + ROOT_EFFECTS_INIT, +} from "@ngrx/effects"; +import { of } from "rxjs"; +import { catchError, map, concatMap } from "rxjs/operators"; + +import { LANService } from "../../services"; +import * as LANActions from "./actions"; + +@Injectable() +export class LANStoreEffects { + constructor(private lanService: LANService, private actions: Actions) {} + + loadLANStores$ = createEffect(() => { + return this.actions.pipe( + ofType(ROOT_EFFECTS_INIT), + concatMap(() => + this.lanService.getLANParties().pipe( + map((data) => LANActions.loadLANPartySuccess({ data })), + catchError((error) => + of(LANActions.loadLANPartyFailure({ error })) + ) + ) + ) + ); + }); +} diff --git a/src/app/root-store/lan/index.ts b/src/app/root-store/lan/index.ts new file mode 100644 index 00000000..885d3995 --- /dev/null +++ b/src/app/root-store/lan/index.ts @@ -0,0 +1,7 @@ +import * as LANStoreActions from "./actions"; +import * as LANStoreSelectors from "./selectors"; +import * as LANStoreState from "./state"; + +export { LANStoreModule } from "./lan.module"; + +export { LANStoreActions, LANStoreSelectors, LANStoreState }; diff --git a/src/app/root-store/lan/lan.module.ts b/src/app/root-store/lan/lan.module.ts new file mode 100644 index 00000000..a15a4f79 --- /dev/null +++ b/src/app/root-store/lan/lan.module.ts @@ -0,0 +1,17 @@ +import { CommonModule } from "@angular/common"; +import { NgModule } from "@angular/core"; +import { EffectsModule } from "@ngrx/effects"; +import { StoreModule } from "@ngrx/store"; + +import { LANStoreEffects } from "./effects"; +import { reducer } from "./reducer"; + +@NgModule({ + imports: [ + CommonModule, + StoreModule.forFeature("lan", reducer), + EffectsModule.forFeature([LANStoreEffects]), + ], + providers: [LANStoreEffects], +}) +export class LANStoreModule {} diff --git a/src/app/root-store/lan/reducer.ts b/src/app/root-store/lan/reducer.ts new file mode 100644 index 00000000..8b9e602a --- /dev/null +++ b/src/app/root-store/lan/reducer.ts @@ -0,0 +1,26 @@ +import { Action, createReducer, on } from "@ngrx/store"; + +import { initialState, lanAdapter, LANState } from "./state"; +import * as LANActions from "./actions"; + +const lanReducer = createReducer( + initialState, + + on(LANActions.loadLANPartySuccess, (state, action) => { + return lanAdapter.addAll(action.data, { + ...state, + error: null, + }); + }), + + on(LANActions.loadLANPartyFailure, (state, action) => { + return { + ...state, + error: action.error, + }; + }) +); + +export function reducer(state: LANState | undefined, action: Action) { + return lanReducer(state, action); +} diff --git a/src/app/root-store/lan/selectors.ts b/src/app/root-store/lan/selectors.ts new file mode 100644 index 00000000..dda646a9 --- /dev/null +++ b/src/app/root-store/lan/selectors.ts @@ -0,0 +1,35 @@ +import { + createFeatureSelector, + createSelector, + ActionReducerMap, +} from "@ngrx/store"; + +import { LAN } from "../../models"; +import { lanAdapter, LANState } from "./state"; +import { reducer } from "./reducer"; + +export interface State { + lan: LANState; +} + +export const reducers: ActionReducerMap = { + lan: reducer, +}; + +export const selectLANState = createFeatureSelector("lan"); + +export const selectAllLANItems: ( + state: object +) => LAN[] = lanAdapter.getSelectors(selectLANState).selectAll; + +export const selectLANByName = (name: string) => + createSelector(this.selectAllLANItems, (allLANParties: LAN[]) => { + if (allLANParties) { + return allLANParties.find((p) => p.name === name); + } else { + return null; + } + }); + +export const getError = (state: LANState): any => state.error; +export const selectLANError = createSelector(selectLANState, getError); diff --git a/src/app/root-store/lan/state.ts b/src/app/root-store/lan/state.ts new file mode 100644 index 00000000..0fed52ca --- /dev/null +++ b/src/app/root-store/lan/state.ts @@ -0,0 +1,18 @@ +import { createEntityAdapter, EntityAdapter, EntityState } from "@ngrx/entity"; +import { LAN } from "../../models"; + +export interface LANState extends EntityState { + error?: any; +} + +export function sortByName(a: LAN, b: LAN): number { + return a.name.localeCompare(b.name); +} + +export const lanAdapter: EntityAdapter = createEntityAdapter({ + sortComparer: sortByName, +}); + +export const initialState: LANState = lanAdapter.getInitialState({ + error: null, +}); diff --git a/src/app/root-store/member/actions.ts b/src/app/root-store/member/actions.ts index 4918c685..60fb4a9a 100644 --- a/src/app/root-store/member/actions.ts +++ b/src/app/root-store/member/actions.ts @@ -3,16 +3,16 @@ import { createAction, props } from "@ngrx/store"; import { Member } from "src/app/models"; export const loginAuthentication = createAction( - "[Member] Check if User is in the Database", - props<{ email: string; password: string }>() + "[Member] Check if User is in the Database", + props<{ email: string; password: string }>() ); export const loginAuthenticationSuccess = createAction( - "[Member] Log In Success", - props<{ data: Member }>() + "[Member] Log In Success", + props<{ data: Member }>() ); export const loginAuthenticationFailure = createAction( - "[Member] Log In Failure", - props<{ error: any }>() + "[Member] Log In Failure", + props<{ error: any }>() ); diff --git a/src/app/root-store/member/effects.ts b/src/app/root-store/member/effects.ts index f2afa891..e7bdb8af 100644 --- a/src/app/root-store/member/effects.ts +++ b/src/app/root-store/member/effects.ts @@ -3,36 +3,41 @@ import { Actions, createEffect, ofType } from "@ngrx/effects"; import { of } from "rxjs"; import { catchError, map, concatMap, exhaustMap } from "rxjs/operators"; -import { DataService } from "../../services/data.service"; +import { MemberService } from "../../services"; import * as MemberActions from "./actions"; @Injectable() export class MemberStoreEffects { - constructor(private dataService: DataService, private actions: Actions) {} + constructor( + private memberService: MemberService, + private actions: Actions + ) {} - // loadMemberStores$ = createEffect(() => { - // return this.actions.pipe( - // ofType(MemberActions.loadMembers), - // concatMap(() => - // this.dataService.getMembers().pipe( - // map(data => MemberActions.loadMembersSuccess({ data })), - // catchError(error => of(MemberActions.loadMembersFailure({ error }))) - // ) - // ) - // ); - // }); + // loadMemberStores$ = createEffect(() => { + // return this.actions.pipe( + // ofType(MemberActions.loadMembers), + // concatMap(() => + // this.workshopService.getMembers().pipe( + // map(data => MemberActions.loadMembersSuccess({ data })), + // catchError(error => of(MemberActions.loadMembersFailure({ error }))) + // ) + // ) + // ); + // }); - authUser$ = createEffect(() => { - return this.actions.pipe( - ofType(MemberActions.loginAuthentication), - exhaustMap(action => - this.dataService.login(action.email, action.password).pipe( - map(data => MemberActions.loginAuthenticationSuccess({ data })), - catchError(error => - of(MemberActions.loginAuthenticationFailure({ error })) - ) - ) - ) - ); - }); + authUser$ = createEffect(() => { + return this.actions.pipe( + ofType(MemberActions.loginAuthentication), + exhaustMap((action) => + this.memberService.login(action.email, action.password).pipe( + map((data) => + MemberActions.loginAuthenticationSuccess({ data }) + ), + catchError((error) => + of(MemberActions.loginAuthenticationFailure({ error })) + ) + ) + ) + ); + }); } diff --git a/src/app/root-store/member/member.module.ts b/src/app/root-store/member/member.module.ts index d1a727be..67fab17a 100644 --- a/src/app/root-store/member/member.module.ts +++ b/src/app/root-store/member/member.module.ts @@ -7,11 +7,11 @@ import { MemberStoreEffects } from "./effects"; import { reducer } from "./reducer"; @NgModule({ - imports: [ - CommonModule, - StoreModule.forFeature("member", reducer), - EffectsModule.forFeature([MemberStoreEffects]) - ], - providers: [MemberStoreEffects] + imports: [ + CommonModule, + StoreModule.forFeature("member", reducer), + EffectsModule.forFeature([MemberStoreEffects]), + ], + providers: [MemberStoreEffects], }) export class MemberStoreModule {} diff --git a/src/app/root-store/member/reducer.ts b/src/app/root-store/member/reducer.ts index 1d5b0a0e..3493920f 100644 --- a/src/app/root-store/member/reducer.ts +++ b/src/app/root-store/member/reducer.ts @@ -4,33 +4,33 @@ import { initialState, memberAdapter, MemberState } from "./state"; import * as MemberActions from "./actions"; const memberReducer = createReducer( - initialState, + initialState, - on(MemberActions.loginAuthentication, (state, action) => { - return { ...state, isLoading: true, error: null }; - }), + on(MemberActions.loginAuthentication, (state, action) => { + return { ...state, isLoading: true, error: null }; + }), - on(MemberActions.loginAuthenticationSuccess, (state, action) => { - return memberAdapter.addOne(action.data, { - ...state, - selectedMemberId: action.data.id, - isLoading: false, - error: null, - isAuthenticated: true, - isLoggedIn: true, - }); - }), + on(MemberActions.loginAuthenticationSuccess, (state, action) => { + return memberAdapter.addOne(action.data, { + ...state, + selectedMemberId: action.data.id, + isLoading: false, + error: null, + isAuthenticated: true, + isLoggedIn: true, + }); + }), - on(MemberActions.loginAuthenticationFailure, (state, action) => { - return { - ...state, - isLoading: false, - error: action.error, - isAuthenticated: false - }; - }) + on(MemberActions.loginAuthenticationFailure, (state, action) => { + return { + ...state, + isLoading: false, + error: action.error, + isAuthenticated: false, + }; + }) ); export function reducer(state: MemberState | undefined, action: Action) { - return memberReducer(state, action); + return memberReducer(state, action); } diff --git a/src/app/root-store/member/selectors.ts b/src/app/root-store/member/selectors.ts index ca04a552..6e40ec26 100644 --- a/src/app/root-store/member/selectors.ts +++ b/src/app/root-store/member/selectors.ts @@ -1,7 +1,7 @@ import { - createFeatureSelector, - createSelector, - ActionReducerMap, + createFeatureSelector, + createSelector, + ActionReducerMap, } from "@ngrx/store"; import { Member } from "../../models"; @@ -9,36 +9,46 @@ import { memberAdapter, MemberState } from "./state"; import { reducer } from "./reducer"; export interface State { - members: MemberState; + members: MemberState; } export const reducers: ActionReducerMap = { - members: reducer + members: reducer, }; export const selectMemberState = createFeatureSelector("member"); -export const getSelectedMemberId = (state: MemberState): number => state.selectedMemberId; -export const selectSelectedMemberId = createSelector(selectMemberState, getSelectedMemberId); +export const getSelectedMemberId = (state: MemberState): number => + state.selectedMemberId; +export const selectSelectedMemberId = createSelector( + selectMemberState, + getSelectedMemberId +); export const getIsLoggedIn = (state: MemberState): boolean => state.isLoggedIn; -export const selectMemberIsLoggedIn = createSelector(selectMemberState, getIsLoggedIn); +export const selectMemberIsLoggedIn = createSelector( + selectMemberState, + getIsLoggedIn +); export const selectAllMemberItems: ( - state: object + state: object ) => Member[] = memberAdapter.getSelectors(selectMemberState).selectAll; export const selectMemberById = (id: number) => - createSelector(this.selectAllMemberItems, (allMembers: Member[]) => { - if (allMembers) { - return allMembers.find(p => p.id === id); - } else { - return null; - } - }); + createSelector(this.selectAllMemberItems, (allMembers: Member[]) => { + if (allMembers) { + return allMembers.find((p) => p.id === id); + } else { + return null; + } + }); export const getIsLoading = (state: MemberState): boolean => state.isLoading; -export const selectMemberIsLoading = createSelector(selectMemberState, getIsLoading); +export const selectMemberIsLoading = createSelector( + selectMemberState, + getIsLoading +); export const getError = (state: MemberState): any => state.error; export const selectMemberError = createSelector(selectMemberState, getError); diff --git a/src/app/root-store/member/state.ts b/src/app/root-store/member/state.ts index 0d8076b0..9ca71675 100644 --- a/src/app/root-store/member/state.ts +++ b/src/app/root-store/member/state.ts @@ -2,34 +2,34 @@ import { createEntityAdapter, EntityAdapter, EntityState } from "@ngrx/entity"; import { Member } from "../../models"; export interface MemberState extends EntityState { - // additional entities state properties - selectedMemberId: number; - isLoading?: boolean; - error?: any; - isAuthenticated?: boolean; - isLoggedIn: boolean; + // additional entities state properties + selectedMemberId: number; + isLoading?: boolean; + error?: any; + isAuthenticated?: boolean; + isLoggedIn: boolean; } export function selectedMemberId(a: Member): number { - // In this case this would be optional since primary key is id - return a.id; + // In this case this would be optional since primary key is id + return a.id; } export function sortByEmail(a: Member, b: Member): number { - return a.email.localeCompare(b.email); + return a.email.localeCompare(b.email); } export const memberAdapter: EntityAdapter = createEntityAdapter( - { - selectId: selectedMemberId, - sortComparer: sortByEmail - } + { + selectId: selectedMemberId, + sortComparer: sortByEmail, + } ); export const initialState: MemberState = memberAdapter.getInitialState({ - selectedMemberId: null, - isLoading: false, - error: null, - isAuthenticated: false, - isLoggedIn: false, + selectedMemberId: null, + isLoading: false, + error: null, + isAuthenticated: false, + isLoggedIn: false, }); diff --git a/src/app/root-store/project/actions.ts b/src/app/root-store/project/actions.ts new file mode 100644 index 00000000..def209cd --- /dev/null +++ b/src/app/root-store/project/actions.ts @@ -0,0 +1,13 @@ +import { createAction, props } from "@ngrx/store"; + +import { Project } from "src/app/models"; + +export const loadProjectsSuccess = createAction( + "[Project] Load Projects Success", + props<{ data: Project[] }>() +); + +export const loadProjectsFailure = createAction( + "[Project] Load Projects Failure", + props<{ error: any }>() +); diff --git a/src/app/root-store/project/effects.ts b/src/app/root-store/project/effects.ts new file mode 100644 index 00000000..f7067897 --- /dev/null +++ b/src/app/root-store/project/effects.ts @@ -0,0 +1,34 @@ +import { Injectable } from "@angular/core"; +import { + Actions, + createEffect, + ofType, + ROOT_EFFECTS_INIT, +} from "@ngrx/effects"; +import { of } from "rxjs"; +import { catchError, map, concatMap } from "rxjs/operators"; + +import { ProjectService } from "../../services"; +import * as ProjectActions from "./actions"; + +@Injectable() +export class ProjectStoreEffects { + constructor( + private projectService: ProjectService, + private actions: Actions + ) {} + + loadProjectStores$ = createEffect(() => { + return this.actions.pipe( + ofType(ROOT_EFFECTS_INIT), + concatMap(() => + this.projectService.getProjects().pipe( + map((data) => ProjectActions.loadProjectsSuccess({ data })), + catchError((error) => + of(ProjectActions.loadProjectsFailure({ error })) + ) + ) + ) + ); + }); +} diff --git a/src/app/root-store/project/index.ts b/src/app/root-store/project/index.ts new file mode 100644 index 00000000..b388c050 --- /dev/null +++ b/src/app/root-store/project/index.ts @@ -0,0 +1,7 @@ +import * as ProjectStoreActions from "./actions"; +import * as ProjectStoreSelectors from "./selectors"; +import * as ProjectStoreState from "./state"; + +export { ProjectStoreModule } from "./project.module"; + +export { ProjectStoreActions, ProjectStoreSelectors, ProjectStoreState }; diff --git a/src/app/root-store/project/project.module.ts b/src/app/root-store/project/project.module.ts new file mode 100644 index 00000000..61d0429c --- /dev/null +++ b/src/app/root-store/project/project.module.ts @@ -0,0 +1,17 @@ +import { CommonModule } from "@angular/common"; +import { NgModule } from "@angular/core"; +import { EffectsModule } from "@ngrx/effects"; +import { StoreModule } from "@ngrx/store"; + +import { ProjectStoreEffects } from "./effects"; +import { reducer } from "./reducer"; + +@NgModule({ + imports: [ + CommonModule, + StoreModule.forFeature("project", reducer), + EffectsModule.forFeature([ProjectStoreEffects]), + ], + providers: [ProjectStoreEffects], +}) +export class ProjectStoreModule {} diff --git a/src/app/root-store/project/reducer.ts b/src/app/root-store/project/reducer.ts new file mode 100644 index 00000000..a462b9eb --- /dev/null +++ b/src/app/root-store/project/reducer.ts @@ -0,0 +1,26 @@ +import { Action, createReducer, on } from "@ngrx/store"; + +import { initialState, projectAdapter, ProjectState } from "./state"; +import * as ProjectActions from "./actions"; + +const projectReducer = createReducer( + initialState, + + on(ProjectActions.loadProjectsSuccess, (state, action) => { + return projectAdapter.addAll(action.data, { + ...state, + error: null, + }); + }), + + on(ProjectActions.loadProjectsFailure, (state, action) => { + return { + ...state, + error: action.error, + }; + }) +); + +export function reducer(state: ProjectState | undefined, action: Action) { + return projectReducer(state, action); +} diff --git a/src/app/root-store/project/selectors.ts b/src/app/root-store/project/selectors.ts new file mode 100644 index 00000000..43f6f52a --- /dev/null +++ b/src/app/root-store/project/selectors.ts @@ -0,0 +1,40 @@ +import { + createFeatureSelector, + createSelector, + ActionReducerMap, +} from "@ngrx/store"; + +import { Project } from "../../models"; +import { projectAdapter, ProjectState } from "./state"; +import { reducer } from "./reducer"; + +export interface State { + project: ProjectState; +} + +export const reducers: ActionReducerMap = { + project: reducer, +}; + +export const selectProjectState = createFeatureSelector( + "project" +); + +export const selectAllProjectItems: ( + state: object +) => Project[] = projectAdapter.getSelectors(selectProjectState).selectAll; + +export const selectProjectByName = (name: string) => + createSelector( + this.selectAllProjectItems, + (allProjectParties: Project[]) => { + if (allProjectParties) { + return allProjectParties.find((p) => p.name === name); + } else { + return null; + } + } + ); + +export const getError = (state: ProjectState): any => state.error; +export const selectProjectError = createSelector(selectProjectState, getError); diff --git a/src/app/root-store/project/state.ts b/src/app/root-store/project/state.ts new file mode 100644 index 00000000..3e1fd08c --- /dev/null +++ b/src/app/root-store/project/state.ts @@ -0,0 +1,20 @@ +import { createEntityAdapter, EntityAdapter, EntityState } from "@ngrx/entity"; +import { Project } from "../../models"; + +export interface ProjectState extends EntityState { + error?: any; +} + +export function sortByName(a: Project, b: Project): number { + return a.name.localeCompare(b.name); +} + +export const projectAdapter: EntityAdapter = createEntityAdapter< + Project +>({ + sortComparer: sortByName, +}); + +export const initialState: ProjectState = projectAdapter.getInitialState({ + error: null, +}); diff --git a/src/app/root-store/root-store.module.ts b/src/app/root-store/root-store.module.ts index 58a135e9..c1a8ecef 100644 --- a/src/app/root-store/root-store.module.ts +++ b/src/app/root-store/root-store.module.ts @@ -4,14 +4,30 @@ import { EffectsModule } from "@ngrx/effects"; import { StoreModule } from "@ngrx/store"; import { MemberStoreModule } from "./member"; +import { AuthStoreModule } from "./auth"; +import { WorkshopStoreModule } from "./workshop"; +import { CoffeeNCodeStoreModule } from "./coffee-n-code"; +import { EventStoreModule } from "./event"; +import { KodingKataStoreModule } from "./koding-kata"; +import { LANStoreModule } from "./lan"; +import { ProjectStoreModule } from "./project"; +import { CTFStoreModule } from "./capture-the-flag"; @NgModule({ - imports: [ - CommonModule, - MemberStoreModule, - StoreModule.forRoot({}), - EffectsModule.forRoot([]) - ], - declarations: [] + imports: [ + CommonModule, + MemberStoreModule, + AuthStoreModule, + WorkshopStoreModule, + CoffeeNCodeStoreModule, + EventStoreModule, + KodingKataStoreModule, + LANStoreModule, + ProjectStoreModule, + CTFStoreModule, + StoreModule.forRoot({}), + EffectsModule.forRoot([]), + ], + declarations: [], }) export class RootStoreModule {} diff --git a/src/app/root-store/selectors.ts b/src/app/root-store/selectors.ts index ee264e09..06f3e5ab 100644 --- a/src/app/root-store/selectors.ts +++ b/src/app/root-store/selectors.ts @@ -1,10 +1,44 @@ import { createSelector, MemoizedSelector } from "@ngrx/store"; + import { MemberStoreSelectors } from "./member"; +import { AuthStoreSelectors } from "./auth"; +import { CoffeeNCodeStoreSelectors } from "./coffee-n-code"; +import { EventStoreSelectors } from "./event"; +import { KodingKataStoreSelectors } from "./koding-kata"; +import { LANStoreSelectors } from "./lan"; +import { ProjectStoreSelectors } from "./project"; +import { WorkshopStoreSelectors } from "./workshop"; +import { CTFStoreSelectors } from "./capture-the-flag"; export const selectError: MemoizedSelector = createSelector( MemberStoreSelectors.selectMemberError, - (memberError: string) => { - return memberError; + CoffeeNCodeStoreSelectors.selectCoffeeNCodeError, + EventStoreSelectors.selectEventError, + KodingKataStoreSelectors.selectKodingKataError, + LANStoreSelectors.selectLANError, + ProjectStoreSelectors.selectProjectError, + WorkshopStoreSelectors.selectWorkshopError, + CTFStoreSelectors.selectCTFError, + ( + memberError: string, + coffeeNCodeError: string, + eventError: string, + kodingKataError: string, + lanError: string, + projectError: string, + workshopError: string, + ctfError: string + ) => { + return ( + memberError || + coffeeNCodeError || + eventError || + kodingKataError || + lanError || + projectError || + workshopError || + ctfError + ); } ); diff --git a/src/app/root-store/state.ts b/src/app/root-store/state.ts index 0d47b56b..36ac2c99 100644 --- a/src/app/root-store/state.ts +++ b/src/app/root-store/state.ts @@ -1,5 +1,21 @@ import { MemberStoreState } from "./member"; +import { CoffeeNCodeStoreState } from "./coffee-n-code"; +import { EventStoreState } from "./event"; +import { KodingKataStoreState } from "./koding-kata"; +import { LANStoreState } from "./lan"; +import { ProjectStoreState } from "./project"; +import { WorkshopStoreState } from "./workshop"; +import { CTFStoreState } from "./capture-the-flag"; +import { Auth } from "../models"; export interface State { member: MemberStoreState.MemberState; + auth: Auth; + coffeeNCode: CoffeeNCodeStoreState.CoffeeNCodeState; + event: EventStoreState.EventState; + kodingKata: KodingKataStoreState.KodingKataState; + lan: LANStoreState.LANState; + project: ProjectStoreState.ProjectState; + workshop: WorkshopStoreState.WorkshopState; + ctf: CTFStoreState.CTFState; } diff --git a/src/app/root-store/workshop/actions.ts b/src/app/root-store/workshop/actions.ts new file mode 100644 index 00000000..d5f3a808 --- /dev/null +++ b/src/app/root-store/workshop/actions.ts @@ -0,0 +1,13 @@ +import { createAction, props } from "@ngrx/store"; + +import { Workshop } from "src/app/models"; + +export const loadWorkshopsSuccess = createAction( + "[Workshop] Load Workshops Success", + props<{ data: Workshop[] }>() +); + +export const loadWorkshopsFailure = createAction( + "[Workshop] Load Workshops Failure", + props<{ error: any }>() +); diff --git a/src/app/root-store/workshop/effects.ts b/src/app/root-store/workshop/effects.ts new file mode 100644 index 00000000..0e3214f5 --- /dev/null +++ b/src/app/root-store/workshop/effects.ts @@ -0,0 +1,36 @@ +import { Injectable } from "@angular/core"; +import { + Actions, + createEffect, + ofType, + ROOT_EFFECTS_INIT, +} from "@ngrx/effects"; +import { of } from "rxjs"; +import { catchError, map, concatMap } from "rxjs/operators"; + +import { WorkshopService } from "../../services"; +import * as WorkshopActions from "./actions"; + +@Injectable() +export class WorkshopStoreEffects { + constructor( + private workshopService: WorkshopService, + private actions: Actions + ) {} + + loadWorkshopStores$ = createEffect(() => { + return this.actions.pipe( + ofType(ROOT_EFFECTS_INIT), + concatMap(() => + this.workshopService.getWorkshops().pipe( + map((data) => + WorkshopActions.loadWorkshopsSuccess({ data }) + ), + catchError((error) => + of(WorkshopActions.loadWorkshopsFailure({ error })) + ) + ) + ) + ); + }); +} diff --git a/src/app/root-store/workshop/index.ts b/src/app/root-store/workshop/index.ts new file mode 100644 index 00000000..50a79e5f --- /dev/null +++ b/src/app/root-store/workshop/index.ts @@ -0,0 +1,7 @@ +import * as WorkshopStoreActions from "./actions"; +import * as WorkshopStoreSelectors from "./selectors"; +import * as WorkshopStoreState from "./state"; + +export { WorkshopStoreModule } from "./workshop.module"; + +export { WorkshopStoreActions, WorkshopStoreSelectors, WorkshopStoreState }; diff --git a/src/app/root-store/workshop/reducer.ts b/src/app/root-store/workshop/reducer.ts new file mode 100644 index 00000000..e332f811 --- /dev/null +++ b/src/app/root-store/workshop/reducer.ts @@ -0,0 +1,26 @@ +import { Action, createReducer, on } from "@ngrx/store"; + +import { initialState, workshopAdapter, WorkshopState } from "./state"; +import * as WorkshopActions from "./actions"; + +const workshopReducer = createReducer( + initialState, + + on(WorkshopActions.loadWorkshopsSuccess, (state, action) => { + return workshopAdapter.addAll(action.data, { + ...state, + error: null, + }); + }), + + on(WorkshopActions.loadWorkshopsFailure, (state, action) => { + return { + ...state, + error: action.error, + }; + }) +); + +export function reducer(state: WorkshopState | undefined, action: Action) { + return workshopReducer(state, action); +} diff --git a/src/app/root-store/workshop/selectors.ts b/src/app/root-store/workshop/selectors.ts new file mode 100644 index 00000000..8310d46a --- /dev/null +++ b/src/app/root-store/workshop/selectors.ts @@ -0,0 +1,40 @@ +import { + createFeatureSelector, + createSelector, + ActionReducerMap, +} from "@ngrx/store"; + +import { Workshop } from "../../models"; +import { workshopAdapter, WorkshopState } from "./state"; +import { reducer } from "./reducer"; + +export interface State { + workshops: WorkshopState; +} + +export const reducers: ActionReducerMap = { + workshops: reducer, +}; + +export const selectWorkshopState = createFeatureSelector( + "workshop" +); + +export const selectAllWorkshopItems: ( + state: object +) => Workshop[] = workshopAdapter.getSelectors(selectWorkshopState).selectAll; + +export const selectWorkshopById = (id: number) => + createSelector(this.selectAllWorkshopItems, (allWorkshops: Workshop[]) => { + if (allWorkshops) { + return allWorkshops.find((p) => p.id === id); + } else { + return null; + } + }); + +export const getError = (state: WorkshopState): any => state.error; +export const selectWorkshopError = createSelector( + selectWorkshopState, + getError +); diff --git a/src/app/root-store/workshop/state.ts b/src/app/root-store/workshop/state.ts new file mode 100644 index 00000000..3f6ebf27 --- /dev/null +++ b/src/app/root-store/workshop/state.ts @@ -0,0 +1,20 @@ +import { createEntityAdapter, EntityAdapter, EntityState } from "@ngrx/entity"; +import { Workshop } from "../../models"; + +export interface WorkshopState extends EntityState { + error?: any; +} + +export function sortByName(a: Workshop, b: Workshop): number { + return a.name.localeCompare(b.name); +} + +export const workshopAdapter: EntityAdapter = createEntityAdapter< + Workshop +>({ + sortComparer: sortByName, +}); + +export const initialState: WorkshopState = workshopAdapter.getInitialState({ + error: null, +}); diff --git a/src/app/root-store/workshop/workshop.module.ts b/src/app/root-store/workshop/workshop.module.ts new file mode 100644 index 00000000..8f9872ac --- /dev/null +++ b/src/app/root-store/workshop/workshop.module.ts @@ -0,0 +1,17 @@ +import { CommonModule } from "@angular/common"; +import { NgModule } from "@angular/core"; +import { EffectsModule } from "@ngrx/effects"; +import { StoreModule } from "@ngrx/store"; + +import { WorkshopStoreEffects } from "./effects"; +import { reducer } from "./reducer"; + +@NgModule({ + imports: [ + CommonModule, + StoreModule.forFeature("workshop", reducer), + EffectsModule.forFeature([WorkshopStoreEffects]), + ], + providers: [WorkshopStoreEffects], +}) +export class WorkshopStoreModule {} diff --git a/src/app/services/capture-the-flag.service.ts b/src/app/services/capture-the-flag.service.ts new file mode 100644 index 00000000..479c4a95 --- /dev/null +++ b/src/app/services/capture-the-flag.service.ts @@ -0,0 +1,20 @@ +import { HttpClient } from "@angular/common/http"; +import { Injectable } from "@angular/core"; +import { Observable } from "rxjs"; +import { map } from "rxjs/operators"; + +import { CTFMeetings } from "src/app/models"; +import { environment } from "src/environments/environment"; + +@Injectable({ + providedIn: "root", +}) +export class CTFService { + constructor(private http: HttpClient) {} + + getCTFMeetings(): Observable { + return this.http + .get(`${environment.CAPTURE_THE_FLAG_MANAGEMENT_API}/api/meetings`) + .pipe(map((result) => result.meetings)); + } +} diff --git a/src/app/services/coffee-n-code.service.ts b/src/app/services/coffee-n-code.service.ts new file mode 100644 index 00000000..f08e6165 --- /dev/null +++ b/src/app/services/coffee-n-code.service.ts @@ -0,0 +1,22 @@ +import { HttpClient } from "@angular/common/http"; +import { Injectable } from "@angular/core"; +import { Observable } from "rxjs"; +import { map } from "rxjs/operators"; + +import { Resources } from "src/app/models"; +import { environment } from "src/environments/environment"; + +@Injectable({ + providedIn: "root", +}) +export class CoffeeNCodeService { + constructor(private http: HttpClient) {} + + getResources(): Observable { + return this.http + .get( + `${environment.COFFEE_N_CODE_MANAGEMENT_API}/api/resources` + ) + .pipe(map((result) => result.resources)); + } +} diff --git a/src/app/services/event.service.ts b/src/app/services/event.service.ts new file mode 100644 index 00000000..91052d8c --- /dev/null +++ b/src/app/services/event.service.ts @@ -0,0 +1,20 @@ +import { HttpClient } from "@angular/common/http"; +import { Injectable } from "@angular/core"; +import { Observable } from "rxjs"; +import { map } from "rxjs/operators"; + +import { Event } from "src/app/models"; +import { environment } from "src/environments/environment"; + +@Injectable({ + providedIn: "root", +}) +export class EventService { + constructor(private http: HttpClient) {} + + getEvents(): Observable { + return this.http + .get(`${environment.EVENT_MANAGEMENT_API}/api/events`) + .pipe(map((result) => result.events)); + } +} diff --git a/src/app/services/index.ts b/src/app/services/index.ts index 54d2fc98..34f1f2a8 100644 --- a/src/app/services/index.ts +++ b/src/app/services/index.ts @@ -1 +1,19 @@ -export * from "./data.service"; +import { MemberService } from "./member.service"; +import { WorkshopService } from "./workshop.service"; +import { EventService } from "./event.service"; +import { KodingKataService } from "./koding-kata.service"; +import { CoffeeNCodeService } from "./coffee-n-code.service"; +import { LANService } from "./lan.service"; +import { ProjectService } from "./project.service"; +import { CTFService } from "./capture-the-flag.service"; + +export { + MemberService, + WorkshopService, + EventService, + KodingKataService, + CoffeeNCodeService, + LANService, + ProjectService, + CTFService, +}; diff --git a/src/app/services/koding-kata.service.ts b/src/app/services/koding-kata.service.ts new file mode 100644 index 00000000..12e39265 --- /dev/null +++ b/src/app/services/koding-kata.service.ts @@ -0,0 +1,24 @@ +import { HttpClient } from "@angular/common/http"; +import { Injectable } from "@angular/core"; +import { Observable } from "rxjs"; +import { map } from "rxjs/operators"; + +import { TechnicalInterviewQuestions } from "src/app/models"; +import { environment } from "src/environments/environment"; + +@Injectable({ + providedIn: "root", +}) +export class KodingKataService { + constructor(private http: HttpClient) {} + + getTechnicalInterviewQuestions(): Observable< + TechnicalInterviewQuestions[] + > { + return this.http + .get( + `${environment.KODING_KATA_MANAGEMENT_API}/api/technical-interview-questions` + ) + .pipe(map((result) => result.questions)); + } +} diff --git a/src/app/services/lan.service.ts b/src/app/services/lan.service.ts new file mode 100644 index 00000000..420832cf --- /dev/null +++ b/src/app/services/lan.service.ts @@ -0,0 +1,20 @@ +import { HttpClient } from "@angular/common/http"; +import { Injectable } from "@angular/core"; +import { Observable } from "rxjs"; +import { map } from "rxjs/operators"; + +import { LAN } from "src/app/models"; +import { environment } from "src/environments/environment"; + +@Injectable({ + providedIn: "root", +}) +export class LANService { + constructor(private http: HttpClient) {} + + getLANParties(): Observable { + return this.http + .get(`${environment.LAN_PARTY_MANAGEMENT_API}/api/lan`) + .pipe(map((result) => result.lan)); + } +} diff --git a/src/app/services/data.service.ts b/src/app/services/member.service.ts similarity index 50% rename from src/app/services/data.service.ts rename to src/app/services/member.service.ts index a8e30042..8cd78e0e 100644 --- a/src/app/services/data.service.ts +++ b/src/app/services/member.service.ts @@ -1,17 +1,22 @@ -import { HttpClient, HttpParams } from "@angular/common/http"; +import { HttpClient } from "@angular/common/http"; import { Injectable } from "@angular/core"; import { Observable } from "rxjs"; import { map } from "rxjs/operators"; -import * as JWT from "jwt-decode"; +import { Store } from "@ngrx/store"; import { Member } from "src/app/models"; import { environment } from "src/environments/environment"; +import { RootStoreState } from "../root-store"; +import { AuthStoreActions } from "../root-store/auth"; @Injectable({ - providedIn: "root" + providedIn: "root", }) -export class DataService { - constructor(private http: HttpClient) {} +export class MemberService { + constructor( + private http: HttpClient, + private store$: Store + ) {} getToken(): string { return localStorage.getItem("token"); @@ -19,18 +24,14 @@ export class DataService { login(email: string, password: string): Observable { return this.http - .get(`${environment.MEMBER_MANAGEMENT_API}/api/login`, { - params: new HttpParams() - .append("email", email) - .append("password", password) + .post(`${environment.MEMBER_MANAGEMENT_API}/api/auth/login`, { + email, + password, }) .pipe( - map(response => { - if (response.auth === false) { - throw response.error; - } - - return JWT(response.token); + map((response) => { + this.store$.dispatch(AuthStoreActions.Authentication(response.token)); + return response.member; }) ); } diff --git a/src/app/services/project.service.ts b/src/app/services/project.service.ts new file mode 100644 index 00000000..e964be15 --- /dev/null +++ b/src/app/services/project.service.ts @@ -0,0 +1,20 @@ +import { HttpClient } from "@angular/common/http"; +import { Injectable } from "@angular/core"; +import { Observable } from "rxjs"; +import { map } from "rxjs/operators"; + +import { Project } from "src/app/models"; +import { environment } from "src/environments/environment"; + +@Injectable({ + providedIn: "root", +}) +export class ProjectService { + constructor(private http: HttpClient) {} + + getProjects(): Observable { + return this.http + .get(`${environment.PROJECT_MANAGEMENT_API}/api/project`) + .pipe(map((result) => result.projects)); + } +} diff --git a/src/app/services/workshop.service.ts b/src/app/services/workshop.service.ts new file mode 100644 index 00000000..79a7515c --- /dev/null +++ b/src/app/services/workshop.service.ts @@ -0,0 +1,20 @@ +import { HttpClient } from "@angular/common/http"; +import { Injectable } from "@angular/core"; +import { Observable } from "rxjs"; +import { map } from "rxjs/operators"; + +import { Workshop } from "src/app/models"; +import { environment } from "src/environments/environment"; + +@Injectable({ + providedIn: "root", +}) +export class WorkshopService { + constructor(private http: HttpClient) {} + + getWorkshops(): Observable { + return this.http + .get(`${environment.WORKSHOP_MANAGEMENT_API}/api/workshops`) + .pipe(map((result) => result.workshops)); + } +} diff --git a/src/environments/environment.prod.ts b/src/environments/environment.prod.ts index 84a767f4..27e2eb62 100644 --- a/src/environments/environment.prod.ts +++ b/src/environments/environment.prod.ts @@ -1,5 +1,11 @@ export const environment = { - production: true, - MEMBER_MANAGEMENT_API: "http://anlisp.herokuapp.com", - CALENDAR_MANAGEMENT_API: "" + production: true, + MEMBER_MANAGEMENT_API: "http://localhost:4201", + WORKSHOP_MANAGEMENT_API: "http://localhost:4202", + EVENT_MANAGEMENT_API: "http://localhost:4203", + LAN_PARTY_MANAGEMENT_API: "http://localhost:4204", + COFFEE_N_CODE_MANAGEMENT_API: "http://localhost:4205", + KODING_KATA_MANAGEMENT_API: "http://localhost:4206", + PROJECT_MANAGEMENT_API: "http://localhost:4207", + CAPTURE_THE_FLAG_MANAGEMENT_API: "http://localhost:4208", }; diff --git a/src/environments/environment.ts b/src/environments/environment.ts index 622dba02..9599d0f5 100644 --- a/src/environments/environment.ts +++ b/src/environments/environment.ts @@ -5,8 +5,13 @@ export const environment = { production: false, MEMBER_MANAGEMENT_API: "http://localhost:4201", - WORKSHOP_MANAGEMENT_API: "http://localhost:3001", - PROJECT_MANAGEMENT_API: "http://localhost:3002" + WORKSHOP_MANAGEMENT_API: "http://localhost:4202", + EVENT_MANAGEMENT_API: "http://localhost:4203", + LAN_PARTY_MANAGEMENT_API: "http://localhost:4204", + COFFEE_N_CODE_MANAGEMENT_API: "http://localhost:4205", + KODING_KATA_MANAGEMENT_API: "http://localhost:4206", + PROJECT_MANAGEMENT_API: "http://localhost:4207", + CAPTURE_THE_FLAG_MANAGEMENT_API: "http://localhost:4208", }; /* diff --git a/src/index.html b/src/index.html index ee8ce569..28f376cb 100644 --- a/src/index.html +++ b/src/index.html @@ -1,17 +1,18 @@ - + + + + ACM @ UCM + + + + + - - - ACM @ UCM - - - - - - - - - - - \ No newline at end of file + + + + diff --git a/src/main.ts b/src/main.ts index 6907e593..d27ed32d 100644 --- a/src/main.ts +++ b/src/main.ts @@ -5,9 +5,9 @@ import { AppModule } from "./app/app.module"; import { environment } from "./environments/environment"; if (environment.production) { - enableProdMode(); + enableProdMode(); } platformBrowserDynamic() - .bootstrapModule(AppModule) - .catch(err => console.error(err)); + .bootstrapModule(AppModule) + .catch((err) => console.error(err)); diff --git a/src/test.ts b/src/test.ts index 75bd6c1d..7312c750 100644 --- a/src/test.ts +++ b/src/test.ts @@ -3,16 +3,16 @@ import "zone.js/dist/zone-testing"; import { getTestBed } from "@angular/core/testing"; import { - BrowserDynamicTestingModule, - platformBrowserDynamicTesting + BrowserDynamicTestingModule, + platformBrowserDynamicTesting, } from "@angular/platform-browser-dynamic/testing"; declare const require: any; // First, initialize the Angular testing environment. getTestBed().initTestEnvironment( - BrowserDynamicTestingModule, - platformBrowserDynamicTesting() + BrowserDynamicTestingModule, + platformBrowserDynamicTesting() ); // Then we find all the tests. diff --git a/tailwind.config.js b/tailwind.config.js index 840fc4ec..12c9a55c 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -1,706 +1,712 @@ module.exports = { - prefix: "", - important: false, - separator: ":", - theme: { - screens: { - sm: "640px", - md: "768px", - lg: "1024px", - xl: "1280px" - }, - colors: { - transparent: "transparent", + prefix: "", + important: false, + separator: ":", + theme: { + screens: { + sm: "640px", + md: "768px", + lg: "1024px", + xl: "1280px", + }, + colors: { + transparent: "transparent", - black: "#000", - white: "#fff", + black: "#000", + white: "#fff", - gray: { - 100: "#f7fafc", - 200: "#edf2f7", - 300: "#e2e8f0", - 400: "#cbd5e0", - 500: "#a0aec0", - 600: "#718096", - 700: "#4a5568", - 800: "#2d3748", - 900: "#1a202c" - }, - red: { - 100: "#fff5f5", - 200: "#fed7d7", - 300: "#feb2b2", - 400: "#fc8181", - 500: "#f56565", - 600: "#e53e3e", - 700: "#c53030", - 800: "#9b2c2c", - 900: "#742a2a" - }, - orange: { - 100: "#fffaf0", - 200: "#feebc8", - 300: "#fbd38d", - 400: "#f6ad55", - 500: "#ed8936", - 600: "#dd6b20", - 700: "#c05621", - 800: "#9c4221", - 900: "#7b341e" - }, - yellow: { - 100: "#fffff0", - 200: "#fefcbf", - 300: "#faf089", - 400: "#f6e05e", - 500: "#ecc94b", - 600: "#d69e2e", - 700: "#b7791f", - 800: "#975a16", - 900: "#744210" - }, - green: { - 100: "#f0fff4", - 200: "#c6f6d5", - 300: "#9ae6b4", - 400: "#68d391", - 500: "#48bb78", - 600: "#38a169", - 700: "#2f855a", - 800: "#276749", - 900: "#22543d" - }, - teal: { - 100: "#e6fffa", - 200: "#b2f5ea", - 300: "#81e6d9", - 400: "#4fd1c5", - 500: "#38b2ac", - 600: "#319795", - 700: "#2c7a7b", - 800: "#285e61", - 900: "#234e52" - }, - blue: { - 100: "#ebf8ff", - 200: "#bee3f8", - 300: "#90cdf4", - 400: "#63b3ed", - 500: "#4299e1", - 600: "#3182ce", - 700: "#2b6cb0", - 800: "#2c5282", - 900: "#2a4365" - }, - indigo: { - 100: "#ebf4ff", - 200: "#c3dafe", - 300: "#a3bffa", - 400: "#7f9cf5", - 500: "#667eea", - 600: "#5a67d8", - 700: "#4c51bf", - 800: "#434190", - 900: "#3c366b" - }, - purple: { - 100: "#faf5ff", - 200: "#e9d8fd", - 300: "#d6bcfa", - 400: "#b794f4", - 500: "#9f7aea", - 600: "#805ad5", - 700: "#6b46c1", - 800: "#553c9a", - 900: "#44337a" - }, - pink: { - 100: "#fff5f7", - 200: "#fed7e2", - 300: "#fbb6ce", - 400: "#f687b3", - 500: "#ed64a6", - 600: "#d53f8c", - 700: "#b83280", - 800: "#97266d", - 900: "#702459" - } - }, - spacing: { - px: "1px", - "0": "0", - "1": "0.25rem", - "2": "0.5rem", - "3": "0.75rem", - "4": "1rem", - "5": "1.25rem", - "6": "1.5rem", - "8": "2rem", - "10": "2.5rem", - "12": "3rem", - "16": "4rem", - "20": "5rem", - "24": "6rem", - "32": "8rem", - "40": "10rem", - "48": "12rem", - "56": "14rem", - "64": "16rem" - }, - backgroundColor: theme => theme("colors"), - backgroundPosition: { - bottom: "bottom", - center: "center", - left: "left", - "left-bottom": "left bottom", - "left-top": "left top", - right: "right", - "right-bottom": "right bottom", - "right-top": "right top", - top: "top" - }, - backgroundSize: { - auto: "auto", - cover: "cover", - contain: "contain" - }, - borderColor: theme => ({ - ...theme("colors"), - default: theme("colors.gray.300", "currentColor") - }), - borderRadius: { - none: "0", - sm: "0.125rem", - default: "0.25rem", - md: "0.375rem", - lg: "0.5rem", - full: "9999px" - }, - borderWidth: { - default: "1px", - "0": "0", - "2": "2px", - "4": "4px", - "8": "8px" - }, - boxShadow: { - xs: "0 0 0 1px rgba(0, 0, 0, 0.05)", - sm: "0 1px 2px 0 rgba(0, 0, 0, 0.05)", - default: - "0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)", - md: - "0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)", - lg: - "0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)", - xl: - "0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)", - "2xl": "0 25px 50px -12px rgba(0, 0, 0, 0.25)", - inner: "inset 0 2px 4px 0 rgba(0, 0, 0, 0.06)", - outline: "0 0 0 3px rgba(66, 153, 225, 0.5)", - none: "none" - }, - container: {}, - cursor: { - auto: "auto", - default: "default", - pointer: "pointer", - wait: "wait", - text: "text", - move: "move", - "not-allowed": "not-allowed" - }, - fill: { - current: "currentColor" - }, - flex: { - "1": "1 1 0%", - auto: "1 1 auto", - initial: "0 1 auto", - none: "none" - }, - flexGrow: { - "0": "0", - default: "1" - }, - flexShrink: { - "0": "0", - default: "1" - }, - fontFamily: { - sans: [ - "system-ui", - "-apple-system", - "BlinkMacSystemFont", - '"Segoe UI"', - "Roboto", - '"Helvetica Neue"', - "Arial", - '"Noto Sans"', - "sans-serif", - '"Apple Color Emoji"', - '"Segoe UI Emoji"', - '"Segoe UI Symbol"', - '"Noto Color Emoji"' - ], - serif: ["Georgia", "Cambria", '"Times New Roman"', "Times", "serif"], - mono: [ - "Menlo", - "Monaco", - "Consolas", - '"Liberation Mono"', - '"Courier New"', - "monospace" - ] - }, - fontSize: { - xs: "0.75rem", - sm: "0.875rem", - base: "1rem", - lg: "1.125rem", - xl: "1.25rem", - "2xl": "1.5rem", - "3xl": "1.875rem", - "4xl": "2.25rem", - "5xl": "3rem", - "6xl": "4rem" - }, - fontWeight: { - hairline: "100", - thin: "200", - light: "300", - normal: "400", - medium: "500", - semibold: "600", - bold: "700", - extrabold: "800", - black: "900" - }, - height: theme => ({ - auto: "auto", - ...theme("spacing"), - full: "100%", - screen: "100vh" - }), - inset: { - "0": "0", - auto: "auto" - }, - letterSpacing: { - tighter: "-0.05em", - tight: "-0.025em", - normal: "0", - wide: "0.025em", - wider: "0.05em", - widest: "0.1em" - }, - lineHeight: { - none: "1", - tight: "1.25", - snug: "1.375", - normal: "1.5", - relaxed: "1.625", - loose: "2", - "3": ".75rem", - "4": "1rem", - "5": "1.25rem", - "6": "1.5rem", - "7": "1.75rem", - "8": "2rem", - "9": "2.25rem", - "10": "2.5rem" - }, - listStyleType: { - none: "none", - disc: "disc", - decimal: "decimal" - }, - margin: (theme, { negative }) => ({ - auto: "auto", - ...theme("spacing"), - ...negative(theme("spacing")) - }), - maxHeight: { - full: "100%", - screen: "100vh" - }, - maxWidth: (theme, { breakpoints }) => ({ - none: "none", - xs: "20rem", - sm: "24rem", - md: "28rem", - lg: "32rem", - xl: "36rem", - "2xl": "42rem", - "3xl": "48rem", - "4xl": "56rem", - "5xl": "64rem", - "6xl": "72rem", - full: "100%", - ...breakpoints(theme("screens")) - }), - minHeight: { - "0": "0", - full: "100%", - screen: "100vh" - }, - minWidth: { - "0": "0", - full: "100%" - }, - objectPosition: { - bottom: "bottom", - center: "center", - left: "left", - "left-bottom": "left bottom", - "left-top": "left top", - right: "right", - "right-bottom": "right bottom", - "right-top": "right top", - top: "top" - }, - opacity: { - "0": "0", - "25": "0.25", - "50": "0.5", - "75": "0.75", - "100": "1" - }, - order: { - first: "-9999", - last: "9999", - none: "0", - "1": "1", - "2": "2", - "3": "3", - "4": "4", - "5": "5", - "6": "6", - "7": "7", - "8": "8", - "9": "9", - "10": "10", - "11": "11", - "12": "12" - }, - padding: theme => theme("spacing"), - placeholderColor: theme => theme("colors"), - stroke: { - current: "currentColor" - }, - strokeWidth: { - "0": "0", - "1": "1", - "2": "2" - }, - textColor: theme => theme("colors"), - width: theme => ({ - auto: "auto", - ...theme("spacing"), - "1/2": "50%", - "1/3": "33.333333%", - "2/3": "66.666667%", - "1/4": "25%", - "2/4": "50%", - "3/4": "75%", - "1/5": "20%", - "2/5": "40%", - "3/5": "60%", - "4/5": "80%", - "1/6": "16.666667%", - "2/6": "33.333333%", - "3/6": "50%", - "4/6": "66.666667%", - "5/6": "83.333333%", - "1/12": "8.333333%", - "2/12": "16.666667%", - "3/12": "25%", - "4/12": "33.333333%", - "5/12": "41.666667%", - "6/12": "50%", - "7/12": "58.333333%", - "8/12": "66.666667%", - "9/12": "75%", - "10/12": "83.333333%", - "11/12": "91.666667%", - full: "100%", - screen: "100vw" - }), - zIndex: { - auto: "auto", - "0": "0", - "10": "10", - "20": "20", - "30": "30", - "40": "40", - "50": "50" - }, - gap: theme => theme("spacing"), - gridTemplateColumns: { - none: "none", - "1": "repeat(1, minmax(0, 1fr))", - "2": "repeat(2, minmax(0, 1fr))", - "3": "repeat(3, minmax(0, 1fr))", - "4": "repeat(4, minmax(0, 1fr))", - "5": "repeat(5, minmax(0, 1fr))", - "6": "repeat(6, minmax(0, 1fr))", - "7": "repeat(7, minmax(0, 1fr))", - "8": "repeat(8, minmax(0, 1fr))", - "9": "repeat(9, minmax(0, 1fr))", - "10": "repeat(10, minmax(0, 1fr))", - "11": "repeat(11, minmax(0, 1fr))", - "12": "repeat(12, minmax(0, 1fr))" - }, - gridColumn: { - auto: "auto", - "span-1": "span 1 / span 1", - "span-2": "span 2 / span 2", - "span-3": "span 3 / span 3", - "span-4": "span 4 / span 4", - "span-5": "span 5 / span 5", - "span-6": "span 6 / span 6", - "span-7": "span 7 / span 7", - "span-8": "span 8 / span 8", - "span-9": "span 9 / span 9", - "span-10": "span 10 / span 10", - "span-11": "span 11 / span 11", - "span-12": "span 12 / span 12" - }, - gridColumnStart: { - auto: "auto", - "1": "1", - "2": "2", - "3": "3", - "4": "4", - "5": "5", - "6": "6", - "7": "7", - "8": "8", - "9": "9", - "10": "10", - "11": "11", - "12": "12", - "13": "13" - }, - gridColumnEnd: { - auto: "auto", - "1": "1", - "2": "2", - "3": "3", - "4": "4", - "5": "5", - "6": "6", - "7": "7", - "8": "8", - "9": "9", - "10": "10", - "11": "11", - "12": "12", - "13": "13" - }, - gridTemplateRows: { - none: "none", - "1": "repeat(1, minmax(0, 1fr))", - "2": "repeat(2, minmax(0, 1fr))", - "3": "repeat(3, minmax(0, 1fr))", - "4": "repeat(4, minmax(0, 1fr))", - "5": "repeat(5, minmax(0, 1fr))", - "6": "repeat(6, minmax(0, 1fr))" - }, - gridRow: { - auto: "auto", - "span-1": "span 1 / span 1", - "span-2": "span 2 / span 2", - "span-3": "span 3 / span 3", - "span-4": "span 4 / span 4", - "span-5": "span 5 / span 5", - "span-6": "span 6 / span 6" - }, - gridRowStart: { - auto: "auto", - "1": "1", - "2": "2", - "3": "3", - "4": "4", - "5": "5", - "6": "6", - "7": "7" - }, - gridRowEnd: { - auto: "auto", - "1": "1", - "2": "2", - "3": "3", - "4": "4", - "5": "5", - "6": "6", - "7": "7" - }, - transformOrigin: { - center: "center", - top: "top", - "top-right": "top right", - right: "right", - "bottom-right": "bottom right", - bottom: "bottom", - "bottom-left": "bottom left", - left: "left", - "top-left": "top left" - }, - scale: { - "0": "0", - "50": ".5", - "75": ".75", - "90": ".9", - "95": ".95", - "100": "1", - "105": "1.05", - "110": "1.1", - "125": "1.25", - "150": "1.5" - }, - rotate: { - "-180": "-180deg", - "-90": "-90deg", - "-45": "-45deg", - "0": "0", - "45": "45deg", - "90": "90deg", - "180": "180deg" - }, - translate: (theme, { negative }) => ({ - ...theme("spacing"), - ...negative(theme("spacing")), - "-full": "-100%", - "-1/2": "-50%", - "1/2": "50%", - full: "100%" - }), - skew: { - "-12": "-12deg", - "-6": "-6deg", - "-3": "-3deg", - "0": "0", - "3": "3deg", - "6": "6deg", - "12": "12deg" - }, - transitionProperty: { - none: "none", - all: "all", - default: - "background-color, border-color, color, fill, stroke, opacity, box-shadow, transform", - colors: "background-color, border-color, color, fill, stroke", - opacity: "opacity", - shadow: "box-shadow", - transform: "transform" - }, - transitionTimingFunction: { - linear: "linear", - in: "cubic-bezier(0.4, 0, 1, 1)", - out: "cubic-bezier(0, 0, 0.2, 1)", - "in-out": "cubic-bezier(0.4, 0, 0.2, 1)" - }, - transitionDuration: { - "75": "75ms", - "100": "100ms", - "150": "150ms", - "200": "200ms", - "300": "300ms", - "500": "500ms", - "700": "700ms", - "1000": "1000ms" - } - }, - variants: { - accessibility: ["responsive", "focus"], - alignContent: ["responsive"], - alignItems: ["responsive"], - alignSelf: ["responsive"], - appearance: ["responsive"], - backgroundAttachment: ["responsive"], - backgroundColor: ["responsive", "hover", "focus"], - backgroundPosition: ["responsive"], - backgroundRepeat: ["responsive"], - backgroundSize: ["responsive"], - borderCollapse: ["responsive"], - borderColor: ["responsive", "hover", "focus"], - borderRadius: ["responsive"], - borderStyle: ["responsive"], - borderWidth: ["responsive"], - boxShadow: ["responsive", "hover", "focus"], - boxSizing: ["responsive"], - cursor: ["responsive"], - display: ["responsive"], - fill: ["responsive"], - flex: ["responsive"], - flexDirection: ["responsive"], - flexGrow: ["responsive"], - flexShrink: ["responsive"], - flexWrap: ["responsive"], - float: ["responsive"], - clear: ["responsive"], - fontFamily: ["responsive"], - fontSize: ["responsive"], - fontSmoothing: ["responsive"], - fontStyle: ["responsive"], - fontWeight: ["responsive", "hover", "focus"], - height: ["responsive"], - inset: ["responsive"], - justifyContent: ["responsive"], - letterSpacing: ["responsive"], - lineHeight: ["responsive"], - listStylePosition: ["responsive"], - listStyleType: ["responsive"], - margin: ["responsive"], - maxHeight: ["responsive"], - maxWidth: ["responsive"], - minHeight: ["responsive"], - minWidth: ["responsive"], - objectFit: ["responsive"], - objectPosition: ["responsive"], - opacity: ["responsive", "hover", "focus"], - order: ["responsive"], - outline: ["responsive", "focus"], - overflow: ["responsive"], - padding: ["responsive"], - placeholderColor: ["responsive", "focus"], - pointerEvents: ["responsive"], - position: ["responsive"], - resize: ["responsive"], - stroke: ["responsive"], - strokeWidth: ["responsive"], - tableLayout: ["responsive"], - textAlign: ["responsive"], - textColor: ["responsive", "hover", "focus"], - textDecoration: ["responsive", "hover", "focus"], - textTransform: ["responsive"], - userSelect: ["responsive"], - verticalAlign: ["responsive"], - visibility: ["responsive"], - whitespace: ["responsive"], - width: ["responsive"], - wordBreak: ["responsive"], - zIndex: ["responsive"], - gap: ["responsive"], - gridAutoFlow: ["responsive"], - gridTemplateColumns: ["responsive"], - gridColumn: ["responsive"], - gridColumnStart: ["responsive"], - gridColumnEnd: ["responsive"], - gridTemplateRows: ["responsive"], - gridRow: ["responsive"], - gridRowStart: ["responsive"], - gridRowEnd: ["responsive"], - transform: ["responsive"], - transformOrigin: ["responsive"], - scale: ["responsive", "hover", "focus"], - rotate: ["responsive", "hover", "focus"], - translate: ["responsive", "hover", "focus"], - skew: ["responsive", "hover", "focus"], - transitionProperty: ["responsive"], - transitionTimingFunction: ["responsive"], - transitionDuration: ["responsive"] - }, - corePlugins: {}, - plugins: [] + gray: { + 100: "#f7fafc", + 200: "#edf2f7", + 300: "#e2e8f0", + 400: "#cbd5e0", + 500: "#a0aec0", + 600: "#718096", + 700: "#4a5568", + 800: "#2d3748", + 900: "#1a202c", + }, + red: { + 100: "#fff5f5", + 200: "#fed7d7", + 300: "#feb2b2", + 400: "#fc8181", + 500: "#f56565", + 600: "#e53e3e", + 700: "#c53030", + 800: "#9b2c2c", + 900: "#742a2a", + }, + orange: { + 100: "#fffaf0", + 200: "#feebc8", + 300: "#fbd38d", + 400: "#f6ad55", + 500: "#ed8936", + 600: "#dd6b20", + 700: "#c05621", + 800: "#9c4221", + 900: "#7b341e", + }, + yellow: { + 100: "#fffff0", + 200: "#fefcbf", + 300: "#faf089", + 400: "#f6e05e", + 500: "#ecc94b", + 600: "#d69e2e", + 700: "#b7791f", + 800: "#975a16", + 900: "#744210", + }, + green: { + 100: "#f0fff4", + 200: "#c6f6d5", + 300: "#9ae6b4", + 400: "#68d391", + 500: "#48bb78", + 600: "#38a169", + 700: "#2f855a", + 800: "#276749", + 900: "#22543d", + }, + teal: { + 100: "#e6fffa", + 200: "#b2f5ea", + 300: "#81e6d9", + 400: "#4fd1c5", + 500: "#38b2ac", + 600: "#319795", + 700: "#2c7a7b", + 800: "#285e61", + 900: "#234e52", + }, + blue: { + 100: "#ebf8ff", + 200: "#bee3f8", + 300: "#90cdf4", + 400: "#63b3ed", + 500: "#4299e1", + 600: "#3182ce", + 700: "#2b6cb0", + 800: "#2c5282", + 900: "#2a4365", + }, + indigo: { + 100: "#ebf4ff", + 200: "#c3dafe", + 300: "#a3bffa", + 400: "#7f9cf5", + 500: "#667eea", + 600: "#5a67d8", + 700: "#4c51bf", + 800: "#434190", + 900: "#3c366b", + }, + purple: { + 100: "#faf5ff", + 200: "#e9d8fd", + 300: "#d6bcfa", + 400: "#b794f4", + 500: "#9f7aea", + 600: "#805ad5", + 700: "#6b46c1", + 800: "#553c9a", + 900: "#44337a", + }, + pink: { + 100: "#fff5f7", + 200: "#fed7e2", + 300: "#fbb6ce", + 400: "#f687b3", + 500: "#ed64a6", + 600: "#d53f8c", + 700: "#b83280", + 800: "#97266d", + 900: "#702459", + }, + }, + spacing: { + px: "1px", + "0": "0", + "1": "0.25rem", + "2": "0.5rem", + "3": "0.75rem", + "4": "1rem", + "5": "1.25rem", + "6": "1.5rem", + "8": "2rem", + "10": "2.5rem", + "12": "3rem", + "16": "4rem", + "20": "5rem", + "24": "6rem", + "32": "8rem", + "40": "10rem", + "48": "12rem", + "56": "14rem", + "64": "16rem", + }, + backgroundColor: (theme) => theme("colors"), + backgroundPosition: { + bottom: "bottom", + center: "center", + left: "left", + "left-bottom": "left bottom", + "left-top": "left top", + right: "right", + "right-bottom": "right bottom", + "right-top": "right top", + top: "top", + }, + backgroundSize: { + auto: "auto", + cover: "cover", + contain: "contain", + }, + borderColor: (theme) => ({ + ...theme("colors"), + default: theme("colors.gray.300", "currentColor"), + }), + borderRadius: { + none: "0", + sm: "0.125rem", + default: "0.25rem", + md: "0.375rem", + lg: "0.5rem", + full: "9999px", + }, + borderWidth: { + default: "1px", + "0": "0", + "2": "2px", + "4": "4px", + "8": "8px", + }, + boxShadow: { + xs: "0 0 0 1px rgba(0, 0, 0, 0.05)", + sm: "0 1px 2px 0 rgba(0, 0, 0, 0.05)", + default: + "0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)", + md: + "0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)", + lg: + "0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)", + xl: + "0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)", + "2xl": "0 25px 50px -12px rgba(0, 0, 0, 0.25)", + inner: "inset 0 2px 4px 0 rgba(0, 0, 0, 0.06)", + outline: "0 0 0 3px rgba(66, 153, 225, 0.5)", + none: "none", + }, + container: {}, + cursor: { + auto: "auto", + default: "default", + pointer: "pointer", + wait: "wait", + text: "text", + move: "move", + "not-allowed": "not-allowed", + }, + fill: { + current: "currentColor", + }, + flex: { + "1": "1 1 0%", + auto: "1 1 auto", + initial: "0 1 auto", + none: "none", + }, + flexGrow: { + "0": "0", + default: "1", + }, + flexShrink: { + "0": "0", + default: "1", + }, + fontFamily: { + sans: [ + "system-ui", + "-apple-system", + "BlinkMacSystemFont", + '"Segoe UI"', + "Roboto", + '"Helvetica Neue"', + "Arial", + '"Noto Sans"', + "sans-serif", + '"Apple Color Emoji"', + '"Segoe UI Emoji"', + '"Segoe UI Symbol"', + '"Noto Color Emoji"', + ], + serif: [ + "Georgia", + "Cambria", + '"Times New Roman"', + "Times", + "serif", + ], + mono: [ + "Menlo", + "Monaco", + "Consolas", + '"Liberation Mono"', + '"Courier New"', + "monospace", + ], + }, + fontSize: { + xs: "0.75rem", + sm: "0.875rem", + base: "1rem", + lg: "1.125rem", + xl: "1.25rem", + "2xl": "1.5rem", + "3xl": "1.875rem", + "4xl": "2.25rem", + "5xl": "3rem", + "6xl": "4rem", + }, + fontWeight: { + hairline: "100", + thin: "200", + light: "300", + normal: "400", + medium: "500", + semibold: "600", + bold: "700", + extrabold: "800", + black: "900", + }, + height: (theme) => ({ + auto: "auto", + ...theme("spacing"), + full: "100%", + screen: "100vh", + }), + inset: { + "0": "0", + auto: "auto", + }, + letterSpacing: { + tighter: "-0.05em", + tight: "-0.025em", + normal: "0", + wide: "0.025em", + wider: "0.05em", + widest: "0.1em", + }, + lineHeight: { + none: "1", + tight: "1.25", + snug: "1.375", + normal: "1.5", + relaxed: "1.625", + loose: "2", + "3": ".75rem", + "4": "1rem", + "5": "1.25rem", + "6": "1.5rem", + "7": "1.75rem", + "8": "2rem", + "9": "2.25rem", + "10": "2.5rem", + }, + listStyleType: { + none: "none", + disc: "disc", + decimal: "decimal", + }, + margin: (theme, { negative }) => ({ + auto: "auto", + ...theme("spacing"), + ...negative(theme("spacing")), + }), + maxHeight: { + full: "100%", + screen: "100vh", + }, + maxWidth: (theme, { breakpoints }) => ({ + none: "none", + xs: "20rem", + sm: "24rem", + md: "28rem", + lg: "32rem", + xl: "36rem", + "2xl": "42rem", + "3xl": "48rem", + "4xl": "56rem", + "5xl": "64rem", + "6xl": "72rem", + full: "100%", + ...breakpoints(theme("screens")), + }), + minHeight: { + "0": "0", + full: "100%", + screen: "100vh", + }, + minWidth: { + "0": "0", + full: "100%", + }, + objectPosition: { + bottom: "bottom", + center: "center", + left: "left", + "left-bottom": "left bottom", + "left-top": "left top", + right: "right", + "right-bottom": "right bottom", + "right-top": "right top", + top: "top", + }, + opacity: { + "0": "0", + "25": "0.25", + "50": "0.5", + "75": "0.75", + "100": "1", + }, + order: { + first: "-9999", + last: "9999", + none: "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7", + "8": "8", + "9": "9", + "10": "10", + "11": "11", + "12": "12", + }, + padding: (theme) => theme("spacing"), + placeholderColor: (theme) => theme("colors"), + stroke: { + current: "currentColor", + }, + strokeWidth: { + "0": "0", + "1": "1", + "2": "2", + }, + textColor: (theme) => theme("colors"), + width: (theme) => ({ + auto: "auto", + ...theme("spacing"), + "1/2": "50%", + "1/3": "33.333333%", + "2/3": "66.666667%", + "1/4": "25%", + "2/4": "50%", + "3/4": "75%", + "1/5": "20%", + "2/5": "40%", + "3/5": "60%", + "4/5": "80%", + "1/6": "16.666667%", + "2/6": "33.333333%", + "3/6": "50%", + "4/6": "66.666667%", + "5/6": "83.333333%", + "1/12": "8.333333%", + "2/12": "16.666667%", + "3/12": "25%", + "4/12": "33.333333%", + "5/12": "41.666667%", + "6/12": "50%", + "7/12": "58.333333%", + "8/12": "66.666667%", + "9/12": "75%", + "10/12": "83.333333%", + "11/12": "91.666667%", + full: "100%", + screen: "100vw", + }), + zIndex: { + auto: "auto", + "0": "0", + "10": "10", + "20": "20", + "30": "30", + "40": "40", + "50": "50", + }, + gap: (theme) => theme("spacing"), + gridTemplateColumns: { + none: "none", + "1": "repeat(1, minmax(0, 1fr))", + "2": "repeat(2, minmax(0, 1fr))", + "3": "repeat(3, minmax(0, 1fr))", + "4": "repeat(4, minmax(0, 1fr))", + "5": "repeat(5, minmax(0, 1fr))", + "6": "repeat(6, minmax(0, 1fr))", + "7": "repeat(7, minmax(0, 1fr))", + "8": "repeat(8, minmax(0, 1fr))", + "9": "repeat(9, minmax(0, 1fr))", + "10": "repeat(10, minmax(0, 1fr))", + "11": "repeat(11, minmax(0, 1fr))", + "12": "repeat(12, minmax(0, 1fr))", + }, + gridColumn: { + auto: "auto", + "span-1": "span 1 / span 1", + "span-2": "span 2 / span 2", + "span-3": "span 3 / span 3", + "span-4": "span 4 / span 4", + "span-5": "span 5 / span 5", + "span-6": "span 6 / span 6", + "span-7": "span 7 / span 7", + "span-8": "span 8 / span 8", + "span-9": "span 9 / span 9", + "span-10": "span 10 / span 10", + "span-11": "span 11 / span 11", + "span-12": "span 12 / span 12", + }, + gridColumnStart: { + auto: "auto", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7", + "8": "8", + "9": "9", + "10": "10", + "11": "11", + "12": "12", + "13": "13", + }, + gridColumnEnd: { + auto: "auto", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7", + "8": "8", + "9": "9", + "10": "10", + "11": "11", + "12": "12", + "13": "13", + }, + gridTemplateRows: { + none: "none", + "1": "repeat(1, minmax(0, 1fr))", + "2": "repeat(2, minmax(0, 1fr))", + "3": "repeat(3, minmax(0, 1fr))", + "4": "repeat(4, minmax(0, 1fr))", + "5": "repeat(5, minmax(0, 1fr))", + "6": "repeat(6, minmax(0, 1fr))", + }, + gridRow: { + auto: "auto", + "span-1": "span 1 / span 1", + "span-2": "span 2 / span 2", + "span-3": "span 3 / span 3", + "span-4": "span 4 / span 4", + "span-5": "span 5 / span 5", + "span-6": "span 6 / span 6", + }, + gridRowStart: { + auto: "auto", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7", + }, + gridRowEnd: { + auto: "auto", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7", + }, + transformOrigin: { + center: "center", + top: "top", + "top-right": "top right", + right: "right", + "bottom-right": "bottom right", + bottom: "bottom", + "bottom-left": "bottom left", + left: "left", + "top-left": "top left", + }, + scale: { + "0": "0", + "50": ".5", + "75": ".75", + "90": ".9", + "95": ".95", + "100": "1", + "105": "1.05", + "110": "1.1", + "125": "1.25", + "150": "1.5", + }, + rotate: { + "-180": "-180deg", + "-90": "-90deg", + "-45": "-45deg", + "0": "0", + "45": "45deg", + "90": "90deg", + "180": "180deg", + }, + translate: (theme, { negative }) => ({ + ...theme("spacing"), + ...negative(theme("spacing")), + "-full": "-100%", + "-1/2": "-50%", + "1/2": "50%", + full: "100%", + }), + skew: { + "-12": "-12deg", + "-6": "-6deg", + "-3": "-3deg", + "0": "0", + "3": "3deg", + "6": "6deg", + "12": "12deg", + }, + transitionProperty: { + none: "none", + all: "all", + default: + "background-color, border-color, color, fill, stroke, opacity, box-shadow, transform", + colors: "background-color, border-color, color, fill, stroke", + opacity: "opacity", + shadow: "box-shadow", + transform: "transform", + }, + transitionTimingFunction: { + linear: "linear", + in: "cubic-bezier(0.4, 0, 1, 1)", + out: "cubic-bezier(0, 0, 0.2, 1)", + "in-out": "cubic-bezier(0.4, 0, 0.2, 1)", + }, + transitionDuration: { + "75": "75ms", + "100": "100ms", + "150": "150ms", + "200": "200ms", + "300": "300ms", + "500": "500ms", + "700": "700ms", + "1000": "1000ms", + }, + }, + variants: { + accessibility: ["responsive", "focus"], + alignContent: ["responsive"], + alignItems: ["responsive"], + alignSelf: ["responsive"], + appearance: ["responsive"], + backgroundAttachment: ["responsive"], + backgroundColor: ["responsive", "hover", "focus"], + backgroundPosition: ["responsive"], + backgroundRepeat: ["responsive"], + backgroundSize: ["responsive"], + borderCollapse: ["responsive"], + borderColor: ["responsive", "hover", "focus"], + borderRadius: ["responsive"], + borderStyle: ["responsive"], + borderWidth: ["responsive"], + boxShadow: ["responsive", "hover", "focus"], + boxSizing: ["responsive"], + cursor: ["responsive"], + display: ["responsive"], + fill: ["responsive"], + flex: ["responsive"], + flexDirection: ["responsive"], + flexGrow: ["responsive"], + flexShrink: ["responsive"], + flexWrap: ["responsive"], + float: ["responsive"], + clear: ["responsive"], + fontFamily: ["responsive"], + fontSize: ["responsive"], + fontSmoothing: ["responsive"], + fontStyle: ["responsive"], + fontWeight: ["responsive", "hover", "focus"], + height: ["responsive"], + inset: ["responsive"], + justifyContent: ["responsive"], + letterSpacing: ["responsive"], + lineHeight: ["responsive"], + listStylePosition: ["responsive"], + listStyleType: ["responsive"], + margin: ["responsive"], + maxHeight: ["responsive"], + maxWidth: ["responsive"], + minHeight: ["responsive"], + minWidth: ["responsive"], + objectFit: ["responsive"], + objectPosition: ["responsive"], + opacity: ["responsive", "hover", "focus"], + order: ["responsive"], + outline: ["responsive", "focus"], + overflow: ["responsive"], + padding: ["responsive"], + placeholderColor: ["responsive", "focus"], + pointerEvents: ["responsive"], + position: ["responsive"], + resize: ["responsive"], + stroke: ["responsive"], + strokeWidth: ["responsive"], + tableLayout: ["responsive"], + textAlign: ["responsive"], + textColor: ["responsive", "hover", "focus"], + textDecoration: ["responsive", "hover", "focus"], + textTransform: ["responsive"], + userSelect: ["responsive"], + verticalAlign: ["responsive"], + visibility: ["responsive"], + whitespace: ["responsive"], + width: ["responsive"], + wordBreak: ["responsive"], + zIndex: ["responsive"], + gap: ["responsive"], + gridAutoFlow: ["responsive"], + gridTemplateColumns: ["responsive"], + gridColumn: ["responsive"], + gridColumnStart: ["responsive"], + gridColumnEnd: ["responsive"], + gridTemplateRows: ["responsive"], + gridRow: ["responsive"], + gridRowStart: ["responsive"], + gridRowEnd: ["responsive"], + transform: ["responsive"], + transformOrigin: ["responsive"], + scale: ["responsive", "hover", "focus"], + rotate: ["responsive", "hover", "focus"], + translate: ["responsive", "hover", "focus"], + skew: ["responsive", "hover", "focus"], + transitionProperty: ["responsive"], + transitionTimingFunction: ["responsive"], + transitionDuration: ["responsive"], + }, + corePlugins: {}, + plugins: [], }; diff --git a/tsconfig.app.json b/tsconfig.app.json index add66933..f9e85dc9 100644 --- a/tsconfig.app.json +++ b/tsconfig.app.json @@ -1,10 +1,10 @@ { - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "./out-tsc/app", - "types": [] - }, - "files": ["src/main.ts", "src/polyfills.ts"], - "include": ["src/**/*.ts"], - "exclude": ["src/test.ts", "src/**/*.spec.ts"] + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/app", + "types": [] + }, + "files": ["src/main.ts", "src/polyfills.ts"], + "include": ["src/**/*.ts"], + "exclude": ["src/test.ts", "src/**/*.spec.ts"] } diff --git a/tsconfig.json b/tsconfig.json index aabefaa5..709c435f 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,22 +1,22 @@ { - "compileOnSave": false, - "compilerOptions": { - "baseUrl": "./", - "outDir": "./dist/out-tsc", - "sourceMap": true, - "declaration": false, - "downlevelIteration": true, - "experimentalDecorators": true, - "module": "esnext", - "moduleResolution": "node", - "importHelpers": true, - "target": "es2015", - "typeRoots": ["node_modules/@types"], - "lib": ["es2018", "dom"] - }, - "angularCompilerOptions": { - "fullTemplateTypeCheck": true, - "strictInjectionParameters": true, - // "disableTypeScriptVersionCheck": true - } + "compileOnSave": false, + "compilerOptions": { + "baseUrl": "./", + "outDir": "./dist/out-tsc", + "sourceMap": true, + "declaration": false, + "downlevelIteration": true, + "experimentalDecorators": true, + "module": "esnext", + "moduleResolution": "node", + "importHelpers": true, + "target": "es2015", + "typeRoots": ["node_modules/@types"], + "lib": ["es2018", "dom"] + }, + "angularCompilerOptions": { + "fullTemplateTypeCheck": true, + "strictInjectionParameters": true + // "disableTypeScriptVersionCheck": true + } } diff --git a/tsconfig.spec.json b/tsconfig.spec.json index a5d256b7..ce05d500 100644 --- a/tsconfig.spec.json +++ b/tsconfig.spec.json @@ -1,12 +1,12 @@ { - "extends": "./tsconfig.json", - "compilerOptions": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - "outDir": "./out-tsc/spec", - "module": "commonjs", - "types": ["jasmine", "node"] - }, - "files": ["src/test.ts", "src/polyfills.ts"], - "include": ["src/**/*.spec.ts", "src/**/*.d.ts"] + "extends": "./tsconfig.json", + "compilerOptions": { + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "outDir": "./out-tsc/spec", + "module": "commonjs", + "types": ["jasmine", "node"] + }, + "files": ["src/test.ts", "src/polyfills.ts"], + "include": ["src/**/*.spec.ts", "src/**/*.d.ts"] } diff --git a/tslint.json b/tslint.json index 010c9669..79156483 100644 --- a/tslint.json +++ b/tslint.json @@ -1,57 +1,57 @@ { - "extends": "tslint:recommended", - "rules": { - "array-type": false, - "arrow-parens": false, - "deprecation": { - "severity": "warning" + "extends": "tslint:recommended", + "rules": { + "array-type": false, + "arrow-parens": false, + "deprecation": { + "severity": "warning" + }, + "component-class-suffix": true, + "contextual-lifecycle": true, + "directive-class-suffix": true, + "directive-selector": [true, "attribute", "app", "camelCase"], + "component-selector": [true, "element", "app", "kebab-case"], + "import-blacklist": [true, "rxjs/Rx"], + "interface-name": false, + "max-classes-per-file": false, + "max-line-length": [true, 140], + "member-access": false, + "member-ordering": [ + true, + { + "order": [ + "static-field", + "instance-field", + "static-method", + "instance-method" + ] + } + ], + "no-consecutive-blank-lines": false, + "no-console": [true, "debug", "info", "time", "timeEnd", "trace"], + "no-empty": false, + "no-inferrable-types": [true, "ignore-params"], + "no-non-null-assertion": true, + "no-redundant-jsdoc": true, + "no-switch-case-fall-through": true, + "no-var-requires": false, + "object-literal-key-quotes": [true, "as-needed"], + "object-literal-sort-keys": false, + "ordered-imports": false, + "quotemark": [true, "double"], + "trailing-comma": false, + "no-conflicting-lifecycle": true, + "no-host-metadata-property": true, + "no-input-rename": true, + "no-inputs-metadata-property": true, + "no-output-native": true, + "no-output-on-prefix": true, + "no-output-rename": true, + "no-outputs-metadata-property": true, + "template-banana-in-box": true, + "template-no-negated-async": true, + "use-lifecycle-interface": true, + "use-pipe-transform-interface": true }, - "component-class-suffix": true, - "contextual-lifecycle": true, - "directive-class-suffix": true, - "directive-selector": [true, "attribute", "app", "camelCase"], - "component-selector": [true, "element", "app", "kebab-case"], - "import-blacklist": [true, "rxjs/Rx"], - "interface-name": false, - "max-classes-per-file": false, - "max-line-length": [true, 140], - "member-access": false, - "member-ordering": [ - true, - { - "order": [ - "static-field", - "instance-field", - "static-method", - "instance-method" - ] - } - ], - "no-consecutive-blank-lines": false, - "no-console": [true, "debug", "info", "time", "timeEnd", "trace"], - "no-empty": false, - "no-inferrable-types": [true, "ignore-params"], - "no-non-null-assertion": true, - "no-redundant-jsdoc": true, - "no-switch-case-fall-through": true, - "no-var-requires": false, - "object-literal-key-quotes": [true, "as-needed"], - "object-literal-sort-keys": false, - "ordered-imports": false, - "quotemark": [true, "double"], - "trailing-comma": false, - "no-conflicting-lifecycle": true, - "no-host-metadata-property": true, - "no-input-rename": true, - "no-inputs-metadata-property": true, - "no-output-native": true, - "no-output-on-prefix": true, - "no-output-rename": true, - "no-outputs-metadata-property": true, - "template-banana-in-box": true, - "template-no-negated-async": true, - "use-lifecycle-interface": true, - "use-pipe-transform-interface": true - }, - "rulesDirectory": ["codelyzer"] + "rulesDirectory": ["codelyzer"] } diff --git a/yarn.lock b/yarn.lock index 85bcc742..a4479822 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,39 +2,39 @@ # yarn lockfile v1 -"@angular-devkit/architect@0.803.20": - version "0.803.20" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.803.20.tgz#792093259d69012c0763aa9176181b255d8795c8" - integrity sha512-NjyDJ61i9kh8J+qXt0E2j+P5Xsmi2mPasBzwcQyrZZGiho4zC0IFxcdxyzcsXFEupmilJKkjdt2g4QQRC5rUDQ== +"@angular-devkit/architect@0.803.26": + version "0.803.26" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.803.26.tgz#3faddd189d2ec90271f9efbddfa594910777221a" + integrity sha512-mCynDvhGLElmuiaK5I6hVleMuZ1Svn7o5NnMW1ItiDlVZu1v49JWOxPS1A7C/ypGmhjl9jMorVtz2IumtLgCXw== dependencies: - "@angular-devkit/core" "8.3.20" + "@angular-devkit/core" "8.3.26" rxjs "6.4.0" "@angular-devkit/build-angular@~0.803.14": - version "0.803.20" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-0.803.20.tgz#b19b0d82c75cbdd939b589a33ccb60e2c9f6eec9" - integrity sha512-JDZkZjOqPbOtCMsSKxQf9C+uSTZ7fQGlKGsCpJMzfa4iQ0WrmrhZvnRKQeEpMTTZTpuou/HQeQjyDV+Sx3yumw== - dependencies: - "@angular-devkit/architect" "0.803.20" - "@angular-devkit/build-optimizer" "0.803.20" - "@angular-devkit/build-webpack" "0.803.20" - "@angular-devkit/core" "8.3.20" - "@babel/core" "7.5.5" - "@babel/preset-env" "7.5.5" - "@ngtools/webpack" "8.3.20" + version "0.803.26" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-0.803.26.tgz#f26ab2af6af56c593f5ba0408247f903ecb19372" + integrity sha512-SoeUbl928QgYWZjDNSMs9m/9wslKjqkFXeZpOI398i5/ZbrsjXcbxicLphVCPndhfR6qETV7pCqQnVmAf4zYjA== + dependencies: + "@angular-devkit/architect" "0.803.26" + "@angular-devkit/build-optimizer" "0.803.26" + "@angular-devkit/build-webpack" "0.803.26" + "@angular-devkit/core" "8.3.26" + "@babel/core" "7.8.7" + "@babel/preset-env" "7.8.7" + "@ngtools/webpack" "8.3.26" ajv "6.10.2" autoprefixer "9.6.1" - browserslist "4.6.6" + browserslist "4.10.0" cacache "12.0.2" - caniuse-lite "1.0.30000989" + caniuse-lite "1.0.30001035" circular-dependency-plugin "5.2.0" clean-css "4.2.1" - copy-webpack-plugin "5.0.4" - core-js "3.2.1" + copy-webpack-plugin "5.1.1" + core-js "3.6.4" + coverage-istanbul-loader "2.0.3" file-loader "4.2.0" find-cache-dir "3.0.0" glob "7.1.4" - istanbul-instrumenter-loader "3.0.1" jest-worker "24.9.0" karma-source-map-support "1.4.0" less "3.9.0" @@ -61,9 +61,9 @@ style-loader "1.0.0" stylus "0.54.5" stylus-loader "3.0.2" - terser "4.3.9" - terser-webpack-plugin "1.4.1" - tree-kill "1.2.1" + terser "4.6.3" + terser-webpack-plugin "1.4.3" + tree-kill "1.2.2" webpack "4.39.2" webpack-dev-middleware "3.7.2" webpack-dev-server "3.9.0" @@ -72,10 +72,10 @@ webpack-subresource-integrity "1.1.0-rc.6" worker-plugin "3.2.0" -"@angular-devkit/build-optimizer@0.803.20": - version "0.803.20" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-optimizer/-/build-optimizer-0.803.20.tgz#36f92c350c1cb3d3d7f1e0f0086feed726478902" - integrity sha512-Vzxf1g1EuzaPBoScDYUhyxemi5chlgnpWmObNo5dzVAVzjxo5gJeDIGpiyDqHvr6LBkprqb6XHcZhMWqIcdIHg== +"@angular-devkit/build-optimizer@0.803.26": + version "0.803.26" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-optimizer/-/build-optimizer-0.803.26.tgz#1e11e00fb296c1c0f6f78f1014392785b42b4444" + integrity sha512-rVcMV/HaWK1g1XVbB1Hj0F6icNbguQETxilhbEn2Ut48hT4iywam6a2tz5w33YlH0uspPHwtFrz7EaLbiWUrPw== dependencies: loader-utils "1.2.3" source-map "0.7.3" @@ -83,19 +83,19 @@ typescript "3.5.3" webpack-sources "1.4.3" -"@angular-devkit/build-webpack@0.803.20": - version "0.803.20" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.803.20.tgz#c03bd23a9f147c07201db681bf9fc3bfad95f9d9" - integrity sha512-35af8kD3KG/cIv7AB09YNER5HIPlx55ipBxdVk8D+X3MuUcTmD6fFvqXcV0EPlD1vQephthfzSgtNpvuPv4xuA== +"@angular-devkit/build-webpack@0.803.26": + version "0.803.26" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.803.26.tgz#4d34da28cae606e2745e504d7587fd0cec15f855" + integrity sha512-lMmNUza+Qb1/XgVMpj2A2jFr7APvJdX57aLxNPnDg/pM0rWbAMXLUvrphqxZuyqjOwfQcHWmnuVxfLpT0qJSAw== dependencies: - "@angular-devkit/architect" "0.803.20" - "@angular-devkit/core" "8.3.20" + "@angular-devkit/architect" "0.803.26" + "@angular-devkit/core" "8.3.26" rxjs "6.4.0" -"@angular-devkit/core@8.3.20": - version "8.3.20" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-8.3.20.tgz#8a9e17e706905efab9875c16690e1d9328c9d5dd" - integrity sha512-UCfW/BJBJnioJU34QennQhA4o+rLoCXWiSrI2LM7yw8/MEM9I8KbqRETP1My3HjHkQnvP+Qh3noedpcu3Nnt8A== +"@angular-devkit/core@8.3.26": + version "8.3.26" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-8.3.26.tgz#a331f02603a64fe53b9527b07e04ee18c798b9a6" + integrity sha512-b1ng9091o33s55/cwQYh1kboiJtj8y8z8xQWATDI9kRmNIQkWYVwVa/MzgPRJ4bzbEGG3zIUHCsp52A6vuGr2A== dependencies: ajv "6.10.2" fast-json-stable-stringify "2.0.0" @@ -103,12 +103,12 @@ rxjs "6.4.0" source-map "0.7.3" -"@angular-devkit/schematics@8.3.20": - version "8.3.20" - resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-8.3.20.tgz#80e7c31ebfd8f7f8500bfa1cae5c39980b962d6a" - integrity sha512-sDHZakh4e3A5WenR9zr1x6Va9GNRqQlRhqT3xcbkG88v2M0YqEt7dHB7YwnOhm7zSxiWQM8PdWEQHiQ4iu9NyQ== +"@angular-devkit/schematics@8.3.26": + version "8.3.26" + resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-8.3.26.tgz#91fcea47279a09d7504051bec17277c07f16e03b" + integrity sha512-IoZbXVFGLvVi5d0ozfssWDXuzot0/pMSKbQPzWIG8K7nCo7nNMVYpsMHrEVYUikA9EQEL5LqMCGohH36/zVPcA== dependencies: - "@angular-devkit/core" "8.3.20" + "@angular-devkit/core" "8.3.26" rxjs "6.4.0" "@angular/animations@~8.2.11": @@ -119,15 +119,15 @@ tslib "^1.9.0" "@angular/cli@~8.3.14": - version "8.3.20" - resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-8.3.20.tgz#63e8f626e7dcf37e73cda820ab38bcac13423326" - integrity sha512-bCo8zVFZ6iPc1EnHmVCmKvIcV7YkvalBKGNU7LtVHq6qZBI+ZmFtuyL5obKvFg1vJcminjKcY/UcMr9uGcAQrQ== - dependencies: - "@angular-devkit/architect" "0.803.20" - "@angular-devkit/core" "8.3.20" - "@angular-devkit/schematics" "8.3.20" - "@schematics/angular" "8.3.20" - "@schematics/update" "0.803.20" + version "8.3.26" + resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-8.3.26.tgz#419239e1444e7ef968ce080d11c249c4658097f3" + integrity sha512-/dZik0ALcMSNaZdzqeG5hnFqyezrPQlWv+NXPidp1l0VTIwdEmjWmL26QpSBBvZ9bqXjY5/5SZYb+zZlGu78Kg== + dependencies: + "@angular-devkit/architect" "0.803.26" + "@angular-devkit/core" "8.3.26" + "@angular-devkit/schematics" "8.3.26" + "@schematics/angular" "8.3.26" + "@schematics/update" "0.803.26" "@yarnpkg/lockfile" "1.1.0" ansi-colors "4.1.1" debug "^4.1.1" @@ -214,558 +214,580 @@ dependencies: tslib "^1.9.0" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d" - integrity sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw== - dependencies: - "@babel/highlight" "^7.0.0" - -"@babel/core@7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.5.5.tgz#17b2686ef0d6bc58f963dddd68ab669755582c30" - integrity sha512-i4qoSr2KTtce0DmkuuQBV4AuQgGPUcPXMr9L5MyYAtk06z068lQ10a4O009fe5OB/DfNV+h+qqT7ddNV8UnRjg== - dependencies: - "@babel/code-frame" "^7.5.5" - "@babel/generator" "^7.5.5" - "@babel/helpers" "^7.5.5" - "@babel/parser" "^7.5.5" - "@babel/template" "^7.4.4" - "@babel/traverse" "^7.5.5" - "@babel/types" "^7.5.5" - convert-source-map "^1.1.0" +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e" + integrity sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g== + dependencies: + "@babel/highlight" "^7.8.3" + +"@babel/core@7.8.7": + version "7.8.7" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.8.7.tgz#b69017d221ccdeb203145ae9da269d72cf102f3b" + integrity sha512-rBlqF3Yko9cynC5CCFy6+K/w2N+Sq/ff2BPy+Krp7rHlABIr5epbA7OxVeKoMHB39LZOp1UY5SuLjy6uWi35yA== + dependencies: + "@babel/code-frame" "^7.8.3" + "@babel/generator" "^7.8.7" + "@babel/helpers" "^7.8.4" + "@babel/parser" "^7.8.7" + "@babel/template" "^7.8.6" + "@babel/traverse" "^7.8.6" + "@babel/types" "^7.8.7" + convert-source-map "^1.7.0" debug "^4.1.0" + gensync "^1.0.0-beta.1" json5 "^2.1.0" lodash "^4.17.13" resolve "^1.3.2" semver "^5.4.1" source-map "^0.5.0" -"@babel/generator@^7.4.0", "@babel/generator@^7.5.5", "@babel/generator@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.7.4.tgz#db651e2840ca9aa66f327dcec1dc5f5fa9611369" - integrity sha512-m5qo2WgdOJeyYngKImbkyQrnUN1mPceaG5BV+G0E3gWsa4l/jCSryWJdM2x8OuGAOyh+3d5pVYfZWCiNFtynxg== - dependencies: - "@babel/types" "^7.7.4" - jsesc "^2.5.1" +"@babel/core@^7.7.5": + version "7.9.6" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.9.6.tgz#d9aa1f580abf3b2286ef40b6904d390904c63376" + integrity sha512-nD3deLvbsApbHAHttzIssYqgb883yU/d9roe4RZymBCDaZryMJDbptVpEpeQuRh4BJ+SYI8le9YGxKvFEvl1Wg== + dependencies: + "@babel/code-frame" "^7.8.3" + "@babel/generator" "^7.9.6" + "@babel/helper-module-transforms" "^7.9.0" + "@babel/helpers" "^7.9.6" + "@babel/parser" "^7.9.6" + "@babel/template" "^7.8.6" + "@babel/traverse" "^7.9.6" + "@babel/types" "^7.9.6" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.1" + json5 "^2.1.2" lodash "^4.17.13" + resolve "^1.3.2" + semver "^5.4.1" source-map "^0.5.0" -"@babel/helper-annotate-as-pure@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.7.4.tgz#bb3faf1e74b74bd547e867e48f551fa6b098b6ce" - integrity sha512-2BQmQgECKzYKFPpiycoF9tlb5HA4lrVyAmLLVK177EcQAqjVLciUb2/R+n1boQ9y5ENV3uz2ZqiNw7QMBBw1Og== +"@babel/generator@^7.4.0", "@babel/generator@^7.8.7", "@babel/generator@^7.9.6": + version "7.9.6" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.9.6.tgz#5408c82ac5de98cda0d77d8124e99fa1f2170a43" + integrity sha512-+htwWKJbH2bL72HRluF8zumBxzuX0ZZUFl3JLNyoUjM/Ho8wnVpPXM6aUz8cfKDqQ/h7zHqKt4xzJteUosckqQ== dependencies: - "@babel/types" "^7.7.4" + "@babel/types" "^7.9.6" + jsesc "^2.5.1" + lodash "^4.17.13" + source-map "^0.5.0" -"@babel/helper-builder-binary-assignment-operator-visitor@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.7.4.tgz#5f73f2b28580e224b5b9bd03146a4015d6217f5f" - integrity sha512-Biq/d/WtvfftWZ9Uf39hbPBYDUo986m5Bb4zhkeYDGUllF43D+nUe5M6Vuo6/8JDK/0YX/uBdeoQpyaNhNugZQ== +"@babel/helper-annotate-as-pure@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz#60bc0bc657f63a0924ff9a4b4a0b24a13cf4deee" + integrity sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw== dependencies: - "@babel/helper-explode-assignable-expression" "^7.7.4" - "@babel/types" "^7.7.4" + "@babel/types" "^7.8.3" -"@babel/helper-call-delegate@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.7.4.tgz#621b83e596722b50c0066f9dc37d3232e461b801" - integrity sha512-8JH9/B7J7tCYJ2PpWVpw9JhPuEVHztagNVuQAFBVFYluRMlpG7F1CgKEgGeL6KFqcsIa92ZYVj6DSc0XwmN1ZA== +"@babel/helper-builder-binary-assignment-operator-visitor@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz#c84097a427a061ac56a1c30ebf54b7b22d241503" + integrity sha512-5eFOm2SyFPK4Rh3XMMRDjN7lBH0orh3ss0g3rTYZnBQ+r6YPj7lgDyCvPphynHvUrobJmeMignBr6Acw9mAPlw== dependencies: - "@babel/helper-hoist-variables" "^7.7.4" - "@babel/traverse" "^7.7.4" - "@babel/types" "^7.7.4" + "@babel/helper-explode-assignable-expression" "^7.8.3" + "@babel/types" "^7.8.3" -"@babel/helper-create-regexp-features-plugin@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.7.4.tgz#6d5762359fd34f4da1500e4cff9955b5299aaf59" - integrity sha512-Mt+jBKaxL0zfOIWrfQpnfYCN7/rS6GKx6CCCfuoqVVd+17R8zNDlzVYmIi9qyb2wOk002NsmSTDymkIygDUH7A== +"@babel/helper-create-regexp-features-plugin@^7.8.3", "@babel/helper-create-regexp-features-plugin@^7.8.8": + version "7.8.8" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.8.tgz#5d84180b588f560b7864efaeea89243e58312087" + integrity sha512-LYVPdwkrQEiX9+1R29Ld/wTrmQu1SSKYnuOk3g0CkcZMA1p0gsNxJFj/3gBdaJ7Cg0Fnek5z0DsMULePP7Lrqg== dependencies: - "@babel/helper-regex" "^7.4.4" - regexpu-core "^4.6.0" + "@babel/helper-annotate-as-pure" "^7.8.3" + "@babel/helper-regex" "^7.8.3" + regexpu-core "^4.7.0" -"@babel/helper-define-map@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.7.4.tgz#2841bf92eb8bd9c906851546fe6b9d45e162f176" - integrity sha512-v5LorqOa0nVQUvAUTUF3KPastvUt/HzByXNamKQ6RdJRTV7j8rLL+WB5C/MzzWAwOomxDhYFb1wLLxHqox86lg== +"@babel/helper-define-map@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.8.3.tgz#a0655cad5451c3760b726eba875f1cd8faa02c15" + integrity sha512-PoeBYtxoZGtct3md6xZOCWPcKuMuk3IHhgxsRRNtnNShebf4C8YonTSblsK4tvDbm+eJAw2HAPOfCr+Q/YRG/g== dependencies: - "@babel/helper-function-name" "^7.7.4" - "@babel/types" "^7.7.4" + "@babel/helper-function-name" "^7.8.3" + "@babel/types" "^7.8.3" lodash "^4.17.13" -"@babel/helper-explode-assignable-expression@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.7.4.tgz#fa700878e008d85dc51ba43e9fb835cddfe05c84" - integrity sha512-2/SicuFrNSXsZNBxe5UGdLr+HZg+raWBLE9vC98bdYOKX/U6PY0mdGlYUJdtTDPSU0Lw0PNbKKDpwYHJLn2jLg== +"@babel/helper-explode-assignable-expression@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz#a728dc5b4e89e30fc2dfc7d04fa28a930653f982" + integrity sha512-N+8eW86/Kj147bO9G2uclsg5pwfs/fqqY5rwgIL7eTBklgXjcOJ3btzS5iM6AitJcftnY7pm2lGsrJVYLGjzIw== dependencies: - "@babel/traverse" "^7.7.4" - "@babel/types" "^7.7.4" + "@babel/traverse" "^7.8.3" + "@babel/types" "^7.8.3" -"@babel/helper-function-name@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.7.4.tgz#ab6e041e7135d436d8f0a3eca15de5b67a341a2e" - integrity sha512-AnkGIdiBhEuiwdoMnKm7jfPfqItZhgRaZfMg1XX3bS25INOnLPjPG1Ppnajh8eqgt5kPJnfqrRHqFqmjKDZLzQ== +"@babel/helper-function-name@^7.8.3", "@babel/helper-function-name@^7.9.5": + version "7.9.5" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz#2b53820d35275120e1874a82e5aabe1376920a5c" + integrity sha512-JVcQZeXM59Cd1qanDUxv9fgJpt3NeKUaqBqUEvfmQ+BCOKq2xUgaWZW2hr0dkbyJgezYuplEoh5knmrnS68efw== dependencies: - "@babel/helper-get-function-arity" "^7.7.4" - "@babel/template" "^7.7.4" - "@babel/types" "^7.7.4" + "@babel/helper-get-function-arity" "^7.8.3" + "@babel/template" "^7.8.3" + "@babel/types" "^7.9.5" -"@babel/helper-get-function-arity@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.4.tgz#cb46348d2f8808e632f0ab048172130e636005f0" - integrity sha512-QTGKEdCkjgzgfJ3bAyRwF4yyT3pg+vDgan8DSivq1eS0gwi+KGKE5x8kRcbeFTb/673mkO5SN1IZfmCfA5o+EA== +"@babel/helper-get-function-arity@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz#b894b947bd004381ce63ea1db9f08547e920abd5" + integrity sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA== dependencies: - "@babel/types" "^7.7.4" + "@babel/types" "^7.8.3" -"@babel/helper-hoist-variables@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.7.4.tgz#612384e3d823fdfaaf9fce31550fe5d4db0f3d12" - integrity sha512-wQC4xyvc1Jo/FnLirL6CEgPgPCa8M74tOdjWpRhQYapz5JC7u3NYU1zCVoVAGCE3EaIP9T1A3iW0WLJ+reZlpQ== +"@babel/helper-hoist-variables@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.3.tgz#1dbe9b6b55d78c9b4183fc8cdc6e30ceb83b7134" + integrity sha512-ky1JLOjcDUtSc+xkt0xhYff7Z6ILTAHKmZLHPxAhOP0Nd77O+3nCsd6uSVYur6nJnCI029CrNbYlc0LoPfAPQg== dependencies: - "@babel/types" "^7.7.4" + "@babel/types" "^7.8.3" -"@babel/helper-member-expression-to-functions@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.7.4.tgz#356438e2569df7321a8326644d4b790d2122cb74" - integrity sha512-9KcA1X2E3OjXl/ykfMMInBK+uVdfIVakVe7W7Lg3wfXUNyS3Q1HWLFRwZIjhqiCGbslummPDnmb7vIekS0C1vw== +"@babel/helper-member-expression-to-functions@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz#659b710498ea6c1d9907e0c73f206eee7dadc24c" + integrity sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA== dependencies: - "@babel/types" "^7.7.4" + "@babel/types" "^7.8.3" -"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.7.4.tgz#e5a92529f8888bf319a6376abfbd1cebc491ad91" - integrity sha512-dGcrX6K9l8258WFjyDLJwuVKxR4XZfU0/vTUgOQYWEnRD8mgr+p4d6fCUMq/ys0h4CCt/S5JhbvtyErjWouAUQ== +"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz#7fe39589b39c016331b6b8c3f441e8f0b1419498" + integrity sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg== dependencies: - "@babel/types" "^7.7.4" + "@babel/types" "^7.8.3" -"@babel/helper-module-transforms@^7.7.4", "@babel/helper-module-transforms@^7.7.5": - version "7.7.5" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.7.5.tgz#d044da7ffd91ec967db25cd6748f704b6b244835" - integrity sha512-A7pSxyJf1gN5qXVcidwLWydjftUN878VkalhXX5iQDuGyiGK3sOrrKKHF4/A4fwHtnsotv/NipwAeLzY4KQPvw== +"@babel/helper-module-transforms@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz#43b34dfe15961918707d247327431388e9fe96e5" + integrity sha512-0FvKyu0gpPfIQ8EkxlrAydOWROdHpBmiCiRwLkUiBGhCUPRRbVD2/tm3sFr/c/GWFrQ/ffutGUAnx7V0FzT2wA== dependencies: - "@babel/helper-module-imports" "^7.7.4" - "@babel/helper-simple-access" "^7.7.4" - "@babel/helper-split-export-declaration" "^7.7.4" - "@babel/template" "^7.7.4" - "@babel/types" "^7.7.4" + "@babel/helper-module-imports" "^7.8.3" + "@babel/helper-replace-supers" "^7.8.6" + "@babel/helper-simple-access" "^7.8.3" + "@babel/helper-split-export-declaration" "^7.8.3" + "@babel/template" "^7.8.6" + "@babel/types" "^7.9.0" lodash "^4.17.13" -"@babel/helper-optimise-call-expression@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.7.4.tgz#034af31370d2995242aa4df402c3b7794b2dcdf2" - integrity sha512-VB7gWZ2fDkSuqW6b1AKXkJWO5NyNI3bFL/kK79/30moK57blr6NbH8xcl2XcKCwOmJosftWunZqfO84IGq3ZZg== +"@babel/helper-optimise-call-expression@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz#7ed071813d09c75298ef4f208956006b6111ecb9" + integrity sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ== dependencies: - "@babel/types" "^7.7.4" + "@babel/types" "^7.8.3" -"@babel/helper-plugin-utils@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250" - integrity sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA== +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz#9ea293be19babc0f52ff8ca88b34c3611b208670" + integrity sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ== -"@babel/helper-regex@^7.0.0", "@babel/helper-regex@^7.4.4": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.5.5.tgz#0aa6824f7100a2e0e89c1527c23936c152cab351" - integrity sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw== +"@babel/helper-regex@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.8.3.tgz#139772607d51b93f23effe72105b319d2a4c6965" + integrity sha512-BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ== dependencies: lodash "^4.17.13" -"@babel/helper-remap-async-to-generator@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.7.4.tgz#c68c2407350d9af0e061ed6726afb4fff16d0234" - integrity sha512-Sk4xmtVdM9sA/jCI80f+KS+Md+ZHIpjuqmYPk1M7F/upHou5e4ReYmExAiu6PVe65BhJPZA2CY9x9k4BqE5klw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.7.4" - "@babel/helper-wrap-function" "^7.7.4" - "@babel/template" "^7.7.4" - "@babel/traverse" "^7.7.4" - "@babel/types" "^7.7.4" - -"@babel/helper-replace-supers@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.7.4.tgz#3c881a6a6a7571275a72d82e6107126ec9e2cdd2" - integrity sha512-pP0tfgg9hsZWo5ZboYGuBn/bbYT/hdLPVSS4NMmiRJdwWhP0IznPwN9AE1JwyGsjSPLC364I0Qh5p+EPkGPNpg== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.7.4" - "@babel/helper-optimise-call-expression" "^7.7.4" - "@babel/traverse" "^7.7.4" - "@babel/types" "^7.7.4" - -"@babel/helper-simple-access@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.7.4.tgz#a169a0adb1b5f418cfc19f22586b2ebf58a9a294" - integrity sha512-zK7THeEXfan7UlWsG2A6CI/L9jVnI5+xxKZOdej39Y0YtDYKx9raHk5F2EtK9K8DHRTihYwg20ADt9S36GR78A== - dependencies: - "@babel/template" "^7.7.4" - "@babel/types" "^7.7.4" - -"@babel/helper-split-export-declaration@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.7.4.tgz#57292af60443c4a3622cf74040ddc28e68336fd8" - integrity sha512-guAg1SXFcVr04Guk9eq0S4/rWS++sbmyqosJzVs8+1fH5NI+ZcmkaSkc7dmtAFbHFva6yRJnjW3yAcGxjueDug== - dependencies: - "@babel/types" "^7.7.4" - -"@babel/helper-wrap-function@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.7.4.tgz#37ab7fed5150e22d9d7266e830072c0cdd8baace" - integrity sha512-VsfzZt6wmsocOaVU0OokwrIytHND55yvyT4BPB9AIIgwr8+x7617hetdJTsuGwygN5RC6mxA9EJztTjuwm2ofg== - dependencies: - "@babel/helper-function-name" "^7.7.4" - "@babel/template" "^7.7.4" - "@babel/traverse" "^7.7.4" - "@babel/types" "^7.7.4" - -"@babel/helpers@^7.5.5": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.7.4.tgz#62c215b9e6c712dadc15a9a0dcab76c92a940302" - integrity sha512-ak5NGZGJ6LV85Q1Zc9gn2n+ayXOizryhjSUBTdu5ih1tlVCJeuQENzc4ItyCVhINVXvIT/ZQ4mheGIsfBkpskg== - dependencies: - "@babel/template" "^7.7.4" - "@babel/traverse" "^7.7.4" - "@babel/types" "^7.7.4" - -"@babel/highlight@^7.0.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540" - integrity sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ== - dependencies: +"@babel/helper-remap-async-to-generator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.3.tgz#273c600d8b9bf5006142c1e35887d555c12edd86" + integrity sha512-kgwDmw4fCg7AVgS4DukQR/roGp+jP+XluJE5hsRZwxCYGg+Rv9wSGErDWhlI90FODdYfd4xG4AQRiMDjjN0GzA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.8.3" + "@babel/helper-wrap-function" "^7.8.3" + "@babel/template" "^7.8.3" + "@babel/traverse" "^7.8.3" + "@babel/types" "^7.8.3" + +"@babel/helper-replace-supers@^7.8.3", "@babel/helper-replace-supers@^7.8.6": + version "7.9.6" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.9.6.tgz#03149d7e6a5586ab6764996cd31d6981a17e1444" + integrity sha512-qX+chbxkbArLyCImk3bWV+jB5gTNU/rsze+JlcF6Nf8tVTigPJSI1o1oBow/9Resa1yehUO9lIipsmu9oG4RzA== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.8.3" + "@babel/helper-optimise-call-expression" "^7.8.3" + "@babel/traverse" "^7.9.6" + "@babel/types" "^7.9.6" + +"@babel/helper-simple-access@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz#7f8109928b4dab4654076986af575231deb639ae" + integrity sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw== + dependencies: + "@babel/template" "^7.8.3" + "@babel/types" "^7.8.3" + +"@babel/helper-split-export-declaration@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz#31a9f30070f91368a7182cf05f831781065fc7a9" + integrity sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA== + dependencies: + "@babel/types" "^7.8.3" + +"@babel/helper-validator-identifier@^7.9.0", "@babel/helper-validator-identifier@^7.9.5": + version "7.9.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz#90977a8e6fbf6b431a7dc31752eee233bf052d80" + integrity sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g== + +"@babel/helper-wrap-function@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz#9dbdb2bb55ef14aaa01fe8c99b629bd5352d8610" + integrity sha512-LACJrbUET9cQDzb6kG7EeD7+7doC3JNvUgTEQOx2qaO1fKlzE/Bf05qs9w1oXQMmXlPO65lC3Tq9S6gZpTErEQ== + dependencies: + "@babel/helper-function-name" "^7.8.3" + "@babel/template" "^7.8.3" + "@babel/traverse" "^7.8.3" + "@babel/types" "^7.8.3" + +"@babel/helpers@^7.8.4", "@babel/helpers@^7.9.6": + version "7.9.6" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.9.6.tgz#092c774743471d0bb6c7de3ad465ab3d3486d580" + integrity sha512-tI4bUbldloLcHWoRUMAj4g1bF313M/o6fBKhIsb3QnGVPwRm9JsNf/gqMkQ7zjqReABiffPV6RWj7hEglID5Iw== + dependencies: + "@babel/template" "^7.8.3" + "@babel/traverse" "^7.9.6" + "@babel/types" "^7.9.6" + +"@babel/highlight@^7.8.3": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.9.0.tgz#4e9b45ccb82b79607271b2979ad82c7b68163079" + integrity sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ== + dependencies: + "@babel/helper-validator-identifier" "^7.9.0" chalk "^2.0.0" - esutils "^2.0.2" js-tokens "^4.0.0" -"@babel/parser@^7.4.3", "@babel/parser@^7.5.5", "@babel/parser@^7.7.4": - version "7.7.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.7.5.tgz#cbf45321619ac12d83363fcf9c94bb67fa646d71" - integrity sha512-KNlOe9+/nk4i29g0VXgl8PEXIRms5xKLJeuZ6UptN0fHv+jDiriG+y94X6qAgWTR0h3KaoM1wK5G5h7MHFRSig== +"@babel/parser@^7.4.3", "@babel/parser@^7.8.6", "@babel/parser@^7.8.7", "@babel/parser@^7.9.6": + version "7.9.6" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.9.6.tgz#3b1bbb30dabe600cd72db58720998376ff653bc7" + integrity sha512-AoeIEJn8vt+d/6+PXDRPaksYhnlbMIiejioBZvvMQsOjW/JYK6k/0dKnvvP3EhK5GfMBWDPtrxRtegWdAcdq9Q== "@babel/plugin-proposal-async-generator-functions@^7.2.0": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.7.4.tgz#0351c5ac0a9e927845fffd5b82af476947b7ce6d" - integrity sha512-1ypyZvGRXriY/QP668+s8sFr2mqinhkRDMPSQLNghCQE+GAkFtp+wkHVvg2+Hdki8gwP+NFzJBJ/N1BfzCCDEw== + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz#bad329c670b382589721b27540c7d288601c6e6f" + integrity sha512-NZ9zLv848JsV3hs8ryEh7Uaz/0KsmPLqv0+PdkDJL1cJy0K4kOCFa8zc1E3mp+RHPQcpdfb/6GovEsW4VDrOMw== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-remap-async-to-generator" "^7.7.4" - "@babel/plugin-syntax-async-generators" "^7.7.4" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-remap-async-to-generator" "^7.8.3" + "@babel/plugin-syntax-async-generators" "^7.8.0" "@babel/plugin-proposal-dynamic-import@^7.5.0": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.7.4.tgz#dde64a7f127691758cbfed6cf70de0fa5879d52d" - integrity sha512-StH+nGAdO6qDB1l8sZ5UBV8AC3F2VW2I8Vfld73TMKyptMU9DY5YsJAS8U81+vEtxcH3Y/La0wG0btDrhpnhjQ== + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.8.3.tgz#38c4fe555744826e97e2ae930b0fb4cc07e66054" + integrity sha512-NyaBbyLFXFLT9FP+zk0kYlUlA8XtCUbehs67F0nnEg7KICgMc2mNkIeu9TYhKzyXMkrapZFwAhXLdnt4IYHy1w== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-dynamic-import" "^7.7.4" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" "@babel/plugin-proposal-json-strings@^7.2.0": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.7.4.tgz#7700a6bfda771d8dc81973249eac416c6b4c697d" - integrity sha512-wQvt3akcBTfLU/wYoqm/ws7YOAQKu8EVJEvHip/mzkNtjaclQoCCIqKXFP5/eyfnfbQCDV3OLRIK3mIVyXuZlw== + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.8.3.tgz#da5216b238a98b58a1e05d6852104b10f9a70d6b" + integrity sha512-KGhQNZ3TVCQG/MjRbAUwuH+14y9q0tpxs1nWWs3pbSleRdDro9SAMMDyye8HhY1gqZ7/NqIc8SKhya0wRDgP1Q== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-json-strings" "^7.7.4" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.0" "@babel/plugin-proposal-object-rest-spread@^7.5.5": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.7.4.tgz#cc57849894a5c774214178c8ab64f6334ec8af71" - integrity sha512-rnpnZR3/iWKmiQyJ3LKJpSwLDcX/nSXhdLk4Aq/tXOApIvyu7qoabrige0ylsAJffaUC51WiBu209Q0U+86OWQ== + version "7.9.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.9.6.tgz#7a093586fcb18b08266eb1a7177da671ac575b63" + integrity sha512-Ga6/fhGqA9Hj+y6whNpPv8psyaK5xzrQwSPsGPloVkvmH+PqW1ixdnfJ9uIO06OjQNYol3PMnfmJ8vfZtkzF+A== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-object-rest-spread" "^7.7.4" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-object-rest-spread" "^7.8.0" + "@babel/plugin-transform-parameters" "^7.9.5" "@babel/plugin-proposal-optional-catch-binding@^7.2.0": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.7.4.tgz#ec21e8aeb09ec6711bc0a39ca49520abee1de379" - integrity sha512-DyM7U2bnsQerCQ+sejcTNZh8KQEUuC3ufzdnVnSiUv/qoGJp2Z3hanKL18KDhsBT5Wj6a7CMT5mdyCNJsEaA9w== + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.3.tgz#9dee96ab1650eed88646ae9734ca167ac4a9c5c9" + integrity sha512-0gkX7J7E+AtAw9fcwlVQj8peP61qhdg/89D5swOkjYbkboA2CVckn3kiyum1DE0wskGb7KJJxBdyEBApDLLVdw== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.7.4" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.7.4.tgz#7c239ccaf09470dbe1d453d50057460e84517ebb" - integrity sha512-cHgqHgYvffluZk85dJ02vloErm3Y6xtH+2noOBOJ2kXOJH3aVCDnj5eR/lVNlTnYu4hndAPJD3rTFjW3qee0PA== + version "7.8.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.8.tgz#ee3a95e90cdc04fe8cd92ec3279fa017d68a0d1d" + integrity sha512-EVhjVsMpbhLw9ZfHWSx2iy13Q8Z/eg8e8ccVWt23sWQK5l1UdkoLJPN5w69UA4uITGBnEZD2JOe4QOHycYKv8A== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-create-regexp-features-plugin" "^7.8.8" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-async-generators@^7.2.0", "@babel/plugin-syntax-async-generators@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.7.4.tgz#331aaf310a10c80c44a66b238b6e49132bd3c889" - integrity sha512-Li4+EjSpBgxcsmeEF8IFcfV/+yJGxHXDirDkEoyFjumuwbmfCVHUt0HuowD/iGM7OhIRyXJH9YXxqiH6N815+g== +"@babel/plugin-syntax-async-generators@^7.2.0", "@babel/plugin-syntax-async-generators@^7.8.0": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-dynamic-import@^7.2.0", "@babel/plugin-syntax-dynamic-import@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.7.4.tgz#29ca3b4415abfe4a5ec381e903862ad1a54c3aec" - integrity sha512-jHQW0vbRGvwQNgyVxwDh4yuXu4bH1f5/EICJLAhl1SblLs2CDhrsmCk+v5XLdE9wxtAFRyxx+P//Iw+a5L/tTg== +"@babel/plugin-syntax-dynamic-import@^7.2.0", "@babel/plugin-syntax-dynamic-import@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" + integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-json-strings@^7.2.0", "@babel/plugin-syntax-json-strings@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.7.4.tgz#86e63f7d2e22f9e27129ac4e83ea989a382e86cc" - integrity sha512-QpGupahTQW1mHRXddMG5srgpHWqRLwJnJZKXTigB9RPFCCGbDGCgBeM/iC82ICXp414WeYx/tD54w7M2qRqTMg== +"@babel/plugin-syntax-json-strings@^7.2.0", "@babel/plugin-syntax-json-strings@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-object-rest-spread@^7.2.0", "@babel/plugin-syntax-object-rest-spread@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.7.4.tgz#47cf220d19d6d0d7b154304701f468fc1cc6ff46" - integrity sha512-mObR+r+KZq0XhRVS2BrBKBpr5jqrqzlPvS9C9vuOf5ilSwzloAl7RPWLrgKdWS6IreaVrjHxTjtyqFiOisaCwg== +"@babel/plugin-syntax-object-rest-spread@^7.2.0", "@babel/plugin-syntax-object-rest-spread@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-optional-catch-binding@^7.2.0", "@babel/plugin-syntax-optional-catch-binding@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.7.4.tgz#a3e38f59f4b6233867b4a92dcb0ee05b2c334aa6" - integrity sha512-4ZSuzWgFxqHRE31Glu+fEr/MirNZOMYmD/0BhBWyLyOOQz/gTAl7QmWm2hX1QxEIXsr2vkdlwxIzTyiYRC4xcQ== +"@babel/plugin-syntax-optional-catch-binding@^7.2.0", "@babel/plugin-syntax-optional-catch-binding@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-transform-arrow-functions@^7.2.0": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.7.4.tgz#76309bd578addd8aee3b379d809c802305a98a12" - integrity sha512-zUXy3e8jBNPiffmqkHRNDdZM2r8DWhCB7HhcoyZjiK1TxYEluLHAvQuYnTT+ARqRpabWqy/NHkO6e3MsYB5YfA== + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.8.3.tgz#82776c2ed0cd9e1a49956daeb896024c9473b8b6" + integrity sha512-0MRF+KC8EqH4dbuITCWwPSzsyO3HIWWlm30v8BbbpOrS1B++isGxPnnuq/IZvOX5J2D/p7DQalQm+/2PnlKGxg== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-transform-async-to-generator@^7.5.0": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.7.4.tgz#694cbeae6d613a34ef0292713fa42fb45c4470ba" - integrity sha512-zpUTZphp5nHokuy8yLlyafxCJ0rSlFoSHypTUWgpdwoDXWQcseaect7cJ8Ppk6nunOM6+5rPMkod4OYKPR5MUg== + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.3.tgz#4308fad0d9409d71eafb9b1a6ee35f9d64b64086" + integrity sha512-imt9tFLD9ogt56Dd5CI/6XgpukMwd/fLGSrix2httihVe7LOGVPhyhMh1BU5kDM7iHD08i8uUtmV2sWaBFlHVQ== dependencies: - "@babel/helper-module-imports" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-remap-async-to-generator" "^7.7.4" + "@babel/helper-module-imports" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-remap-async-to-generator" "^7.8.3" "@babel/plugin-transform-block-scoped-functions@^7.2.0": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.7.4.tgz#d0d9d5c269c78eaea76227ace214b8d01e4d837b" - integrity sha512-kqtQzwtKcpPclHYjLK//3lH8OFsCDuDJBaFhVwf8kqdnF6MN4l618UDlcA7TfRs3FayrHj+svYnSX8MC9zmUyQ== + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.3.tgz#437eec5b799b5852072084b3ae5ef66e8349e8a3" + integrity sha512-vo4F2OewqjbB1+yaJ7k2EJFHlTP3jR634Z9Cj9itpqNjuLXvhlVxgnjsHsdRgASR8xYDrx6onw4vW5H6We0Jmg== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-transform-block-scoping@^7.5.5": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.7.4.tgz#200aad0dcd6bb80372f94d9e628ea062c58bf224" - integrity sha512-2VBe9u0G+fDt9B5OV5DQH4KBf5DoiNkwFKOz0TCvBWvdAN2rOykCTkrL+jTLxfCAm76l9Qo5OqL7HBOx2dWggg== + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.3.tgz#97d35dab66857a437c166358b91d09050c868f3a" + integrity sha512-pGnYfm7RNRgYRi7bids5bHluENHqJhrV4bCZRwc5GamaWIIs07N4rZECcmJL6ZClwjDz1GbdMZFtPs27hTB06w== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" lodash "^4.17.13" "@babel/plugin-transform-classes@^7.5.5": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.7.4.tgz#c92c14be0a1399e15df72667067a8f510c9400ec" - integrity sha512-sK1mjWat7K+buWRuImEzjNf68qrKcrddtpQo3swi9j7dUcG6y6R6+Di039QN2bD1dykeswlagupEmpOatFHHUg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.7.4" - "@babel/helper-define-map" "^7.7.4" - "@babel/helper-function-name" "^7.7.4" - "@babel/helper-optimise-call-expression" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.7.4" - "@babel/helper-split-export-declaration" "^7.7.4" + version "7.9.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.9.5.tgz#800597ddb8aefc2c293ed27459c1fcc935a26c2c" + integrity sha512-x2kZoIuLC//O5iA7PEvecB105o7TLzZo8ofBVhP79N+DO3jaX+KYfww9TQcfBEZD0nikNyYcGB1IKtRq36rdmg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.8.3" + "@babel/helper-define-map" "^7.8.3" + "@babel/helper-function-name" "^7.9.5" + "@babel/helper-optimise-call-expression" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-replace-supers" "^7.8.6" + "@babel/helper-split-export-declaration" "^7.8.3" globals "^11.1.0" "@babel/plugin-transform-computed-properties@^7.2.0": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.7.4.tgz#e856c1628d3238ffe12d668eb42559f79a81910d" - integrity sha512-bSNsOsZnlpLLyQew35rl4Fma3yKWqK3ImWMSC/Nc+6nGjC9s5NFWAer1YQ899/6s9HxO2zQC1WoFNfkOqRkqRQ== + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.3.tgz#96d0d28b7f7ce4eb5b120bb2e0e943343c86f81b" + integrity sha512-O5hiIpSyOGdrQZRQ2ccwtTVkgUDBBiCuK//4RJ6UfePllUTCENOzKxfh6ulckXKc0DixTFLCfb2HVkNA7aDpzA== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-transform-destructuring@^7.5.0": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.7.4.tgz#2b713729e5054a1135097b6a67da1b6fe8789267" - integrity sha512-4jFMXI1Cu2aXbcXXl8Lr6YubCn6Oc7k9lLsu8v61TZh+1jny2BWmdtvY9zSUlLdGUvcy9DMAWyZEOqjsbeg/wA== + version "7.9.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.9.5.tgz#72c97cf5f38604aea3abf3b935b0e17b1db76a50" + integrity sha512-j3OEsGel8nHL/iusv/mRd5fYZ3DrOxWC82x0ogmdN/vHfAP4MYw+AFKYanzWlktNwikKvlzUV//afBW5FTp17Q== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.7.4.tgz#f7ccda61118c5b7a2599a72d5e3210884a021e96" - integrity sha512-mk0cH1zyMa/XHeb6LOTXTbG7uIJ8Rrjlzu91pUx/KS3JpcgaTDwMS8kM+ar8SLOvlL2Lofi4CGBAjCo3a2x+lw== + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.3.tgz#c3c6ec5ee6125c6993c5cbca20dc8621a9ea7a6e" + integrity sha512-kLs1j9Nn4MQoBYdRXH6AeaXMbEJFaFu/v1nQkvib6QzTj8MZI5OQzqmD83/2jEM1z0DLilra5aWO5YpyC0ALIw== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-create-regexp-features-plugin" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-transform-duplicate-keys@^7.5.0": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.7.4.tgz#3d21731a42e3f598a73835299dd0169c3b90ac91" - integrity sha512-g1y4/G6xGWMD85Tlft5XedGaZBCIVN+/P0bs6eabmcPP9egFleMAo65OOjlhcz1njpwagyY3t0nsQC9oTFegJA== + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.8.3.tgz#8d12df309aa537f272899c565ea1768e286e21f1" + integrity sha512-s8dHiBUbcbSgipS4SMFuWGqCvyge5V2ZeAWzR6INTVC3Ltjig/Vw1G2Gztv0vU/hRG9X8IvKvYdoksnUfgXOEQ== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-transform-exponentiation-operator@^7.2.0": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.7.4.tgz#dd30c0191e3a1ba19bcc7e389bdfddc0729d5db9" - integrity sha512-MCqiLfCKm6KEA1dglf6Uqq1ElDIZwFuzz1WH5mTf8k2uQSxEJMbOIEh7IZv7uichr7PMfi5YVSrr1vz+ipp7AQ== + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.8.3.tgz#581a6d7f56970e06bf51560cd64f5e947b70d7b7" + integrity sha512-zwIpuIymb3ACcInbksHaNcR12S++0MDLKkiqXHl3AzpgdKlFNhog+z/K0+TGW+b0w5pgTq4H6IwV/WhxbGYSjQ== dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-transform-for-of@^7.4.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.7.4.tgz#248800e3a5e507b1f103d8b4ca998e77c63932bc" - integrity sha512-zZ1fD1B8keYtEcKF+M1TROfeHTKnijcVQm0yO/Yu1f7qoDoxEIc/+GX6Go430Bg84eM/xwPFp0+h4EbZg7epAA== + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.9.0.tgz#0f260e27d3e29cd1bb3128da5e76c761aa6c108e" + integrity sha512-lTAnWOpMwOXpyDx06N+ywmF3jNbafZEqZ96CGYabxHrxNX8l5ny7dt4bK/rGwAh9utyP2b2Hv7PlZh1AAS54FQ== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-transform-function-name@^7.4.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.7.4.tgz#75a6d3303d50db638ff8b5385d12451c865025b1" - integrity sha512-E/x09TvjHNhsULs2IusN+aJNRV5zKwxu1cpirZyRPw+FyyIKEHPXTsadj48bVpc1R5Qq1B5ZkzumuFLytnbT6g== + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.3.tgz#279373cb27322aaad67c2683e776dfc47196ed8b" + integrity sha512-rO/OnDS78Eifbjn5Py9v8y0aR+aSYhDhqAwVfsTl0ERuMZyr05L1aFSCJnbv2mmsLkit/4ReeQ9N2BgLnOcPCQ== dependencies: - "@babel/helper-function-name" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-function-name" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-transform-literals@^7.2.0": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.7.4.tgz#27fe87d2b5017a2a5a34d1c41a6b9f6a6262643e" - integrity sha512-X2MSV7LfJFm4aZfxd0yLVFrEXAgPqYoDG53Br/tCKiKYfX0MjVjQeWPIhPHHsCqzwQANq+FLN786fF5rgLS+gw== + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.8.3.tgz#aef239823d91994ec7b68e55193525d76dbd5dc1" + integrity sha512-3Tqf8JJ/qB7TeldGl+TT55+uQei9JfYaregDcEAyBZ7akutriFrt6C/wLYIer6OYhleVQvH/ntEhjE/xMmy10A== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-transform-member-expression-literals@^7.2.0": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.7.4.tgz#aee127f2f3339fc34ce5e3055d7ffbf7aa26f19a" - integrity sha512-9VMwMO7i69LHTesL0RdGy93JU6a+qOPuvB4F4d0kR0zyVjJRVJRaoaGjhtki6SzQUu8yen/vxPKN6CWnCUw6bA== + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.8.3.tgz#963fed4b620ac7cbf6029c755424029fa3a40410" + integrity sha512-3Wk2EXhnw+rP+IDkK6BdtPKsUE5IeZ6QOGrPYvw52NwBStw9V1ZVzxgK6fSKSxqUvH9eQPR3tm3cOq79HlsKYA== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-transform-modules-amd@^7.5.0": - version "7.7.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.7.5.tgz#39e0fb717224b59475b306402bb8eedab01e729c" - integrity sha512-CT57FG4A2ZUNU1v+HdvDSDrjNWBrtCmSH6YbbgN3Lrf0Di/q/lWRxZrE72p3+HCCz9UjfZOEBdphgC0nzOS6DQ== + version "7.9.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.9.6.tgz#8539ec42c153d12ea3836e0e3ac30d5aae7b258e" + integrity sha512-zoT0kgC3EixAyIAU+9vfaUVKTv9IxBDSabgHoUCBP6FqEJ+iNiN7ip7NBKcYqbfUDfuC2mFCbM7vbu4qJgOnDw== dependencies: - "@babel/helper-module-transforms" "^7.7.5" - "@babel/helper-plugin-utils" "^7.0.0" - babel-plugin-dynamic-import-node "^2.3.0" + "@babel/helper-module-transforms" "^7.9.0" + "@babel/helper-plugin-utils" "^7.8.3" + babel-plugin-dynamic-import-node "^2.3.3" "@babel/plugin-transform-modules-commonjs@^7.5.0": - version "7.7.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.7.5.tgz#1d27f5eb0bcf7543e774950e5b2fa782e637b345" - integrity sha512-9Cq4zTFExwFhQI6MT1aFxgqhIsMWQWDVwOgLzl7PTWJHsNaqFvklAU+Oz6AQLAS0dJKTwZSOCo20INwktxpi3Q== + version "7.9.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.9.6.tgz#64b7474a4279ee588cacd1906695ca721687c277" + integrity sha512-7H25fSlLcn+iYimmsNe3uK1at79IE6SKW9q0/QeEHTMC9MdOZ+4bA+T1VFB5fgOqBWoqlifXRzYD0JPdmIrgSQ== dependencies: - "@babel/helper-module-transforms" "^7.7.5" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-simple-access" "^7.7.4" - babel-plugin-dynamic-import-node "^2.3.0" + "@babel/helper-module-transforms" "^7.9.0" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-simple-access" "^7.8.3" + babel-plugin-dynamic-import-node "^2.3.3" "@babel/plugin-transform-modules-systemjs@^7.5.0": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.7.4.tgz#cd98152339d3e763dfe838b7d4273edaf520bb30" - integrity sha512-y2c96hmcsUi6LrMqvmNDPBBiGCiQu0aYqpHatVVu6kD4mFEXKjyNxd/drc18XXAf9dv7UXjrZwBVmTTGaGP8iw== + version "7.9.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.9.6.tgz#207f1461c78a231d5337a92140e52422510d81a4" + integrity sha512-NW5XQuW3N2tTHim8e1b7qGy7s0kZ2OH3m5octc49K1SdAKGxYxeIx7hiIz05kS1R2R+hOWcsr1eYwcGhrdHsrg== dependencies: - "@babel/helper-hoist-variables" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - babel-plugin-dynamic-import-node "^2.3.0" + "@babel/helper-hoist-variables" "^7.8.3" + "@babel/helper-module-transforms" "^7.9.0" + "@babel/helper-plugin-utils" "^7.8.3" + babel-plugin-dynamic-import-node "^2.3.3" "@babel/plugin-transform-modules-umd@^7.2.0": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.7.4.tgz#1027c355a118de0aae9fee00ad7813c584d9061f" - integrity sha512-u2B8TIi0qZI4j8q4C51ktfO7E3cQ0qnaXFI1/OXITordD40tt17g/sXqgNNCcMTcBFKrUPcGDx+TBJuZxLx7tw== + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.9.0.tgz#e909acae276fec280f9b821a5f38e1f08b480697" + integrity sha512-uTWkXkIVtg/JGRSIABdBoMsoIeoHQHPTL0Y2E7xf5Oj7sLqwVsNXOkNk0VJc7vF0IMBsPeikHxFjGe+qmwPtTQ== dependencies: - "@babel/helper-module-transforms" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-module-transforms" "^7.9.0" + "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-transform-named-capturing-groups-regex@^7.4.5": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.7.4.tgz#fb3bcc4ee4198e7385805007373d6b6f42c98220" - integrity sha512-jBUkiqLKvUWpv9GLSuHUFYdmHg0ujC1JEYoZUfeOOfNydZXp1sXObgyPatpcwjWgsdBGsagWW0cdJpX/DO2jMw== + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz#a2a72bffa202ac0e2d0506afd0939c5ecbc48c6c" + integrity sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.7.4" + "@babel/helper-create-regexp-features-plugin" "^7.8.3" "@babel/plugin-transform-new-target@^7.4.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.7.4.tgz#4a0753d2d60639437be07b592a9e58ee00720167" - integrity sha512-CnPRiNtOG1vRodnsyGX37bHQleHE14B9dnnlgSeEs3ek3fHN1A1SScglTCg1sfbe7sRQ2BUcpgpTpWSfMKz3gg== + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.8.3.tgz#60cc2ae66d85c95ab540eb34babb6434d4c70c43" + integrity sha512-QuSGysibQpyxexRyui2vca+Cmbljo8bcRckgzYV4kRIsHpVeyeC3JDO63pY+xFZ6bWOBn7pfKZTqV4o/ix9sFw== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-transform-object-super@^7.5.5": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.7.4.tgz#48488937a2d586c0148451bf51af9d7dda567262" - integrity sha512-ho+dAEhC2aRnff2JCA0SAK7V2R62zJd/7dmtoe7MHcso4C2mS+vZjn1Pb1pCVZvJs1mgsvv5+7sT+m3Bysb6eg== + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.3.tgz#ebb6a1e7a86ffa96858bd6ac0102d65944261725" + integrity sha512-57FXk+gItG/GejofIyLIgBKTas4+pEU47IXKDBWFTxdPd7F80H8zybyAY7UoblVfBhBGs2EKM+bJUu2+iUYPDQ== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.7.4" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-replace-supers" "^7.8.3" -"@babel/plugin-transform-parameters@^7.4.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.7.4.tgz#da4555c97f39b51ac089d31c7380f03bca4075ce" - integrity sha512-VJwhVePWPa0DqE9vcfptaJSzNDKrWU/4FbYCjZERtmqEs05g3UMXnYMZoXja7JAJ7Y7sPZipwm/pGApZt7wHlw== +"@babel/plugin-transform-parameters@^7.4.4", "@babel/plugin-transform-parameters@^7.9.5": + version "7.9.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.9.5.tgz#173b265746f5e15b2afe527eeda65b73623a0795" + integrity sha512-0+1FhHnMfj6lIIhVvS4KGQJeuhe1GI//h5uptK4PvLt+BGBxsoUJbd3/IW002yk//6sZPlFgsG1hY6OHLcy6kA== dependencies: - "@babel/helper-call-delegate" "^7.7.4" - "@babel/helper-get-function-arity" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-get-function-arity" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-transform-property-literals@^7.2.0": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.7.4.tgz#2388d6505ef89b266103f450f9167e6bd73f98c2" - integrity sha512-MatJhlC4iHsIskWYyawl53KuHrt+kALSADLQQ/HkhTjX954fkxIEh4q5slL4oRAnsm/eDoZ4q0CIZpcqBuxhJQ== + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.8.3.tgz#33194300d8539c1ed28c62ad5087ba3807b98263" + integrity sha512-uGiiXAZMqEoQhRWMK17VospMZh5sXWg+dlh2soffpkAl96KAm+WZuJfa6lcELotSRmooLqg0MWdH6UUq85nmmg== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-transform-regenerator@^7.4.5": - version "7.7.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.7.5.tgz#3a8757ee1a2780f390e89f246065ecf59c26fce9" - integrity sha512-/8I8tPvX2FkuEyWbjRCt4qTAgZK0DVy8QRguhA524UH48RfGJy94On2ri+dCuwOpcerPRl9O4ebQkRcVzIaGBw== + version "7.8.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.7.tgz#5e46a0dca2bee1ad8285eb0527e6abc9c37672f8" + integrity sha512-TIg+gAl4Z0a3WmD3mbYSk+J9ZUH6n/Yc57rtKRnlA/7rcCvpekHXe0CMZHP1gYp7/KLe9GHTuIba0vXmls6drA== dependencies: - regenerator-transform "^0.14.0" + regenerator-transform "^0.14.2" "@babel/plugin-transform-reserved-words@^7.2.0": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.7.4.tgz#6a7cf123ad175bb5c69aec8f6f0770387ed3f1eb" - integrity sha512-OrPiUB5s5XvkCO1lS7D8ZtHcswIC57j62acAnJZKqGGnHP+TIc/ljQSrgdX/QyOTdEK5COAhuc820Hi1q2UgLQ== + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.8.3.tgz#9a0635ac4e665d29b162837dd3cc50745dfdf1f5" + integrity sha512-mwMxcycN3omKFDjDQUl+8zyMsBfjRFr0Zn/64I41pmjv4NJuqcYlEtezwYtw9TFd9WR1vN5kiM+O0gMZzO6L0A== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-transform-shorthand-properties@^7.2.0": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.7.4.tgz#74a0a9b2f6d67a684c6fbfd5f0458eb7ba99891e" - integrity sha512-q+suddWRfIcnyG5YiDP58sT65AJDZSUhXQDZE3r04AuqD6d/XLaQPPXSBzP2zGerkgBivqtQm9XKGLuHqBID6Q== + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.3.tgz#28545216e023a832d4d3a1185ed492bcfeac08c8" + integrity sha512-I9DI6Odg0JJwxCHzbzW08ggMdCezoWcuQRz3ptdudgwaHxTjxw5HgdFJmZIkIMlRymL6YiZcped4TTCB0JcC8w== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-transform-spread@^7.2.0": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.7.4.tgz#aa673b356fe6b7e70d69b6e33a17fef641008578" - integrity sha512-8OSs0FLe5/80cndziPlg4R0K6HcWSM0zyNhHhLsmw/Nc5MaA49cAsnoJ/t/YZf8qkG7fD+UjTRaApVDB526d7Q== + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.8.3.tgz#9c8ffe8170fdfb88b114ecb920b82fb6e95fe5e8" + integrity sha512-CkuTU9mbmAoFOI1tklFWYYbzX5qCIZVXPVy0jpXgGwkplCndQAa58s2jr66fTeQnA64bDox0HL4U56CFYoyC7g== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-transform-sticky-regex@^7.2.0": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.7.4.tgz#ffb68c05090c30732076b1285dc1401b404a123c" - integrity sha512-Ls2NASyL6qtVe1H1hXts9yuEeONV2TJZmplLONkMPUG158CtmnrzW5Q5teibM5UVOFjG0D3IC5mzXR6pPpUY7A== + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.8.3.tgz#be7a1290f81dae767475452199e1f76d6175b100" + integrity sha512-9Spq0vGCD5Bb4Z/ZXXSK5wbbLFMG085qd2vhL1JYu1WcQ5bXqZBAYRzU1d+p79GcHs2szYv5pVQCX13QgldaWw== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-regex" "^7.8.3" "@babel/plugin-transform-template-literals@^7.4.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.7.4.tgz#1eb6411736dd3fe87dbd20cc6668e5121c17d604" - integrity sha512-sA+KxLwF3QwGj5abMHkHgshp9+rRz+oY9uoRil4CyLtgEuE/88dpkeWgNk5qKVsJE9iSfly3nvHapdRiIS2wnQ== + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.8.3.tgz#7bfa4732b455ea6a43130adc0ba767ec0e402a80" + integrity sha512-820QBtykIQOLFT8NZOcTRJ1UNuztIELe4p9DCgvj4NK+PwluSJ49we7s9FB1HIGNIYT7wFUJ0ar2QpCDj0escQ== dependencies: - "@babel/helper-annotate-as-pure" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-annotate-as-pure" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-transform-typeof-symbol@^7.2.0": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.7.4.tgz#3174626214f2d6de322882e498a38e8371b2140e" - integrity sha512-KQPUQ/7mqe2m0B8VecdyaW5XcQYaePyl9R7IsKd+irzj6jvbhoGnRE+M0aNkyAzI07VfUQ9266L5xMARitV3wg== + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.4.tgz#ede4062315ce0aaf8a657a920858f1a2f35fc412" + integrity sha512-2QKyfjGdvuNfHsb7qnBBlKclbD4CfshH2KvDabiijLMGXPHJXGxtDzwIF7bQP+T0ysw8fYTtxPafgfs/c1Lrqg== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-transform-unicode-regex@^7.4.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.7.4.tgz#a3c0f65b117c4c81c5b6484f2a5e7b95346b83ae" - integrity sha512-N77UUIV+WCvE+5yHw+oks3m18/umd7y392Zv7mYTpFqHtkpcc+QUz+gLJNTWVlWROIWeLqY0f3OjZxV5TcXnRw== + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.3.tgz#0cef36e3ba73e5c57273effb182f46b91a1ecaad" + integrity sha512-+ufgJjYdmWfSQ+6NS9VGUR2ns8cjJjYbrbi11mZBTaWm+Fui/ncTLFF28Ei1okavY+xkojGr1eJxNsWYeA5aZw== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-create-regexp-features-plugin" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/preset-env@7.5.5": +"@babel/preset-env@7.5.5", "@babel/preset-env@7.8.7": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.5.5.tgz#bc470b53acaa48df4b8db24a570d6da1fef53c9a" integrity sha512-GMZQka/+INwsMz1A5UEql8tG015h5j/qjptpKY2gJ7giy8ohzU710YciJB5rcKsWGWHiW3RUnHib0E5/m3Tp3A== @@ -821,51 +843,43 @@ js-levenshtein "^1.1.3" semver "^5.5.0" -"@babel/runtime-corejs3@^7.7.4": - version "7.7.6" - resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.7.6.tgz#5b1044ea11b659d288f77190e19c62da959ed9a3" - integrity sha512-NrRUehqG0sMSCaP+0XV/vOvvjNl4BQOWq3Qys1Q2KTEm5tGMo9h0dHnIzeKerj0a7SIB8LP5kYg/T1raE3FoKQ== - dependencies: - core-js-pure "^3.0.0" - regenerator-runtime "^0.13.2" - -"@babel/runtime@^7.7.4": - version "7.7.6" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.7.6.tgz#d18c511121aff1b4f2cd1d452f1bac9601dd830f" - integrity sha512-BWAJxpNVa0QlE5gZdWjSxXtemZyZ9RmrmVozxt3NUXeZhVIJ5ANyqmMc0JDrivBZyxUuQvFxlvH4OWWOogGfUw== - dependencies: - regenerator-runtime "^0.13.2" - -"@babel/template@^7.4.0", "@babel/template@^7.4.4", "@babel/template@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.7.4.tgz#428a7d9eecffe27deac0a98e23bf8e3675d2a77b" - integrity sha512-qUzihgVPguAzXCK7WXw8pqs6cEwi54s3E+HrejlkuWO6ivMKx9hZl3Y2fSXp9i5HgyWmj7RKP+ulaYnKM4yYxw== - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/parser" "^7.7.4" - "@babel/types" "^7.7.4" - -"@babel/traverse@^7.4.3", "@babel/traverse@^7.5.5", "@babel/traverse@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.7.4.tgz#9c1e7c60fb679fe4fcfaa42500833333c2058558" - integrity sha512-P1L58hQyupn8+ezVA2z5KBm4/Zr4lCC8dwKCMYzsa5jFMDMQAzaBNy9W5VjB+KAmBjb40U7a/H6ao+Xo+9saIw== - dependencies: - "@babel/code-frame" "^7.5.5" - "@babel/generator" "^7.7.4" - "@babel/helper-function-name" "^7.7.4" - "@babel/helper-split-export-declaration" "^7.7.4" - "@babel/parser" "^7.7.4" - "@babel/types" "^7.7.4" +"@babel/runtime@^7.8.4": + version "7.9.6" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.9.6.tgz#a9102eb5cadedf3f31d08a9ecf294af7827ea29f" + integrity sha512-64AF1xY3OAkFHqOb9s4jpgk1Mm5vDZ4L3acHvAml+53nO1XbXLuDodsVpO4OIUsmemlUHMxNdYMNJmsvOwLrvQ== + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/template@^7.4.0", "@babel/template@^7.8.3", "@babel/template@^7.8.6": + version "7.8.6" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.8.6.tgz#86b22af15f828dfb086474f964dcc3e39c43ce2b" + integrity sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg== + dependencies: + "@babel/code-frame" "^7.8.3" + "@babel/parser" "^7.8.6" + "@babel/types" "^7.8.6" + +"@babel/traverse@^7.4.3", "@babel/traverse@^7.8.3", "@babel/traverse@^7.8.6", "@babel/traverse@^7.9.6": + version "7.9.6" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.9.6.tgz#5540d7577697bf619cc57b92aa0f1c231a94f442" + integrity sha512-b3rAHSjbxy6VEAvlxM8OV/0X4XrG72zoxme6q1MOoe2vd0bEc+TwayhuC1+Dfgqh1QEG+pj7atQqvUprHIccsg== + dependencies: + "@babel/code-frame" "^7.8.3" + "@babel/generator" "^7.9.6" + "@babel/helper-function-name" "^7.9.5" + "@babel/helper-split-export-declaration" "^7.8.3" + "@babel/parser" "^7.9.6" + "@babel/types" "^7.9.6" debug "^4.1.0" globals "^11.1.0" lodash "^4.17.13" -"@babel/types@^7.4.0", "@babel/types@^7.5.5", "@babel/types@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.7.4.tgz#516570d539e44ddf308c07569c258ff94fde9193" - integrity sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA== +"@babel/types@^7.4.0", "@babel/types@^7.5.5", "@babel/types@^7.8.3", "@babel/types@^7.8.6", "@babel/types@^7.8.7", "@babel/types@^7.9.0", "@babel/types@^7.9.5", "@babel/types@^7.9.6": + version "7.9.6" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.9.6.tgz#2c5502b427251e9de1bd2dff95add646d95cc9f7" + integrity sha512-qxXzvBO//jO9ZnoasKF1uJzHd2+M6Q2ZPIVfnFps8JJvXy0ZBbwbNOmE6SGIY5XOY6d1Bo5lb9d9RJ8nv3WSeA== dependencies: - esutils "^2.0.2" + "@babel/helper-validator-identifier" "^7.9.5" lodash "^4.17.13" to-fast-properties "^2.0.0" @@ -876,12 +890,7 @@ dependencies: tslib "^1.9.0" -"@fortawesome/fontawesome-common-types@^0.2.27": - version "0.2.27" - resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.27.tgz#19706345859fc46adf3684ed01d11b40903b87e9" - integrity sha512-97GaByGaXDGMkzcJX7VmR/jRJd8h1mfhtA7RsxDBN61GnWE/PPCZhOdwG/8OZYktiRUF0CvFOr+VgRkJrt6TWg== - -"@fortawesome/fontawesome-common-types@^0.2.28": +"@fortawesome/fontawesome-common-types@^0.2.27", "@fortawesome/fontawesome-common-types@^0.2.28": version "0.2.28" resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.28.tgz#1091bdfe63b3f139441e9cba27aa022bff97d8b2" integrity sha512-gtis2/5yLdfI6n0ia0jH7NJs5i/Z/8M/ZbQL6jXQhCthEOe5Cr5NcQPhgTvFxNOtURE03/ZqUcEskdn2M+QaBg== @@ -923,6 +932,11 @@ update-notifier "^2.2.0" yargs "^8.0.2" +"@istanbuljs/schema@^0.1.2": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" + integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw== + "@ngrx/effects@~8.5.2": version "8.5.2" resolved "https://registry.yarnpkg.com/@ngrx/effects/-/effects-8.5.2.tgz#c4f81947f4028a0d678ed2641101481cdbe11b59" @@ -948,15 +962,15 @@ resolved "https://registry.yarnpkg.com/@ngrx/store/-/store-8.5.2.tgz#18e4a39f3e7ac2ec8307653837ec3c4153bde04f" integrity sha512-JPlc23Aw3rlEKt6LCkg3a0zlo0tEgkohH3CDHVbUIYSgg3DWOnmNfwztbz4pa2u2wua5PfFCovC7HKTNmapx/w== -"@ngtools/webpack@8.3.20": - version "8.3.20" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-8.3.20.tgz#a5288171b67c96e8d3b219f5108f1d6cd962d6a3" - integrity sha512-2e9Kat6PQEzqtNsZZpnOIvoDzyGwMELiuBYBa9keZeaXOD6TxjSyCRzHHXAldAXqvh4Uj2qjTid54Sy14CxtsQ== +"@ngtools/webpack@8.3.26": + version "8.3.26" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-8.3.26.tgz#b534838425948fb16679d2320ca588feb08fa64a" + integrity sha512-w28u3Akvn37hE0HYwy/l6YrDBWxzh7TceYJz+5hRLmJu+BevSY/rNjZ22AlpVD8ZWqhFfvzJS9cuvAqDgH9rtw== dependencies: - "@angular-devkit/core" "8.3.20" + "@angular-devkit/core" "8.3.26" enhanced-resolve "4.1.0" rxjs "6.4.0" - tree-kill "1.2.1" + tree-kill "1.2.2" webpack-sources "1.4.3" "@popperjs/core@~2.0.4": @@ -964,21 +978,21 @@ resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.0.6.tgz#5a39ac118811ca844155b0ad5190b8c24f35e533" integrity sha512-zj7Gw8QC4jmR92eKUvtrZUEpl2ypRbq+qlE4pwf9n2hnUO9BOAcWUs4/Ht+gNIbFt98xtqhLvccdCfD469MzpQ== -"@schematics/angular@8.3.20": - version "8.3.20" - resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-8.3.20.tgz#737d0a73e891446899a2267c4cc348b6c5a78ca8" - integrity sha512-Y20pSJhQ0KQd8Tk2kPQlmpRDNDaoIKMeOOGLT2FgCFrumxZXuIbBgN9fGDgW40iI2sq80bccOeo24RKkn3QpcA== +"@schematics/angular@8.3.26": + version "8.3.26" + resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-8.3.26.tgz#adda1552de14126e4d0993b648b4ea6258a581ce" + integrity sha512-NJCykMxB9RKL+Tmr9xHftUevsivKGsQZQKjkub528wrSgwrCWoFCxGWV31iOXkT3TlBWmuibH6MZkrWbCLX4Sw== dependencies: - "@angular-devkit/core" "8.3.20" - "@angular-devkit/schematics" "8.3.20" + "@angular-devkit/core" "8.3.26" + "@angular-devkit/schematics" "8.3.26" -"@schematics/update@0.803.20": - version "0.803.20" - resolved "https://registry.yarnpkg.com/@schematics/update/-/update-0.803.20.tgz#f6cce4f0ee435d8a4071817ac43e418f2b51d22a" - integrity sha512-MseLreuHdnSLUEnRxZFVSHKKK+3mGXH12SgOSeirwATIL22Df74+Q5BYvsge/Kd2k6s9ak/NCuRXG7FAo8mkMA== +"@schematics/update@0.803.26": + version "0.803.26" + resolved "https://registry.yarnpkg.com/@schematics/update/-/update-0.803.26.tgz#7830264dc11f1a10b79b3ad61e34b96b9cf17d50" + integrity sha512-r284UN3HP/UgxK80SG3MDlbF4qPS6EitEqwdSBqXizUYRlV6ovG9vHMLpNruWE0B6vfYbSAn1YvvIwW/ORL1Cw== dependencies: - "@angular-devkit/core" "8.3.20" - "@angular-devkit/schematics" "8.3.20" + "@angular-devkit/core" "8.3.26" + "@angular-devkit/schematics" "8.3.26" "@yarnpkg/lockfile" "1.1.0" ini "1.3.5" pacote "9.5.5" @@ -1018,9 +1032,9 @@ "@types/node" "*" "@types/jasmine@*", "@types/jasmine@~3.5.0": - version "3.5.0" - resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-3.5.0.tgz#2ad2006c8a937d20df20a8fee86071d0f730ef99" - integrity sha512-kGCRI9oiCxFS6soGKlyzhMzDydfcPix9PpTkr7h11huxOxhWwP37Tg7DYBaQ18eQTNreZEuLkhpbGSqVNZPnnw== + version "3.5.10" + resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-3.5.10.tgz#a1a41012012b5da9d4b205ba9eba58f6cce2ab7b" + integrity sha512-3F8qpwBAiVc5+HPJeXJpbrl+XjawGmciN5LgiO7Gv1pl1RHtjoMNqZpqEksaPJW05ViKe8snYInRs6xB25Xdew== "@types/jasminewd2@~2.0.3": version "2.0.8" @@ -1034,10 +1048,15 @@ resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== -"@types/node@*", "@types/node@~12.12.14": - version "12.12.14" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.14.tgz#1c1d6e3c75dba466e0326948d56e8bd72a1903d2" - integrity sha512-u/SJDyXwuihpwjXy7hOOghagLEV1KdAST6syfnOk6QZAMzZuWZqXy5aYYZbh8Jdpd4escVFP0MvftHNDb9pruA== +"@types/node@*": + version "14.0.4" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.4.tgz#43a63fc5edce226bed106b31b875165256271107" + integrity sha512-k3NqigXWRzQZVBDS5D1U70A5E8Qk4Kh+Ha/x4M8Bt9pF0X05eggfnC9+63Usc9Q928hRUIpIhTQaXsZwZBl4Ew== + +"@types/node@~12.12.14": + version "12.12.41" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.41.tgz#cf48562b53ab6cf85d28dde95f1d06815af275c8" + integrity sha512-Q+eSkdYQJ2XK1AJnr4Ji8Gvk3sRDybEwfTvtL9CA25FFUSD2EgZQewN6VCyWYZCXg5MWZdwogdTNBhlWRcWS1w== "@types/q@^0.0.32": version "0.0.32" @@ -1045,9 +1064,9 @@ integrity sha1-vShOV8hPEyXacCur/IKlMoGQwMU= "@types/selenium-webdriver@^3.0.0": - version "3.0.16" - resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-3.0.16.tgz#50a4755f8e33edacd9c406729e9b930d2451902a" - integrity sha512-lMC2G0ItF2xv4UCiwbJGbnJlIuUixHrioOhNGHSCsYCJ8l4t9hMCUimCytvFv7qy6AfSzRxhRHoGa+UqaqwyeA== + version "3.0.17" + resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-3.0.17.tgz#50bea0c3c2acc31c959c5b1e747798b3b3d06d4b" + integrity sha512-tGomyEuzSC1H28y2zlW6XPCaDaXFaD6soTdb4GNdmte2qfHtrKqhy0ZFs4r/1hpazCfEZqeTSRLvSasmEx89uw== "@types/source-list-map@*": version "0.1.2" @@ -1055,9 +1074,9 @@ integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA== "@types/webpack-sources@^0.1.5": - version "0.1.5" - resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-0.1.5.tgz#be47c10f783d3d6efe1471ff7f042611bd464a92" - integrity sha512-zfvjpp7jiafSmrzJ2/i3LqOyTYTuJ7u1KOXlKgDlvsj9Rr0x7ZiYu5lZbXwobL7lmsRNtPXlBfmaUD8eU2Hu8w== + version "0.1.7" + resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-0.1.7.tgz#0a330a9456113410c74a5d64180af0cbca007141" + integrity sha512-XyaHrJILjK1VHVC4aVlKsdNN5KBTwufMb43cQs+flGxtPAf/1Qwl8+Q0tp5BwEGaI8D6XT1L+9bSWXckgkjTLw== dependencies: "@types/node" "*" "@types/source-list-map" "*" @@ -1260,19 +1279,19 @@ acorn-walk@^7.0.0: integrity sha512-wdlPY2tm/9XBr7QkKlq0WQVgiuGTX6YWPyRyBviSoScBuLfTVQhvwg6wJ369GJ/1nPfTLMfnrFIfjqVg6d+jQQ== acorn@^6.2.1: - version "6.4.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.0.tgz#b659d2ffbafa24baf5db1cdbb2c94a983ecd2784" - integrity sha512-gac8OEcQ2Li1dxIEWGZzsp2BitJxwkwcOm0zHAJLcPJaVvm58FRnk6RkuLRpU1EujipU2ZFODv2P9DLMfnV8mw== + version "6.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474" + integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA== acorn@^7.0.0: - version "7.1.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.1.1.tgz#e35668de0b402f359de515c5482a1ab9f89a69bf" - integrity sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg== + version "7.2.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.2.0.tgz#17ea7e40d7c8640ff54a694c889c26f31704effe" + integrity sha512-apwXVmYVpQ34m/i71vrApRrRKCWQnZZF1+npOD0WV5xZFfwWOmKGQ2RWlfdy9vWITsenisM8M0Qeq8agcFHNiQ== adm-zip@^0.4.9: - version "0.4.13" - resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.4.13.tgz#597e2f8cc3672151e1307d3e95cddbc75672314a" - integrity sha512-fERNJX8sOXfel6qCBCMPvZLzENBEhZTzKqg6vrOW5pvoEaQuJhRU4ndTAh6lHOxn1I6jnz2NHra56ZODM751uw== + version "0.4.14" + resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.4.14.tgz#2cf312bcc9f8875df835b0f6040bd89be0a727a9" + integrity sha512-/9aQCnQHF+0IiCl0qhXoK7qs//SwYE7zX8lsr/DNk1BRAHYxeLZPL4pguwK29gUEqasYQjqPtEpDRSWEkdHn9g== after@0.8.2: version "0.8.2" @@ -1310,7 +1329,7 @@ ajv-keywords@^3.1.0, ajv-keywords@^3.4.1: resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da" integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ== -ajv@6.10.2, ajv@^6.1.0, ajv@^6.10.2, ajv@^6.5.5: +ajv@6.10.2: version "6.10.2" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52" integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw== @@ -1320,15 +1339,15 @@ ajv@6.10.2, ajv@^6.1.0, ajv@^6.10.2, ajv@^6.5.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^5.0.0: - version "5.5.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" - integrity sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU= +ajv@^6.1.0, ajv@^6.10.2, ajv@^6.12.0, ajv@^6.5.5: + version "6.12.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.2.tgz#c629c5eced17baf314437918d2da88c99d5958cd" + integrity sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ== dependencies: - co "^4.6.0" - fast-deep-equal "^1.0.0" + fast-deep-equal "^3.1.1" fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.3.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" amdefine@>=0.0.4: version "1.0.1" @@ -1374,11 +1393,11 @@ ansi-escapes@^3.0.0: integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== ansi-escapes@^4.2.1: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.0.tgz#a4ce2b33d6b214b7950d8595c212f12ac9cc569d" - integrity sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg== + version "4.3.1" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" + integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== dependencies: - type-fest "^0.8.1" + type-fest "^0.11.0" ansi-html@0.0.7: version "0.0.7" @@ -1487,9 +1506,9 @@ are-we-there-yet@~1.1.2: readable-stream "^2.0.6" arg@^4.1.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.2.tgz#e70c90579e02c63d80e3ad4e31d8bfdb8bd50064" - integrity sha512-+ytCkGcBtHZ3V2r2Z06AncYO8jz46UEamcspGoU8lHcEbpn6J77QK0vdWvChsclg/tM5XIJC5tnjmPp7Eq6Obg== + version "4.1.3" + resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== argparse@^1.0.7: version "1.0.10" @@ -1521,6 +1540,11 @@ arr-union@^3.1.0: resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= +array-find-index@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" + integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E= + array-flatten@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" @@ -1607,6 +1631,11 @@ async-each@^1.0.1: resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== +async-foreach@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" + integrity sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI= + async-limiter@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" @@ -1624,7 +1653,7 @@ asynckit@^0.4.0: resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= -atob@^2.1.1: +atob@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== @@ -1643,17 +1672,17 @@ autoprefixer@9.6.1: postcss-value-parser "^4.0.0" autoprefixer@^9.4.5: - version "9.7.4" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.7.4.tgz#f8bf3e06707d047f0641d87aee8cfb174b2a5378" - integrity sha512-g0Ya30YrMBAEZk60lp+qfX5YQllG+S5W3GYCFvyHTvhOki0AEQJLPEcIuGRsqVwLi8FvXPVtwTGhfr38hVpm0g== + version "9.8.0" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.0.tgz#68e2d2bef7ba4c3a65436f662d0a56a741e56511" + integrity sha512-D96ZiIHXbDmU02dBaemyAg53ez+6F5yZmapmgKcjm35yEe1uVDYI8hGW3VYoGRaG290ZFf91YxHrR518vC0u/A== dependencies: - browserslist "^4.8.3" - caniuse-lite "^1.0.30001020" + browserslist "^4.12.0" + caniuse-lite "^1.0.30001061" chalk "^2.4.2" normalize-range "^0.1.2" num2fraction "^1.2.2" - postcss "^7.0.26" - postcss-value-parser "^4.0.2" + postcss "^7.0.30" + postcss-value-parser "^4.1.0" aws-sign2@~0.7.0: version "0.7.0" @@ -1661,9 +1690,9 @@ aws-sign2@~0.7.0: integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= aws4@^1.8.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.9.0.tgz#24390e6ad61386b0a747265754d2a17219de862c" - integrity sha512-Uvq6hVe90D0B2WEnUqtdgY1bATGz3mw33nH9Y+dmA+w5DHvUmBgkr5rM/KCHpCsiFNRUfokW/szpPPgMK2hm4A== + version "1.9.1" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.9.1.tgz#7e33d8f7d449b3f673cd72deb9abdc552dbe528e" + integrity sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug== axios@^0.19.0: version "0.19.2" @@ -1673,51 +1702,18 @@ axios@^0.19.0: follow-redirects "1.5.10" axobject-query@^2.0.2: - version "2.1.1" - resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.1.1.tgz#2a3b1271ec722d48a4cd4b3fcc20c853326a49a7" - integrity sha512-lF98xa/yvy6j3fBHAgQXIYl+J4eZadOSqsPojemUqClzNbBV38wWGpUbQbVEyf4eUF5yF7eHmGgGA2JiHyjeqw== - dependencies: - "@babel/runtime" "^7.7.4" - "@babel/runtime-corejs3" "^7.7.4" - -babel-code-frame@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" - integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s= - dependencies: - chalk "^1.1.3" - esutils "^2.0.2" - js-tokens "^3.0.2" - -babel-generator@^6.18.0: - version "6.26.1" - resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90" - integrity sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA== - dependencies: - babel-messages "^6.23.0" - babel-runtime "^6.26.0" - babel-types "^6.26.0" - detect-indent "^4.0.0" - jsesc "^1.3.0" - lodash "^4.17.4" - source-map "^0.5.7" - trim-right "^1.0.1" - -babel-messages@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" - integrity sha1-8830cDhYA1sqKVHG7F7fbGLyYw4= - dependencies: - babel-runtime "^6.22.0" + version "2.1.2" + resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.1.2.tgz#2bdffc0371e643e5f03ba99065d5179b9ca79799" + integrity sha512-ICt34ZmrVt8UQnvPl6TVyDTkmhXmAyAT4Jh5ugfGUX4MOrZ+U/ZY6/sdylRw3qGNr9Ub5AJsaHeDMzNLehRdOQ== -babel-plugin-dynamic-import-node@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz#f00f507bdaa3c3e3ff6e7e5e98d90a7acab96f7f" - integrity sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ== +babel-plugin-dynamic-import-node@^2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" + integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== dependencies: object.assign "^4.1.0" -babel-runtime@^6.22.0, babel-runtime@^6.26.0: +babel-runtime@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= @@ -1725,47 +1721,6 @@ babel-runtime@^6.22.0, babel-runtime@^6.26.0: core-js "^2.4.0" regenerator-runtime "^0.11.0" -babel-template@^6.16.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" - integrity sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI= - dependencies: - babel-runtime "^6.26.0" - babel-traverse "^6.26.0" - babel-types "^6.26.0" - babylon "^6.18.0" - lodash "^4.17.4" - -babel-traverse@^6.18.0, babel-traverse@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" - integrity sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4= - dependencies: - babel-code-frame "^6.26.0" - babel-messages "^6.23.0" - babel-runtime "^6.26.0" - babel-types "^6.26.0" - babylon "^6.18.0" - debug "^2.6.8" - globals "^9.18.0" - invariant "^2.2.2" - lodash "^4.17.4" - -babel-types@^6.18.0, babel-types@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" - integrity sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc= - dependencies: - babel-runtime "^6.26.0" - esutils "^2.0.2" - lodash "^4.17.4" - to-fast-properties "^1.0.3" - -babylon@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" - integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== - backo2@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" @@ -1855,11 +1810,25 @@ binary-extensions@^2.0.0: resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.0.0.tgz#23c0df14f6a88077f5f986c0d167ec03c3d5537c" integrity sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow== +bindings@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" + integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== + dependencies: + file-uri-to-path "1.0.0" + blob@0.0.5: version "0.0.5" resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.5.tgz#d680eeef25f8cd91ad533f5b01eed48e64caf683" integrity sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig== +block-stream@*: + version "0.0.9" + resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" + integrity sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo= + dependencies: + inherits "~2.0.0" + blocking-proxy@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/blocking-proxy/-/blocking-proxy-1.0.1.tgz#81d6fd1fe13a4c0d6957df7f91b75e98dac40cb2" @@ -1872,10 +1841,15 @@ bluebird@^3.3.0, bluebird@^3.5.1, bluebird@^3.5.3, bluebird@^3.5.5: resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: - version "4.11.8" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" - integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA== +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.4.0: + version "4.11.9" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828" + integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw== + +bn.js@^5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.2.tgz#c9686902d3c9a27729f43ab10f9d79c2004da7b0" + integrity sha512-40rZaf3bUNKTVYu9sIeeEGOg7g14Yvnj9kH7b50EiwX0Q7A6umbvfI5tvHaOERH0XigqKkfLkFQxzb4e6CIXnA== body-parser@1.19.0, body-parser@^1.16.1: version "1.19.0" @@ -1999,7 +1973,7 @@ browserify-des@^1.0.0: inherits "^2.0.1" safe-buffer "^5.1.2" -browserify-rsa@^4.0.0: +browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= @@ -2008,17 +1982,19 @@ browserify-rsa@^4.0.0: randombytes "^2.0.1" browserify-sign@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" - integrity sha1-qk62jl17ZYuqa/alfmMMvXqT0pg= - dependencies: - bn.js "^4.1.1" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.2" - elliptic "^6.0.0" - inherits "^2.0.1" - parse-asn1 "^5.0.0" + version "4.2.0" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.0.tgz#545d0b1b07e6b2c99211082bf1b12cce7a0b0e11" + integrity sha512-hEZC1KEeYuoHRqhGhTy6gWrpJA3ZDjFWv0DE61643ZnOXAKJb3u7yWcrU0mMc9SwAqK1n7myPGndkp0dFG7NFA== + dependencies: + bn.js "^5.1.1" + browserify-rsa "^4.0.1" + create-hash "^1.2.0" + create-hmac "^1.1.7" + elliptic "^6.5.2" + inherits "^2.0.4" + parse-asn1 "^5.1.5" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" browserify-zlib@^0.2.0: version "0.2.0" @@ -2027,25 +2003,7 @@ browserify-zlib@^0.2.0: dependencies: pako "~1.0.5" -browserslist@4.6.6: - version "4.6.6" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.6.6.tgz#6e4bf467cde520bc9dbdf3747dafa03531cec453" - integrity sha512-D2Nk3W9JL9Fp/gIcWei8LrERCS+eXu9AM5cfXA8WEZ84lFks+ARnZ0q/R69m2SV3Wjma83QDDPxsNKXUwdIsyA== - dependencies: - caniuse-lite "^1.0.30000984" - electron-to-chromium "^1.3.191" - node-releases "^1.1.25" - -browserslist@^4.6.0, browserslist@^4.6.3, browserslist@^4.8.2: - version "4.8.2" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.8.2.tgz#b45720ad5fbc8713b7253c20766f701c9a694289" - integrity sha512-+M4oeaTplPm/f1pXDw84YohEv7B1i/2Aisei8s4s6k3QsoSHa7i5sz8u/cGQkkatCPxMASKxPualR4wwYgVboA== - dependencies: - caniuse-lite "^1.0.30001015" - electron-to-chromium "^1.3.322" - node-releases "^1.1.42" - -browserslist@^4.8.3: +browserslist@4.10.0: version "4.10.0" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.10.0.tgz#f179737913eaf0d2b98e4926ac1ca6a15cbcc6a9" integrity sha512-TpfK0TDgv71dzuTsEAlQiHeWQ/tiPqgNZVdv046fvNtBZrjbv2O3TsWCDU0AWGJJKCF/KsjNdLzR9hXOsh/CfA== @@ -2055,10 +2013,20 @@ browserslist@^4.8.3: node-releases "^1.1.52" pkg-up "^3.1.0" +browserslist@^4.12.0, browserslist@^4.6.0, browserslist@^4.6.3, browserslist@^4.8.5: + version "4.12.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.12.0.tgz#06c6d5715a1ede6c51fc39ff67fd647f740b656d" + integrity sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg== + dependencies: + caniuse-lite "^1.0.30001043" + electron-to-chromium "^1.3.413" + node-releases "^1.1.53" + pkg-up "^2.0.0" + browserstack@^1.5.1: - version "1.5.3" - resolved "https://registry.yarnpkg.com/browserstack/-/browserstack-1.5.3.tgz#93ab48799a12ef99dbd074dd595410ddb196a7ac" - integrity sha512-AO+mECXsW4QcqC9bxwM29O7qWa7bJT94uBFzeb5brylIQwawuEziwq20dPYbins95GlWzOawgyDNdjYAo32EKg== + version "1.6.0" + resolved "https://registry.yarnpkg.com/browserstack/-/browserstack-1.6.0.tgz#5a56ab90987605d9c138d7a8b88128370297f9bf" + integrity sha512-HJDJ0TSlmkwnt9RZ+v5gFpa1XZTBYTj0ywvLwJ3241J7vMw2jAsGNVhKHtmCOyg+VxeLZyaibO9UL71AsUeDIw== dependencies: https-proxy-agent "^2.2.1" @@ -2160,48 +2128,7 @@ cacache@12.0.2: unique-filename "^1.1.1" y18n "^4.0.0" -cacache@^11.3.3: - version "11.3.3" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.3.3.tgz#8bd29df8c6a718a6ebd2d010da4d7972ae3bbadc" - integrity sha512-p8WcneCytvzPxhDvYp31PD039vi77I12W+/KfR9S8AZbaiARFBCpsPJS+9uhWfeBfeAtW7o/4vt3MUqLkbY6nA== - dependencies: - bluebird "^3.5.5" - chownr "^1.1.1" - figgy-pudding "^3.5.1" - glob "^7.1.4" - graceful-fs "^4.1.15" - lru-cache "^5.1.1" - mississippi "^3.0.0" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - promise-inflight "^1.0.1" - rimraf "^2.6.3" - ssri "^6.0.1" - unique-filename "^1.1.1" - y18n "^4.0.0" - -cacache@^12.0.0, cacache@^12.0.2: - version "12.0.3" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.3.tgz#be99abba4e1bf5df461cd5a2c1071fc432573390" - integrity sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw== - dependencies: - bluebird "^3.5.5" - chownr "^1.1.1" - figgy-pudding "^3.5.1" - glob "^7.1.4" - graceful-fs "^4.1.15" - infer-owner "^1.0.3" - lru-cache "^5.1.1" - mississippi "^3.0.0" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - promise-inflight "^1.0.1" - rimraf "^2.6.3" - ssri "^6.0.1" - unique-filename "^1.1.1" - y18n "^4.0.0" - -cacache@^12.0.3: +cacache@^12.0.0, cacache@^12.0.2, cacache@^12.0.3: version "12.0.4" resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" integrity sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ== @@ -2284,6 +2211,19 @@ camelcase-css@^2.0.1: resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== +camelcase-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" + integrity sha1-MIvur/3ygRkFHvodkyITyRuPkuc= + dependencies: + camelcase "^2.0.0" + map-obj "^1.0.0" + +camelcase@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" + integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8= + camelcase@^4.0.0, camelcase@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" @@ -2294,21 +2234,16 @@ camelcase@^5.0.0, camelcase@^5.3.1: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -caniuse-lite@1.0.30000989: - version "1.0.30000989" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000989.tgz#b9193e293ccf7e4426c5245134b8f2a56c0ac4b9" - integrity sha512-vrMcvSuMz16YY6GSVZ0dWDTJP8jqk3iFQ/Aq5iqblPwxSVVZI+zxDyTX0VPqtQsDnfdrBDcsmhgTEOh5R8Lbpw== - -caniuse-lite@^1.0.30000980, caniuse-lite@^1.0.30000984, caniuse-lite@^1.0.30001015: - version "1.0.30001015" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001015.tgz#15a7ddf66aba786a71d99626bc8f2b91c6f0f5f0" - integrity sha512-/xL2AbW/XWHNu1gnIrO8UitBGoFthcsDgU9VLK1/dpsoxbaD5LscHozKze05R6WLsBvLhqv78dAPozMFQBYLbQ== - -caniuse-lite@^1.0.30001020, caniuse-lite@^1.0.30001035: +caniuse-lite@1.0.30001035: version "1.0.30001035" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001035.tgz#2bb53b8aa4716b2ed08e088d4dc816a5fe089a1e" integrity sha512-C1ZxgkuA4/bUEdMbU5WrGY4+UhMFFiXrgNAfxiMIqWgFTWfv/xsZCS2xEHT2LMq7xAZfuAnu6mcqyDl0ZR6wLQ== +caniuse-lite@^1.0.30000980, caniuse-lite@^1.0.30001035, caniuse-lite@^1.0.30001043, caniuse-lite@^1.0.30001061: + version "1.0.30001062" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001062.tgz#d814b648338504b315222ace6f1a533d9a55e390" + integrity sha512-ei9ZqeOnN7edDrb24QfJ0OZicpEbsWxv7WusOiQGz/f2SfvBgHHbOEwBJ8HKGVSyx8Z6ndPjxzR6m0NQq+0bfw== + canonical-path@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/canonical-path/-/canonical-path-1.0.0.tgz#fcb470c23958def85081856be7a86e904f180d1d" @@ -2362,10 +2297,10 @@ chardet@^0.7.0: resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== -"chokidar@>=2.0.0 <4.0.0", chokidar@^3.0.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.3.0.tgz#12c0714668c55800f659e262d4962a97faf554a6" - integrity sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A== +"chokidar@>=2.0.0 <4.0.0", chokidar@^3.0.0, chokidar@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.0.tgz#b30611423ce376357c765b9b8f904b9fba3c0be8" + integrity sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ== dependencies: anymatch "~3.1.1" braces "~3.0.2" @@ -2373,11 +2308,11 @@ chardet@^0.7.0: is-binary-path "~2.1.0" is-glob "~4.0.1" normalize-path "~3.0.0" - readdirp "~3.2.0" + readdirp "~3.4.0" optionalDependencies: - fsevents "~2.1.1" + fsevents "~2.1.2" -chokidar@^2.0.2, chokidar@^2.1.1, chokidar@^2.1.8: +chokidar@^2.1.1, chokidar@^2.1.8: version "2.1.8" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== @@ -2396,12 +2331,7 @@ chokidar@^2.0.2, chokidar@^2.1.1, chokidar@^2.1.8: optionalDependencies: fsevents "^1.2.7" -chownr@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.3.tgz#42d837d5239688d55f303003a508230fa6727142" - integrity sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw== - -chownr@^1.1.2, chownr@^1.1.4: +chownr@^1.1.1, chownr@^1.1.2, chownr@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== @@ -2508,9 +2438,9 @@ cli-table3@^0.5.0, cli-table3@^0.5.1: colors "^1.1.2" cli-width@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" - integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= + version "2.2.1" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48" + integrity sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw== cliui@^3.2.0: version "3.2.0" @@ -2573,11 +2503,6 @@ cmd-shim@^3.0.0, cmd-shim@^3.0.3: graceful-fs "^4.1.2" mkdirp "~0.5.0" -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= - code-point-at@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" @@ -2655,7 +2580,7 @@ combined-stream@^1.0.6, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" -commander@^2.11.0, commander@^2.12.1, commander@^2.18.0, commander@^2.19.0, commander@^2.20.0, commander@~2.20.3: +commander@^2.11.0, commander@^2.12.1, commander@^2.18.0, commander@^2.19.0, commander@^2.20.0: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== @@ -2671,9 +2596,9 @@ commondir@^1.0.1: integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= compare-versions@^3.4.0: - version "3.5.1" - resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.5.1.tgz#26e1f5cf0d48a77eced5046b9f67b6b61075a393" - integrity sha512-9fGPIB7C6AyM18CJJBHt5EnCZDG3oiTJYy0NjfIAGjKpzv0tkxWko7TNQHF5ymqm7IH03tqmeuBxtvD+Izh6mg== + version "3.6.0" + resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62" + integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA== component-bind@1.0.0: version "1.0.0" @@ -2696,11 +2621,11 @@ component-inherit@0.0.3: integrity sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM= compressible@~2.0.16: - version "2.0.17" - resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.17.tgz#6e8c108a16ad58384a977f3a482ca20bff2f38c1" - integrity sha512-BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr/0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw== + version "2.0.18" + resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" + integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== dependencies: - mime-db ">= 1.40.0 < 2" + mime-db ">= 1.43.0 < 2" compression@^1.7.4: version "1.7.4" @@ -2811,7 +2736,7 @@ content-type@~1.0.4: resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== -convert-source-map@^1.1.0, convert-source-map@^1.5.0, convert-source-map@^1.5.1: +convert-source-map@^1.5.1, convert-source-map@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== @@ -2850,12 +2775,12 @@ copy-descriptor@^0.1.0: resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= -copy-webpack-plugin@5.0.4: - version "5.0.4" - resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-5.0.4.tgz#c78126f604e24f194c6ec2f43a64e232b5d43655" - integrity sha512-YBuYGpSzoCHSSDGyHy6VJ7SHojKp6WHT4D7ItcQFNAYx2hrwkMe56e97xfVR0/ovDuMTrMffXUiltvQljtAGeg== +copy-webpack-plugin@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-5.1.1.tgz#5481a03dea1123d88a988c6ff8b78247214f0b88" + integrity sha512-P15M5ZC8dyCjQHWwd4Ia/dm0SgVvZJMYeykVIVYXbGyqO4dWB5oyPHp9i7wjwo5LhtlhKbiBCdS2NvM07Wlybg== dependencies: - cacache "^11.3.3" + cacache "^12.0.3" find-cache-dir "^2.1.0" glob-parent "^3.1.0" globby "^7.1.1" @@ -2863,28 +2788,23 @@ copy-webpack-plugin@5.0.4: loader-utils "^1.2.3" minimatch "^3.0.4" normalize-path "^3.0.0" - p-limit "^2.2.0" + p-limit "^2.2.1" schema-utils "^1.0.0" - serialize-javascript "^1.7.0" + serialize-javascript "^2.1.2" webpack-log "^2.0.0" core-js-compat@^3.1.1: - version "3.4.8" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.4.8.tgz#f72e6a4ed76437ea710928f44615f926a81607d5" - integrity sha512-l3WTmnXHV2Sfu5VuD7EHE2w7y+K68+kULKt5RJg8ZJk3YhHF1qLD4O8v8AmNq+8vbOwnPFFDvds25/AoEvMqlQ== + version "3.6.5" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.6.5.tgz#2a51d9a4e25dfd6e690251aa81f99e3c05481f1c" + integrity sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng== dependencies: - browserslist "^4.8.2" - semver "^6.3.0" - -core-js-pure@^3.0.0: - version "3.4.8" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.4.8.tgz#a4415834383784e81974cd34321daf36a6d2366e" - integrity sha512-K9iPNbLDZ0Epojwd8J3lhodmrLHYvxb07H3DaFme1ne4TIlFq/ufiyPC40rc3OX6NCaVa0zaSu+VV6BVDR2wiA== + browserslist "^4.8.5" + semver "7.0.0" -core-js@3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.2.1.tgz#cd41f38534da6cc59f7db050fe67307de9868b09" - integrity sha512-Qa5XSVefSVPRxy2XfUC13WbvqkxhkwB3ve+pgCQveNgYzbM/UxZeu1dcOX/xr4UmfUd+muuvsaxilQzCyUurMw== +core-js@3.6.4: + version "3.6.4" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.6.4.tgz#440a83536b458114b9cb2ac1580ba377dc470647" + integrity sha512-4paDGScNgZP2IXXilaffL9X7968RuvwlkK3xWtZRVqgd8SYNiVKRJvkFd1aqqEuPfN7E68ZHEp9hDj6lHj4Hyw== core-js@^2.4.0: version "2.6.11" @@ -2906,6 +2826,17 @@ cosmiconfig@^5.0.0: js-yaml "^3.13.1" parse-json "^4.0.0" +coverage-istanbul-loader@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/coverage-istanbul-loader/-/coverage-istanbul-loader-2.0.3.tgz#87d42f03fa0fd3fa8743ec76945d9d67f105722a" + integrity sha512-LiGRvyIuzVYs3M1ZYK1tF0HekjH0DJ8zFdUwAZq378EJzqOgToyb1690dp3TAUlP6Y+82uu42LRjuROVeJ54CA== + dependencies: + convert-source-map "^1.7.0" + istanbul-lib-instrument "^4.0.0" + loader-utils "^1.2.3" + merge-source-map "^1.1.0" + schema-utils "^2.6.1" + create-ecdh@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" @@ -2921,7 +2852,7 @@ create-error-class@^3.0.0: dependencies: capture-stack-trace "^1.0.0" -create-hash@^1.1.0, create-hash@^1.1.2: +create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== @@ -2932,7 +2863,7 @@ create-hash@^1.1.0, create-hash@^1.1.2: ripemd160 "^2.0.1" sha.js "^2.4.0" -create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: +create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== @@ -2944,6 +2875,14 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: safe-buffer "^5.0.1" sha.js "^2.4.8" +cross-spawn@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982" + integrity sha1-ElYDfsufDF9549bvE14wdwGEuYI= + dependencies: + lru-cache "^4.0.1" + which "^1.2.9" + cross-spawn@^5.0.1: version "5.1.0" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" @@ -2992,18 +2931,18 @@ css-parse@1.7.x: integrity sha1-Mh9s9zeCpv91ERE5D8BeLGV9jJs= css-selector-tokenizer@^0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz#a177271a8bca5019172f4f891fc6eed9cbf68d5d" - integrity sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA== + version "0.7.2" + resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.2.tgz#11e5e27c9a48d90284f22d45061c303d7a25ad87" + integrity sha512-yj856NGuAymN6r8bn8/Jl46pR+OC3eEvAhfGYDUe7YPtTPAYrSSw4oAniZ9Y8T5B92hjhwTBLUen0/vKPxf6pw== dependencies: - cssesc "^0.1.0" - fastparse "^1.1.1" - regexpu-core "^1.0.0" + cssesc "^3.0.0" + fastparse "^1.1.2" + regexpu-core "^4.6.0" css-unit-converter@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/css-unit-converter/-/css-unit-converter-1.1.1.tgz#d9b9281adcfd8ced935bdbaba83786897f64e996" - integrity sha1-2bkoGtz9jO2TW9urqDeGiX9k6ZY= + version "1.1.2" + resolved "https://registry.yarnpkg.com/css-unit-converter/-/css-unit-converter-1.1.2.tgz#4c77f5a1954e6dbff60695ecb214e3270436ab21" + integrity sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA== cssauron@^1.4.0: version "1.4.0" @@ -3012,16 +2951,18 @@ cssauron@^1.4.0: dependencies: through X.X.X -cssesc@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4" - integrity sha1-yBSQPkViM3GgR3tAEJqq++6t27Q= - cssesc@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== +currently-unhandled@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" + integrity sha1-mI3zP+qxke95mmE2nddsF635V+o= + dependencies: + array-find-index "^1.0.1" + custom-event@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/custom-event/-/custom-event-1.0.1.tgz#5d02a46850adf1b4a317946a3928fccb5bfd0425" @@ -3033,9 +2974,9 @@ cyclist@^1.0.1: integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= damerau-levenshtein@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.5.tgz#780cf7144eb2e8dbd1c3bb83ae31100ccc31a414" - integrity sha512-CBCRqFnpu715iPmw1KrdOrzRqbdFwQTwAWyyyYS42+iAgHCuXZ+/TdMgQkUENPomxEz9z1BEzuQU2Xw0kUuAgA== + version "1.0.6" + resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz#143c1641cb3d85c60c32329e26899adea8701791" + integrity sha512-JVrozIeElnj3QzfUIt8tB8YMluBJom4Vw9qTPpjGYQ9fYlB3D/rb6OordUxf3xeFB35LKWs0xqcO5U6ySvBtug== dashdash@^1.12.0: version "1.14.1" @@ -3056,7 +2997,7 @@ debug@*, debug@^4.1.0, debug@^4.1.1: dependencies: ms "^2.1.1" -debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8: +debug@2.6.9, debug@^2.2.0, debug@^2.3.3: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== @@ -3077,12 +3018,12 @@ debug@^3.0.0, debug@^3.1.0, debug@^3.1.1, debug@^3.2.5, debug@^3.2.6: dependencies: ms "^2.1.1" -debuglog@*, debuglog@^1.0.1: +debuglog@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" integrity sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI= -decamelize@^1.1.1, decamelize@^1.2.0: +decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= @@ -3236,23 +3177,11 @@ destroy@~1.0.4: resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= -detect-indent@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" - integrity sha1-920GQ1LN9Docts5hnE7jqUdd4gg= - dependencies: - repeating "^2.0.0" - detect-indent@~5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" integrity sha1-OHHMCmoALow+Wzz38zYmRnXwa50= -detect-libc@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" - integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= - detect-newline@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" @@ -3286,9 +3215,9 @@ di@^0.0.1: integrity sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw= diff@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.1.tgz#0c667cb467ebbb5cea7f14f135cc2dba7780a8ff" - integrity sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q== + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== diffie-hellman@^5.0.0: version "5.0.3" @@ -3396,17 +3325,12 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= -electron-to-chromium@^1.3.191, electron-to-chromium@^1.3.322: - version "1.3.322" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.322.tgz#a6f7e1c79025c2b05838e8e344f6e89eb83213a8" - integrity sha512-Tc8JQEfGQ1MzfSzI/bTlSr7btJv/FFO7Yh6tanqVmIWOuNCu6/D1MilIEgLtmWqIrsv+o4IjpLAhgMBr/ncNAA== - -electron-to-chromium@^1.3.378: - version "1.3.380" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.380.tgz#1e1f07091b42b54bccd0ad6d3a14f2b73b60dc9d" - integrity sha512-2jhQxJKcjcSpVOQm0NAfuLq8o+130blrcawoumdXT6411xG/xIAOyZodO/y7WTaYlz/NHe3sCCAe/cJLnDsqTw== +electron-to-chromium@^1.3.378, electron-to-chromium@^1.3.413: + version "1.3.448" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.448.tgz#682831ecf3ce505231978f7c795a2813740cae7c" + integrity sha512-WOr3SrZ55lUFYugA6sUu3H3ZoxVIH5o3zTSqYS+2DOJJP4hnHmBiD1w432a2YFW/H2G5FIxE6DB06rv+9dUL5g== -elliptic@^6.0.0: +elliptic@^6.0.0, elliptic@^6.5.2: version "6.5.2" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.2.tgz#05c5678d7173c049d8ca433552224a495d0e3762" integrity sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw== @@ -3439,6 +3363,11 @@ emojis-list@^2.0.0: resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" + integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== + encodeurl@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" @@ -3545,21 +3474,22 @@ error-ex@^1.2.0, error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.5.1: - version "1.16.3" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.16.3.tgz#52490d978f96ff9f89ec15b5cf244304a5bca161" - integrity sha512-WtY7Fx5LiOnSYgF5eg/1T+GONaGmpvpPdCpSnYij+U2gDTL0UPfWrhDw7b2IYb+9NQJsYpCA0wOQvZfsd6YwRw== +es-abstract@^1.17.0-next.1, es-abstract@^1.17.5: + version "1.17.5" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.5.tgz#d8c9d1d66c8981fb9200e2251d799eee92774ae9" + integrity sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg== dependencies: es-to-primitive "^1.2.1" function-bind "^1.1.1" has "^1.0.3" has-symbols "^1.0.1" - is-callable "^1.1.4" - is-regex "^1.0.4" + is-callable "^1.1.5" + is-regex "^1.0.5" object-inspect "^1.7.0" object-keys "^1.1.1" - string.prototype.trimleft "^2.1.0" - string.prototype.trimright "^2.1.0" + object.assign "^4.1.0" + string.prototype.trimleft "^2.1.1" + string.prototype.trimright "^2.1.1" es-to-primitive@^1.2.1: version "1.2.1" @@ -3617,25 +3547,20 @@ estraverse@^4.1.0, estraverse@^4.1.1: resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - etag@~1.8.1: version "1.8.1" resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= eventemitter3@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.0.tgz#d65176163887ee59f386d64c82610b696a4a74eb" - integrity sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg== + version "4.0.4" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.4.tgz#b5463ace635a083d018bdc7c917b4c5f10a85384" + integrity sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ== events@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.0.0.tgz#9a0a0dfaf62893d92b875b8f2698ca4114973e88" - integrity sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA== + version "3.1.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.1.0.tgz#84279af1b34cb75aa88bf5ff291f6d0bd9b31a59" + integrity sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg== eventsource@^1.0.7: version "1.0.7" @@ -3794,22 +3719,27 @@ extsprintf@^1.2.0: resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= -fast-deep-equal@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614" - integrity sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ= - fast-deep-equal@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= -fast-json-stable-stringify@2.0.0, fast-json-stable-stringify@^2.0.0: +fast-deep-equal@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4" + integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA== + +fast-json-stable-stringify@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= -fastparse@^1.1.1: +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fastparse@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.2.tgz#91728c5a5942eced8531283c79441ee4122c35a9" integrity sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ== @@ -3829,9 +3759,9 @@ faye-websocket@~0.11.1: websocket-driver ">=0.5.1" figgy-pudding@^3.4.1, figgy-pudding@^3.5.1: - version "3.5.1" - resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790" - integrity sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w== + version "3.5.2" + resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" + integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw== figures@^2.0.0: version "2.0.0" @@ -3841,9 +3771,9 @@ figures@^2.0.0: escape-string-regexp "^1.0.5" figures@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-3.1.0.tgz#4b198dd07d8d71530642864af2d45dd9e459c4ec" - integrity sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg== + version "3.2.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" + integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== dependencies: escape-string-regexp "^1.0.5" @@ -3855,6 +3785,11 @@ file-loader@4.2.0: loader-utils "^1.2.3" schema-utils "^2.0.0" +file-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== + filename-reserved-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz#e61cf805f0de1c984567d0386dc5df50ee5af7e4" @@ -3938,6 +3873,14 @@ find-npm-prefix@^1.0.2: resolved "https://registry.yarnpkg.com/find-npm-prefix/-/find-npm-prefix-1.0.2.tgz#8d8ce2c78b3b4b9e66c8acc6a37c231eb841cfdf" integrity sha512-KEftzJ+H90x6pcKtdXZEPsQse8/y/UnvzRKrOSQFprnrGaFuJ62fVkP34Iu2IYuMvyauCyoLTNkJZgrrGA2wkA== +find-up@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= + dependencies: + path-exists "^2.0.0" + pinkie-promise "^2.0.0" + find-up@^2.0.0, find-up@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" @@ -3961,9 +3904,9 @@ find-up@^4.0.0: path-exists "^4.0.0" flatted@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.1.tgz#69e57caa8f0eacbc281d2e2cb458d46fdb449e08" - integrity sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg== + version "2.0.2" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" + integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== flush-write-stream@^1.0.0: version "1.1.1" @@ -3981,9 +3924,9 @@ follow-redirects@1.5.10: debug "=3.1.0" follow-redirects@^1.0.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.9.0.tgz#8d5bcdc65b7108fe1508649c79c12d732dcedb4f" - integrity sha512-CRcPzsSIbXyVDl0QI01muNDu69S8trU4jArW9LpOt2WtC6LyUJetcIrmfHsRBx7/Jb6GHJUiuqyYxPooFfNt6A== + version "1.11.0" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.11.0.tgz#afa14f08ba12a52963140fe43212658897bc0ecb" + integrity sha512-KZm0V+ll8PfBrKwMzdo5D13b1bur9Iq9Zd/RMmAoQQcl2PxxFml8cxXPaaPYVbV0RjNjq1CU7zIzAOqtUPudmA== dependencies: debug "^3.0.0" @@ -4089,17 +4032,27 @@ fs.realpath@^1.0.0: integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= fsevents@^1.2.7: - version "1.2.9" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.9.tgz#3f5ed66583ccd6f400b5a00db6f7e861363e388f" - integrity sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw== + version "1.2.13" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" + integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== dependencies: + bindings "^1.5.0" nan "^2.12.1" - node-pre-gyp "^0.12.0" -fsevents@~2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.2.tgz#4c0a1fb34bc68e543b4b82a9ec392bfbda840805" - integrity sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA== +fsevents@~2.1.2: + version "2.1.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" + integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== + +fstream@^1.0.0, fstream@^1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045" + integrity sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg== + dependencies: + graceful-fs "^4.1.2" + inherits "~2.0.0" + mkdirp ">=0.5 0" + rimraf "2" function-bind@^1.1.1: version "1.1.1" @@ -4120,11 +4073,23 @@ gauge@~2.7.3: strip-ansi "^3.0.1" wide-align "^1.1.0" +gaze@^1.0.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.3.tgz#c441733e13b927ac8c0ff0b4c3b033f28812924a" + integrity sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g== + dependencies: + globule "^1.0.0" + genfun@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/genfun/-/genfun-5.0.0.tgz#9dd9710a06900a5c4a5bf57aca5da4e52fe76537" integrity sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA== +gensync@^1.0.0-beta.1: + version "1.0.0-beta.1" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" + integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg== + gentle-fs@^2.3.0: version "2.3.1" resolved "https://registry.yarnpkg.com/gentle-fs/-/gentle-fs-2.3.1.tgz#11201bf66c18f930ddca72cf69460bdfa05727b1" @@ -4152,6 +4117,11 @@ get-caller-file@^2.0.1: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== +get-stdin@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" + integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4= + get-stream@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" @@ -4206,9 +4176,9 @@ github-api@^3.3.0: utf8 "^2.1.1" github-release-notes@^0.17.1: - version "0.17.1" - resolved "https://registry.yarnpkg.com/github-release-notes/-/github-release-notes-0.17.1.tgz#d85833d4cb4314d4cd66788a348ad168bcc83f7b" - integrity sha512-G+dEM7N8TtFDuMK2VJ9meIMYFkiTV7n3q/OhG3R2dJ/DH+qs+QicuyHLMAi/RIDX41YBIl9C5RGnw5y3xWhWfQ== + version "0.17.3" + resolved "https://registry.yarnpkg.com/github-release-notes/-/github-release-notes-0.17.3.tgz#c18663f6726f2b9441c378e111d8e9e8ad5930c7" + integrity sha512-MBCw3Nz7iWAtaDSPknUnNP6qg3r989J62OwrqHsokwuMNK5q2gX6989WIi06x5YpGYlF3vldW+jxBFqC3fbqPw== dependencies: babel-runtime "^6.26.0" base-64 "^0.1.0" @@ -4239,9 +4209,9 @@ glob-parent@^3.1.0: path-dirname "^1.0.0" glob-parent@~5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.0.tgz#5f4c1d1e748d30cd73ad2944b3577a81b081e8c2" - integrity sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw== + version "5.1.1" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" + integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== dependencies: is-glob "^4.0.1" @@ -4269,7 +4239,7 @@ glob@7.1.4: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.3, glob@^7.0.6, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: +glob@^7.0.0, glob@^7.0.3, glob@^7.0.6, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.1.1: version "7.1.6" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== @@ -4293,11 +4263,6 @@ globals@^11.1.0: resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== -globals@^9.18.0: - version "9.18.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" - integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ== - globby@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" @@ -4333,6 +4298,15 @@ globby@^7.1.1: pify "^3.0.0" slash "^1.0.0" +globule@^1.0.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/globule/-/globule-1.3.1.tgz#90a25338f22b7fbeb527cee63c629aea754d33b9" + integrity sha512-OVyWOHgw29yosRHCHo7NncwR1hW5ew0W/UrvtwvjefVJeQ26q4/8r8FmPsSF1hJ93IgWkyv16pCTz6WblMzm/g== + dependencies: + glob "~7.1.1" + lodash "~4.17.12" + minimatch "~3.0.2" + got@^6.7.1: version "6.7.1" resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" @@ -4367,33 +4341,22 @@ got@^9.6.0: to-readable-stream "^1.0.0" url-parse-lax "^3.0.0" -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" - integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== +graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.4: + version "4.2.4" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" + integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== handle-thing@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.0.tgz#0e039695ff50c93fc288557d696f3c1dc6776754" - integrity sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ== - -handlebars@^4.1.2: - version "4.5.3" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.5.3.tgz#5cf75bd8714f7605713511a56be7c349becb0482" - integrity sha512-3yPecJoJHK/4c6aZhSvxOyG4vJKDshV36VHp0iVCDVh7o9w2vwi3NSnL2MMPj3YdduqaBcu7cGbggJQM0br9xA== - dependencies: - neo-async "^2.6.0" - optimist "^0.6.1" - source-map "^0.6.1" - optionalDependencies: - uglify-js "^3.1.4" + version "2.0.1" + resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" + integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== har-schema@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= -har-validator@~5.1.0: +har-validator@~5.1.3: version "5.1.3" resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== @@ -4476,7 +4439,7 @@ has-yarn@^2.1.0: resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw== -has@^1.0.1, has@^1.0.3: +has@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== @@ -4484,12 +4447,13 @@ has@^1.0.1, has@^1.0.3: function-bind "^1.1.1" hash-base@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" - integrity sha1-X8hoaEfs1zSZQDMZprCj8/auSRg= + version "3.1.0" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" + integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" + inherits "^2.0.4" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" hash.js@^1.0.0, hash.js@^1.0.3: version "1.1.7" @@ -4508,12 +4472,7 @@ hmac-drbg@^1.0.0: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" -hosted-git-info@^2.1.4, hosted-git-info@^2.6.0, hosted-git-info@^2.7.1: - version "2.8.5" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.5.tgz#759cfcf2c4d156ade59b0b2dfabddc42a6b9c70c" - integrity sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg== - -hosted-git-info@^2.8.8: +hosted-git-info@^2.1.4, hosted-git-info@^2.6.0, hosted-git-info@^2.7.1, hosted-git-info@^2.8.8: version "2.8.8" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== @@ -4529,9 +4488,14 @@ hpack.js@^2.1.6: wbuf "^1.1.0" html-entities@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f" - integrity sha1-DfKTUfByEWNRXfueVUPl9u7VFi8= + version "1.3.1" + resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.3.1.tgz#fb9a1a4b5b14c5daba82d3e34c6ae4fe701a0e44" + integrity sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA== + +html-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== http-cache-semantics@^3.8.1: version "3.8.1" @@ -4604,9 +4568,9 @@ http-proxy-middleware@0.19.1: micromatch "^3.1.10" http-proxy@^1.13.0, http-proxy@^1.17.0: - version "1.18.0" - resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.0.tgz#dbe55f63e75a347db7f3d99974f2692a314a6a3a" - integrity sha512-84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ== + version "1.18.1" + resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" + integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== dependencies: eventemitter3 "^4.0.0" follow-redirects "^1.0.0" @@ -4649,7 +4613,7 @@ humanize-url@^1.0.0: normalize-url "^1.0.0" strip-url-auth "^1.0.0" -iconv-lite@0.4.24, iconv-lite@^0.4.17, iconv-lite@^0.4.24, iconv-lite@^0.4.4, iconv-lite@~0.4.13: +iconv-lite@0.4.24, iconv-lite@^0.4.17, iconv-lite@^0.4.24, iconv-lite@~0.4.13: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== @@ -4728,11 +4692,23 @@ import-local@^2.0.0: pkg-dir "^3.0.0" resolve-cwd "^2.0.0" -imurmurhash@*, imurmurhash@^0.1.4: +imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= +in-publish@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.1.tgz#948b1a535c8030561cea522f73f78f4be357e00c" + integrity sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ== + +indent-string@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" + integrity sha1-ji1INIdCEhtKghi3oTfppSBJ3IA= + dependencies: + repeating "^2.0.0" + indexes-of@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" @@ -4756,7 +4732,7 @@ inflight@^1.0.4, inflight@~1.0.6: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -4869,12 +4845,7 @@ ip@1.1.5, ip@^1.1.0, ip@^1.1.5: resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= -ipaddr.js@1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.0.tgz#37df74e430a0e47550fe54a2defe30d8acd95f65" - integrity sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA== - -ipaddr.js@^1.9.0: +ipaddr.js@1.9.1, ipaddr.js@^1.9.0: version "1.9.1" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== @@ -4927,10 +4898,10 @@ is-buffer@^1.1.5: resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== -is-callable@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" - integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== +is-callable@^1.1.4, is-callable@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.5.tgz#f7e46b596890456db74e7f6e976cb3273d06faab" + integrity sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q== is-ci@^1.0.10: version "1.2.1" @@ -4947,9 +4918,9 @@ is-ci@^2.0.0: ci-info "^2.0.0" is-cidr@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-cidr/-/is-cidr-3.1.0.tgz#72e233d8e1c4cd1d3f11713fcce3eba7b0e3476f" - integrity sha512-3kxTForpuj8O4iHn0ocsn1jxRm5VYm60GDghK6HXmpn4IyZOoRy9/GmdjFA2yEMqw91TB1/K3bFTuI7FlFNR1g== + version "3.1.1" + resolved "https://registry.yarnpkg.com/is-cidr/-/is-cidr-3.1.1.tgz#e92ef121bdec2782271a77ce487a8b8df3718ab7" + integrity sha512-Gx+oErgq1j2jAKCR2Kbq0b3wbH0vQKqZ0wOlHxm0o56nq51Cs/DZA8oz9dMDhbHyHEGgJ86eTeVudtgMMOx3Mw== dependencies: cidr-regex "^2.0.10" @@ -4968,9 +4939,9 @@ is-data-descriptor@^1.0.0: kind-of "^6.0.0" is-date-object@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" - integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" + integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== is-descriptor@^0.1.0: version "0.1.6" @@ -5013,11 +4984,9 @@ is-extglob@^2.1.0, is-extglob@^2.1.1: integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= is-finite@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" - integrity sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko= - dependencies: - number-is-nan "^1.0.0" + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.1.0.tgz#904135c77fb42c0641d6aa1bcdbc4daa8da082f3" + integrity sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w== is-fullwidth-code-point@^1.0.0: version "1.0.0" @@ -5135,22 +5104,17 @@ is-plain-object@^2.0.3, is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" -is-promise@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" - integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= - is-redirect@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" integrity sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ= -is-regex@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" - integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= +is-regex@^1.0.4, is-regex@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.5.tgz#39d589a358bf18967f726967120b8fc1aed74eae" + integrity sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ== dependencies: - has "^1.0.1" + has "^1.0.3" is-retry-allowed@^1.0.0: version "1.2.0" @@ -5174,6 +5138,11 @@ is-typedarray@~1.0.0: resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= +is-utf8@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= + is-windows@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" @@ -5234,9 +5203,9 @@ isstream@~0.1.2: integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= istanbul-api@^2.1.6: - version "2.1.6" - resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-2.1.6.tgz#d61702a9d1c66ad89d92e66d401e16b0bda4a35f" - integrity sha512-x0Eicp6KsShG1k1rMgBAi/1GgY7kFGEBwQpw3PXGEmu+rBcBNhqU8g2DgY9mlepAsLPzrzrbqSgCGANnki4POA== + version "2.1.7" + resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-2.1.7.tgz#82786b79f3b93d481349c7aa1e2c2b4eeb48c8a8" + integrity sha512-LYTOa2UrYFyJ/aSczZi/6lBykVMjCCvUmT64gOe+jPZFy4w6FYfPGqFT2IiQ2BxVHHDOvCD7qrIXb0EOh4uGWw== dependencies: async "^2.6.2" compare-versions "^3.4.0" @@ -5246,32 +5215,22 @@ istanbul-api@^2.1.6: istanbul-lib-instrument "^3.3.0" istanbul-lib-report "^2.0.8" istanbul-lib-source-maps "^3.0.6" - istanbul-reports "^2.2.4" + istanbul-reports "^2.2.5" js-yaml "^3.13.1" make-dir "^2.1.0" minimatch "^3.0.4" once "^1.4.0" -istanbul-instrumenter-loader@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/istanbul-instrumenter-loader/-/istanbul-instrumenter-loader-3.0.1.tgz#9957bd59252b373fae5c52b7b5188e6fde2a0949" - integrity sha512-a5SPObZgS0jB/ixaKSMdn6n/gXSrK2S6q/UfRJBT3e6gQmVjwZROTODQsYW5ZNwOu78hG62Y3fWlebaVOL0C+w== - dependencies: - convert-source-map "^1.5.0" - istanbul-lib-instrument "^1.7.3" - loader-utils "^1.1.0" - schema-utils "^0.3.0" - -istanbul-lib-coverage@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz#ccf7edcd0a0bb9b8f729feeb0930470f9af664f0" - integrity sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ== - istanbul-lib-coverage@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz#675f0ab69503fad4b1d849f736baaca803344f49" integrity sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA== +istanbul-lib-coverage@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" + integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== + istanbul-lib-hook@^2.0.7: version "2.0.7" resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz#c95695f383d4f8f60df1f04252a9550e15b5b133" @@ -5279,19 +5238,6 @@ istanbul-lib-hook@^2.0.7: dependencies: append-transform "^1.0.0" -istanbul-lib-instrument@^1.7.3: - version "1.10.2" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz#1f55ed10ac3c47f2bdddd5307935126754d0a9ca" - integrity sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A== - dependencies: - babel-generator "^6.18.0" - babel-template "^6.16.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" - babylon "^6.18.0" - istanbul-lib-coverage "^1.2.1" - semver "^5.3.0" - istanbul-lib-instrument@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz#a5f63d91f0bbc0c3e479ef4c5de027335ec6d630" @@ -5305,6 +5251,16 @@ istanbul-lib-instrument@^3.3.0: istanbul-lib-coverage "^2.0.5" semver "^6.0.0" +istanbul-lib-instrument@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" + integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== + dependencies: + "@babel/core" "^7.7.5" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.0.0" + semver "^6.3.0" + istanbul-lib-report@^2.0.8: version "2.0.8" resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz#5a8113cd746d43c4889eba36ab10e7d50c9b4f33" @@ -5325,12 +5281,12 @@ istanbul-lib-source-maps@^3.0.6: rimraf "^2.6.3" source-map "^0.6.1" -istanbul-reports@^2.2.4: - version "2.2.6" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.6.tgz#7b4f2660d82b29303a8fe6091f8ca4bf058da1af" - integrity sha512-SKi4rnMyLBKe0Jy2uUdx28h8oG7ph2PPuQPvIAh31d+Ci+lSiEu4C+h3oBPuJ9+mPKhOyW0M8gY4U5NM1WLeXA== +istanbul-reports@^2.2.5: + version "2.2.7" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.7.tgz#5d939f6237d7b48393cc0959eab40cd4fd056931" + integrity sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg== dependencies: - handlebars "^4.1.2" + html-escaper "^2.0.0" jasmine-core@^3.3, jasmine-core@~3.5.0: version "3.5.0" @@ -5371,21 +5327,21 @@ jest-worker@24.9.0: merge-stream "^2.0.0" supports-color "^6.1.0" -js-base64@^2.1.9: +js-base64@^2.1.8, js-base64@^2.1.9: version "2.5.2" resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.5.2.tgz#313b6274dda718f714d00b3330bbae6e38e90209" integrity sha512-Vg8czh0Q7sFBSUMWWArX/miJeBWYBPpdU/3M/DKSaekLMqrqVPaedp+5mZhie/r0lgrcaYBfwXatEew6gwgiQQ== js-beautify@^1.7.4: - version "1.10.3" - resolved "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.10.3.tgz#c73fa10cf69d3dfa52d8ed624f23c64c0a6a94c1" - integrity sha512-wfk/IAWobz1TfApSdivH5PJ0miIHgDoYb1ugSqHcODPmaYu46rYe5FVuIEkhjg8IQiv6rDNPyhsqbsohI/C2vQ== + version "1.11.0" + resolved "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.11.0.tgz#afb873dc47d58986360093dcb69951e8bcd5ded2" + integrity sha512-a26B+Cx7USQGSWnz9YxgJNMmML/QG2nqIaL7VVYPCXbqiKz8PN0waSNvroMtvAK6tY7g/wPdNWGEP+JTNIBr6A== dependencies: config-chain "^1.1.12" editorconfig "^0.15.3" glob "^7.1.3" - mkdirp "~0.5.1" - nopt "~4.0.1" + mkdirp "~1.0.3" + nopt "^4.0.3" js-levenshtein@^1.1.3: version "1.1.6" @@ -5397,11 +5353,6 @@ js-levenshtein@^1.1.3: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-tokens@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" - integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= - js-yaml@, js-yaml@^3.13.1: version "3.13.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" @@ -5415,11 +5366,6 @@ jsbn@~0.1.0: resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= -jsesc@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" - integrity sha1-RsP+yMGJKxKwgz25vHYiF226s0s= - jsesc@^2.5.1: version "2.5.2" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" @@ -5440,11 +5386,6 @@ json-parse-better-errors@^1.0.0, json-parse-better-errors@^1.0.1, json-parse-bet resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== -json-schema-traverse@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" - integrity sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A= - json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" @@ -5479,12 +5420,12 @@ json5@^1.0.1: dependencies: minimist "^1.2.0" -json5@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.1.tgz#81b6cb04e9ba496f1c7005d07b4368a2638f90b6" - integrity sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ== +json5@^2.1.0, json5@^2.1.2: + version "2.1.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" + integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA== dependencies: - minimist "^1.2.0" + minimist "^1.2.5" jsonfile@^4.0.0: version "4.0.0" @@ -5509,9 +5450,9 @@ jsprim@^1.2.2: verror "1.10.0" jszip@^3.1.3: - version "3.2.2" - resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.2.2.tgz#b143816df7e106a9597a94c77493385adca5bd1d" - integrity sha512-NmKajvAFQpbg3taXQXr/ccS2wcucR1AZ+NtyWp2Nq7HHVsXhcJFR8p0Baf32C2yVvBylFWVeKf+WI2AnvlPhpA== + version "3.4.0" + resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.4.0.tgz#1a69421fa5f0bb9bc222a46bca88182fba075350" + integrity sha512-gZAOYuPl4EhPTXT0GjhI3o+ZAz3su6EhLrKUoAivcKqyqC7laS5JEv4XWZND9BgcDcF83vI85yGbDmDR6UhrIg== dependencies: lie "~3.3.0" pako "~1.0.2" @@ -5621,9 +5562,9 @@ kind-of@^5.0.0: integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== kind-of@^6.0.0, kind-of@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" - integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== latest-version@^3.0.0: version "3.1.0" @@ -5832,6 +5773,17 @@ lie@~3.3.0: dependencies: immediate "~3.0.5" +load-json-file@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" + integrity sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA= + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + pinkie-promise "^2.0.0" + strip-bom "^2.0.0" + load-json-file@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" @@ -5847,7 +5799,7 @@ loader-runner@^2.4.0: resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== -loader-utils@1.2.3, loader-utils@^1.0.1, loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3: +loader-utils@1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA== @@ -5856,6 +5808,15 @@ loader-utils@1.2.3, loader-utils@^1.0.1, loader-utils@^1.0.2, loader-utils@^1.1. emojis-list "^2.0.0" json5 "^1.0.1" +loader-utils@^1.0.1, loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" + integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^1.0.1" + locate-path@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" @@ -5895,11 +5856,6 @@ lockfile@^1.0.4: dependencies: signal-exit "^3.0.2" -lodash._baseindexof@*: - version "3.1.0" - resolved "https://registry.yarnpkg.com/lodash._baseindexof/-/lodash._baseindexof-3.1.0.tgz#fe52b53a1c6761e42618d654e4a25789ed61822c" - integrity sha1-/lK1OhxnYeQmGNZU5KJXie1hgiw= - lodash._baseuniq@~4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash._baseuniq/-/lodash._baseuniq-4.6.0.tgz#0ebb44e456814af7905c6212fa2c9b2d51b841e8" @@ -5908,33 +5864,11 @@ lodash._baseuniq@~4.6.0: lodash._createset "~4.0.0" lodash._root "~3.0.0" -lodash._bindcallback@*: - version "3.0.1" - resolved "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz#e531c27644cf8b57a99e17ed95b35c748789392e" - integrity sha1-5THCdkTPi1epnhftlbNcdIeJOS4= - -lodash._cacheindexof@*: - version "3.0.2" - resolved "https://registry.yarnpkg.com/lodash._cacheindexof/-/lodash._cacheindexof-3.0.2.tgz#3dc69ac82498d2ee5e3ce56091bafd2adc7bde92" - integrity sha1-PcaayCSY0u5ePOVgkbr9Ktx73pI= - -lodash._createcache@*: - version "3.1.2" - resolved "https://registry.yarnpkg.com/lodash._createcache/-/lodash._createcache-3.1.2.tgz#56d6a064017625e79ebca6b8018e17440bdcf093" - integrity sha1-VtagZAF2JeeevKa4AY4XRAvc8JM= - dependencies: - lodash._getnative "^3.0.0" - lodash._createset@~4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/lodash._createset/-/lodash._createset-4.0.3.tgz#0f4659fbb09d75194fa9e2b88a6644d363c9fe26" integrity sha1-D0ZZ+7CddRlPqeK4imZE02PJ/iY= -lodash._getnative@*, lodash._getnative@^3.0.0: - version "3.9.1" - resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" - integrity sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U= - lodash._root@~3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692" @@ -5945,11 +5879,6 @@ lodash.clonedeep@^4.5.0, lodash.clonedeep@~4.5.0: resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= -lodash.restparam@*: - version "3.6.1" - resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" - integrity sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU= - lodash.toarray@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.toarray/-/lodash.toarray-4.4.0.tgz#24c4bfcd6b2fba38bfd0594db1179d8e9b656561" @@ -5970,7 +5899,7 @@ lodash.without@~4.4.0: resolved "https://registry.yarnpkg.com/lodash.without/-/lodash.without-4.4.0.tgz#3cd4574a00b67bae373a94b748772640507b7aac" integrity sha1-PNRXSgC2e643OpS3SHcmQFB7eqw= -lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.3.0: +lodash@^4.0.0, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.5, lodash@^4.3.0, lodash@~4.17.12: version "4.17.15" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== @@ -5994,9 +5923,9 @@ log4js@^4.0.0: streamroller "^1.0.6" loglevel@^1.6.4: - version "1.6.6" - resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.6.tgz#0ee6300cc058db6b3551fa1c4bf73b83bb771312" - integrity sha512-Sgr5lbboAUBo3eXCSPL4/KoVz3ROKquOjcctxmHIt+vol2DrqTQe3SwkKKuYhEiWB5kYa13YyopJ69deJ1irzQ== + version "1.6.8" + resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.8.tgz#8a25fb75d092230ecd4457270d80b54e28011171" + integrity sha512-bsU7+gc9AJ2SqpzxwU3+1fedl8zAntbtC5XYlt3s2j1hJcn2PsXSmgN8TaLG/J1/2mod4+cE/3vNL70/c1RNCA== loose-envify@^1.0.0: version "1.4.0" @@ -6005,6 +5934,14 @@ loose-envify@^1.0.0: dependencies: js-tokens "^3.0.0 || ^4.0.0" +loud-rejection@^1.0.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" + integrity sha1-W0b4AUft7leIcPCG0Eghz5mOVR8= + dependencies: + currently-unhandled "^0.4.1" + signal-exit "^3.0.0" + lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" @@ -6038,9 +5975,9 @@ magic-string@0.25.3: sourcemap-codec "^1.4.4" magic-string@^0.25.0: - version "0.25.4" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.4.tgz#325b8a0a79fc423db109b77fd5a19183b7ba5143" - integrity sha512-oycWO9nEVAP2RVPbIoDoA4Y7LFIJ3xRYov93gAyJhZkET1tNuB0u7uWkZS2LpBWTJUWnmau/To8ECWRC+jKNfw== + version "0.25.7" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" + integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== dependencies: sourcemap-codec "^1.4.4" @@ -6060,16 +5997,16 @@ make-dir@^2.0.0, make-dir@^2.1.0: semver "^5.6.0" make-dir@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.0.0.tgz#1b5f39f6b9270ed33f9f054c5c0f84304989f801" - integrity sha512-grNJDhb8b1Jm1qeqW5R/O63wUo4UXo2v2HMic6YT9i/HBlF93S8jkMgH7yugvY9ABDShH4VZMn8I+U8+fCNegw== + version "3.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== dependencies: semver "^6.0.0" make-error@^1.1.1: - version "1.3.5" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.5.tgz#efe4e81f6db28cadd605c70f29c831b58ef776c8" - integrity sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g== + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== make-fetch-happen@^5.0.0: version "5.0.2" @@ -6105,6 +6042,11 @@ map-cache@^0.2.2: resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= +map-obj@^1.0.0, map-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= + map-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" @@ -6163,11 +6105,34 @@ memory-fs@^0.5.0: errno "^0.1.3" readable-stream "^2.0.1" +meow@^3.7.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" + integrity sha1-cstmi0JSKCkKu/qFaJJYcwioAfs= + dependencies: + camelcase-keys "^2.0.0" + decamelize "^1.1.2" + loud-rejection "^1.0.0" + map-obj "^1.0.1" + minimist "^1.1.3" + normalize-package-data "^2.3.4" + object-assign "^4.0.1" + read-pkg-up "^1.0.1" + redent "^1.0.0" + trim-newlines "^1.0.0" + merge-descriptors@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= +merge-source-map@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.1.0.tgz#2fdde7e6020939f70906a68f2d7ae685e4c8c646" + integrity sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw== + dependencies: + source-map "^0.6.1" + merge-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" @@ -6205,17 +6170,17 @@ miller-rabin@^4.0.0: bn.js "^4.0.0" brorand "^1.0.1" -mime-db@1.42.0, "mime-db@>= 1.40.0 < 2": - version "1.42.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.42.0.tgz#3e252907b4c7adb906597b4b65636272cf9e7bac" - integrity sha512-UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ== +mime-db@1.44.0, "mime-db@>= 1.43.0 < 2": + version "1.44.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92" + integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg== mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: - version "2.1.25" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.25.tgz#39772d46621f93e2a80a856c53b86a62156a6437" - integrity sha512-5KhStqB5xpTAeGqKBAMgwaYMnQik7teQN4IAzC7npDv6kzeU6prfkR67bc87J1kWMPGkoaZSq1npmexMgkmEVg== + version "2.1.27" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" + integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w== dependencies: - mime-db "1.42.0" + mime-db "1.44.0" mime@1.6.0, mime@^1.4.1: version "1.6.0" @@ -6223,9 +6188,9 @@ mime@1.6.0, mime@^1.4.1: integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== mime@^2.3.1, mime@^2.4.4: - version "2.4.4" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz#bd7b91135fc6b01cde3e9bae33d659b63d8857e5" - integrity sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA== + version "2.4.5" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.5.tgz#d8de2ecb92982dedbb6541c9b6841d7f218ea009" + integrity sha512-3hQhEUF027BuxZjQA3s7rIv/7VCQPa27hN9u9g87sEkWaKwQPuXOkVKtOeiyUrnWqTDiOs8Ed2rwg733mB0R5w== mimic-fn@^1.0.0: version "1.2.0" @@ -6262,28 +6227,18 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= -minimatch@3.0.4, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4: +minimatch@3.0.4, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4, minimatch@~3.0.2: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== dependencies: brace-expansion "^1.1.7" -minimist@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= - -minimist@^1.1.1, minimist@^1.2.5: +minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== -minimist@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" - integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= - minimist@~0.0.1: version "0.0.10" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" @@ -6328,20 +6283,18 @@ mixin-deep@^1.2.0: for-in "^1.0.2" is-extendable "^1.0.1" -mkdirp@0.5.x, mkdirp@^0.5.0, mkdirp@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" - integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= - dependencies: - minimist "0.0.8" - -mkdirp@^0.5.4, mkdirp@~0.5.0, mkdirp@~0.5.1: - version "0.5.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.4.tgz#fd01504a6797ec5c9be81ff43d204961ed64a512" - integrity sha512-iG9AK/dJLtJ0XNgTuDbSyNS3zECqDlAhnQW4CsNxBG3LQJBbHmRX1egw39DmtOdCAqY+dKXV+sgPgilNWUKMVw== +mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.5, mkdirp@~0.5.0: + version "0.5.5" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" + integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== dependencies: minimist "^1.2.5" +mkdirp@~1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + move-concurrently@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" @@ -6392,10 +6345,10 @@ mute-stream@0.0.8, mute-stream@~0.0.4: resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== -nan@^2.12.1: - version "2.14.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" - integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== +nan@^2.12.1, nan@^2.13.2: + version "2.14.1" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01" + integrity sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw== nanomatch@^1.2.9: version "1.2.13" @@ -6414,21 +6367,12 @@ nanomatch@^1.2.9: snapdragon "^0.8.1" to-regex "^3.0.1" -needle@^2.2.1: - version "2.4.0" - resolved "https://registry.yarnpkg.com/needle/-/needle-2.4.0.tgz#6833e74975c444642590e15a750288c5f939b57c" - integrity sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg== - dependencies: - debug "^3.2.6" - iconv-lite "^0.4.4" - sax "^1.2.4" - negotiator@0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== -neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1: +neo-async@^2.5.0, neo-async@^2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== @@ -6456,9 +6400,9 @@ node-emoji@^1.8.1: lodash.toarray "^4.4.0" node-fetch-npm@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/node-fetch-npm/-/node-fetch-npm-2.0.2.tgz#7258c9046182dca345b4208eda918daf33697ff7" - integrity sha512-nJIxm1QmAj4v3nfCvEeCrYSoVwXyxLnaPBK5W1W5DGEJwjlKuC2VEUycGw5oxk+4zZahRrB84PUJJgEmhFTDFw== + version "2.0.4" + resolved "https://registry.yarnpkg.com/node-fetch-npm/-/node-fetch-npm-2.0.4.tgz#6507d0e17a9ec0be3bec516958a497cec54bf5a4" + integrity sha512-iOuIQDWDyjhv9qSDrj9aq/klt6F9z1p2otB3AV7v3zBDcL/x+OfGsvGQZZCcMZbUf4Ujw1xGNQkjvGnVT22cKg== dependencies: encoding "^0.1.11" json-parse-better-errors "^1.0.0" @@ -6477,6 +6421,24 @@ node-forge@0.9.0: resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.9.0.tgz#d624050edbb44874adca12bb9a52ec63cb782579" integrity sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ== +node-gyp@^3.8.0: + version "3.8.0" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.8.0.tgz#540304261c330e80d0d5edce253a68cb3964218c" + integrity sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA== + dependencies: + fstream "^1.0.0" + glob "^7.0.3" + graceful-fs "^4.1.2" + mkdirp "^0.5.0" + nopt "2 || 3" + npmlog "0 || 1 || 2 || 3 || 4" + osenv "0" + request "^2.87.0" + rimraf "2" + semver "~5.3.0" + tar "^2.0.0" + which "1" + node-gyp@^5.0.2, node-gyp@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-5.1.0.tgz#8e31260a7af4a2e2f994b0673d4e0b3866156332" @@ -6523,45 +6485,42 @@ node-libs-browser@^2.2.1: util "^0.11.0" vm-browserify "^1.0.1" -node-pre-gyp@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz#39ba4bb1439da030295f899e3b520b7785766149" - integrity sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A== - dependencies: - detect-libc "^1.0.2" - mkdirp "^0.5.1" - needle "^2.2.1" - nopt "^4.0.1" - npm-packlist "^1.1.6" - npmlog "^4.0.2" - rc "^1.2.7" - rimraf "^2.6.1" - semver "^5.3.0" - tar "^4" - -node-releases@^1.1.25, node-releases@^1.1.42: - version "1.1.42" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.42.tgz#a999f6a62f8746981f6da90627a8d2fc090bbad7" - integrity sha512-OQ/ESmUqGawI2PRX+XIRao44qWYBBfN54ImQYdWVTQqUckuejOg76ysSqDBK8NG3zwySRVnX36JwDQ6x+9GxzA== - dependencies: - semver "^6.3.0" +node-releases@^1.1.52, node-releases@^1.1.53: + version "1.1.56" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.56.tgz#bc054a417d316e3adac90eafb7e1932802f28705" + integrity sha512-EVo605FhWLygH8a64TjgpjyHYOihkxECwX1bHHr8tETJKWEiWS2YJjPbvsX2jFjnjTNEgBCmk9mLjKG1Mf11cw== -node-releases@^1.1.52: - version "1.1.52" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.52.tgz#bcffee3e0a758e92e44ecfaecd0a47554b0bcba9" - integrity sha512-snSiT1UypkgGt2wxPqS6ImEUICbNCMb31yaxWrOLXjhlt2z2/IBpaOxzONExqSm4y5oLnAqjjRWu+wsDzK5yNQ== +node-sass@^4.14.1: + version "4.14.1" + resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.14.1.tgz#99c87ec2efb7047ed638fb4c9db7f3a42e2217b5" + integrity sha512-sjCuOlvGyCJS40R8BscF5vhVlQjNN069NtQ1gSxyK1u9iqvn6tf7O1R4GNowVZfiZUCRt5MmMs1xd+4V/7Yr0g== dependencies: - semver "^6.3.0" + async-foreach "^0.1.3" + chalk "^1.1.1" + cross-spawn "^3.0.0" + gaze "^1.0.0" + get-stdin "^4.0.1" + glob "^7.0.3" + in-publish "^2.0.0" + lodash "^4.17.15" + meow "^3.7.0" + mkdirp "^0.5.1" + nan "^2.13.2" + node-gyp "^3.8.0" + npmlog "^4.0.0" + request "^2.88.0" + sass-graph "2.2.5" + stdout-stream "^1.4.0" + "true-case-path" "^1.0.2" -nopt@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" - integrity sha1-0NRoWv1UFRk8jHUFYC0NF81kR00= +"nopt@2 || 3": + version "3.0.6" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + integrity sha1-xkZdvwirzU2zWTF/eaxopkayj/k= dependencies: abbrev "1" - osenv "^0.1.4" -nopt@~4.0.1: +nopt@^4.0.1, nopt@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.3.tgz#a375cad9d02fd921278d954c2254d5aa57e15e48" integrity sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg== @@ -6569,7 +6528,7 @@ nopt@~4.0.1: abbrev "1" osenv "^0.1.4" -normalize-package-data@^2.0.0, normalize-package-data@^2.3.2, normalize-package-data@^2.4.0, normalize-package-data@^2.5.0: +normalize-package-data@^2.0.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.4.0, normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== @@ -6625,9 +6584,11 @@ npm-audit-report@^1.3.2: console-control-strings "^1.1.0" npm-bundled@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.0.tgz#2e8fdb7e69eff2df963937b696243316537c284b" - integrity sha512-ez6dcKBFNo4FvlMqscBEFUum6M2FTLW5grqm3DyBKB5XOyKVCeeWvAuoZtbmW/5Cv8EM2bQUOA6ufxa/TKVN0g== + version "1.1.1" + resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.1.tgz#1edd570865a94cdb1bc8220775e29466c9fb234b" + integrity sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA== + dependencies: + npm-normalize-package-bin "^1.0.1" npm-cache-filename@~1.0.2: version "1.0.2" @@ -6685,15 +6646,7 @@ npm-package-arg@6.1.0: semver "^5.6.0" validate-npm-package-name "^3.0.0" -npm-packlist@^1.1.12, npm-packlist@^1.1.6: - version "1.4.6" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.6.tgz#53ba3ed11f8523079f1457376dd379ee4ea42ff4" - integrity sha512-u65uQdb+qwtGvEJh/DgQgW1Xg7sqeNbmxYyrvlNznaVTjV3E5P6F/EFjM+BVHXl7JJlsdG8A64M0XI8FI/IOlg== - dependencies: - ignore-walk "^3.0.1" - npm-bundled "^1.0.1" - -npm-packlist@^1.4.8: +npm-packlist@^1.1.12, npm-packlist@^1.4.8: version "1.4.8" resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.8.tgz#56ee6cc135b9f98ad3d51c1c95da22bbb9b2ef3e" integrity sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A== @@ -6729,23 +6682,10 @@ npm-profile@^4.0.2, npm-profile@^4.0.4: figgy-pudding "^3.4.1" npm-registry-fetch "^4.0.0" -npm-registry-fetch@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-4.0.2.tgz#2b1434f93ccbe6b6385f8e45f45db93e16921d7a" - integrity sha512-Z0IFtPEozNdeZRPh3aHHxdG+ZRpzcbQaJLthsm3VhNf6DScicTFRHZzK82u8RsJUsUHkX+QH/zcB/5pmd20H4A== - dependencies: - JSONStream "^1.3.4" - bluebird "^3.5.1" - figgy-pudding "^3.4.1" - lru-cache "^5.1.1" - make-fetch-happen "^5.0.0" - npm-package-arg "^6.1.0" - safe-buffer "^5.2.0" - -npm-registry-fetch@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-4.0.3.tgz#3c2179e39e04f9348b1c2979545951d36bee8766" - integrity sha512-WGvUx0lkKFhu9MbiGFuT9nG2NpfQ+4dCJwRwwtK2HK5izJEvwDxMeUyqbuMS7N/OkpVCqDorV6rO5E4V9F8lJw== +npm-registry-fetch@^4.0.0, npm-registry-fetch@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-4.0.4.tgz#2da1ecf3f43d419d96abf313664291a4623d3ea5" + integrity sha512-6jb34hX/iYNQebqWUHtU8YF6Cjb1H6ouTFPClYsyiW6lpFkljTpdeftm53rRojtja1rKAvKNIIiTS5Sjpw4wsA== dependencies: JSONStream "^1.3.4" bluebird "^3.5.1" @@ -6768,9 +6708,9 @@ npm-user-validate@~1.0.0: integrity sha1-jOyg9c6gTU6TUZ73LQVXp1Ei6VE= npm@^6.13.4: - version "6.14.4" - resolved "https://registry.yarnpkg.com/npm/-/npm-6.14.4.tgz#50a1c6274fb451ca18f6ff472d2a73f006adbd66" - integrity sha512-B8UDDbWvdkW6RgXFn8/h2cHJP/u/FPa4HWeGzW23aNEBARN3QPrRaHqPIZW2NSN3fW649gtgUDNZpaRs0zTMPw== + version "6.14.5" + resolved "https://registry.yarnpkg.com/npm/-/npm-6.14.5.tgz#2cc59a3158cdd8461b486d0584c74ab554567219" + integrity sha512-CDwa3FJd0XJpKDbWCST484H+mCNjF26dPrU+xnREW+upR0UODjMEfXPl3bxWuAwZIX6c2ASg1plLO7jP8ehWeA== dependencies: JSONStream "^1.3.5" abbrev "~1.1.1" @@ -6800,7 +6740,7 @@ npm@^6.13.4: fs-write-stream-atomic "~1.0.10" gentle-fs "^2.3.0" glob "^7.1.6" - graceful-fs "^4.2.3" + graceful-fs "^4.2.4" has-unicode "~2.0.1" hosted-git-info "^2.8.8" iferr "^1.0.2" @@ -6830,10 +6770,10 @@ npm@^6.13.4: lru-cache "^5.1.1" meant "~1.0.1" mississippi "^3.0.0" - mkdirp "^0.5.4" + mkdirp "^0.5.5" move-concurrently "^1.0.1" node-gyp "^5.1.0" - nopt "~4.0.1" + nopt "^4.0.3" normalize-package-data "^2.5.0" npm-audit-report "^1.3.2" npm-cache-filename "~1.0.2" @@ -6843,7 +6783,7 @@ npm@^6.13.4: npm-packlist "^1.4.8" npm-pick-manifest "^3.0.2" npm-profile "^4.0.4" - npm-registry-fetch "^4.0.3" + npm-registry-fetch "^4.0.4" npm-user-validate "~1.0.0" npmlog "~4.1.2" once "~1.4.0" @@ -6888,7 +6828,7 @@ npm@^6.13.4: worker-farm "^1.7.0" write-file-atomic "^2.4.3" -npmlog@^4.0.2, npmlog@^4.1.2, npmlog@~4.1.2: +"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.1.2, npmlog@~4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== @@ -6943,9 +6883,12 @@ object-inspect@^1.7.0: integrity sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw== object-is@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.0.1.tgz#0aa60ec9989a0b3ed795cf4d06f62cf1ad6539b6" - integrity sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY= + version "1.1.2" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.2.tgz#c5d2e87ff9e119f78b7a088441519e2eec1573b6" + integrity sha512-5lHCz+0uufF6wZ7CRFWJN3hp8Jqblpgve06U5CMQ3f//6iDjPr2PEo9MWCjEssDsa+UZEL4PkFpr+BMop6aKzQ== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: version "1.1.1" @@ -6970,12 +6913,12 @@ object.assign@^4.1.0: object-keys "^1.0.11" object.getownpropertydescriptors@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" - integrity sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY= + version "2.1.0" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649" + integrity sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg== dependencies: - define-properties "^1.1.2" - es-abstract "^1.5.1" + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" object.pick@^1.3.0: version "1.3.0" @@ -7041,7 +6984,7 @@ opn@^5.5.0: dependencies: is-wsl "^1.1.0" -optimist@^0.6.1, optimist@~0.6.0: +optimist@^0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" integrity sha1-2j6nRob6IaGaERwybpDrFaAZZoY= @@ -7099,7 +7042,7 @@ os-tmpdir@^1.0.0, os-tmpdir@~1.0.1, os-tmpdir@~1.0.2: resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= -osenv@^0.1.4, osenv@^0.1.5: +osenv@0, osenv@^0.1.4, osenv@^0.1.5: version "0.1.5" resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== @@ -7134,10 +7077,10 @@ p-limit@^1.1.0: dependencies: p-try "^1.0.0" -p-limit@^2.0.0, p-limit@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.1.tgz#aa07a788cc3151c939b5131f63570f0dd2009537" - integrity sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg== +p-limit@^2.0.0, p-limit@^2.2.0, p-limit@^2.2.1: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== dependencies: p-try "^2.0.0" @@ -7275,9 +7218,9 @@ pacote@^9.1.0, pacote@^9.5.12, pacote@^9.5.3: which "^1.3.1" pako@~1.0.2, pako@~1.0.5: - version "1.0.10" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.10.tgz#4328badb5086a426aa90f541977d4955da5c9732" - integrity sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw== + version "1.0.11" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" + integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== parallel-transform@^1.1.0: version "1.2.0" @@ -7288,7 +7231,7 @@ parallel-transform@^1.1.0: inherits "^2.0.3" readable-stream "^2.1.5" -parse-asn1@^5.0.0: +parse-asn1@^5.0.0, parse-asn1@^5.1.5: version "5.1.5" resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.5.tgz#003271343da58dc94cace494faef3d2147ecea0e" integrity sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ== @@ -7354,6 +7297,13 @@ path-dirname@^1.0.0: resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= +path-exists@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= + dependencies: + pinkie-promise "^2.0.0" + path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" @@ -7389,6 +7339,15 @@ path-to-regexp@0.1.7: resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= +path-type@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" + integrity sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE= + dependencies: + graceful-fs "^4.1.2" + pify "^2.0.0" + pinkie-promise "^2.0.0" + path-type@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" @@ -7419,10 +7378,10 @@ performance-now@^2.1.0: resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= -picomatch@^2.0.4: - version "2.1.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.1.1.tgz#ecdfbea7704adb5fe6fb47f9866c4c0e15e905c5" - integrity sha512-OYMyqkKzK7blWO/+XZYP6w8hH0LDvkBvdvKukti+7kqYFCiEAk+gI3DWnryapc0Dau05ugGTy0foQ6mqn4AHYA== +picomatch@^2.0.4, picomatch@^2.2.1: + version "2.2.2" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" + integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== pify@^2.0.0, pify@^2.3.0: version "2.3.0" @@ -7465,6 +7424,13 @@ pkg-dir@^4.1.0: dependencies: find-up "^4.0.0" +pkg-up@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f" + integrity sha1-yBmscoBZpGHKscOImivjxJoATX8= + dependencies: + find-up "^2.1.0" + pkg-up@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5" @@ -7473,9 +7439,9 @@ pkg-up@^3.1.0: find-up "^3.0.0" portfinder@^1.0.25: - version "1.0.25" - resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.25.tgz#254fd337ffba869f4b9d37edc298059cb4d35eca" - integrity sha512-6ElJnHBbxVA1XSLgBp7G1FiCkQdlqGzuF7DswL5tcea+E8UpuvPU7beVAjjRwCioTS9ZluNbu+ZyRvgTsmqEBg== + version "1.0.26" + resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.26.tgz#475658d56ca30bed72ac7f1378ed350bd1b64e70" + integrity sha512-Xi7mKxJHHMI3rIUrnm/jjUgwhbYMkp/XKEcZX3aG4BrumLpq3nmoQMX+ClYnDZnZ/New7IatC1no5RX0zo1vXQ== dependencies: async "^2.6.2" debug "^3.1.1" @@ -7554,15 +7520,10 @@ postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0: resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== -postcss-value-parser@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz#482282c09a42706d1fc9a069b73f44ec08391dc9" - integrity sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ== - -postcss-value-parser@^4.0.2: - version "4.0.3" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.3.tgz#651ff4593aa9eda8d5d0d66593a2417aeaeb325d" - integrity sha512-N7h4pG+Nnu5BEIzyeaaIYWs0LI5XC40OrRh5L60z0QjFsqGWcHcbkBvpe1WYpcIS9yQ8sOi/vIPt1ejQCrMVrg== +postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" + integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== postcss@7.0.17: version "7.0.17" @@ -7582,19 +7543,10 @@ postcss@^6.0.9: source-map "^0.6.1" supports-color "^5.4.0" -postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.17: - version "7.0.24" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.24.tgz#972c3c5be431b32e40caefe6c81b5a19117704c2" - integrity sha512-Xl0XvdNWg+CblAXzNvbSOUvgJXwSjmbAKORqyw9V2AlHrm1js2gFw9y3jibBAhpKZi8b5JzJCVh/FyzPsTtgTA== - dependencies: - chalk "^2.4.2" - source-map "^0.6.1" - supports-color "^6.1.0" - -postcss@^7.0.11, postcss@^7.0.14, postcss@^7.0.18, postcss@^7.0.21, postcss@^7.0.26: - version "7.0.27" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.27.tgz#cc67cdc6b0daa375105b7c424a85567345fc54d9" - integrity sha512-WuQETPMcW9Uf1/22HWUWP9lgsIC+KEHg2kozMflKjbeUtw9ujvFX6QmIfozaErDkmLWS9WEnEdEe6Uo9/BNTdQ== +postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.11, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.18, postcss@^7.0.21, postcss@^7.0.30: + version "7.0.30" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.30.tgz#cc9378beffe46a02cbc4506a0477d05fcea9a8e2" + integrity sha512-nu/0m+NtIzoubO+xdAlwZl/u5S5vi/y6BCsoL8D+8IxsD3XvBS8X4YEADNIVXKVuQvduiucnRv+vPIqj56EGMQ== dependencies: chalk "^2.4.2" source-map "^0.6.1" @@ -7615,7 +7567,7 @@ pretty-hrtime@^1.0.3: resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" integrity sha1-t+PqQkNaTJsnWdmeDyAesZWALuE= -private@^0.1.6: +private@^0.1.8: version "0.1.8" resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== @@ -7670,9 +7622,9 @@ protoduck@^5.0.1: genfun "^5.0.0" protractor@~5.4.0: - version "5.4.2" - resolved "https://registry.yarnpkg.com/protractor/-/protractor-5.4.2.tgz#329efe37f48b2141ab9467799be2d4d12eb48c13" - integrity sha512-zlIj64Cr6IOWP7RwxVeD8O4UskLYPoyIcg0HboWJL9T79F1F0VWtKkGTr/9GN6BKL+/Q/GmM7C9kFVCfDbP5sA== + version "5.4.4" + resolved "https://registry.yarnpkg.com/protractor/-/protractor-5.4.4.tgz#b241466aaf83b76bc2c58df67deb9a5cdfc61529" + integrity sha512-BaL4vePgu3Vfa/whvTUAlgaCAId4uNSGxIFSCXMgj7LMYENPWLp85h5RBi9pdpX/bWQ8SF6flP7afmi2TC4eHw== dependencies: "@types/q" "^0.0.32" "@types/selenium-webdriver" "^3.0.0" @@ -7682,21 +7634,21 @@ protractor@~5.4.0: glob "^7.0.3" jasmine "2.8.0" jasminewd2 "^2.1.0" - optimist "~0.6.0" q "1.4.1" saucelabs "^1.5.0" selenium-webdriver "3.6.0" source-map-support "~0.4.0" webdriver-js-extender "2.1.0" webdriver-manager "^12.0.6" + yargs "^12.0.5" proxy-addr@~2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.5.tgz#34cbd64a2d81f4b1fd21e76f9f06c8a45299ee34" - integrity sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ== + version "2.0.6" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.6.tgz#fdc2336505447d3f2f2c638ed272caf614bbb2bf" + integrity sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw== dependencies: forwarded "~0.1.2" - ipaddr.js "1.9.0" + ipaddr.js "1.9.1" prr@~1.0.1: version "1.0.1" @@ -7708,10 +7660,10 @@ pseudomap@^1.0.2: resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= -psl@^1.1.24: - version "1.6.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.6.0.tgz#60557582ee23b6c43719d9890fb4170ecd91e110" - integrity sha512-SYKKmVel98NCOYXpkwUqZqh0ahZeeKfmisiLIcEZdsb+WbLv02g/dI5BUmZnIyOe7RzZtLax81nnb2HbvC2tzA== +psl@^1.1.28: + version "1.8.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" + integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== public-encrypt@^4.0.0: version "4.0.3" @@ -7755,12 +7707,12 @@ punycode@1.3.2: resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= -punycode@^1.2.4, punycode@^1.4.1: +punycode@^1.2.4: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= -punycode@^2.1.0: +punycode@^2.1.0, punycode@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== @@ -7814,9 +7766,9 @@ query-string@^4.1.0: strict-uri-encode "^1.0.0" query-string@^6.8.2: - version "6.11.1" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.11.1.tgz#ab021f275d463ce1b61e88f0ce6988b3e8fe7c2c" - integrity sha512-1ZvJOUl8ifkkBxu2ByVM/8GijMIPx+cef7u3yroO3Ogm4DOdZcF5dcrWTIlSHe3Pg/mtlt6/eFjObDfJureZZA== + version "6.12.1" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.12.1.tgz#2ae4d272db4fba267141665374e49a1de09e8a7c" + integrity sha512-OHj+zzfRMyj3rmo/6G8a5Ifvw3AleL/EbcHMD27YA31Q+cO5lfmQxECkImuNVjcskLcvBRVHNAB3w6udMs1eAA== dependencies: decode-uri-component "^0.2.0" split-on-first "^1.0.0" @@ -7880,7 +7832,7 @@ raw-loader@3.1.0: loader-utils "^1.1.0" schema-utils "^2.0.1" -rc@^1.0.1, rc@^1.1.6, rc@^1.2.7, rc@^1.2.8: +rc@^1.0.1, rc@^1.1.6, rc@^1.2.8: version "1.2.8" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== @@ -7918,7 +7870,7 @@ read-installed@~4.0.3: optionalDependencies: graceful-fs "^4.1.2" -"read-package-json@1 || 2", read-package-json@^2.0.13, read-package-json@^2.1.1: +"read-package-json@1 || 2", read-package-json@^2.0.0, read-package-json@^2.0.13, read-package-json@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-2.1.1.tgz#16aa66c59e7d4dad6288f179dd9295fd59bb98f1" integrity sha512-dAiqGtVc/q5doFz6096CcnXhpYk0ZN8dEKVkGLU0CsASt8SrgF6SF7OTKAYubfvFhWaqofl+Y8HK19GR8jwW+A== @@ -7930,18 +7882,6 @@ read-installed@~4.0.3: optionalDependencies: graceful-fs "^4.1.2" -read-package-json@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-2.1.0.tgz#e3d42e6c35ea5ae820d9a03ab0c7291217fc51d5" - integrity sha512-KLhu8M1ZZNkMcrq1+0UJbR8Dii8KZUqB0Sha4mOx/bknfKI/fyrQVrG/YIt2UOtG667sD8+ee4EXMM91W9dC+A== - dependencies: - glob "^7.1.1" - json-parse-better-errors "^1.0.1" - normalize-package-data "^2.0.0" - slash "^1.0.0" - optionalDependencies: - graceful-fs "^4.1.2" - read-package-tree@5.3.1, read-package-tree@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/read-package-tree/-/read-package-tree-5.3.1.tgz#a32cb64c7f31eb8a6f31ef06f9cedf74068fe636" @@ -7951,6 +7891,14 @@ read-package-tree@5.3.1, read-package-tree@^5.3.1: readdir-scoped-modules "^1.0.0" util-promisify "^2.1.0" +read-pkg-up@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" + integrity sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI= + dependencies: + find-up "^1.0.0" + read-pkg "^1.0.0" + read-pkg-up@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" @@ -7959,6 +7907,15 @@ read-pkg-up@^2.0.0: find-up "^2.0.0" read-pkg "^2.0.0" +read-pkg@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" + integrity sha1-9f+qXs0pyzHAR0vKfXVra7KePyg= + dependencies: + load-json-file "^1.0.0" + normalize-package-data "^2.3.2" + path-type "^1.0.0" + read-pkg@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" @@ -7976,9 +7933,9 @@ read@1, read@~1.0.1, read@~1.0.7: mute-stream "~0.0.4" "readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: - version "2.3.6" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" - integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== + version "2.3.7" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== dependencies: core-util-is "~1.0.0" inherits "~2.0.3" @@ -7988,16 +7945,7 @@ read@1, read@~1.0.1, read@~1.0.7: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^3.0.6: - version "3.4.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.4.0.tgz#a51c26754658e0a3c21dbf59163bd45ba6f447fc" - integrity sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readable-stream@^3.6.0: +readable-stream@^3.0.6, readable-stream@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== @@ -8035,12 +7983,20 @@ readdirp@^2.2.1: micromatch "^3.1.10" readable-stream "^2.0.2" -readdirp@~3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.2.0.tgz#c30c33352b12c96dfb4b895421a49fd5a9593839" - integrity sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ== +readdirp@~3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.4.0.tgz#9fdccdf9e9155805449221ac645e8303ab5b9ada" + integrity sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ== dependencies: - picomatch "^2.0.4" + picomatch "^2.2.1" + +redent@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" + integrity sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94= + dependencies: + indent-string "^2.1.0" + strip-indent "^1.0.1" reduce-css-calc@^2.1.6: version "2.1.7" @@ -8055,19 +8011,19 @@ reflect-metadata@^0.1.2: resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.13.tgz#67ae3ca57c972a2aa1642b10fe363fe32d49dc08" integrity sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg== -regenerate-unicode-properties@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz#ef51e0f0ea4ad424b77bf7cb41f3e015c70a3f0e" - integrity sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA== +regenerate-unicode-properties@^8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec" + integrity sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA== dependencies: regenerate "^1.4.0" -regenerate@^1.2.1, regenerate@^1.4.0: +regenerate@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg== -regenerator-runtime@0.13.3, regenerator-runtime@^0.13.2: +regenerator-runtime@0.13.3: version "0.13.3" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz#7cf6a77d8f5c6f60eb73c5fc1955b2ceb01e6bf5" integrity sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw== @@ -8077,12 +8033,18 @@ regenerator-runtime@^0.11.0: resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== -regenerator-transform@^0.14.0: - version "0.14.1" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.1.tgz#3b2fce4e1ab7732c08f665dfdb314749c7ddd2fb" - integrity sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ== +regenerator-runtime@^0.13.4: + version "0.13.5" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz#d878a1d094b4306d10b9096484b33ebd55e26697" + integrity sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA== + +regenerator-transform@^0.14.2: + version "0.14.4" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.4.tgz#5266857896518d1616a78a0479337a30ea974cc7" + integrity sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw== dependencies: - private "^0.1.6" + "@babel/runtime" "^7.8.4" + private "^0.1.8" regex-match-all@^1.0.2: version "1.0.2" @@ -8098,32 +8060,24 @@ regex-not@^1.0.0, regex-not@^1.0.2: safe-regex "^1.1.0" regexp.prototype.flags@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz#6b30724e306a27833eeb171b66ac8890ba37e41c" - integrity sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA== - dependencies: - define-properties "^1.1.2" - -regexpu-core@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-1.0.0.tgz#86a763f58ee4d7c2f6b102e4764050de7ed90c6b" - integrity sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs= + version "1.3.0" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz#7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75" + integrity sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ== dependencies: - regenerate "^1.2.1" - regjsgen "^0.2.0" - regjsparser "^0.1.4" + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" -regexpu-core@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.6.0.tgz#2037c18b327cfce8a6fea2a4ec441f2432afb8b6" - integrity sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg== +regexpu-core@^4.6.0, regexpu-core@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.0.tgz#fcbf458c50431b0bb7b45d6967b8192d91f3d938" + integrity sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ== dependencies: regenerate "^1.4.0" - regenerate-unicode-properties "^8.1.0" - regjsgen "^0.5.0" - regjsparser "^0.6.0" + regenerate-unicode-properties "^8.2.0" + regjsgen "^0.5.1" + regjsparser "^0.6.4" unicode-match-property-ecmascript "^1.0.4" - unicode-match-property-value-ecmascript "^1.1.0" + unicode-match-property-value-ecmascript "^1.2.0" registry-auth-token@^3.0.1: version "3.4.0" @@ -8154,27 +8108,15 @@ registry-url@^5.0.0: dependencies: rc "^1.2.8" -regjsgen@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" - integrity sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc= - -regjsgen@^0.5.0: +regjsgen@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.1.tgz#48f0bf1a5ea205196929c0d9798b42d1ed98443c" integrity sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg== -regjsparser@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" - integrity sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw= - dependencies: - jsesc "~0.5.0" - -regjsparser@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.0.tgz#f1e6ae8b7da2bae96c99399b868cd6c933a2ba9c" - integrity sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ== +regjsparser@^0.6.4: + version "0.6.4" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.4.tgz#a769f8684308401a66e9b529d2436ff4d0666272" + integrity sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw== dependencies: jsesc "~0.5.0" @@ -8206,9 +8148,9 @@ repeating@^2.0.0: is-finite "^1.0.0" request@^2.83.0, request@^2.87.0, request@^2.88.0: - version "2.88.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" - integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== + version "2.88.2" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" + integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== dependencies: aws-sign2 "~0.7.0" aws4 "^1.8.0" @@ -8217,7 +8159,7 @@ request@^2.83.0, request@^2.87.0, request@^2.88.0: extend "~3.0.2" forever-agent "~0.6.1" form-data "~2.3.2" - har-validator "~5.1.0" + har-validator "~5.1.3" http-signature "~1.2.0" is-typedarray "~1.0.0" isstream "~0.1.2" @@ -8227,7 +8169,7 @@ request@^2.83.0, request@^2.87.0, request@^2.88.0: performance-now "^2.1.0" qs "~6.5.2" safe-buffer "^5.1.2" - tough-cookie "~2.4.3" + tough-cookie "~2.5.0" tunnel-agent "^0.6.0" uuid "^3.3.2" @@ -8285,17 +8227,10 @@ resolve-url@^0.2.1: resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= -resolve@^1.1.7, resolve@^1.10.0, resolve@^1.3.2: - version "1.13.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.13.1.tgz#be0aa4c06acd53083505abb35f4d66932ab35d16" - integrity sha512-CxqObCX8K8YtAhOBRg+lrcdn+LK+WYOS8tSjqSFbjtrI5PnS63QPhZl4+yKfrU9tdsbMu9Anr/amegT87M9Z6w== - dependencies: - path-parse "^1.0.6" - -resolve@^1.14.2: - version "1.15.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.15.1.tgz#27bdcdeffeaf2d6244b95bb0f9f4b4653451f3e8" - integrity sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w== +resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.3.2: + version "1.17.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" + integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== dependencies: path-parse "^1.0.6" @@ -8342,6 +8277,13 @@ rfdc@^1.1.4: resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.1.4.tgz#ba72cc1367a0ccd9cf81a870b3b58bd3ad07f8c2" integrity sha512-5C9HXdzK8EAqN7JDif30jqsBzavB7wLpaubisuQIGHWf2gUXSpzy6ArX/+Da8RjFpagWsCn+pIgxTMAmKw9Zug== +rimraf@2, rimraf@^2.2.8, rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.0, rimraf@^2.6.2, rimraf@^2.6.3, rimraf@^2.7.1: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + rimraf@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.0.tgz#614176d4b3010b75e5c390eb0ee96f6dc0cebb9b" @@ -8349,13 +8291,6 @@ rimraf@3.0.0: dependencies: glob "^7.1.3" -rimraf@^2.2.8, rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.0, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3, rimraf@^2.7.1: - version "2.7.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== - dependencies: - glob "^7.1.3" - ripemd160@^2.0.0, ripemd160@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" @@ -8365,11 +8300,9 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: inherits "^2.0.1" run-async@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" - integrity sha1-A3GrSuC91yDUFm19/aZP96RFpsA= - dependencies: - is-promise "^2.1.0" + version "2.4.1" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" + integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== run-queue@^1.0.0, run-queue@^1.0.3: version "1.0.3" @@ -8398,9 +8331,9 @@ rxjs@6.4.0: tslib "^1.9.0" rxjs@^6.4.0, rxjs@~6.5.3: - version "6.5.3" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.3.tgz#510e26317f4db91a7eb1de77d9dd9ba0a4899a3a" - integrity sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA== + version "6.5.5" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.5.tgz#c5c884e3094c8cfee31bf27eb87e54ccfc87f9ec" + integrity sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ== dependencies: tslib "^1.9.0" @@ -8410,9 +8343,9 @@ safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" - integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== safe-regex@^1.1.0: version "1.1.0" @@ -8426,6 +8359,16 @@ safe-regex@^1.1.0: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== +sass-graph@2.2.5: + version "2.2.5" + resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.5.tgz#a981c87446b8319d96dce0671e487879bd24c2e8" + integrity sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag== + dependencies: + glob "^7.0.0" + lodash "^4.0.0" + scss-tokenizer "^0.2.3" + yargs "^13.3.2" + sass-loader@7.2.0: version "7.2.0" resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-7.2.0.tgz#e34115239309d15b2527cb62b5dfefb62a96ff7f" @@ -8456,18 +8399,11 @@ sax@0.5.x: resolved "https://registry.yarnpkg.com/sax/-/sax-0.5.8.tgz#d472db228eb331c2506b0e8c15524adb939d12c1" integrity sha1-1HLbIo6zMcJQaw6MFVJK25OdEsE= -sax@>=0.6.0, sax@^1.2.4: +sax@>=0.6.0: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== -schema-utils@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.3.0.tgz#f5877222ce3e931edae039f17eb3716e7137f8cf" - integrity sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8= - dependencies: - ajv "^5.0.0" - schema-utils@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" @@ -8477,14 +8413,22 @@ schema-utils@^1.0.0: ajv-errors "^1.0.0" ajv-keywords "^3.1.0" -schema-utils@^2.0.0, schema-utils@^2.0.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.6.1.tgz#eb78f0b945c7bcfa2082b3565e8db3548011dc4f" - integrity sha512-0WXHDs1VDJyo+Zqs9TKLKyD/h7yDpHUhEFsM2CzkICFdoX1av+GBq/J2xRTFfsQO5kBfhZzANf2VcIm84jqDbg== +schema-utils@^2.0.0, schema-utils@^2.0.1, schema-utils@^2.6.1: + version "2.6.6" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.6.6.tgz#299fe6bd4a3365dc23d99fd446caff8f1d6c330c" + integrity sha512-wHutF/WPSbIi9x6ctjGGk2Hvl0VOz5l3EKEuKbjPlB30mKZUzb9A5k9yEXRX3pwyqVLPvpfZZEllaFq/M718hA== dependencies: - ajv "^6.10.2" + ajv "^6.12.0" ajv-keywords "^3.4.1" +scss-tokenizer@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1" + integrity sha1-jrBtualyMzOCTT9VMGQRSYR85dE= + dependencies: + js-base64 "^2.1.8" + source-map "^0.4.2" + select-hose@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" @@ -8538,6 +8482,16 @@ semver@6.3.0, semver@^6.0.0, semver@^6.2.0, semver@^6.3.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== +semver@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" + integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== + +semver@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" + integrity sha1-myzl094C0XxgEq0yaqa00M9U+U8= + send@0.17.1: version "0.17.1" resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" @@ -8557,15 +8511,10 @@ send@0.17.1: range-parser "~1.2.1" statuses "~1.5.0" -serialize-javascript@^1.7.0: - version "1.9.1" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.9.1.tgz#cfc200aef77b600c47da9bb8149c943e798c2fdb" - integrity sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A== - -serialize-javascript@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-2.1.1.tgz#952907a04a3e3a75af7f73d92d15e233862048b2" - integrity sha512-MPLPRpD4FNqWq9tTIjYG5LesFouDhdyH0EPY3gVK4DRD5+g4aDqdNSzLIwceulo3Yj+PL1bPh6laE5+H6LTcrQ== +serialize-javascript@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-2.1.2.tgz#ecec53b0e0317bdc95ef76ab7074b7384785fa61" + integrity sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ== serve-index@^1.9.1: version "1.9.1" @@ -8665,9 +8614,9 @@ sigmund@^1.0.1: integrity sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA= signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" - integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= + version "3.0.3" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" + integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== slash@^1.0.0: version "1.0.0" @@ -8835,11 +8784,11 @@ source-map-loader@0.2.4: loader-utils "^1.1.0" source-map-resolve@^0.5.0: - version "0.5.2" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" - integrity sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA== + version "0.5.3" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== dependencies: - atob "^2.1.1" + atob "^2.1.2" decode-uri-component "^0.2.0" resolve-url "^0.2.1" source-map-url "^0.4.0" @@ -8854,9 +8803,9 @@ source-map-support@0.5.13: source-map "^0.6.0" source-map-support@^0.5.5, source-map-support@^0.5.6, source-map-support@~0.5.12: - version "0.5.16" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.16.tgz#0ae069e7fe3ba7538c64c98515e35339eac5a042" - integrity sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ== + version "0.5.19" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" + integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== dependencies: buffer-from "^1.0.0" source-map "^0.6.0" @@ -8885,6 +8834,13 @@ source-map@0.7.3: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== +source-map@^0.4.2, source-map@~0.4.1: + version "0.4.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" + integrity sha1-66T12pwNyZneaAMti092FzZSA2s= + dependencies: + amdefine ">=0.0.4" + source-map@^0.5.0, source-map@^0.5.6, source-map@^0.5.7: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" @@ -8895,17 +8851,10 @@ source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== -source-map@~0.4.1: - version "0.4.4" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" - integrity sha1-66T12pwNyZneaAMti092FzZSA2s= - dependencies: - amdefine ">=0.0.4" - sourcemap-codec@^1.4.4: - version "1.4.6" - resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.6.tgz#e30a74f0402bad09807640d39e971090a08ce1e9" - integrity sha512-1ZooVLYFxC448piVLBbtOxFcXwnymH9oUF8nRd3CuYDVvkRBxRl6pB4Mtas5a4drtL+E8LDgFkQNcgIw6tc8Hg== + version "1.4.8" + resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" + integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== spdx-correct@^3.0.0: version "3.1.0" @@ -8916,14 +8865,14 @@ spdx-correct@^3.0.0: spdx-license-ids "^3.0.0" spdx-exceptions@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977" - integrity sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA== + version "2.3.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== spdx-expression-parse@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" - integrity sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg== + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== dependencies: spdx-exceptions "^2.1.0" spdx-license-ids "^3.0.0" @@ -8946,9 +8895,9 @@ spdy-transport@^3.0.0: wbuf "^1.7.3" spdy@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.1.tgz#6f12ed1c5db7ea4f24ebb8b89ba58c87c08257f2" - integrity sha512-HeZS3PBdMA+sZSu0qwpCxl3DeALD5ASx8pAX0jZdKXSpPWbQ6SYGnlg3BBmYLx5LtiZrmkAZfErCm2oECBcioA== + version "4.0.2" + resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" + integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== dependencies: debug "^4.1.0" handle-thing "^2.0.0" @@ -9020,6 +8969,13 @@ static-extend@^0.1.1: resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= +stdout-stream@^1.4.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.1.tgz#5ac174cdd5cd726104aa0c0b2bd83815d8d535de" + integrity sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA== + dependencies: + readable-stream "^2.0.1" + stream-browserify@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" @@ -9056,9 +9012,9 @@ stream-iterate@^1.1.0: stream-shift "^1.0.0" stream-shift@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" - integrity sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI= + version "1.0.1" + resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" + integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== streamroller@^1.0.6: version "1.0.6" @@ -9116,21 +9072,39 @@ string-width@^4.1.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" -string.prototype.trimleft@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz#6cc47f0d7eb8d62b0f3701611715a3954591d634" - integrity sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw== +string.prototype.trimend@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913" + integrity sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g== dependencies: define-properties "^1.1.3" - function-bind "^1.1.1" + es-abstract "^1.17.5" -string.prototype.trimright@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz#669d164be9df9b6f7559fa8e89945b168a5a6c58" - integrity sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg== +string.prototype.trimleft@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz#4408aa2e5d6ddd0c9a80739b087fbc067c03b3cc" + integrity sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw== dependencies: define-properties "^1.1.3" - function-bind "^1.1.1" + es-abstract "^1.17.5" + string.prototype.trimstart "^1.0.0" + +string.prototype.trimright@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz#c76f1cef30f21bbad8afeb8db1511496cfb0f2a3" + integrity sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + string.prototype.trimend "^1.0.0" + +string.prototype.trimstart@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54" + integrity sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" string_decoder@^1.0.0, string_decoder@^1.1.1: version "1.3.0" @@ -9184,6 +9158,13 @@ strip-ansi@^6.0.0: dependencies: ansi-regex "^5.0.0" +strip-bom@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4= + dependencies: + is-utf8 "^0.2.0" + strip-bom@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" @@ -9194,6 +9175,13 @@ strip-eof@^1.0.0: resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= +strip-indent@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" + integrity sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI= + dependencies: + get-stdin "^4.0.1" + strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" @@ -9298,7 +9286,16 @@ tapable@^1.0.0, tapable@^1.1.3: resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== -tar@^4, tar@^4.4.10, tar@^4.4.12, tar@^4.4.13, tar@^4.4.8: +tar@^2.0.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.2.tgz#0ca8848562c7299b8b446ff6a4d60cdbb23edc40" + integrity sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA== + dependencies: + block-stream "*" + fstream "^1.0.12" + inherits "2" + +tar@^4.4.10, tar@^4.4.12, tar@^4.4.13, tar@^4.4.8: version "4.4.13" resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525" integrity sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA== @@ -9318,49 +9315,34 @@ term-size@^1.2.0: dependencies: execa "^0.7.0" -terser-webpack-plugin@1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz#61b18e40eaee5be97e771cdbb10ed1280888c2b4" - integrity sha512-ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg== - dependencies: - cacache "^12.0.2" - find-cache-dir "^2.1.0" - is-wsl "^1.1.0" - schema-utils "^1.0.0" - serialize-javascript "^1.7.0" - source-map "^0.6.1" - terser "^4.1.2" - webpack-sources "^1.4.0" - worker-farm "^1.7.0" - -terser-webpack-plugin@^1.4.1: - version "1.4.2" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.2.tgz#e23c0d554587d1f473bd0cf68627720e733890a4" - integrity sha512-fdEb91kR2l+BVgES77N/NTXWZlpX6vX+pYPjnX5grcDYBF2CMnzJiXX4NNlna4l04lvCW39lZ+O/jSvUhHH/ew== +terser-webpack-plugin@1.4.3, terser-webpack-plugin@^1.4.1: + version "1.4.3" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.3.tgz#5ecaf2dbdc5fb99745fd06791f46fc9ddb1c9a7c" + integrity sha512-QMxecFz/gHQwteWwSo5nTc6UaICqN1bMedC5sMtUc7y3Ha3Q8y6ZO0iCR8pq4RJC8Hjf0FEPEHZqcMB/+DFCrA== dependencies: cacache "^12.0.2" find-cache-dir "^2.1.0" is-wsl "^1.1.0" schema-utils "^1.0.0" - serialize-javascript "^2.1.1" + serialize-javascript "^2.1.2" source-map "^0.6.1" terser "^4.1.2" webpack-sources "^1.4.0" worker-farm "^1.7.0" -terser@4.3.9: - version "4.3.9" - resolved "https://registry.yarnpkg.com/terser/-/terser-4.3.9.tgz#e4be37f80553d02645668727777687dad26bbca8" - integrity sha512-NFGMpHjlzmyOtPL+fDw3G7+6Ueh/sz4mkaUYa4lJCxOPTNzd0Uj0aZJOmsDYoSQyfuVoWDMSWTPU3huyOm2zdA== +terser@4.6.3: + version "4.6.3" + resolved "https://registry.yarnpkg.com/terser/-/terser-4.6.3.tgz#e33aa42461ced5238d352d2df2a67f21921f8d87" + integrity sha512-Lw+ieAXmY69d09IIc/yqeBqXpEQIpDGZqT34ui1QWXIUpR2RjbqEkT8X7Lgex19hslSqcWM5iMN2kM11eMsESQ== dependencies: commander "^2.20.0" source-map "~0.6.1" source-map-support "~0.5.12" terser@^4.1.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/terser/-/terser-4.4.2.tgz#448fffad0245f4c8a277ce89788b458bfd7706e8" - integrity sha512-Uufrsvhj9O1ikwgITGsZ5EZS6qPokUOkCegS7fYOdGTv+OA90vndUbU6PEjr5ePqHfNUbGyMO7xyIZv2MhsALQ== + version "4.7.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-4.7.0.tgz#15852cf1a08e3256a80428e865a2fa893ffba006" + integrity sha512-Lfb0RiZcjRDXCC3OSHJpEkxJ9Qeqs6mp2v4jf2MHfy8vGERmVDuvjXdd/EnP5Deme5F2yBRBymKmKHCBg2echw== dependencies: commander "^2.20.0" source-map "~0.6.1" @@ -9430,11 +9412,6 @@ to-arraybuffer@^1.0.0: resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= -to-fast-properties@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" - integrity sha1-uDVx+k2MJbguIxsG46MFXeTKGkc= - to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" @@ -9482,18 +9459,23 @@ toidentifier@1.0.0: resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== -tough-cookie@~2.4.3: - version "2.4.3" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" - integrity sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ== +tough-cookie@~2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== dependencies: - psl "^1.1.24" - punycode "^1.4.1" + psl "^1.1.28" + punycode "^2.1.1" -tree-kill@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.1.tgz#5398f374e2f292b9dcc7b2e71e30a5c3bb6c743a" - integrity sha512-4hjqbObwlh2dLyW4tcz0Ymw0ggoaVDMveUB9w8kFSQScdRLo0gxO9J7WFcUBo+W3C1TLdFIEwNOWebgZZ0RH9Q== +tree-kill@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" + integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== + +trim-newlines@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" + integrity sha1-WIeWa7WCpFA6QetST301ARgVphM= trim-repeated@^1.0.0: version "1.0.0" @@ -9502,10 +9484,12 @@ trim-repeated@^1.0.0: dependencies: escape-string-regexp "^1.0.2" -trim-right@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" - integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= +"true-case-path@^1.0.2": + version "1.0.3" + resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-1.0.3.tgz#f813b5a8c86b40da59606722b144e3225799f47d" + integrity sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew== + dependencies: + glob "^7.1.2" ts-node@~8.5.4: version "8.5.4" @@ -9518,11 +9502,16 @@ ts-node@~8.5.4: source-map-support "^0.5.6" yn "^3.0.0" -tslib@1.10.0, tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0, tslib@~1.10.0: +tslib@1.10.0, tslib@~1.10.0: version "1.10.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== +tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0: + version "1.13.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" + integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q== + tslint@~5.20.1: version "5.20.1" resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.20.1.tgz#e401e8aeda0152bc44dd07e614034f3f80c67b7d" @@ -9566,16 +9555,16 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0: resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= +type-fest@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" + integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== + type-fest@^0.3.0: version "0.3.1" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.3.1.tgz#63d00d204e059474fe5e1b7c011112bbd1dc29e1" integrity sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ== -type-fest@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" - integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== - type-is@~1.6.17, type-is@~1.6.18: version "1.6.18" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" @@ -9594,14 +9583,6 @@ typescript@3.5.3, typescript@~3.5.0: resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.5.3.tgz#c830f657f93f1ea846819e929092f5fe5983e977" integrity sha512-ACzBtm/PhXBDId6a6sDJfroT2pOWt/oOnk4/dElG5G33ZL776N3Y6/6bKZJBFpd+b05F3Ct9qDjMeJmRWtE2/g== -uglify-js@^3.1.4: - version "3.7.2" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.7.2.tgz#cb1a601e67536e9ed094a92dd1e333459643d3f9" - integrity sha512-uhRwZcANNWVLrxLfNFEdltoPNhECUR3lc+UdJoG9CBpMcSnKyWA94tc3eAujB1GcMY5Uwq8ZMp4qWpxWYDQmaA== - dependencies: - commander "~2.20.3" - source-map "~0.6.1" - uid-number@0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" @@ -9630,15 +9611,15 @@ unicode-match-property-ecmascript@^1.0.4: unicode-canonical-property-names-ecmascript "^1.0.4" unicode-property-aliases-ecmascript "^1.0.4" -unicode-match-property-value-ecmascript@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz#5b4b426e08d13a80365e0d657ac7a6c1ec46a277" - integrity sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g== +unicode-match-property-value-ecmascript@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz#0d91f600eeeb3096aa962b1d6fc88876e64ea531" + integrity sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ== unicode-property-aliases-ecmascript@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz#a9cc6cc7ce63a0a3023fc99e341b94431d405a57" - integrity sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw== + version "1.1.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4" + integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg== union-value@^1.0.0: version "1.0.1" @@ -9824,14 +9805,6 @@ util-promisify@^2.1.0: dependencies: object.getownpropertydescriptors "^2.0.3" -util.promisify@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" - integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== - dependencies: - define-properties "^1.1.2" - object.getownpropertydescriptors "^2.0.3" - util@0.10.3: version "0.10.3" resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" @@ -9851,12 +9824,7 @@ utils-merge@1.0.1: resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= -uuid@^3.0.0, uuid@^3.0.1, uuid@^3.3.2: - version "3.3.3" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866" - integrity sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ== - -uuid@^3.3.3: +uuid@^3.0.0, uuid@^3.0.1, uuid@^3.3.2, uuid@^3.3.3: version "3.4.0" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== @@ -9905,14 +9873,23 @@ void-elements@^2.0.0: resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec" integrity sha1-wGavtYK7HLQSjWDqkjkulNXp2+w= +watchpack-chokidar2@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz#9948a1866cbbd6cb824dea13a7ed691f6c8ddff0" + integrity sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA== + dependencies: + chokidar "^2.1.8" + watchpack@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00" - integrity sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA== + version "1.7.2" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.2.tgz#c02e4d4d49913c3e7e122c3325365af9d331e9aa" + integrity sha512-ymVbbQP40MFTp+cNMvpyBpBtygHnPzPkHqoIwRRj/0B8KhqQwV8LaKjtbaxF2lK4vl8zN9wCxS46IFCU5K4W0g== dependencies: - chokidar "^2.0.2" graceful-fs "^4.1.2" neo-async "^2.5.0" + optionalDependencies: + chokidar "^3.4.0" + watchpack-chokidar2 "^2.0.0" wbuf@^1.1.0, wbuf@^1.7.3: version "1.7.3" @@ -10094,7 +10071,7 @@ which-module@^2.0.0: resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= -which@^1.2.1, which@^1.2.9, which@^1.3.0, which@^1.3.1: +which@1, which@^1.2.1, which@^1.2.9, which@^1.3.0, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== @@ -10187,12 +10164,11 @@ xdg-basedir@^3.0.0: integrity sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ= xml2js@^0.4.17: - version "0.4.22" - resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.22.tgz#4fa2d846ec803237de86f30aa9b5f70b6600de02" - integrity sha512-MWTbxAQqclRSTnehWWe5nMKzI3VmJ8ltiJEco8akcC6j3miOhjjfzKum5sId+CWhfxdOs/1xauYr8/ZDBtQiRw== + version "0.4.23" + resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.23.tgz#a0c69516752421eb2ac758ee4d4ccf58843eac66" + integrity sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug== dependencies: sax ">=0.6.0" - util.promisify "~1.0.0" xmlbuilder "~11.0.0" xmlbuilder@~11.0.0: @@ -10238,10 +10214,10 @@ yargs-parser@^11.1.1: camelcase "^5.0.0" decamelize "^1.2.0" -yargs-parser@^13.0.0: - version "13.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0" - integrity sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ== +yargs-parser@^13.0.0, yargs-parser@^13.1.2: + version "13.1.2" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" + integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== dependencies: camelcase "^5.0.0" decamelize "^1.2.0" @@ -10268,7 +10244,7 @@ yargs-parser@^9.0.2: dependencies: camelcase "^4.1.0" -yargs@12.0.5: +yargs@12.0.5, yargs@^12.0.5: version "12.0.5" resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw== @@ -10321,6 +10297,22 @@ yargs@^11.0.0: y18n "^3.2.1" yargs-parser "^9.0.2" +yargs@^13.3.2: + version "13.3.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" + integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== + 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" + yargs@^14.0.0: version "14.2.3" resolved "https://registry.yarnpkg.com/yargs/-/yargs-14.2.3.tgz#1a1c3edced1afb2a2fea33604bc6d1d8d688a414"